diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml new file mode 100644 index 000000000..cc0d16b8f --- /dev/null +++ b/.github/workflows/appimage.yml @@ -0,0 +1,169 @@ +name: AppImage Build +on: + push: + branches: + - dev + - releases + tags: + - '[0-9]+.*' + pull_request: + branches: + - dev + workflow_dispatch: +jobs: + build: + runs-on: ubuntu-18.04 + strategy: + fail-fast: false + matrix: + build_type: [release] + steps: + - name: Checkout source + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Install dependencies + run: | + echo "Running apt update." + sudo apt update + echo "Installing dependencies with apt." + DEBIAN_FRONTEND=noninteractive sudo apt install -y cmake libgtk-3-dev libgtkmm-3.0-dev liblensfun-dev librsvg2-dev liblcms2-dev libfftw3-dev libiptcdata0-dev libtiff5-dev libcanberra-gtk3-dev liblensfun-bin + + - name: Configure build + run: | + export REF_NAME_FILTERED="$(echo '${{github.ref_name}}' | sed 's/[^A-z0-9_.-]//g')" + + echo "Setting cache suffix." + if [ '${{github.ref_type}}' == 'tag' ]; then + export CACHE_SUFFIX="" + else + export CACHE_SUFFIX="5-$REF_NAME_FILTERED" + fi + export CACHE_SUFFIX="$CACHE_SUFFIX-AppImage" + echo "Cache suffix is '$CACHE_SUFFIX'." + + echo "Making build directory." + mkdir build + echo "Changing working directory to the build directory." + cd build + + echo "Running CMake configure." + cmake \ + -DCMAKE_BUILD_TYPE='${{matrix.build_type}}' \ + -DCACHE_NAME_SUFFIX="$CACHE_SUFFIX" \ + -DPROC_TARGET_NUMBER="1" \ + -DBUILD_BUNDLE="ON" \ + -DBUNDLE_BASE_INSTALL_DIR="/" \ + -DOPTION_OMP="ON" \ + -DWITH_LTO="OFF" \ + -DWITH_PROF="OFF" \ + -DWITH_SAN="OFF" \ + -DWITH_SYSTEM_KLT="OFF" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLENSFUNDBDIR="../share/lensfun/version_1" \ + .. + + echo "Recording filtered ref name." + echo "REF_NAME_FILTERED=$REF_NAME_FILTERED" >> $GITHUB_ENV + + - name: Build RawTherapee + working-directory: ./build + run: | + echo "Running make install." + make -j$(nproc) install DESTDIR=AppDir/usr/bin + echo "Moving usr/bin/share to usr/share." + mv AppDir/usr/bin/share AppDir/usr/ + + - name: Include Lensfun + run: | + echo "Patching lensfun-update-data script." + sudo sed -i 's/HTTPError\(, ValueError\)/URLError\1/' $(which lensfun-update-data) + echo "Updating Lensfun database." + lensfun-update-data + echo "Creating Lensfun directory in the build directory." + mkdir -p build/AppDir/usr/share/lensfun + echo "Copying Lensfun database to the build directory." + cp -R ~/.local/share/lensfun/updates/* build/AppDir/usr/share/lensfun/ + + - name: Restore AppImage tools from cache + id: appimage-tools-cache + uses: actions/cache@v2 + with: + key: appimage-tools-1 + path: | + ./build/linuxdeploy-x86_64.AppImage + ./build/linuxdeploy-plugin-gtk.sh + + - name: Download AppImage tools + if: ${{steps.appimage-tools-cache.outputs.cache-hit != 'true'}} + working-directory: ./build + run: | + echo "Downloading linuxdeploy." + curl --location 'https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage' > linuxdeploy-x86_64.AppImage + echo "Downloading GTK plugin for linuxdeploy." + curl --location 'https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh' \ + | sed 's/^\(export GTK_THEME\)/#\1/' \ + > linuxdeploy-plugin-gtk.sh + echo "Setting execute bit on all AppImage tools." + chmod u+x linuxdeploy-* + + - name: Package AppImage + working-directory: ./build + run: | + echo "Creating artifact name." + if [ '${{github.ref_type}}' == 'tag' ]; then + ARTIFACT_NAME="RawTherapee_${REF_NAME_FILTERED}_${{matrix.build_type}}" + else + echo "Getting RawTherapee version." + export VERSION="$(grep -m 1 '^Version: .*$' 'AboutThisBuild.txt' | sed 's/^Version: \(.\+\)$/\1/')" + echo "Version is '$VERSION'." + FILTERED_VERSION="$(echo "$VERSION" | sed 's/[^A-z0-9_.-]//g')" + ARTIFACT_NAME="RawTherapee_${REF_NAME_FILTERED}_${FILTERED_VERSION}_${{matrix.build_type}}" + fi + echo "Artifact name is '$ARTIFACT_NAME'." + + echo "Generating AppImage file name." + export OUTPUT="$ARTIFACT_NAME.AppImage" + echo "AppImage file name will be '$OUTPUT'." + + echo "Packaging AppImage." + ./linuxdeploy-x86_64.AppImage \ + --appimage-extract-and-run \ + --appdir AppDir \ + --plugin gtk \ + --output appimage + + echo "Recording artifact name." + echo "ARTIFACT_NAME=$ARTIFACT_NAME" >> $GITHUB_ENV + + - name: Upload artifacts + uses: actions/upload-artifact@v2 + with: + name: ${{env.ARTIFACT_NAME}}.AppImage + path: ${{github.workspace}}/build/${{env.ARTIFACT_NAME}}.AppImage + + - name: Prepare for publishing + if: ${{github.ref_type == 'tag' || github.ref_name == 'dev'}} + run: | + echo "Setting publish name." + PUBLISH_NAME="RawTherapee_${REF_NAME_FILTERED}_${{matrix.build_type}}" + echo "Publish name is '$PUBLISH_NAME'." + + echo "Renaming AppImage." + cp "build/$ARTIFACT_NAME.AppImage" "$PUBLISH_NAME.AppImage" + + echo "Creating version file." + cp "build/AboutThisBuild.txt" "$PUBLISH_NAME-AboutThisBuild.txt" + + echo "Recording publish name." + echo "PUBLISH_NAME=$PUBLISH_NAME" >> $GITHUB_ENV + + - name: Publish artifacts + uses: softprops/action-gh-release@v1 + if: ${{github.ref_type == 'tag' || github.ref_name == 'dev'}} + with: + tag_name: nightly-github-actions + files: | + ${{env.PUBLISH_NAME}}.AppImage + ${{env.PUBLISH_NAME}}-AboutThisBuild.txt diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 000000000..b90d30e27 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,89 @@ +name: "CodeQL" + +on: + push: + branches: [ 'dev' ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ 'dev' ] + schedule: + - cron: '56 5 * * 1' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + build_type: [release] + language: [ 'cpp', 'python' ] + + steps: + - name: Checkout source + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Install dependencies + run: | + echo "Running apt update." + sudo apt update + echo "Installing dependencies with apt." + DEBIAN_FRONTEND=noninteractive sudo apt install -y cmake libgtk-3-dev libgtkmm-3.0-dev liblensfun-dev librsvg2-dev liblcms2-dev libfftw3-dev libiptcdata0-dev libtiff5-dev libcanberra-gtk3-dev liblensfun-bin + + - name: Configure build + run: | + export REF_NAME_FILTERED="$(echo '${{github.ref_name}}' | sed 's/[^A-z0-9_.-]//g')" + echo "Setting cache suffix." + if [ '${{github.ref_type}}' == 'tag' ]; then + export CACHE_SUFFIX="" + else + export CACHE_SUFFIX="5-$REF_NAME_FILTERED" + fi + export CACHE_SUFFIX="$CACHE_SUFFIX-AppImage" + echo "Cache suffix is '$CACHE_SUFFIX'." + echo "Making build directory." + mkdir build + echo "Changing working directory to the build directory." + cd build + echo "Running CMake configure." + cmake \ + -DCMAKE_BUILD_TYPE='${{matrix.build_type}}' \ + -DCACHE_NAME_SUFFIX="$CACHE_SUFFIX" \ + -DPROC_TARGET_NUMBER="1" \ + -DBUILD_BUNDLE="ON" \ + -DBUNDLE_BASE_INSTALL_DIR="/" \ + -DOPTION_OMP="ON" \ + -DWITH_LTO="OFF" \ + -DWITH_PROF="OFF" \ + -DWITH_SAN="OFF" \ + -DWITH_SYSTEM_KLT="OFF" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLENSFUNDBDIR="../share/lensfun/version_1" \ + .. + echo "Recording filtered ref name." + echo "REF_NAME_FILTERED=$REF_NAME_FILTERED" >> $GITHUB_ENV + + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + + - name: Build RawTherapee + working-directory: ./build + run: | + echo "Running make install." + make -j$(nproc) install DESTDIR=AppDir/usr/bin + echo "Moving usr/bin/share to usr/share." + mv AppDir/usr/bin/share AppDir/usr/ + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + with: + category: "/language:${{matrix.language}}" diff --git a/.github/workflows/main.yml b/.github/workflows/macos.yml similarity index 83% rename from .github/workflows/main.yml rename to .github/workflows/macos.yml index 4fa09ee98..11ae28aa4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/macos.yml @@ -1,20 +1,18 @@ -name: macOS build +name: macOS Build on: push: branches: - dev - - patch** - - newlocallab + - releases + tags: + - '[0-9]+.*' pull_request: branches: - dev - - newlocallab - release: - types: - - created + workflow_dispatch: jobs: build: - runs-on: macos-latest + runs-on: macos-11 steps: - uses: actions/checkout@v2 - name: Install dependencies @@ -23,7 +21,7 @@ jobs: mkdir build date +%s > build/stamp brew uninstall --ignore-dependencies libtiff - brew install libtiff gtk+3 gtkmm3 gtk-mac-integration adwaita-icon-theme libsigc++@2 little-cms2 libiptcdata fftw lensfun expat pkgconfig libomp shared-mime-info | tee -a depslog + brew install libtiff gtk+3 gtkmm3 gtk-mac-integration adwaita-icon-theme libsigc++@2 little-cms2 libiptcdata fftw lensfun expat pkgconfig llvm shared-mime-info | tee -a depslog date -u echo "----====Pourage====----" cat depslog | grep Pouring @@ -52,8 +50,8 @@ jobs: -DPROC_LABEL="generic processor" \ -DWITH_LTO="OFF" \ -DLENSFUNDBDIR="/Applications/RawTherapee.app/Contents/Resources/share/lensfun" \ - -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang \ - -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ \ + -DCMAKE_C_COMPILER=clang \ + -DCMAKE_CXX_COMPILER=clang++ \ -DCMAKE_C_FLAGS="-arch x86_64 -Wno-pass-failed -Wno-deprecated-register -Wno-unused-command-line-argument" \ -DCMAKE_CXX_FLAGS="-arch x86_64 -Wno-pass-failed -Wno-deprecated-register -Wno-unused-command-line-argument" \ -DOpenMP_C_FLAGS="${C_FLAGS}" \ @@ -65,6 +63,7 @@ jobs: -DCMAKE_RANLIB=/usr/bin/ranlib \ -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 \ .. + curl -L https://github.com/Homebrew/homebrew-core/raw/679923b4eb48a8dc7ecc1f05d06063cd79b3fc00/Formula/libomp.rb -o libomp.rb && brew install libomp.rb zsh -c 'echo "Configured in $(printf "%0.2f" $(($[$(date +%s)-$(cat configstamp)]/$((60.))))) minutes"' - name: Compile RawTherapee run: | @@ -85,6 +84,12 @@ jobs: echo "ARTIFACT_PATH=${GITHUB_WORKSPACE}/build/${ARTIFACT}" >> $GITHUB_ENV echo "ARTIFACT_FILE=${ARTIFACT}" >> $GITHUB_ENV zsh -c 'echo "Bundled in $(printf "%0.2f" $(($[$(date +%s)-$(cat bundlestamp)]/$((60.))))) minutes"' + printf '%s\n' \ + "REF: ${REF}" \ + "ARTIFACT: ${ARTIFACT}" \ + "ARTIFACT_PATH: ${ARTIFACT_PATH}" \ + "ARTIFACT_FILE: ${ARTIFACT_FILE}" \ + "PUBLISH_NAME: ${PUBLISH_NAME}" exit - uses: actions/upload-artifact@v2 with: @@ -94,3 +99,11 @@ jobs: run: | date -u zsh -c 'echo "Build completed in $(printf "%0.2f" $(($[$(date +%s)-$(cat build/stamp)]/$((60.))))) minutes"' + + - name: Publish artifacts + uses: softprops/action-gh-release@v1 + if: ${{github.ref_type == 'tag' || github.ref_name == 'dev'}} + with: + tag_name: nightly-github-actions + files: | + ${{env.ARTIFACT_PATH}} diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml new file mode 100644 index 000000000..ab81edec6 --- /dev/null +++ b/.github/workflows/windows.yml @@ -0,0 +1,299 @@ +name: Windows Build +on: + push: + branches: + - dev + - releases + tags: + - '[0-9]+.*' + pull_request: + branches: + - dev + workflow_dispatch: +jobs: + build: + runs-on: windows-2022 + defaults: + run: + shell: msys2 {0} + strategy: + fail-fast: false + matrix: + build_type: [release, debug] + steps: + - name: Checkout source + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Install dependencies + uses: msys2/setup-msys2@v2 + with: + location: C:\msys2 + update: true + install: | + gzip + git + intltool + mingw-w64-x86_64-gcc + mingw-w64-x86_64-make + mingw-w64-x86_64-pkg-config + mingw-w64-x86_64-cmake + mingw-w64-x86_64-ninja + mingw-w64-x86_64-gtkmm3 + mingw-w64-x86_64-lcms2 + mingw-w64-x86_64-fftw + mingw-w64-x86_64-lensfun + mingw-w64-x86_64-libiptcdata + + - name: Configure build + run: | + export REF_NAME_FILTERED="$(echo '${{github.ref_name}}' | sed 's/[^A-z0-9_.-]//g')" + + if [ '${{github.ref_type}}' == 'tag' ]; then + export CACHE_SUFFIX="" + else + echo "Setting cache suffix." + export CACHE_SUFFIX="5-$REF_NAME_FILTERED" + echo "Cache suffix is '$CACHE_SUFFIX'." + fi + + echo "Making build directory." + mkdir build + echo "Changing working directory to the build directory." + cd build + + echo "Running CMake configure." + cmake \ + -G "Ninja" \ + -DCMAKE_BUILD_TYPE='${{matrix.build_type}}' \ + -DCACHE_NAME_SUFFIX="$CACHE_SUFFIX" \ + -DPROC_TARGET_NUMBER="1" \ + -DLENSFUNDBDIR="share/lensfun" \ + .. + + echo "Recording filtered ref name." + echo "REF_NAME_FILTERED=$REF_NAME_FILTERED" >> "$(cygpath -u $GITHUB_ENV)" + + - name: Build RawTherapee + working-directory: ./build + run: | + echo "Running CMake install." + cmake --build . --target install + + - name: Include Lensfun + run: | + echo "Patching lensfun-update-data script." + sed -i 's/HTTPError\(, ValueError\)/URLError\1/' $(which lensfun-update-data) + echo "Updating Lensfun database." + lensfun-update-data + echo "Creating Lensfun directory in the build directory." + mkdir -p 'build/${{matrix.build_type}}/share' + echo "Copying Lensfun database to the build directory." + cp -R "/C/msys2/msys64/mingw64/var/lib/lensfun-updates/version_1" 'build/${{matrix.build_type}}/share/lensfun' + + - name: Bundle dependencies + run: | + echo "Getting workspace path." + export BUILD_DIR="$(pwd)/build/${{matrix.build_type}}" + echo "Build directory is '$BUILD_DIR'." + echo "Changing working directory to MSYS2 MINGW64." + cd "/C/msys2/msys64/mingw64" + echo "Copying DLLs and EXEs." + + cd ./bin + cp \ + "gdbus.exe" \ + "gspawn-win64-helper.exe" \ + "gspawn-win64-helper-console.exe" \ + "libatk-1.0-0.dll" \ + "libatkmm-1.6-1.dll" \ + "libbrotlicommon.dll" \ + "libbrotlidec.dll" \ + "libbz2-1.dll" \ + "libcairo-2.dll" \ + "libcairo-gobject-2.dll" \ + "libcairomm-1.0-1.dll" \ + "libdatrie-1.dll" \ + "libdeflate.dll" \ + "libepoxy-0.dll" \ + "libexpat-1.dll" \ + libffi-*.dll \ + "libfftw3f-3.dll" \ + "libfontconfig-1.dll" \ + "libfreetype-6.dll" \ + "libfribidi-0.dll" \ + "libgcc_s_seh-1.dll" \ + "libgdk_pixbuf-2.0-0.dll" \ + "libgdk-3-0.dll" \ + "libgdkmm-3.0-1.dll" \ + "libgio-2.0-0.dll" \ + "libgiomm-2.4-1.dll" \ + "libglib-2.0-0.dll" \ + "libglibmm-2.4-1.dll" \ + "libgmodule-2.0-0.dll" \ + "libgobject-2.0-0.dll" \ + "libgomp-1.dll" \ + "libgraphite2.dll" \ + "libgtk-3-0.dll" \ + "libgtkmm-3.0-1.dll" \ + "libharfbuzz-0.dll" \ + "libiconv-2.dll" \ + "libintl-8.dll" \ + "libjbig-0.dll" \ + "libjpeg-8.dll" \ + "liblcms2-2.dll" \ + "liblensfun.dll" \ + "libLerc.dll" \ + "liblzma-5.dll" \ + "libpango-1.0-0.dll" \ + "libpangocairo-1.0-0.dll" \ + "libpangoft2-1.0-0.dll" \ + "libpangomm-1.4-1.dll" \ + "libpangowin32-1.0-0.dll" \ + "libpcre2-8-0.dll" \ + "libpixman-1-0.dll" \ + "libpng16-16.dll" \ + "librsvg-2-2.dll" \ + "libsharpyuv-0.dll" \ + "libsigc-2.0-0.dll" \ + "libstdc++-6.dll" \ + "libsystre-0.dll" \ + "libthai-0.dll" \ + "libtiff-6.dll" \ + "libtre-5.dll" \ + "libwebp-7.dll" \ + "libwinpthread-1.dll" \ + "libxml2-2.dll" \ + "libzstd.dll" \ + "zlib1.dll" \ + "$BUILD_DIR" + cd - + + echo "Copying Adwaita theme." + mkdir -p "$BUILD_DIR/share/icons/Adwaita" + cd 'share/icons/Adwaita/' + mkdir -p "$BUILD_DIR/share/icons/Adwaita/scalable" + cp -r \ + "scalable/actions" \ + "scalable/devices" \ + "scalable/mimetypes" \ + "scalable/places" \ + "scalable/status" \ + "scalable/ui" \ + "$BUILD_DIR/share/icons/Adwaita/scalable" + cp 'index.theme' "$BUILD_DIR/share/icons/Adwaita" + mkdir -p "$BUILD_DIR/share/icons/Adwaita/cursors" + cp -r \ + "cursors/plus.cur" \ + "cursors/sb_h_double_arrow.cur" \ + "cursors/sb_left_arrow.cur" \ + "cursors/sb_right_arrow.cur" \ + "cursors/sb_v_double_arrow.cur" \ + "$BUILD_DIR/share/icons/Adwaita/cursors" + cd - + + echo "Copying GDK pixbuf." + mkdir -p "$BUILD_DIR/lib" + cp -r 'lib/gdk-pixbuf-2.0' "$BUILD_DIR/lib/gdk-pixbuf-2.0" + + echo "Copying GLib schemas." + mkdir -p "$BUILD_DIR/share/glib-2.0/schemas" + cp 'share/glib-2.0/schemas/gschemas.compiled' "$BUILD_DIR/share/glib-2.0/schemas" + + echo "Creating GTK settings.ini." + mkdir -p "$BUILD_DIR/share/gtk-3.0/" + echo '[Settings] gtk-button-images=1' > "$BUILD_DIR/share/gtk-3.0/settings.ini" + + - name: Create installer + if: ${{matrix.build_type == 'release' && (github.ref_type == 'tag' || github.ref_name == 'dev')}} + working-directory: build/${{matrix.build_type}} + shell: pwsh + run: | + echo "Installing Inno Setup." + choco install innosetup + echo "Setup file:" + type "WindowsInnoSetup.iss" + echo "Creating installer from script." + iscc /F"installer" "WindowsInnoSetup.iss" + + - name: Prepare artifact name + run: | + if [ '${{github.ref_type}}' == 'tag' ]; then + ARTIFACT_NAME="RawTherapee_${REF_NAME_FILTERED}_win64_${{matrix.build_type}}" + else + echo "Getting RawTherapee version." + export VERSION="$(grep -m 1 '^Version: .*$' './build/${{matrix.build_type}}/AboutThisBuild.txt' | sed 's/^Version: \(.\+\)$/\1/')" + echo "Version is '$VERSION'." + FILTERED_VERSION="$(echo "$VERSION" | sed 's/[^A-z0-9_.-]//g')" + ARTIFACT_NAME="RawTherapee_${REF_NAME_FILTERED}_${FILTERED_VERSION}_win64_${{matrix.build_type}}" + fi + echo "Artifact name is '$ARTIFACT_NAME'." + + echo "Recording artifact name." + echo "ARTIFACT_NAME=$ARTIFACT_NAME" >> "$(cygpath -u $GITHUB_ENV)" + echo "Recording RawTherapee version." + echo "RT_VERSION=$VERSION" >> "$(cygpath -u $GITHUB_ENV)" + + echo "Renaming artifact." + mv './build/${{matrix.build_type}}' "./build/$ARTIFACT_NAME" + if [ -e './build/installer.exe' ]; then + echo "Renaming installer." + mv './build/installer.exe' "./build/$ARTIFACT_NAME.exe" + fi + + - name: Create ZIP archive + shell: cmd + working-directory: ./build + run: | + echo "Zipping artifact." + 7z a -tzip "%ARTIFACT_NAME%.zip" "./%ARTIFACT_NAME%" + + - name: Upload artifacts + uses: actions/upload-artifact@v2 + with: + name: ${{env.ARTIFACT_NAME}} + path: build\${{env.ARTIFACT_NAME}} + + - name: Upload installer + if: ${{matrix.build_type == 'release' && (github.ref_type == 'tag' || github.ref_name == 'dev')}} + uses: actions/upload-artifact@v2 + with: + name: ${{env.ARTIFACT_NAME}}.exe + path: build\${{env.ARTIFACT_NAME}}.exe + + - name: Prepare for publishing + if: ${{github.ref_type == 'tag' || github.ref_name == 'dev'}} + run: | + echo "Setting publish name." + PUBLISH_NAME="RawTherapee_${REF_NAME_FILTERED}_win64_${{matrix.build_type}}" + echo "Publish name is '$PUBLISH_NAME'." + if [ "$ARTIFACT_NAME" != "$PUBLISH_NAME" ]; then + echo "Renaming ZIP file." + cp "build/$ARTIFACT_NAME.zip" "build/$PUBLISH_NAME.zip" + if [ -e "./build/$ARTIFACT_NAME.exe" ]; then + echo "Renaming installer." + mv "./build/$ARTIFACT_NAME.exe" "./build/$PUBLISH_NAME.exe" + fi + fi + echo "Creating version file." + cp "build/$ARTIFACT_NAME/AboutThisBuild.txt" "build/$PUBLISH_NAME-AboutThisBuild.txt" + + echo "Recording publish name." + echo "PUBLISH_NAME=$PUBLISH_NAME" >> "$(cygpath -u $GITHUB_ENV)" + + - name: Publish artifacts + uses: softprops/action-gh-release@v1 + if: ${{github.ref_type == 'tag' || github.ref_name == 'dev'}} + with: + tag_name: nightly-github-actions + files: | + build/${{env.PUBLISH_NAME}}.zip + build/${{env.PUBLISH_NAME}}-AboutThisBuild.txt + + - name: Publish installer + uses: softprops/action-gh-release@v1 + if: ${{matrix.build_type == 'release' && (github.ref_type == 'tag' || github.ref_name == 'dev')}} + with: + tag_name: nightly-github-actions + files: build/${{env.PUBLISH_NAME}}.exe diff --git a/AUTHORS.txt b/AUTHORS.txt index ec40f75e1..4fb664fa5 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -6,6 +6,7 @@ Project initiator: Development contributors, in last name alphabetical order: Roel Baars + Richard E Barber Martin Burri Pierre Cabrera Javier Celaya @@ -33,6 +34,7 @@ Development contributors, in last name alphabetical order: Jan Rinze Alberto Romei Ben S. + Simon Segerblom Rex Andrey Skvortsov Fabio Suprani Anders Torger @@ -49,6 +51,7 @@ Other contributors (profiles, ideas, mockups, testing, forum activity, translati Fernando Carello Rodrigo Nuno Bragança da Cunha Pat David + Jacques Dekker Reine Edvardsson Andrea Ferrero André Gauthier @@ -61,11 +64,13 @@ Other contributors (profiles, ideas, mockups, testing, forum activity, translati Lebarhon Karl Loncarek Patrick Lopatto + Francisco Lorés Jie Luo Paul Matthijsse Wim ter Meer Alberto Righetto Kostia (Kildor) Romanov + Henning Sidow Kalle Söderman Wayne Sutton Johan Thor @@ -73,3 +78,4 @@ Other contributors (profiles, ideas, mockups, testing, forum activity, translati TooWaBoo Franz Trischberger Colin Walker + Martin Werner diff --git a/CMakeLists.txt b/CMakeLists.txt index aa118e15b..9af883edd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,11 +44,15 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION "Building RawTherapee requires using GCC version 4.9 or higher!") endif() -# Warning for GCC 10, which causes problems #5749: -if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "10.1") +# Warning for GCC vectorization issues, which causes problems #5749 and #6384: +if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "10.0" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "10.2") message(STATUS "WARNING: gcc ${CMAKE_CXX_COMPILER_VERSION} is known to miscompile RawTherapee when using -ftree-loop-vectorize, forcing the option to be off") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-tree-loop-vectorize") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-tree-loop-vectorize") +elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "11.0") + message(STATUS "WARNING: gcc ${CMAKE_CXX_COMPILER_VERSION} is known to miscompile RawTherapee when using --ffp-contract=fast, forcing the option to be off") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffp-contract=off") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ffp-contract=off") endif() # We might want to build using the old C++ ABI, even when using a new GCC @@ -80,6 +84,24 @@ set(CACHE_NAME_SUFFIX # being bundled. However, file access can be restricted for some folder. option(OSX_DEV_BUILD "Generate macOS development builds" OFF) +# On macOS, optionally generate the final zip artifact file without version in the name for nightly upload purposes. +option(OSX_NIGHTLY "Generate a generically-named zip" OFF) + +# Generate a universal macOS build +option(OSX_UNIVERSAL "Generate a universal app" OFF) + +# On macOS: merge the app via a specific url to generate a universal bundle with both x86_64 and arm64 +if(OSX_UNIVERSAL) + if(NOT "${OSX_UNIVERSAL_URL}") + if(CMAKE_OSX_ARCHITECTURES STREQUAL "arm64") + set(OSX_UNIVERSAL_URL "https://kd6kxr.keybase.pub/RawTherapee_macOS_x86_64_latest.zip" CACHE STRING "URL of x86_64 app for lipo") + else() + set(OSX_UNIVERSAL_URL "https://kd6kxr.keybase.pub/RawTherapee_macOS_arm64_latest.zip" CACHE STRING "URL of arm64 app for lipo") + endif() + endif() +endif() + + # By default we don't use a specific processor target, so PROC_TARGET_NUMBER is # set to 0. Specify other values to optimize for specific processor architecture # as listed in ProcessorTargets.cmake: @@ -175,7 +197,7 @@ if(APPLE) # TODO make -mtune generic conditional and/or specifiable. if(CMAKE_CXX_COMPILER MATCHES "g\\+\\+-mp-4.[5-8]" OR CMAKE_CXX_COMPILER_ARG1 MATCHES "g\\+\\+-mp-4.[5-8]") set(CMAKE_EXE_LINKER_FLAGS - "${CMAKE_EXE_LINKER_FLAGS} /usr/lib/libstdc++.6.dylib -Wl,-headerpad_max_install_names -mtune=generic" + "${CMAKE_EXE_LINKER_FLAGS} /usr/lib/libstdc++.6.dylib -Wl,-headerpad_max_install_names -mtune=generic -framework Foundation" ) message( STATUS @@ -190,7 +212,7 @@ if(APPLE) # TODO make -mtune generic conditional and/or specifiable. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}") set(CMAKE_EXE_LINKER_FLAGS - "${CMAKE_EXE_LINKER_FLAGS} -Wl,-headerpad_max_install_names -mtune=generic" + "${CMAKE_EXE_LINKER_FLAGS} -Wl,-headerpad_max_install_names -mtune=generic -framework Foundation" ) endif() @@ -304,7 +326,7 @@ endif() if(NOT DEFINED CREDITSDIR) if(BUILD_BUNDLE) if(APPLE) - set(CREDITSDIR "${DATADIR}") + set(CREDITSDIR "${DATADIR}/..") else() set(CREDITSDIR "${DATADIR}") endif() @@ -371,6 +393,8 @@ if(NOT APPLE) if(DEFINED LENSFUNDBDIR AND NOT IS_ABSOLUTE "${LENSFUNDBDIR}") set(LENSFUNDBDIR "${DATADIR}/${LENSFUNDBDIR}") endif() +else() + set(LENSFUNDBDIR "${LENSFUNDBDIR}") endif() if(APPLE) @@ -387,11 +411,11 @@ if(APPLE) if("${LOCAL_PREFIX}") set(LOCAL_PREFIX "${LOCAL_PREFIX}" - CACHE STRING "macos/gtk parent directory ie /usr or /opt") + CACHE STRING "macos/gtk parent directory ie /usr/local or /opt/local or /opt/homebrew (for arm64)") else() set(LOCAL_PREFIX - /usr - CACHE STRING "macos/gtk parent directory ie /usr or /opt") + /usr/local + CACHE STRING "macos/gtk parent directory ie /usr/local (default) or /opt/local (macports) or /opt/homebrew (for arm64)") endif() if("${FANCY_DMG}") set(FANCY_DMG @@ -511,6 +535,12 @@ endif() pkg_check_modules(LCMS REQUIRED lcms2>=2.6) pkg_check_modules(EXPAT REQUIRED expat>=2.1) pkg_check_modules(FFTW3F REQUIRED fftw3f) + +#Set the appropriate FFTW flags on macOS +if(APPLE AND OPTION_OMP) + set(EXTRA_LIB "-L${LOCAL_PREFIX}/lib -lfftw3f_omp -lfftw3f -lm") +endif() + pkg_check_modules(IPTCDATA REQUIRED libiptcdata) find_package(TIFF 4.0.4 REQUIRED) find_package(JPEG REQUIRED) @@ -712,11 +742,18 @@ elseif(APPLE) ${CMAKE_COMMAND} -DPROJECT_SOURCE_DIR:STRING=${PROJECT_SOURCE_DIR} -DCACHE_NAME_SUFFIX:STRING=${CACHE_NAME_SUFFIX} - -P ${PROJECT_SOURCE_DIR}/UpdateInfo.cmake -DSYSTEM:STRING=Apple -DCXX_FLAGS:STRING=${CXX_FLAGS} -DLFLAGS:STRING=${LFLAGS} - -DCOMPILER_INFO:STRING=${COMPILER_INFO}) + -DCOMPILER_INFO:STRING=${COMPILER_INFO} + -DPROC_LABEL:STRING="${PROC_LABEL}" + -DPROC_BIT_DEPTH:STRING="${PROC_BIT_DEPTH}" + -DBUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} + -DGTKMM_VERSION:STRING=${GTKMM_VERSION} + -DOPTION_OMP:STRING=${OPTION_OMP} + -DWITH_MYFILE_MMAP:STRING=${WITH_MYFILE_MMAP} + -DLENSFUN_VERSION:STRING=${LENSFUN_VERSION} + -P ${PROJECT_SOURCE_DIR}/UpdateInfo.cmake) else() list(APPEND ABOUT_COMMAND_WITH_ARGS -DSYSTEM:STRING=Linux -DCXX_FLAGS:STRING=${CXX_FLAGS} -DLFLAGS:STRING=${LFLAGS} @@ -736,7 +773,7 @@ add_custom_target( # End generating AboutThisBuild.txt install(FILES AUTHORS.txt DESTINATION "${CREDITSDIR}") -install(FILES LICENSE.txt DESTINATION "${LICENCEDIR}") +install(FILES LICENSE DESTINATION "${LICENCEDIR}") install(FILES "${CMAKE_BINARY_DIR}/AboutThisBuild.txt" DESTINATION "${CREDITSDIR}") install( @@ -807,7 +844,14 @@ if(ENABLE_TCMALLOC) find_library(TCMALLOC_LIBRARIES tcmalloc PATHS ${TCMALLOC_LIB_DIR} NO_DEFAULT_PATH) else() - find_library(TCMALLOC_LIBRARIES tcmalloc) + # On Debian libtcmalloc-minimal4 has no .so symlink, so let's adjust for that + set(OLD_CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_FIND_LIBRARY_SUFFIXES}") + list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES ".so.4") + + find_library(TCMALLOC_LIBRARIES NAMES tcmalloc tcmalloc_minimal) + + set(CMAKE_FIND_LIBRARY_SUFFIXES "${OLD_CMAKE_FIND_LIBRARY_SUFFIXES}") + unset(OLD_CMAKE_FIND_LIBRARY_SUFFIXES) endif() if(TCMALLOC_LIBRARIES) message(STATUS "using tcmalloc library in ${TCMALLOC_LIBRARIES}") diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f94454b63..041b273df 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,6 +16,7 @@ The most useful feedback is based on the latest development code, and in the cas - Announce and discuss your plans in GitHub before starting work. - Work in a new branch. Fork if necessary. - Keep branches small so that completed and working features can be merged into the "dev" branch often, and so that they can be abandoned if they head in the wrong direction. +- Documentation for your work must be provided in order for your branch to be merged if it changes or adds anything the user should know about. The documentation can be provided in plain-text or markdown form as a comment in the issue or pull request. - Use C++11. - To break header dependencies use forward declarations as much as possible. See [#5197](https://github.com/Beep6581/RawTherapee/pull/5197#issuecomment-468938190) for some tips. - The naming isn't homogeneous throughout the code but here is a rough guideline: diff --git a/LICENSE.txt b/LICENSE similarity index 97% rename from LICENSE.txt rename to LICENSE index 24b3ca2eb..e963df829 100644 --- a/LICENSE.txt +++ b/LICENSE @@ -1,20 +1,3 @@ - RawTherapee - A powerful, cross-platform raw image processing program. - Copyright (C) 2004-2012 Gabor Horvath - Copyright (C) 2010-2021 RawTherapee development team. - - 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 this program. If not, see . - GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 diff --git a/ProcessorTargets.cmake b/ProcessorTargets.cmake index b22cfc839..60fd1e35f 100644 --- a/ProcessorTargets.cmake +++ b/ProcessorTargets.cmake @@ -38,5 +38,8 @@ set(PROC_TARGET_8_FLAGS "-march=athlon64" CACHE STRING "Processor-8 flags") set(PROC_TARGET_9_LABEL phenomX4 CACHE STRING "Processor-9 label - use it to provide a phenomX4 optimized build, if you have this processor") set(PROC_TARGET_9_FLAGS "-march=amdfam10" CACHE STRING "Processor-9 flags") +set(PROC_TARGET_10_LABEL sandybridge-ivybridge CACHE STRING "Processor set-10 label") +set(PROC_TARGET_10_FLAGS "-march=sandybridge -mtune=ivybridge" CACHE STRING "Processors set-10 flags") + #set(PROC_TARGET__LABEL procLabel CACHE STRING "Processor- label") #set(PROC_TARGET__FLAGS "procFlags" CACHE STRING "Processor- flags") diff --git a/README.md b/README.md index ae9efd9c8..21f219a83 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -![RawTherapee logo](https://www.rawtherapee.com/images/logos/rawtherapee_logo_discuss.png) +![RawTherapee logo](https://raw.githubusercontent.com/Beep6581/RawTherapee/dev/rtdata/images/rt-logo-text-black.svg) + +![RawTherapee screenshot](http://rawtherapee.com/images/carousel/100_rt59_provence_local_maskxxx.jpg) RawTherapee is a powerful, cross-platform raw photo processing program, released as [libre software](https://en.wikipedia.org/wiki/Free_software) under the [GNU General Public License Version 3](https://opensource.org/licenses/gpl-3.0.html). It is written mostly in C++ using a [GTK+](https://www.gtk.org) front-end. It uses a patched version of [dcraw](https://www.dechifro.org/dcraw/) for reading raw files, with an in-house solution which adds the highest quality support for certain camera models unsupported by dcraw and enhances the accuracy of certain raw files already supported by dcraw. It is notable for the advanced control it gives the user over the demosaicing and development process. diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt index eb8d96379..510847c8a 100644 --- a/RELEASE_NOTES.txt +++ b/RELEASE_NOTES.txt @@ -1,21 +1,14 @@ -RAWTHERAPEE 5.8-dev RELEASE NOTES +RAWTHERAPEE 5.9-dev RELEASE NOTES This is a development version of RawTherapee. We update the code almost daily. Every few months, once enough changes have accumulated and the code is stabilized, we make a new official release. Every code change between these releases is known as a "development" version, and this is one of them. + + +IN GENERAL + Start by reading the "Getting Started" article on RawPedia: https://rawpedia.rawtherapee.com/ -While we only commit tested and relatively stable code and so the development versions should be fairly stable, you should be aware that: -- Development versions only had limited testing, so there may be bugs unknown to us. -- You should report these bugs so that they get fixed for the next stable release. See - https://rawpedia.rawtherapee.com/How_to_write_useful_bug_reports -- The way new tools work in the development versions is likely to change as we tweak and tune them, so your processing profiles may produce different results when used in a future stable version. -- Bugs present in the stable versions get fixed in the development versions, and make it into the next stable version when we make a new official release. That means that in some ways the development versions can be "more stable" than the latest stable release. At the same time, new features may introduce new bugs. This is a trade-off you should be aware of. - - - -NEWS RELEVANT TO PHOTOGRAPHERS - RawTherapee supports most raw formats, including Pentax and Sony Pixel Shift, Canon Dual-Pixel, and those from Foveon and X-Trans sensors. If you're wondering whether it supports your camera's raw format, first download RawTherapee and try for yourself. If a raw format is not supported it will either not open, or the preview in the Editor tab will appear black, white, or have a strong color cast - usually magenta. In that case, read the "Adding Support for New Raw Formats" RawPedia article. @@ -25,15 +18,21 @@ In order to use RawTherapee efficiently you should know that: - To change slider values or drop-down list items with the mouse scroll-wheel, hold the Shift key. This is so that you can safely scroll the panels without accidentally changing a slider or other tool setting. - All curves support the Shift and Ctrl keys while dragging a point. Shift+drag makes the point snap to a meaningful axis (top, bottom, diagonal, other), while Ctrl+drag makes your mouse movement super-fine for precise point positioning. - There are many keyboard shortcuts which make working with RawTherapee much faster and give you greater control. Make sure you familiarize yourself with them on RawPedia's "Keyboard Shortcuts" page! +- All sliders support a fine-tuning mode which you can toggle by pressing the Shift key while dragging a slider. + + + +NEW FEATURES SINCE 5.9 -New features since 5.8: - TODO +- Added or improved support for cameras, raw formats and color profiles: + - TODO NEWS RELEVANT TO PACKAGE MAINTAINERS -New since 5.8: +New since 5.9: - TODO In general: @@ -74,18 +73,6 @@ https://discuss.pixls.us/c/software/rawtherapee -LIVE CHAT WITH USERS AND DEVELOPERS - -Network: freenode -Server: chat.freenode.net -Channel: #rawtherapee - -You can use freenode webchat to communicate without installing anything: -https://webchat.freenode.net/?randomnick=1&channels=rawtherapee&prompt=1 -More information here: https://rawpedia.rawtherapee.com/IRC - - - REVISION HISTORY The complete changelog is available at: diff --git a/UpdateInfo.cmake b/UpdateInfo.cmake index 473c68364..b0c2bdff6 100644 --- a/UpdateInfo.cmake +++ b/UpdateInfo.cmake @@ -106,9 +106,9 @@ if(WIN32) elseif(BIT_DEPTH EQUAL 8) set(BUILD_BIT_DEPTH 64) # Restricting the 64 bits builds to 64 bits systems only - set(ARCHITECTURE_ALLOWED "x64 ia64") + set(ARCHITECTURE_ALLOWED "x64 ia64 arm64") # installing in 64 bits mode for all 64 bits processors, even for itanium architecture - set(INSTALL_MODE "x64 ia64") + set(INSTALL_MODE "x64 ia64 arm64") endif() # set part of the output archive name set(SYSTEM_NAME "WinVista") diff --git a/com.rawtherapee.RawTherapee.appdata.xml b/com.rawtherapee.RawTherapee.appdata.xml index f7d588684..7e4c0b3a5 100644 --- a/com.rawtherapee.RawTherapee.appdata.xml +++ b/com.rawtherapee.RawTherapee.appdata.xml @@ -22,6 +22,7 @@ https://rawpedia.rawtherapee.com/Main_Page#Localization rawtherapee.desktop + diff --git a/rtdata/CMakeLists.txt b/rtdata/CMakeLists.txt index 00a32c0cc..eb4b5e934 100644 --- a/rtdata/CMakeLists.txt +++ b/rtdata/CMakeLists.txt @@ -34,7 +34,7 @@ if(UNIX) install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/images/png/rawtherapee-logo-64.png" DESTINATION "${ICONSDIR}/hicolor/64x64/apps" RENAME rawtherapee.png) install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/images/png/rawtherapee-logo-128.png" DESTINATION "${ICONSDIR}/hicolor/128x128/apps" RENAME rawtherapee.png) install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/images/png/rawtherapee-logo-256.png" DESTINATION "${ICONSDIR}/hicolor/256x256/apps" RENAME rawtherapee.png) - install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/images/svg/rt-logo.svg" DESTINATION "${ICONSDIR}/hicolor/scalable/apps" RENAME rawtherapee.svg) + install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/images/rt-logo.svg" DESTINATION "${ICONSDIR}/hicolor/scalable/apps" RENAME rawtherapee.svg) endif() install(FILES ${LANGUAGEFILES} DESTINATION "${DATADIR}/languages") diff --git a/rtdata/dcpprofiles/Canon EOS 5D Mark II.dcp b/rtdata/dcpprofiles/Canon EOS 5D Mark II.dcp new file mode 100644 index 000000000..d64a216ef Binary files /dev/null and b/rtdata/dcpprofiles/Canon EOS 5D Mark II.dcp differ diff --git a/rtdata/dcpprofiles/Canon EOS-1D X Mark III.dcp b/rtdata/dcpprofiles/Canon EOS-1D X Mark III.dcp new file mode 100644 index 000000000..39d7adddc Binary files /dev/null and b/rtdata/dcpprofiles/Canon EOS-1D X Mark III.dcp differ diff --git a/rtdata/dcpprofiles/Canon EOS-1Ds Mark II.dcp b/rtdata/dcpprofiles/Canon EOS-1Ds Mark II.dcp new file mode 100644 index 000000000..073a4837f Binary files /dev/null and b/rtdata/dcpprofiles/Canon EOS-1Ds Mark II.dcp differ diff --git a/rtdata/dcpprofiles/FUJIFILM DBP for GX680.dcp b/rtdata/dcpprofiles/FUJIFILM DBP for GX680.dcp new file mode 100644 index 000000000..dcfc174c7 Binary files /dev/null and b/rtdata/dcpprofiles/FUJIFILM DBP for GX680.dcp differ diff --git a/rtdata/dcpprofiles/FUJIFILM X-T4.dcp b/rtdata/dcpprofiles/FUJIFILM X-T4.dcp new file mode 100644 index 000000000..d67b45d59 Binary files /dev/null and b/rtdata/dcpprofiles/FUJIFILM X-T4.dcp differ diff --git a/rtdata/dcpprofiles/SONY ILCE-7M4.dcp b/rtdata/dcpprofiles/SONY ILCE-7M4.dcp new file mode 100644 index 000000000..693453619 Binary files /dev/null and b/rtdata/dcpprofiles/SONY ILCE-7M4.dcp differ diff --git a/rtdata/dcpprofiles/samsung SM-G930V.dcp b/rtdata/dcpprofiles/samsung SM-G930V.dcp new file mode 100644 index 000000000..9ae2c66a9 Binary files /dev/null and b/rtdata/dcpprofiles/samsung SM-G930V.dcp differ diff --git a/rtdata/images/png/rawtherapee-logo-128.png b/rtdata/images/png/rawtherapee-logo-128.png index d479e15f1..2929a62b6 100644 Binary files a/rtdata/images/png/rawtherapee-logo-128.png and b/rtdata/images/png/rawtherapee-logo-128.png differ diff --git a/rtdata/images/png/rawtherapee-logo-16.png b/rtdata/images/png/rawtherapee-logo-16.png index dc8084ffc..b2d9b197e 100644 Binary files a/rtdata/images/png/rawtherapee-logo-16.png and b/rtdata/images/png/rawtherapee-logo-16.png differ diff --git a/rtdata/images/png/rawtherapee-logo-24.png b/rtdata/images/png/rawtherapee-logo-24.png index 9ba43bc2f..c93bc44d9 100644 Binary files a/rtdata/images/png/rawtherapee-logo-24.png and b/rtdata/images/png/rawtherapee-logo-24.png differ diff --git a/rtdata/images/png/rawtherapee-logo-256.png b/rtdata/images/png/rawtherapee-logo-256.png index a6693fcdd..6b490ad9e 100644 Binary files a/rtdata/images/png/rawtherapee-logo-256.png and b/rtdata/images/png/rawtherapee-logo-256.png differ diff --git a/rtdata/images/png/rawtherapee-logo-32.png b/rtdata/images/png/rawtherapee-logo-32.png index c4e862bb8..f0bfa57a1 100644 Binary files a/rtdata/images/png/rawtherapee-logo-32.png and b/rtdata/images/png/rawtherapee-logo-32.png differ diff --git a/rtdata/images/png/rawtherapee-logo-48.png b/rtdata/images/png/rawtherapee-logo-48.png index ed1841d2a..ef6ba64e1 100644 Binary files a/rtdata/images/png/rawtherapee-logo-48.png and b/rtdata/images/png/rawtherapee-logo-48.png differ diff --git a/rtdata/images/png/rawtherapee-logo-64.png b/rtdata/images/png/rawtherapee-logo-64.png index d876b0e91..93f18a1d2 100644 Binary files a/rtdata/images/png/rawtherapee-logo-64.png and b/rtdata/images/png/rawtherapee-logo-64.png differ diff --git a/rtdata/images/rawtherapee.ico b/rtdata/images/rawtherapee.ico index d5e6425af..bc968503d 100644 Binary files a/rtdata/images/rawtherapee.ico and b/rtdata/images/rawtherapee.ico differ diff --git a/rtdata/images/rawtherapee_ico.xcf b/rtdata/images/rawtherapee_ico.xcf deleted file mode 100644 index c46ec64f7..000000000 Binary files a/rtdata/images/rawtherapee_ico.xcf and /dev/null differ diff --git a/rtdata/images/rt-logo-text-black.svg b/rtdata/images/rt-logo-text-black.svg new file mode 100644 index 000000000..6f7ac22e4 --- /dev/null +++ b/rtdata/images/rt-logo-text-black.svg @@ -0,0 +1,1151 @@ + + + + + RawTherapee Logo with Text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + RawTherapee Logo with Text + + + Maciej Dworak + + + www.rawtherapee.com + 2019-03-11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rtdata/images/rt-logo-text-white.svg b/rtdata/images/rt-logo-text-white.svg new file mode 100644 index 000000000..78458c622 --- /dev/null +++ b/rtdata/images/rt-logo-text-white.svg @@ -0,0 +1,1151 @@ + + + + + RawTherapee Logo with Text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + RawTherapee Logo with Text + + + Maciej Dworak + + + www.rawtherapee.com + 2019-03-11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rtdata/images/rt-logo.svg b/rtdata/images/rt-logo.svg new file mode 100644 index 000000000..dd8ed39ec --- /dev/null +++ b/rtdata/images/rt-logo.svg @@ -0,0 +1,655 @@ + + + + + RawTherapee Logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + RawTherapee Logo + + + Maciej Dworak + + + www.rawtherapee.com + 2019-03-11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rtdata/images/svg/rt-logo.svg b/rtdata/images/svg/rt-logo.svg deleted file mode 100644 index a8417d4db..000000000 --- a/rtdata/images/svg/rt-logo.svg +++ /dev/null @@ -1,609 +0,0 @@ - - - - - RawTherapee logo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - RawTherapee logo - - - Maciej Dworak - - - www.rawtherapee.com - 2019-03-11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/rtdata/images/svg/splash.svg b/rtdata/images/svg/splash.svg index 5609a45c1..a840aac4d 100644 --- a/rtdata/images/svg/splash.svg +++ b/rtdata/images/svg/splash.svg @@ -1,944 +1,1107 @@ + + - RawTherapee splash screen - - - RawTherapee splash screen - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - RawTherapee splash screen - - - - Maciej Dworak - - - www.rawtherapee.com - - - - - - - - - - - - - RawTherapee splash screen - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + id="text23926-2" + style="font-size:20.4611px;line-height:1.25;font-family:'Eras BQ';-inkscape-font-specification:'Eras BQ';opacity:1;fill:#ffffff;stroke-width:0.873393"> diff --git a/rtdata/images/svg/splash_template.svg b/rtdata/images/svg/splash_template.svg index 8044343c0..f5424e7cc 100644 --- a/rtdata/images/svg/splash_template.svg +++ b/rtdata/images/svg/splash_template.svg @@ -2,29 +2,41 @@ + enable-background="new" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> RawTherapee splash screen + + + style="color-interpolation-filters:sRGB" + inkscape:auto-region="true"> - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + gradientTransform="rotate(-15,802.43241,-1.9489591)" + x1="254.64981" + y1="101.84784" + x2="242.17578" + y2="148.77542" /> + + gradientTransform="rotate(-15,802.43241,-1.9489591)" + x1="163.02301" + y1="193.83618" + x2="209.80595" + y2="181.05989" /> + + gradientTransform="rotate(-15,802.43241,-1.9489591)" + x1="117.51535" + y1="181.72815" + x2="164.49129" + y2="194.03969" /> + + gradientTransform="rotate(-15,802.43241,-1.9489591)" + x1="84.229202" + y1="147.87372" + x2="118.57832" + y2="182.1684" /> + + gradientTransform="rotate(-15,802.43241,-1.9489591)" + x1="71.600014" + y1="98.586967" + x2="86.637268" + y2="153.3033" /> + + gradientTransform="rotate(-15,802.43241,-1.9489591)" + x1="85.458618" + y1="53.097939" + x2="71.537453" + y2="106.59224" /> + + gradientTransform="rotate(-15,802.43241,-1.9489591)" + x1="80.822929" + y1="61.417603" + x2="120.4325" + y2="21.283628" /> + + gradientTransform="rotate(-15,802.43241,-1.9489591)" + x1="140.49059" + y1="16.437004" + x2="154.79814" + y2="69.879189" /> + - - - - - - - - - - + gradientTransform="rotate(-15,802.43241,-1.9489591)" + x1="208.75566" + y1="23.213453" + x2="243.28401" + y2="57.596519" /> + + + + inkscape:measure-end="422.317,192.368" + inkscape:pagecheckerboard="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + width="157.40977mm" + inkscape:showpageshadow="2" + inkscape:deskcolor="#d1d1d1"> + inkscape:color="rgb(0,134,229)" /> - - - - - - - - + position="153.15072,8.9833384" + orientation="-1,0" + id="guide15125" + inkscape:locked="false" + inkscape:label="" + inkscape:color="rgb(0,134,229)" /> - image/svg+xml - RawTherapee splash screen - - - - Maciej Dworak - - - www.rawtherapee.com @@ -605,474 +968,383 @@ inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" - transform="translate(0,-205.45415)"> + transform="translate(4.6433668,-186.15341)"> - - Each logo element has a filter effect (ring*). Additionally, the logo as a whole (all elements grouped) also has a filter effect (logo glow)."Raw": font Eras Ultra ITC, 60pt, -3px spacing between characters."Therapee": font Eras Medium ITC, 60pt, +1px spacing between characters.Version: font Eras Bold ITC, 64pt, skewed -3°. RawTherapee splash screen design version 1.2 from 2019-02-27 | www.rawtherapee.com + style="fill:#2a2a2a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.289435;enable-background:new" /> + id="g1471" + style="filter:url(#filter3580-78);enable-background:new" + transform="matrix(0.32898701,0,0,0.32898701,5.4693427,158.00998)"> + id="path1157-5" + style="fill:url(#linearGradient1281);fill-opacity:1;stroke-width:0.682085;stroke-linecap:round;stroke-linejoin:round;filter:url(#filter4905-0)" + d="m 294.18353,286.29588 8.89675,2.38406 a 93.821518,93.821518 0 0 0 2.4e-4,-48.56705 l -8.71031,2.33392 a 84.803757,84.803757 0 0 1 2.29016,11.88245 84.803757,84.803757 0 0 1 0.57521,12.08518 84.803757,84.803757 0 0 1 -1.14997,12.04599 84.803757,84.803757 0 0 1 -1.90208,7.83545 z" /> + id="path4829-2" + style="fill:url(#linearGradient1283);fill-opacity:1;stroke-width:0.682085;stroke-linecap:round;stroke-linejoin:round;filter:url(#filter3580-78)" + d="m 294.18353,286.29588 a 84.803757,84.803757 0 0 0 1.90208,-7.83545 84.803757,84.803757 0 0 0 1.14997,-12.04599 84.803757,84.803757 0 0 0 -0.57521,-12.08518 84.803757,84.803757 0 0 0 -2.29016,-11.88245 l -43.24405,11.5872 a 40.033501,40.033501 0 0 1 -0.0886,20.70095 z" /> + id="path1341-4" + style="fill:#fffb00;fill-opacity:1;stroke-width:0.682085;stroke-linecap:round;stroke-linejoin:round;filter:url(#filter4905-0)" + d="m 272.28532,324.2247 6.51303,6.51278 a 93.821518,93.821518 0 0 0 24.28193,-42.05754 l -8.89675,-2.38406 a 84.803757,84.803757 0 0 1 -0.95072,3.9227 84.803757,84.803757 0 0 1 -4.49616,11.23195 84.803757,84.803757 0 0 1 -6.05046,10.4797 84.803757,84.803757 0 0 1 -7.47908,9.50977 84.803757,84.803757 0 0 1 -2.92179,2.7847 z" /> + id="path4832-9" + style="fill:#fffb00;fill-opacity:1;stroke-width:0.682085;stroke-linecap:round;stroke-linejoin:round;filter:url(#filter3580-78)" + d="m 272.28532,324.2247 a 84.803757,84.803757 0 0 0 2.92179,-2.7847 84.803757,84.803757 0 0 0 7.47908,-9.50977 84.803757,84.803757 0 0 0 6.05046,-10.4797 84.803757,84.803757 0 0 0 4.49616,-11.23195 84.803757,84.803757 0 0 0 0.95072,-3.9227 l -43.14595,-11.56092 a 40.033501,40.033501 0 0 1 -10.33729,17.90471 z" /> + id="path1547-6" + style="fill:url(#linearGradient1285);fill-opacity:1;stroke-width:0.682085;stroke-linecap:round;stroke-linejoin:round;filter:url(#filter4905-0)" + d="m 234.40424,346.3109 2.33393,8.71032 a 93.821518,93.821518 0 0 0 42.06018,-24.28374 l -6.51303,-6.51278 a 84.803757,84.803757 0 0 1 -5.83466,5.56497 84.803757,84.803757 0 0 1 -9.85715,7.0189 84.803757,84.803757 0 0 1 -10.75367,5.54444 84.803757,84.803757 0 0 1 -11.4356,3.95789 z" /> + id="path4835-4" + style="fill:url(#linearGradient1287);fill-opacity:1;stroke-width:0.682085;stroke-linecap:round;stroke-linejoin:round;filter:url(#filter3580-78)" + d="m 234.40424,346.3109 a 84.803757,84.803757 0 0 0 11.4356,-3.95789 84.803757,84.803757 0 0 0 10.75367,-5.54444 84.803757,84.803757 0 0 0 9.85715,-7.0189 84.803757,84.803757 0 0 0 5.83466,-5.56497 l -31.58503,-31.58503 a 40.033501,40.033501 0 0 1 -17.88325,10.42719 z" /> + id="path1753-0" + style="fill:url(#linearGradient1289);fill-opacity:1;stroke-width:0.682085;stroke-linecap:round;stroke-linejoin:round;filter:url(#filter4905-0)" + d="m 190.55705,346.12372 -2.38405,8.89675 a 93.821518,93.821518 0 0 0 48.56517,7.5e-4 l -2.33393,-8.71032 a 84.803757,84.803757 0 0 1 -11.88057,2.28966 84.803757,84.803757 0 0 1 -12.08519,0.57522 84.803757,84.803757 0 0 1 -12.04598,-1.14998 84.803757,84.803757 0 0 1 -7.83545,-1.90208 z" /> + id="path4838-2" + style="fill:url(#linearGradient1291);fill-opacity:1;stroke-width:0.682085;stroke-linecap:round;stroke-linejoin:round;filter:url(#filter3580-78)" + d="m 190.55705,346.12372 a 84.803757,84.803757 0 0 0 7.83545,1.90208 84.803757,84.803757 0 0 0 12.04598,1.14998 84.803757,84.803757 0 0 0 12.08519,-0.57522 84.803757,84.803757 0 0 0 11.88057,-2.28966 l -11.5872,-43.24404 a 40.033501,40.033501 0 0 1 -20.69907,-0.0891 z" /> + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + id="g140289" + style="filter:url(#filter4749)"> + Therapee + Raw - - - - - - - - - - - - - - - - - GNU GPLv3 - - Development - - - Release Candidate 1 - - 5 - . 9 - Therapee - Raw - Therapee - Raw - - - - - - - + id="g151445" + transform="translate(-0.25547655,-0.02528481)" + style="filter:url(#filter4749)"> + 5 + 9 + . + GNU GPLv3 + + Prerequisites +Obtain and install the font family ITC Eras Std. + +Details +The color wheel is copied from rt-logo.svg and a glow filter is added +to each segment and the wheel as a whole. +"Raw": font ITC Eras Ultra-Bold, 60 pt, -3 px letter spacing +"Therapee": font ITC Eras Medium, 60 pt, +1,5 pt letter spacing +Version (big number): ITC Eras Bold, 58 pt, skewed -3° +Version (period + small number): ITC Eras Bold, 34 pt, skewed -3° +Release-type: ITC Eras Bold, 16 pt, skewed -3° + +Publishing +1. To prepare a splash screen for deployment, select all text and choose Path > Object to Path. +2. Change release type text to whatever is required, or hide the layer "Release type" entirely. +3. Remove this text field. +4. Save as "splash.svg" into "./rtdata/images/svg". + +RawTherapee splash screen design 1.5 (March 2022) +www.rawtherapee.com + + + Development diff --git a/rtdata/images/svg/spot-active.svg b/rtdata/images/svg/spot-active.svg new file mode 100644 index 000000000..bc36a7a19 --- /dev/null +++ b/rtdata/images/svg/spot-active.svg @@ -0,0 +1,81 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/rtdata/images/svg/spot-normal.svg b/rtdata/images/svg/spot-normal.svg new file mode 100644 index 000000000..d0320e31f --- /dev/null +++ b/rtdata/images/svg/spot-normal.svg @@ -0,0 +1,73 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/rtdata/images/svg/spot-prelight.svg b/rtdata/images/svg/spot-prelight.svg new file mode 100644 index 000000000..9cfc1acfa --- /dev/null +++ b/rtdata/images/svg/spot-prelight.svg @@ -0,0 +1,74 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/rtdata/languages/Catala b/rtdata/languages/Catala index ac4c9565b..4485966ff 100644 --- a/rtdata/languages/Catala +++ b/rtdata/languages/Catala @@ -162,13 +162,11 @@ HISTOGRAM_TOOLTIP_BAR;Mostra/amaga la barra indicadora RGB\nClic botó dret a la HISTOGRAM_TOOLTIP_G;Mostra/amaga l'histograma VERD HISTOGRAM_TOOLTIP_L;Mostra/amaga l'histograma de luminància CIELAB HISTOGRAM_TOOLTIP_R;Mostra/amaga l'histograma VERMELL -HISTOGRAM_TOOLTIP_RAW;Mostra/Amaga l'histograma RAW HISTORY_CHANGED;Canviat HISTORY_CUSTOMCURVE;Corba particular HISTORY_FROMCLIPBOARD;Del portapapers HISTORY_LABEL;Història HISTORY_MSG_1;Imatge oberta -HISTORY_MSG_2;PP3 carregat HISTORY_MSG_3;PP3 canviat HISTORY_MSG_4;Repassant la història HISTORY_MSG_5;Brillantor @@ -182,9 +180,6 @@ HISTORY_MSG_12;Exposició automàtica HISTORY_MSG_13;Pèrdua per exposició HISTORY_MSG_14;Luminància: Brillantor HISTORY_MSG_15;Luminància: Contrast -HISTORY_MSG_16;Luminància: Negre -HISTORY_MSG_17;Luminància: Compressió de clars -HISTORY_MSG_18;Luminància: Compressió de foscos HISTORY_MSG_19;Corba 'L' HISTORY_MSG_20;Enfocant HISTORY_MSG_21;Enfocant -Radi @@ -209,10 +204,6 @@ HISTORY_MSG_40;Tint de balanç de blancs HISTORY_MSG_41;Corba de to mode 1 HISTORY_MSG_42;Corba de to 2 HISTORY_MSG_43;Corba de to mode 2 -HISTORY_MSG_44;Lumin. dessoroll Radi -HISTORY_MSG_45;Lumin. dessoroll, tolerància vores -HISTORY_MSG_46;Dessorollant color -HISTORY_MSG_47;Barreja clars intensos ICC amb la matriu HISTORY_MSG_48;Usa corba de to DCP HISTORY_MSG_49;Dessoroll de color, sensib. de vores HISTORY_MSG_50;Foscos/clars intensos @@ -220,7 +211,6 @@ HISTORY_MSG_51;Clars intensos HISTORY_MSG_52;Foscos HISTORY_MSG_53;Amplada de to de clars HISTORY_MSG_54;Amplada de to de foscos -HISTORY_MSG_55;Contrast local HISTORY_MSG_56;Radi foscos/clars intensos HISTORY_MSG_57;Rotació tosca HISTORY_MSG_58;Inversió horitzontal @@ -232,7 +222,6 @@ HISTORY_MSG_63;Instantània seleccionada HISTORY_MSG_64;Cropa foto HISTORY_MSG_65;Correcció A.C. HISTORY_MSG_66;Recuperació de clars intensos -HISTORY_MSG_67;Recup. de clars: quantitat HISTORY_MSG_68;Recup. de clars: mètode HISTORY_MSG_69;Espai de color de treball HISTORY_MSG_70;Espai de color de sortida @@ -243,12 +232,10 @@ HISTORY_MSG_74;Canviar l'escala HISTORY_MSG_75;Mètode de canvi d'escala HISTORY_MSG_76;Metadades Exif HISTORY_MSG_77;Metadades IPTC -HISTORY_MSG_78;Especificacions per a escalar HISTORY_MSG_79;Variar amplada HISTORY_MSG_80;Variar alçada HISTORY_MSG_81;Escalat activat HISTORY_MSG_82;Perfil canviat -HISTORY_MSG_83;Alta qual. ombres/clars intensos HISTORY_MSG_84;Correcció de perspectiva HISTORY_MSG_85;Perfil de correcció de la lent HISTORY_MSG_86;Equalitzador d'ónula @@ -292,12 +279,6 @@ HISTORY_MSG_127;Auto-sel. camp pla HISTORY_MSG_128;Camp pla borrós - radi HISTORY_MSG_129;Camp pla borrós - tipus HISTORY_MSG_130;Auto-distorsió -HISTORY_MSG_131;Dessoroll de luminància -HISTORY_MSG_132;Dessoroll de crominància -HISTORY_MSG_133;Gama -HISTORY_MSG_134;Posició Gama -HISTORY_MSG_135;Gama lliure -HISTORY_MSG_136;Pendent de Gama HISTORY_MSG_137;Negre nivell verd 1 HISTORY_MSG_138;Negre nivell roig HISTORY_MSG_139;Negre nivell blau @@ -663,11 +644,11 @@ TP_EPD_REWEIGHTINGITERATES;Iteracions de ponderació TP_EPD_SCALE;Escala TP_EPD_STRENGTH;Intensitat TP_EXPOSURE_AUTOLEVELS;Nivells automàtics -TP_EXPOSURE_AUTOLEVELS_TIP;Activa auto-nivells per a ajustar automàticament els valors dels paràmetres segons anàlisi de la imatge +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Activa auto-nivells per a ajustar automàticament els valors dels paràmetres segons anàlisi de la imatge TP_EXPOSURE_BLACKLEVEL;Negre TP_EXPOSURE_BRIGHTNESS;Brillantor TP_EXPOSURE_CLIP;Retall -TP_EXPOSURE_CLIP_TIP;Conjunt de píxels que es retallaran en l'anivellament automàtic +TP_EXPOSURE_CLIP_TOOLTIP;Conjunt de píxels que es retallaran en l'anivellament automàtic TP_EXPOSURE_COMPRHIGHLIGHTS;Quantitat recuperació de clars TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Llindar recup. clars intensos TP_EXPOSURE_COMPRSHADOWS;Recuperació de foscos @@ -749,14 +730,14 @@ TP_LABCURVE_CURVEEDITOR_LC;LC TP_LABCURVE_CURVEEDITOR_LC_TOOLTIP;Cromaticitat segons la luminància TP_LABCURVE_LABEL;Ajustos Lab TP_LABCURVE_LCREDSK;LC limitat als tons vermell i pell -TP_LABCURVE_LCREDSK_TIP;Si habilitat, la corba LC (luminància segons cromaticitat) es limita als tons vermell i de pell\nSi no ho està, s'aplica a tots els tons +TP_LABCURVE_LCREDSK_TOOLTIP;Si habilitat, la corba LC (luminància segons cromaticitat) es limita als tons vermell i de pell\nSi no ho està, s'aplica a tots els tons TP_LABCURVE_RSTPROTECTION;Protecció de tons vermells i de pell TP_LABCURVE_RSTPRO_TOOLTIP;Es maneja amb el control de cromaticitat i la corba CC. TP_LENSGEOM_AUTOCROP;Auto cropa TP_LENSGEOM_FILL;Auto omple TP_LENSGEOM_LABEL;Lent / Geometria TP_LENSPROFILE_LABEL;Perfil de correcció de lent -TP_NEUTRAL_TIP;Torna els controls d'exposició a valors neutrals +TP_NEUTRAL_TOOLTIP;Torna els controls d'exposició a valors neutrals TP_PERSPECTIVE_HORIZONTAL;Horitzontal TP_PERSPECTIVE_LABEL;Perspectiva TP_PERSPECTIVE_VERTICAL;Vertical @@ -913,7 +894,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !DYNPROFILEEDITOR_DELETE;Delete !DYNPROFILEEDITOR_EDIT;Edit !DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule -!DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the "re:" prefix to enter\na regular expression. +!DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the 're:' prefix to enter\na regular expression. !DYNPROFILEEDITOR_IMGTYPE_ANY;Any !DYNPROFILEEDITOR_IMGTYPE_HDR;HDR !DYNPROFILEEDITOR_IMGTYPE_PS;Pixel Shift @@ -932,9 +913,9 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !EXPORT_BYPASS_RAW_LMMSE_ITERATIONS;Bypass [raw] LMMSE Enhancement Steps !EXPORT_PIPELINE;Processing pipeline !EXPORT_USE_FAST_PIPELINE;Dedicated (full processing on resized image) -!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_FAST_PIPELINE_TOOLTIP;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_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. +!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply 'find' keywords. !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles !FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles !FILEBROWSER_COLORLABEL_TOOLTIP;Color label.\n\nUse dropdown menu or shortcuts:\nShift-Ctrl-0 No Color\nShift-Ctrl-1 Red\nShift-Ctrl-2 Yellow\nShift-Ctrl-3 Green\nShift-Ctrl-4 Blue\nShift-Ctrl-5 Purple @@ -948,6 +929,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !FILEBROWSER_POPUPCOLORLABEL3;Label: Green !FILEBROWSER_POPUPCOLORLABEL4;Label: Blue !FILEBROWSER_POPUPCOLORLABEL5;Label: Purple +!FILEBROWSER_POPUPINSPECT;Inspect !FILEBROWSER_POPUPRANK0;Unrank !FILEBROWSER_POPUPRANK1;Rank 1 * !FILEBROWSER_POPUPRANK2;Rank 2 ** @@ -977,6 +959,8 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !GENERAL_AUTO;Automatic !GENERAL_CLOSE;Close !GENERAL_CURRENT;Current +!GENERAL_DELETE_ALL;Delete all +!GENERAL_EDIT;Edit !GENERAL_HELP;Help !GENERAL_OPEN;Open !GENERAL_RESET;Reset @@ -984,46 +968,55 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !GENERAL_SLIDER;Slider !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_CROSSHAIR;Show/Hide indicator crosshair. !HISTOGRAM_TOOLTIP_MODE;Toggle between linear, log-linear and log-log scaling of the histogram. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform !HISTORY_MSG_36;Lens Correction - CA !HISTORY_MSG_117;Raw CA correction - Red !HISTORY_MSG_118;Raw CA correction - Blue !HISTORY_MSG_121;Raw CA Correction - Auto !HISTORY_MSG_166;Exposure - Reset !HISTORY_MSG_173;NR - Detail recovery -!HISTORY_MSG_174;CIECAM02 -!HISTORY_MSG_175;CAM02 - CAT02 adaptation -!HISTORY_MSG_176;CAM02 - Viewing surround -!HISTORY_MSG_177;CAM02 - Scene luminosity -!HISTORY_MSG_178;CAM02 - Viewing luminosity -!HISTORY_MSG_179;CAM02 - White-point model -!HISTORY_MSG_180;CAM02 - Lightness (J) -!HISTORY_MSG_181;CAM02 - Chroma (C) -!HISTORY_MSG_182;CAM02 - Automatic CAT02 -!HISTORY_MSG_183;CAM02 - Contrast (J) -!HISTORY_MSG_184;CAM02 - Scene surround -!HISTORY_MSG_185;CAM02 - Gamut control -!HISTORY_MSG_186;CAM02 - Algorithm -!HISTORY_MSG_187;CAM02 - Red/skin prot. -!HISTORY_MSG_188;CAM02 - Brightness (Q) -!HISTORY_MSG_189;CAM02 - Contrast (Q) -!HISTORY_MSG_190;CAM02 - Saturation (S) -!HISTORY_MSG_191;CAM02 - Colorfulness (M) -!HISTORY_MSG_192;CAM02 - Hue (h) -!HISTORY_MSG_193;CAM02 - Tone curve 1 -!HISTORY_MSG_194;CAM02 - Tone curve 2 -!HISTORY_MSG_195;CAM02 - Tone curve 1 -!HISTORY_MSG_196;CAM02 - Tone curve 2 -!HISTORY_MSG_197;CAM02 - Color curve -!HISTORY_MSG_198;CAM02 - Color curve -!HISTORY_MSG_199;CAM02 - Output histograms -!HISTORY_MSG_200;CAM02 - Tone mapping +!HISTORY_MSG_174;Color Appearance & Lighting +!HISTORY_MSG_175;CAL - SC - Adaptation +!HISTORY_MSG_176;CAL - VC - Surround +!HISTORY_MSG_177;CAL - SC - Absolute luminance +!HISTORY_MSG_178;CAL - VC - Absolute luminance +!HISTORY_MSG_179;CAL - SC - WP model +!HISTORY_MSG_180;CAL - IA - Lightness (J) +!HISTORY_MSG_181;CAL - IA - Chroma (C) +!HISTORY_MSG_182;CAL - SC - Auto adaptation +!HISTORY_MSG_183;CAL - IA - Contrast (J) +!HISTORY_MSG_184;CAL - SC - Surround +!HISTORY_MSG_185;CAL - Gamut control +!HISTORY_MSG_186;CAL - IA - Algorithm +!HISTORY_MSG_187;CAL - IA - Red/skin protection +!HISTORY_MSG_188;CAL - IA - Brightness (Q) +!HISTORY_MSG_189;CAL - IA - Contrast (Q) +!HISTORY_MSG_190;CAL - IA - Saturation (S) +!HISTORY_MSG_191;CAL - IA - Colorfulness (M) +!HISTORY_MSG_192;CAL - IA - Hue (h) +!HISTORY_MSG_193;CAL - IA - Tone curve 1 +!HISTORY_MSG_194;CAL - IA - Tone curve 2 +!HISTORY_MSG_195;CAL - IA - Tone curve 1 mode +!HISTORY_MSG_196;CAL - IA - Tone curve 2 mode +!HISTORY_MSG_197;CAL - IA - Color curve +!HISTORY_MSG_198;CAL - IA - Color curve mode +!HISTORY_MSG_199;CAL - IA - Use CAM output for histograms +!HISTORY_MSG_200;CAL - IA - Use CAM for tone mapping !HISTORY_MSG_201;NR - Chrominance - R&G !HISTORY_MSG_202;NR - Chrominance - B&Y !HISTORY_MSG_203;NR - Color space !HISTORY_MSG_204;LMMSE enhancement steps -!HISTORY_MSG_205;CAM02 - Hot/bad pixel filter -!HISTORY_MSG_206;CAT02 - Auto scene luminosity +!HISTORY_MSG_205;CAL - Hot/bad pixel filter +!HISTORY_MSG_206;CAL - SC - Auto absolute luminance !HISTORY_MSG_207;Defringe - Hue curve !HISTORY_MSG_208;WB - B/R equalizer !HISTORY_MSG_210;GF - Angle @@ -1066,7 +1059,6 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !HISTORY_MSG_247;L*a*b* - LH curve !HISTORY_MSG_248;L*a*b* - HH curve !HISTORY_MSG_249;CbDL - Threshold -!HISTORY_MSG_250;NR - Enhanced !HISTORY_MSG_251;B&W - Algorithm !HISTORY_MSG_252;CbDL - Skin tar/prot !HISTORY_MSG_253;CbDL - Reduce artifacts @@ -1090,8 +1082,6 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !HISTORY_MSG_271;CT - High - Blue !HISTORY_MSG_272;CT - Balance !HISTORY_MSG_273;CT - Color Balance SMH -!HISTORY_MSG_274;CT - Sat. Shadows -!HISTORY_MSG_275;CT - Sat. Highlights !HISTORY_MSG_276;CT - Opacity !HISTORY_MSG_277;--unused-- !HISTORY_MSG_278;CT - Preserve luminance @@ -1116,7 +1106,6 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !HISTORY_MSG_297;NR - Mode !HISTORY_MSG_298;Dead pixel filter !HISTORY_MSG_299;NR - Chrominance curve -!HISTORY_MSG_300;- !HISTORY_MSG_301;NR - Luma control !HISTORY_MSG_302;NR - Chroma method !HISTORY_MSG_303;NR - Chroma method @@ -1134,10 +1123,10 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !HISTORY_MSG_315;W - Residual - Contrast !HISTORY_MSG_316;W - Gamut - Skin tar/prot !HISTORY_MSG_317;W - Gamut - Skin hue -!HISTORY_MSG_318;W - Contrast - Highlight levels -!HISTORY_MSG_319;W - Contrast - Highlight range -!HISTORY_MSG_320;W - Contrast - Shadow range -!HISTORY_MSG_321;W - Contrast - Shadow levels +!HISTORY_MSG_318;W - Contrast - Finer levels +!HISTORY_MSG_319;W - Contrast - Finer range +!HISTORY_MSG_320;W - Contrast - Coarser range +!HISTORY_MSG_321;W - Contrast - Coarser levels !HISTORY_MSG_322;W - Gamut - Avoid color shift !HISTORY_MSG_323;W - ES - Local contrast !HISTORY_MSG_324;W - Chroma - Pastel @@ -1201,14 +1190,14 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !HISTORY_MSG_382;PRS RLD - Amount !HISTORY_MSG_383;PRS RLD - Damping !HISTORY_MSG_384;PRS RLD - Iterations -!HISTORY_MSG_385;W - Residual - Color Balance +!HISTORY_MSG_385;W - Residual - Color balance !HISTORY_MSG_386;W - Residual - CB green high !HISTORY_MSG_387;W - Residual - CB blue high !HISTORY_MSG_388;W - Residual - CB green mid !HISTORY_MSG_389;W - Residual - CB blue mid !HISTORY_MSG_390;W - Residual - CB green low !HISTORY_MSG_391;W - Residual - CB blue low -!HISTORY_MSG_392;W - Residual - Color Balance +!HISTORY_MSG_392;W - Residual - Color balance !HISTORY_MSG_393;DCP - Look table !HISTORY_MSG_394;DCP - Baseline exposure !HISTORY_MSG_395;DCP - Base table @@ -1225,7 +1214,6 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !HISTORY_MSG_406;W - ES - Neighboring pixels !HISTORY_MSG_407;Retinex - Method !HISTORY_MSG_408;Retinex - Radius -!HISTORY_MSG_409;Retinex - Contrast !HISTORY_MSG_410;Retinex - Offset !HISTORY_MSG_411;Retinex - Strength !HISTORY_MSG_412;Retinex - Gaussian gradient @@ -1241,7 +1229,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !HISTORY_MSG_422;Retinex - Gamma !HISTORY_MSG_423;Retinex - Gamma slope !HISTORY_MSG_424;Retinex - HL threshold -!HISTORY_MSG_425;Retinex - Log base +!HISTORY_MSG_425;--unused-- !HISTORY_MSG_426;Retinex - Hue equalizer !HISTORY_MSG_427;Output rendering intent !HISTORY_MSG_428;Monitor rendering intent @@ -1261,30 +1249,45 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !HISTORY_MSG_442;Retinex - Scale !HISTORY_MSG_443;Output black point compensation !HISTORY_MSG_444;WB - Temp bias -!HISTORY_MSG_445;Raw sub-image -!HISTORY_MSG_449;PS - ISO adaption -!HISTORY_MSG_452;PS - Show motion -!HISTORY_MSG_453;PS - Show mask only -!HISTORY_MSG_457;PS - Check red/blue -!HISTORY_MSG_462;PS - Check green -!HISTORY_MSG_464;PS - Blur motion mask -!HISTORY_MSG_465;PS - Blur radius -!HISTORY_MSG_468;PS - Fill holes -!HISTORY_MSG_469;PS - Median -!HISTORY_MSG_471;PS - Motion correction -!HISTORY_MSG_472;PS - Smooth transitions -!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_MSG_445;Raw Sub-Image +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_449;PS ISO adaption +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_452;PS Show motion +!HISTORY_MSG_453;PS Show mask only +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_457;PS Check red/blue +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_462;PS Check green +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_464;PS Blur motion mask +!HISTORY_MSG_465;PS Blur radius +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_468;PS Fill holes +!HISTORY_MSG_469;PS Median +!HISTORY_MSG_470;--unused-- +!HISTORY_MSG_471;PS Motion correction +!HISTORY_MSG_472;PS Smooth transitions +!HISTORY_MSG_474;PS Equalize +!HISTORY_MSG_475;PS Equalize channel +!HISTORY_MSG_476;CAL - VC - Temperature +!HISTORY_MSG_477;CAL - VC - Tint +!HISTORY_MSG_478;CAL - VC - Mean luminance +!HISTORY_MSG_479;CAL - VC - Adaptation +!HISTORY_MSG_480;CAL - VC - Auto adaptation +!HISTORY_MSG_481;CAL - SC - Temperature +!HISTORY_MSG_482;CAL - SC - Tint +!HISTORY_MSG_483;CAL - SC - Mean luminance +!HISTORY_MSG_484;CAL - SC - Auto mean luminance !HISTORY_MSG_485;Lens Correction !HISTORY_MSG_486;Lens Correction - Camera !HISTORY_MSG_487;Lens Correction - Lens @@ -1295,6 +1298,654 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !HISTORY_MSG_492;RGB Curves !HISTORY_MSG_493;L*a*b* Adjustments !HISTORY_MSG_494;Capture Sharpening +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_507;Local Spot center +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_516;Local - Color and light +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_527;Local - Color Inverse +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_542;Local - Vib avoid colorshift +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_591;Local - Avoid color shift +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_607;Local - Color Mask C +!HISTORY_MSG_608;Local - Color Mask L +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_611;Local - Color Mask H +!HISTORY_MSG_612;Local - Color Structure +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_615;Local - Blend color +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_618;Local - Use Color Mask +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_624;Local - Color correction grid +!HISTORY_MSG_625;Local - Color correction strength +!HISTORY_MSG_626;Local - Color correction Method +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_634;Local - radius color +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_650;Local - Color mask chroma +!HISTORY_MSG_651;Local - Color mask gamma +!HISTORY_MSG_652;Local - Color mask slope +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_656;Local - Color soft radius +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_760;Local - Color Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_770;Local - Color Mask contrast curve +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_779;Local - Color Mask local contrast curve +!HISTORY_MSG_780;Local - Color Mask shadows +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_783;Local - Color Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_799;Local - Color RGB ToneCurve +!HISTORY_MSG_800;Local - Color ToneCurve Method +!HISTORY_MSG_801;Local - Color ToneCurve Special +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_803;Local - Color Merge +!HISTORY_MSG_804;Local - Color mask Structure +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_806;Local - Color mask Structure as tool +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_808;Local - Color mask curve H(H) +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_821;Local - color grid background +!HISTORY_MSG_822;Local - color background merge +!HISTORY_MSG_823;Local - color background luminance +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_830;Local - Color gradient strength L +!HISTORY_MSG_831;Local - Color gradient angle +!HISTORY_MSG_832;Local - Color gradient strength C +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_834;Local - Color gradient strength H +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_894;Local - Color Preview dE +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_925;Local - Scope color tools +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_928;Local - Common color mask +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_996;Local - Color recovery threshold +!HISTORY_MSG_997;Local - Color threshold mask low +!HISTORY_MSG_998;Local - Color threshold mask high +!HISTORY_MSG_999;Local - Color decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1070;Local - CIECAM colorfullness +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1107;Local - CIECAM Color method +!HISTORY_MSG_1108;Local - CIECAM Color curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_BLSHAPE;Blur by level +!HISTORY_MSG_BLURCWAV;Blur chroma +!HISTORY_MSG_BLURWAV;Blur luminance +!HISTORY_MSG_BLUWAV;Attenuation response +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM !HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors !HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction !HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction @@ -1310,22 +1961,42 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation !HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask !HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity !HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth !HISTORY_MSG_DEHAZE_ENABLED;Haze Removal -!HISTORY_MSG_DEHAZE_LUMINANCE;Dehaze - Luminance only +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation !HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map !HISTORY_MSG_DEHAZE_STRENGTH;Dehaze - Strength !HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Dual demosaic - Auto threshold !HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Dual demosaic - Contrast threshold +!HISTORY_MSG_EDGEFFECT;Edge Attenuation response +!HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output +!HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space !HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negative +!HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input !HISTORY_MSG_FILMNEGATIVE_VALUES;Film negative values !HISTORY_MSG_HISTMATCHING;Auto-matched tone curve +!HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y !HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primaries !HISTORY_MSG_ICM_OUTPUT_TEMP;Output - ICC-v4 illuminant D !HISTORY_MSG_ICM_OUTPUT_TYPE;Output - Type -!HISTORY_MSG_ICM_WORKING_GAMMA;Working - Gamma -!HISTORY_MSG_ICM_WORKING_SLOPE;Working - Slope -!HISTORY_MSG_ICM_WORKING_TRC_METHOD;Working - TRC method +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_GAMMA;TRC - Gamma +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ICM_WORKING_SLOPE;TRC - Slope +!HISTORY_MSG_ICM_WORKING_TRC_METHOD;TRC method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant !HISTORY_MSG_LOCALCONTRAST_AMOUNT;Local Contrast - Amount !HISTORY_MSG_LOCALCONTRAST_DARKNESS;Local Contrast - Darkness !HISTORY_MSG_LOCALCONTRAST_ENABLED;Local Contrast @@ -1340,24 +2011,84 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iterations !HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius !HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average !HISTORY_MSG_PIXELSHIFT_DEMOSAIC;PS - Demosaic method for motion !HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;Line noise filter direction !HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode +!HISTORY_MSG_PROTAB;Protection !HISTORY_MSG_PRSHARPEN_CONTRAST;PRS - Contrast threshold +!HISTORY_MSG_RANGEAB;Range ab !HISTORY_MSG_RAWCACORR_AUTOIT;Raw CA Correction - Iterations !HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift !HISTORY_MSG_RAW_BORDER;Raw border !HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge !HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius !HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold !HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace +!HISTORY_MSG_SIGMACOL;Chroma Attenuation response +!HISTORY_MSG_SIGMADIR;Dir Attenuation response +!HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response +!HISTORY_MSG_SIGMATON;Toning Attenuation response !HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light !HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength +!HISTORY_MSG_SPOT;Spot removal +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. +!HISTORY_MSG_TEMPOUT;CAM02 automatic temperature +!HISTORY_MSG_THRESWAV;Balance threshold !HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor -!HISTORY_MSG_TRANS_Method;Geometry - Method +!HISTORY_MSG_TRANS_METHOD;Geometry - Method +!HISTORY_MSG_WAVBALCHROM;Equalizer chrominance +!HISTORY_MSG_WAVBALLUM;Equalizer luminance +!HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVCHROMCO;Chroma coarse +!HISTORY_MSG_WAVCHROMFI;Chroma fine +!HISTORY_MSG_WAVCLARI;Clarity +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVEDGS;Edge stopping +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVLOWTHR;Threshold low contrast +!HISTORY_MSG_WAVMERGEC;Merge C +!HISTORY_MSG_WAVMERGEL;Merge L +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVOFFSET;Offset +!HISTORY_MSG_WAVOLDSH;Old algorithm +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVRADIUS;Radius shadows-highlights +!HISTORY_MSG_WAVSCALE;Scale +!HISTORY_MSG_WAVSHOWMASK;Show wavelet mask +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSIGMA;Attenuation response +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSOFTRAD;Soft radius clarity +!HISTORY_MSG_WAVSOFTRADEND;Soft radius final +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!HISTORY_MSG_WAVUSHAMET;Clarity method !HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s !ICCPROFCREATOR_COPYRIGHT;Copyright: -!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0" +!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to 'RawTherapee, CC0'. !ICCPROFCREATOR_CUSTOM;Custom !ICCPROFCREATOR_DESCRIPTION;Description: !ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Append gamma and slope values to the description @@ -1369,11 +2100,12 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !ICCPROFCREATOR_ILL_50;D50 !ICCPROFCREATOR_ILL_55;D55 !ICCPROFCREATOR_ILL_60;D60 +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater !ICCPROFCREATOR_ILL_65;D65 !ICCPROFCREATOR_ILL_80;D80 !ICCPROFCREATOR_ILL_DEF;Default !ICCPROFCREATOR_ILL_INC;StdA 2856K -!ICCPROFCREATOR_ILL_TOOLTIP;You can only set the illuminant for ICC v4 profiles. +!ICCPROFCREATOR_ILL_TOOLTIP;You can set the illuminant for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIMARIES;Primaries: !ICCPROFCREATOR_PRIM_ACESP0;ACES AP0 !ICCPROFCREATOR_PRIM_ACESP1;ACES AP1 @@ -1383,6 +2115,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !ICCPROFCREATOR_PRIM_BLUX;Blue X !ICCPROFCREATOR_PRIM_BLUY;Blue Y !ICCPROFCREATOR_PRIM_BRUCE;BruceRGB +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 !ICCPROFCREATOR_PRIM_GREX;Green X !ICCPROFCREATOR_PRIM_GREY;Green Y !ICCPROFCREATOR_PRIM_PROPH;Prophoto @@ -1390,13 +2123,14 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !ICCPROFCREATOR_PRIM_REDX;Red X !ICCPROFCREATOR_PRIM_REDY;Red Y !ICCPROFCREATOR_PRIM_SRGB;sRGB -!ICCPROFCREATOR_PRIM_TOOLTIP;You can only set custom primaries for ICC v4 profiles. +!ICCPROFCREATOR_PRIM_TOOLTIP;You can set custom primaries for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIM_WIDEG;Widegamut !ICCPROFCREATOR_PROF_V2;ICC v2 !ICCPROFCREATOR_PROF_V4;ICC v4 !ICCPROFCREATOR_SAVEDIALOG_TITLE;Save ICC profile as... !ICCPROFCREATOR_SLOPE;Slope -!ICCPROFCREATOR_TRC_PRESET;Tone response curve: +!ICCPROFCREATOR_TRC_PRESET;Tone response curve +!INSPECTOR_WINDOW_TITLE;Inspector !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 @@ -1408,7 +2142,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !IPTCPANEL_CREATORJOBTITLEHINT;Enter the Job Title of the person listed in the Creator field. !IPTCPANEL_DATECREATEDHINT;Enter the Date the image was taken. !IPTCPANEL_DESCRIPTION;Description -!IPTCPANEL_DESCRIPTIONHINT;Enter a "caption" describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. +!IPTCPANEL_DESCRIPTIONHINT;Enter a 'caption' describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. !IPTCPANEL_DESCRIPTIONWRITER;Description writer !IPTCPANEL_DESCRIPTIONWRITERHINT;Enter the name of the person involved in writing, editing or correcting the description of the image. !IPTCPANEL_HEADLINEHINT;Enter a brief publishable synopsis or summary of the contents of the image. @@ -1432,12 +2166,14 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !MAIN_MSG_PATHDOESNTEXIST;The path\n\n%1\n\ndoes not exist. Please set a correct path in Preferences. !MAIN_MSG_SETPATHFIRST;You first have to set a target path in Preferences in order to use this function! !MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue. -!MAIN_MSG_WRITEFAILED;Failed to write\n"%1"\n\nMake sure that the folder exists and that you have write permission to it. +!MAIN_MSG_WRITEFAILED;Failed to write\n'%1'\n\nMake sure that the folder exists and that you have write permission to it. !MAIN_TAB_ADVANCED;Advanced !MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-a !MAIN_TAB_FAVORITES;Favorites !MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: Alt-u !MAIN_TAB_INSPECT; Inspect +!MAIN_TAB_LOCALLAB;Local +!MAIN_TAB_LOCALLAB_TOOLTIP;Shortcut: Alt-o !MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9 !MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%. !MONITOR_PROFILE_SYSTEM;System default @@ -1451,25 +2187,28 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !NAVIGATOR_R;R: !NAVIGATOR_S;S: !NAVIGATOR_V;V: -!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. -!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. -!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. +!OPTIONS_BUNDLED_MISSING;The bundled profile '%1' could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. +!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. +!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. !PARTIALPASTE_ADVANCEDGROUP;Advanced Settings !PARTIALPASTE_CHANNELMIXERBW;Black-and-white -!PARTIALPASTE_COLORAPP;CIECAM02 +!PARTIALPASTE_COLORAPP;Color Appearance & Lighting !PARTIALPASTE_COLORTONING;Color toning !PARTIALPASTE_DEHAZE;Haze removal !PARTIALPASTE_EQUALIZER;Wavelet levels -!PARTIALPASTE_FILMNEGATIVE;Film Negative +!PARTIALPASTE_FILMNEGATIVE;Film negative !PARTIALPASTE_FILMSIMULATION;Film simulation !PARTIALPASTE_FLATFIELDCLIPCONTROL;Flat-field clip control !PARTIALPASTE_GRADIENT;Graduated filter !PARTIALPASTE_LOCALCONTRAST;Local contrast +!PARTIALPASTE_LOCALLAB;Local Adjustments +!PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings !PARTIALPASTE_METADATA;Metadata mode !PARTIALPASTE_PCVIGNETTE;Vignette filter !PARTIALPASTE_PREPROCESS_DEADPIXFILT;Dead pixel filter !PARTIALPASTE_PREPROCESS_HOTPIXFILT;Hot pixel filter !PARTIALPASTE_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!PARTIALPASTE_PREPROCWB;Preprocess White Balance !PARTIALPASTE_PRSHARPENING;Post-resize sharpening !PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;CA avoid color shift !PARTIALPASTE_RAWCACORR_CAREDBLUE;CA red & blue @@ -1479,6 +2218,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !PARTIALPASTE_RAW_PIXELSHIFT;Pixel Shift !PARTIALPASTE_RETINEX;Retinex !PARTIALPASTE_SOFTLIGHT;Soft light +!PARTIALPASTE_SPOT;Spot removal !PARTIALPASTE_TM_FATTAL;Dynamic range compression !PREFERENCES_APPEARANCE;Appearance !PREFERENCES_APPEARANCE_COLORPICKERFONT;Color picker font @@ -1503,10 +2243,16 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !PREFERENCES_CHUNKSIZE_RAW_RCD;RCD demosaic !PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans demosaic !PREFERENCES_CHUNKSIZE_RGB;RGB processing +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts !PREFERENCES_CLUTSCACHE;HaldCLUT Cache !PREFERENCES_CLUTSCACHE_LABEL;Maximum number of cached CLUTs !PREFERENCES_CLUTSDIR;HaldCLUT directory !PREFERENCES_CMMBPC;Black point compensation +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic !PREFERENCES_CROP;Crop Editing !PREFERENCES_CROP_AUTO_FIT;Automatically zoom to fit the crop !PREFERENCES_CROP_GUIDES;Guides shown when not editing the crop @@ -1523,10 +2269,17 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID !PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EDITORCMDLINE;Custom command line +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Compact toolbars in File Browser !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_HISTOGRAM_TOOLTIP;If enabled, the working profile is used for rendering the main histogram and the Navigator panel, otherwise the gamma-corrected output profile is used. +!PREFERENCES_INSPECTORWINDOW;Open inspector in own window or fullscreen !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. @@ -1555,12 +2308,13 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !PREFERENCES_PRTINTENT;Rendering intent !PREFERENCES_PRTPROFILE;Color profile !PREFERENCES_REMEMBERZOOMPAN;Remember zoom % and pan offset -!PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in "Single Editor Tab Mode" and when "Demosaicing method used for the preview at <100% zoom" is set to "As in PP3". +!PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in 'Single Editor Tab Mode' and when 'Demosaicing method used for the preview at <100% zoom' is set to 'As in PP3'. !PREFERENCES_SAVE_TP_OPEN_NOW;Save tool collapsed/expanded state now !PREFERENCES_SERIALIZE_TIFF_READ;TIFF Read Settings !PREFERENCES_SERIALIZE_TIFF_READ_LABEL;Serialize reading of TIFF files !PREFERENCES_SERIALIZE_TIFF_READ_TOOLTIP;Enabling this option when working with folders containing uncompressed TIFF files can increase performance of thumbnail generation. !PREFERENCES_SHOWFILMSTRIPTOOLBAR;Show Filmstrip toolbar +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips !PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules !PREFERENCES_TAB_PERFORMANCE;Performance !PREFERENCES_THUMBNAIL_INSPECTOR_JPEG;Embedded JPEG preview @@ -1568,8 +2322,9 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !PREFERENCES_THUMBNAIL_INSPECTOR_RAW;Neutral raw rendering !PREFERENCES_THUMBNAIL_INSPECTOR_RAW_IF_NO_JPEG_FULLSIZE;Embedded JPEG if fullsize, neutral raw otherwise !PREFERENCES_USEBUNDLEDPROFILES;Use bundled profiles +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling !PROFILEPANEL_GLOBALPROFILES;Bundled profiles -!PROFILEPANEL_MODE_TIP;Processing profile fill mode.\n\nButton pressed: partial profiles will be converted to full profiles; the missing values will be replaced with hard-coded defaults.\n\nButton released: profiles will be applied as they are, altering only those values which they contain. +!PROFILEPANEL_MODE_TOOLTIP;Processing profile fill mode.\n\nButton pressed: partial profiles will be converted to full profiles; the missing values will be replaced with hard-coded defaults.\n\nButton released: profiles will be applied as they are, altering only those values which they contain. !PROFILEPANEL_MYPROFILES;My profiles !PROFILEPANEL_PDYNAMIC;Dynamic !PROFILEPANEL_PINTERNAL;Neutral @@ -1600,7 +2355,14 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !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. !SOFTPROOF_GAMUTCHECK_TOOLTIP;Highlight pixels with out-of-gamut colors with respect to:\n- the printer profile, if one is set and soft-proofing is enabled,\n- the output profile, if a printer profile is not set and soft-proofing is enabled,\n- the monitor profile, if soft-proofing is disabled. !SOFTPROOF_TOOLTIP;Soft-proofing simulates the appearance of the image:\n- when printed, if a printer profile is set in Preferences > Color Management,\n- when viewed on a display that uses the current output profile, if a printer profile is not set. +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry !TOOLBAR_TOOLTIP_COLORPICKER;Lockable Color Picker\n\nWhen the tool is active:\n- Add a picker: left-click.\n- Drag a picker: left-click and drag.\n- Delete a picker: right-click.\n- Delete all pickers: Ctrl+Shift+right-click.\n- Revert to hand tool: right-click outside any picker. +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. !TP_BWMIX_ALGO;Algorithm OYCPM !TP_BWMIX_ALGO_LI;Linear !TP_BWMIX_ALGO_SP;Special effects @@ -1635,7 +2397,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_BWMIX_MIXC;Channel Mixer !TP_BWMIX_NEUTRAL;Reset !TP_BWMIX_RGBLABEL;R: %1%% G: %2%% B: %3%% Total: %4%% -!TP_BWMIX_RGBLABEL_HINT;Final RGB factors that take care of all the mixer options.\n"Total" displays the sum of the RGB values:\n- always 100% in relative mode\n- higher (lighter) or lower (darker) than 100% in absolute mode. +!TP_BWMIX_RGBLABEL_HINT;Final RGB factors that take care of all the mixer options.\n'Total' displays the sum of the RGB values:\n- always 100% in relative mode\n- higher (lighter) or lower (darker) than 100% in absolute mode. !TP_BWMIX_RGB_TOOLTIP;Mix the RGB channels. Use presets for guidance.\nPay attention to negative values that may cause artifacts or erratic behavior. !TP_BWMIX_SETTING;Presets !TP_BWMIX_SETTING_TOOLTIP;Different presets (film, landscape, etc.) or manual Channel Mixer settings. @@ -1664,6 +2426,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !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_ABSOLUTELUMINANCE;Absolute luminance +!TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. !TP_COLORAPP_ALGO;Algorithm !TP_COLORAPP_ALGO_ALL;All !TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC) @@ -1673,51 +2436,76 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_COLORAPP_BADPIXSL;Hot/bad pixel filter !TP_COLORAPP_BADPIXSL_TOOLTIP;Suppression of hot/bad (brightly colored) pixels.\n0 = No effect\n1 = Median\n2 = Gaussian.\nAlternatively, adjust the image to avoid very dark shadows.\n\nThese artifacts are due to limitations of CIECAM02. !TP_COLORAPP_BRIGHT;Brightness (Q) -!TP_COLORAPP_BRIGHT_TOOLTIP;Brightness in CIECAM02 takes into account the white's luminosity and differs from L*a*b* and RGB brightness. +!TP_COLORAPP_BRIGHT_TOOLTIP;Brightness in CIECAM is the amount of perceived light emanating from a stimulus. It differs from L*a*b* and RGB brightness. !TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;When setting manually, values above 65 are recommended. +!TP_COLORAPP_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed !TP_COLORAPP_CHROMA;Chroma (C) !TP_COLORAPP_CHROMA_M;Colorfulness (M) -!TP_COLORAPP_CHROMA_M_TOOLTIP;Colorfulness in CIECAM02 differs from L*a*b* and RGB colorfulness. +!TP_COLORAPP_CHROMA_M_TOOLTIP;Colorfulness in CIECAM is the perceived amount of hue in relation to gray, an indicator that a stimulus appears to be more or less colored. !TP_COLORAPP_CHROMA_S;Saturation (S) -!TP_COLORAPP_CHROMA_S_TOOLTIP;Saturation in CIECAM02 differs from L*a*b* and RGB saturation. -!TP_COLORAPP_CHROMA_TOOLTIP;Chroma in CIECAM02 differs from L*a*b* and RGB chroma. -!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation +!TP_COLORAPP_CHROMA_S_TOOLTIP;Saturation in CIECAM corresponds to the color of a stimulus in relation to its own brightness. It differs from L*a*b* and RGB saturation. +!TP_COLORAPP_CHROMA_TOOLTIP;Chroma in CIECAM corresponds to the color of a stimulus relative to the clarity of a stimulus that appears white under identical conditions. It differs from L*a*b* and RGB chroma. +!TP_COLORAPP_CIECAT_DEGREE;Adaptation !TP_COLORAPP_CONTRAST;Contrast (J) !TP_COLORAPP_CONTRAST_Q;Contrast (Q) -!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_CONTRAST_Q_TOOLTIP;Contrast (Q) in CIECAM is based on brightness. It differs from L*a*b* and RGB contrast. +!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast (J) in CIECAM is based on lightness. It 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_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM.\nIf the 'Show CIECAM output histograms in CAL curves' checkbox is enabled, shows the histogram of J after CIECAM.\n\nJ is not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel. !TP_COLORAPP_CURVEEDITOR2;Tone curve 2 -!TP_COLORAPP_CURVEEDITOR2_TOOLTIP;Same usage as with the second exposure tone curve. +!TP_COLORAPP_CURVEEDITOR2_TOOLTIP;Same usage as with the first J(J) tone curve. !TP_COLORAPP_CURVEEDITOR3;Color curve -!TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Adjust either chroma, saturation or colorfulness.\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_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_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_CURVEEDITOR3_TOOLTIP;Adjust either chroma, saturation or colorfulness.\n\nShows the histogram of chromaticity (L*a*b*) before CIECAM.\nIf the 'Show CIECAM output histograms in CAL curves' checkbox is enabled, shows the histogram of C, S or M after CIECAM.\n\nC, S and M are not shown in the main histogram panel.\nFor final output refer to the main histogram panel. +!TP_COLORAPP_DATACIE;Show CIECAM output histograms in CAL curves +!TP_COLORAPP_DATACIE_TOOLTIP;Affects histograms shown in Color Appearance & Lightning curves. Does not affect RawTherapee's main histogram.\n\nEnabled: show approximate values for J and C, S or M after the CIECAM adjustments.\nDisabled: show L*a*b* values before CIECAM adjustments. +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_FREE;Free temp + tint + CAT02/16 +[output] +!TP_COLORAPP_GAMUT;Use gamut control in L*a*b* mode +!TP_COLORAPP_GEN;Settings +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. !TP_COLORAPP_HUE;Hue (h) -!TP_COLORAPP_HUE_TOOLTIP;Hue (h) - angle between 0° and 360°. -!TP_COLORAPP_LABEL;CIE Color Appearance Model 2002 +!TP_COLORAPP_HUE_TOOLTIP;Hue (h) is the degree to which a stimulus can be described as similar to a color described as red, green, blue and yellow. +!TP_COLORAPP_IL41;D41 +!TP_COLORAPP_IL50;D50 +!TP_COLORAPP_IL55;D55 +!TP_COLORAPP_IL60;D60 +!TP_COLORAPP_IL65;D65 +!TP_COLORAPP_IL75;D75 +!TP_COLORAPP_ILA;Incandescent StdA 2856K +!TP_COLORAPP_ILFREE;Free +!TP_COLORAPP_ILLUM;Illuminant +!TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. +!TP_COLORAPP_LABEL;Color Appearance & Lighting !TP_COLORAPP_LABEL_CAM02;Image Adjustments !TP_COLORAPP_LABEL_SCENE;Scene Conditions !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_LIGHT_TOOLTIP;Lightness in CIECAM is the clarity of a stimulus relative to the clarity of a stimulus that appears white under similar viewing conditions. It differs from L*a*b* and RGB lightness. !TP_COLORAPP_MEANLUMINANCE;Mean luminance (Yb%) -!TP_COLORAPP_MODEL;WP Model -!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\nWB [RT] + [output]: 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\nWB [RT+CAT02] + [output]: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\nFree temp+green + CAT02 + [output]: temp and green are selected by the user, the output device's white balance is set in Viewing Conditions. +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODEL;WP model +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. +!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\nWB [RT] + [output]: RT's white balance is used for the scene, CIECAM is set to D50, and the output device's white balance is set in Viewing Conditions.\n\nWB [RT+CAT02/16] + [output]: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\nFree temp + tint + CAT02/16 + [output]: temp and tint are selected by the user, the 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_NEUTRAL_TOOLTIP;Reset all sliders checkbox and curves to their default values. !TP_COLORAPP_RSTPRO;Red & skin-tones protection !TP_COLORAPP_RSTPRO_TOOLTIP;Red & skin-tones protection affects both sliders and curves. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. !TP_COLORAPP_SURROUND;Surround +!TP_COLORAPP_SURROUNDSRC;Surround !TP_COLORAPP_SURROUND_AVER;Average !TP_COLORAPP_SURROUND_DARK;Dark !TP_COLORAPP_SURROUND_DIM;Dim !TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet) -!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. +!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device. The darker the viewing conditions, the darker the image will become. Image brightness will not be changed when the viewing conditions are set to average. +!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. !TP_COLORAPP_TCMODE_BRIGHTNESS;Brightness !TP_COLORAPP_TCMODE_CHROMA;Chroma !TP_COLORAPP_TCMODE_COLORF;Colorfulness @@ -1726,19 +2514,23 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !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 set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504 -!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02 +!TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_TONECIE;Use CIECAM for tone mapping !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_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. !TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16 cd/m²). -!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output] +!TP_COLORAPP_WBCAM;WB [RT+CAT02/16] + [output] !TP_COLORAPP_WBRT;WB [RT] + [output] +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. !TP_COLORTONING_AB;o C/L !TP_COLORTONING_AUTOSAT;Automatic !TP_COLORTONING_BALANCE;Balance !TP_COLORTONING_BY;o C/L !TP_COLORTONING_CHROMAC;Opacity -!TP_COLORTONING_COLOR;Color -!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L) +!TP_COLORTONING_COLOR;Color: +!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L). !TP_COLORTONING_HIGHLIGHT;Highlights !TP_COLORTONING_HUE;Hue !TP_COLORTONING_LAB;L*a*b* blending @@ -1768,11 +2560,11 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_COLORTONING_LUMAMODE;Preserve luminance !TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved. !TP_COLORTONING_METHOD;Method -!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. +!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. !TP_COLORTONING_MIDTONES;Midtones !TP_COLORTONING_NEUTRAL;Reset sliders -!TP_COLORTONING_NEUTRAL_TIP;Reset all values (Shadows, Midtones, Highlights) to default. -!TP_COLORTONING_OPACITY;Opacity +!TP_COLORTONING_NEUTRAL_TOOLTIP;Reset all values (Shadows, Midtones, Highlights) to default. +!TP_COLORTONING_OPACITY;Opacity: !TP_COLORTONING_RGBCURVES;RGB - Curves !TP_COLORTONING_RGBSLIDERS;RGB - Sliders !TP_COLORTONING_SA;Saturation Protection @@ -1789,6 +2581,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_COLORTONING_TWOBY;Special a* and b* !TP_COLORTONING_TWOCOLOR_TOOLTIP;Standard chroma:\nLinear response, a* = b*.\n\nSpecial chroma:\nLinear response, a* = b*, but unbound - try under the diagonal.\n\nSpecial a* and b*:\nLinear response unbound with separate curves for a* and b*. Intended for special effects.\n\nSpecial chroma 2 colors:\nMore predictable. !TP_COLORTONING_TWOSTD;Standard chroma +!TP_CROP_GTCENTEREDSQUARE;Centered square !TP_CROP_GTHARMMEANS;Harmonic Means !TP_CROP_GTTRIANGLE1;Golden Triangles 1 !TP_CROP_GTTRIANGLE2;Golden Triangles 2 @@ -1797,7 +2590,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_CROP_SELECTCROP;Select !TP_DEHAZE_DEPTH;Depth !TP_DEHAZE_LABEL;Haze Removal -!TP_DEHAZE_LUMINANCE;Luminance only +!TP_DEHAZE_SATURATION;Saturation !TP_DEHAZE_SHOW_DEPTH_MAP;Show depth map !TP_DEHAZE_STRENGTH;Strength !TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Auto multi-zones @@ -1809,7 +2602,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_DIRPYRDENOISE_CHROMINANCE_MANUAL;Manual !TP_DIRPYRDENOISE_CHROMINANCE_METHOD;Method !TP_DIRPYRDENOISE_CHROMINANCE_METHODADVANCED_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. -!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the "Preview" method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. +!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the 'Preview' method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. !TP_DIRPYRDENOISE_CHROMINANCE_PMZ;Preview multi-zones !TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW;Preview !TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Displays the remaining noise levels of the part of the image visible in the preview after wavelet.\n\n>300 Very noisy\n100-300 Noisy\n50-100 A little noisy\n<50 Very low noise\n\nBeware, the values will differ between RGB and L*a*b* mode. The RGB values are less accurate because the RGB mode does not completely separate luminance and chrominance. @@ -1830,14 +2623,14 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_DIRPYRDENOISE_MAIN_MODE;Mode !TP_DIRPYRDENOISE_MAIN_MODE_AGGRESSIVE;Aggressive !TP_DIRPYRDENOISE_MAIN_MODE_CONSERVATIVE;Conservative -!TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;"Conservative" preserves low frequency chroma patterns, while "aggressive" obliterates them. +!TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;Conservative preserves low frequency chroma patterns, while aggressive obliterates them. !TP_DIRPYRDENOISE_MEDIAN_METHOD;Median method !TP_DIRPYRDENOISE_MEDIAN_METHOD_CHROMINANCE;Chroma only !TP_DIRPYRDENOISE_MEDIAN_METHOD_LAB;L*a*b* !TP_DIRPYRDENOISE_MEDIAN_METHOD_LABEL;Median Filter !TP_DIRPYRDENOISE_MEDIAN_METHOD_LUMINANCE;Luminance only !TP_DIRPYRDENOISE_MEDIAN_METHOD_RGB;RGB -!TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the "Luminance only" and "L*a*b*" methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the "RGB" mode, it will be performed at the very end of the noise reduction pipeline. +!TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the 'Luminance only' and 'L*a*b*' methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the 'RGB' mode, it will be performed at the very end of the noise reduction pipeline. !TP_DIRPYRDENOISE_MEDIAN_METHOD_WEIGHTED;Weighted L* (little) + a*b* (normal) !TP_DIRPYRDENOISE_MEDIAN_PASSES;Median iterations !TP_DIRPYRDENOISE_MEDIAN_PASSES_TOOLTIP;Applying three median filter iterations with a 3×3 window size often leads to better results than using one median filter iteration with a 7×7 window size. @@ -1857,7 +2650,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_DIRPYREQUALIZER_SKIN;Skin targetting/protection !TP_DIRPYREQUALIZER_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. !TP_DIRPYREQUALIZER_TOOLTIP;Attempts to reduce artifacts in the transitions between skin colors (hue, chroma, luma) and the rest of the image. -!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_DISTORTION_AUTO_TOOLTIP;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_EPD_GAMMA;Gamma !TP_EXPOSURE_CLAMPOOG;Clip out-of-gamut colors !TP_EXPOSURE_HISTMATCHING;Auto-Matched Tone Curve @@ -1867,11 +2660,21 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_EXPOS_BLACKPOINT_LABEL;Raw Black Points !TP_EXPOS_WHITEPOINT_LABEL;Raw White Points !TP_FILMNEGATIVE_BLUE;Blue ratio -!TP_FILMNEGATIVE_GREEN;Reference exponent (contrast) -!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. Set the white balance afterwards. +!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm +!TP_FILMNEGATIVE_COLORSPACE;Inversion color space: +!TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space +!TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. +!TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space +!TP_FILMNEGATIVE_GREEN;Reference exponent +!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green +!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. !TP_FILMNEGATIVE_LABEL;Film Negative +!TP_FILMNEGATIVE_OUT_LEVEL;Output level !TP_FILMNEGATIVE_PICK;Pick neutral spots !TP_FILMNEGATIVE_RED;Red ratio +!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. !TP_FILMSIMULATION_LABEL;Film Simulation !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_FILMSIMULATION_STRENGTH;Strength @@ -1892,6 +2695,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_GRADIENT_STRENGTH;Strength !TP_GRADIENT_STRENGTH_TOOLTIP;Filter strength in stops. !TP_HLREC_ENA_TOOLTIP;Could be activated by Auto Levels. +!TP_HLREC_HLBLUR;Blur !TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure !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 @@ -1901,26 +2705,73 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !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 available 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_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 !TP_ICM_PROFILEINTENT;Rendering Intent +!TP_ICM_REDFRAME;Custom Primaries !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_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut !TP_ICM_WORKING_TRC;Tone response curve: +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 !TP_ICM_WORKING_TRC_CUSTOM;Custom !TP_ICM_WORKING_TRC_GAMMA;Gamma +!TP_ICM_WORKING_TRC_LIN;Linear g=1 !TP_ICM_WORKING_TRC_NONE;None !TP_ICM_WORKING_TRC_SLOPE;Slope +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 !TP_ICM_WORKING_TRC_TOOLTIP;Only for built-in profiles. !TP_LABCURVE_CHROMA_TOOLTIP;To apply B&W toning, set Chromaticity to -100. !TP_LABCURVE_CURVEEDITOR_CL;CL -!TP_LABCURVE_CURVEEDITOR_CL_TOOLTIP;Chromaticity according to luminance C=f(L) +!TP_LABCURVE_CURVEEDITOR_CL_TOOLTIP;Chromaticity according to luminance C=f(L). !TP_LABCURVE_CURVEEDITOR_HH;HH -!TP_LABCURVE_CURVEEDITOR_HH_TOOLTIP;Hue according to hue H=f(H) +!TP_LABCURVE_CURVEEDITOR_HH_TOOLTIP;Hue according to hue H=f(H). !TP_LABCURVE_CURVEEDITOR_LH;LH -!TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminance according to hue L=f(H) -!TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminance according to luminance L=f(L) +!TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminance according to hue L=f(H). +!TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminance according to luminance L=f(L). !TP_LENSGEOM_LIN;Linear !TP_LENSGEOM_LOG;Logarithmic !TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected @@ -1937,6 +2788,788 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_LOCALCONTRAST_LABEL;Local Contrast !TP_LOCALCONTRAST_LIGHTNESS;Lightness level !TP_LOCALCONTRAST_RADIUS;Radius +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ACTIVSPOT;Enable Spot +!TP_LOCALLAB_ADJ;Equalizer Color +!TP_LOCALLAB_AMOUNT;Amount +!TP_LOCALLAB_ARTIF;Shape detection +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOID;Avoid color shift +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALAN;ab-L balance (ΔE) +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALANH;C-H balance (ΔE) +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLCO;Chrominance only +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLINV;Inverse +!TP_LOCALLAB_BLLC;Luminance & Chrominance +!TP_LOCALLAB_BLLO;Luminance only +!TP_LOCALLAB_BLMED;Median +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNOI_EXP;Blur & Noise +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUFR;Blur/Grain & Denoise +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain +!TP_LOCALLAB_BLURCOL;Radius +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURDE;Blur shape detection +!TP_LOCALLAB_BLURLC;Luminance only +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +!TP_LOCALLAB_BUTTON_ADD;Add +!TP_LOCALLAB_BUTTON_DEL;Delete +!TP_LOCALLAB_BUTTON_DUPL;Duplicate +!TP_LOCALLAB_BUTTON_REN;Rename +!TP_LOCALLAB_BUTTON_VIS;Show/Hide +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +!TP_LOCALLAB_CAMMODE;CAM model +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CBDL;Contrast by Detail Levels +!TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. +!TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. +!TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. +!TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels +!TP_LOCALLAB_CENTER_X;Center X +!TP_LOCALLAB_CENTER_Y;Center Y +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMA;Chrominance +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACBDL;Chroma +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASKCOL;Chroma +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_CHRRT;Chroma +!TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIEC;Use Ciecam environment parameters +!TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +!TP_LOCALLAB_CIECOLORFRA;Color +!TP_LOCALLAB_CIECONTFRA;Contrast +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE;Change tool position +!TP_LOCALLAB_CIEMODE_COM;Default +!TP_LOCALLAB_CIEMODE_DR;Dynamic Range +!TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIEMODE_WAV;Wavelet +!TP_LOCALLAB_CIETOOLEXP;Curves +!TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIRCRADIUS;Spot size +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COFR;Color & Light +!TP_LOCALLAB_COLORDE;ΔE preview color - intensity +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +!TP_LOCALLAB_COLORSCOPE;Scope (color tools) +!TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +!TP_LOCALLAB_COLOR_CIE;Color curve +!TP_LOCALLAB_COLOR_TOOLNAME;Color & Light +!TP_LOCALLAB_COL_NAME;Name +!TP_LOCALLAB_COL_VIS;Status +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRAST;Contrast +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CONTTHR;Contrast Threshold +!TP_LOCALLAB_CONTWFRA;Local contrast +!TP_LOCALLAB_CSTHRESHOLD;Wavelet levels +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve +!TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DEHAFRA;Dehaze +!TP_LOCALLAB_DEHAZ;Strength +!TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. +!TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_EXP;Denoise +!TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. +!TP_LOCALLAB_DEPTH;Depth +!TP_LOCALLAB_DETAIL;Local contrast +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILSH;Details +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_DUPLSPOTNAME;Copy +!TP_LOCALLAB_EDGFRA;Edge sharpness +!TP_LOCALLAB_EDGSHOW;Show all tools +!TP_LOCALLAB_ELI;Ellipse +!TP_LOCALLAB_ENABLE_AFTER_MASK;Use Tone Mapping +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EPSBL;Detail +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EV_NVIS;Hide +!TP_LOCALLAB_EV_NVIS_ALL;Hide all +!TP_LOCALLAB_EV_VIS;Show +!TP_LOCALLAB_EV_VIS_ALL;Show all +!TP_LOCALLAB_EXCLUF;Excluding +!TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +!TP_LOCALLAB_EXCLUTYPE;Spot method +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXECLU;Excluding spot +!TP_LOCALLAB_EXFULL;Full image +!TP_LOCALLAB_EXNORM;Normal spot +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA;Chroma compensation +!TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. +!TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust color, lightness, contrast and correct small defects such as red-eye, sensor dust etc. +!TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ +!TP_LOCALLAB_EXPCOMPINV;Exposure compensation +!TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPCURV;Curves +!TP_LOCALLAB_EXPGRAD;Graduated Filter +!TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_EXPTOOL;Exposure Tools +!TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure +!TP_LOCALLAB_FATAMOUNT;Amount +!TP_LOCALLAB_FATANCHOR;Anchor +!TP_LOCALLAB_FATDETAIL;Detail +!TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). +!TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform +!TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform +!TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAM;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMFRA;Tone response curve (TRC) +!TP_LOCALLAB_GAMM;Gamma +!TP_LOCALLAB_GAMMASKCOL;Gamma +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMSH;Gamma +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADANG;Gradient angle +!TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. +!TP_LOCALLAB_GRADFRA;Graduated Filter Mask +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance +!TP_LOCALLAB_GRADSTR;Gradient strength +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRADSTRLUM;Luma gradient strength +!TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +!TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +!TP_LOCALLAB_GRIDONE;Color Toning +!TP_LOCALLAB_GRIDTWO;Direct +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER;Guided filter radius +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. +!TP_LOCALLAB_INVERS;Inverse +!TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_ISOGR;Distribution (ISO) +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLIGHT;Brightness +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSAT;Saturation +!TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABBLURM;Blur Mask +!TP_LOCALLAB_LABEL;Local Adjustments +!TP_LOCALLAB_LABGRID;Color correction grid +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV;Wavelet levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTNESS;Lightness +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LIGHTRETI;Lightness +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_NAME;Add tool to current spot... +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRAST;Local Contrast & Wavelets +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOG;Log Encoding +!TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments +!TP_LOCALLAB_LOG2FRA;Viewing Conditions +!TP_LOCALLAB_LOGAUTO;Automatic +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +!TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. +!TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGEXP;All tools +!TP_LOCALLAB_LOGFRA;Scene Conditions +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode). +!TP_LOCALLAB_LOGLIGHTL;Lightness (J) +!TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration. +!TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART;Overall strength +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LOG_TOOLNAME;Log Encoding +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMADARKEST;Darkest +!TP_LOCALLAB_LUMASK;Background color/luma mask +!TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). +!TP_LOCALLAB_LUMAWHITESEST;Lightest +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASK;Curves +!TP_LOCALLAB_MASK2;Contrast curve +!TP_LOCALLAB_MASKCOM;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDDECAY;Decay strength +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. +!TP_LOCALLAB_MASKRECOTHRES;Recovery threshold +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERCOL;Color +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOR;Color Dodge +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHI;Color Burn +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MODE_EXPERT;Advanced +!TP_LOCALLAB_MODE_NORMAL;Standard +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MRONE;None +!TP_LOCALLAB_MRTHR;Original Image +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NEIGH;Radius +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLDET;Detail recovery +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NLLUM;Strength +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NOISEMETH;Denoise +!TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. +!TP_LOCALLAB_NONENOISE;None +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_OFFS;Offset +!TP_LOCALLAB_OFFSETWAV;Offset +!TP_LOCALLAB_OPACOL;Opacity +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PASTELS2;Vibrance +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_PREVHIDE;Hide additional settings +!TP_LOCALLAB_PREVIEW;Preview ΔE +!TP_LOCALLAB_PREVSHOW;Show additional settings +!TP_LOCALLAB_PROXI;ΔE decay +!TP_LOCALLAB_QUAAGRES;Aggressive +!TP_LOCALLAB_QUACONSER;Conservative +!TP_LOCALLAB_QUALCURV_METHOD;Curve type +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS;Radius +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RECT;Rectangle +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name +!TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot +!TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESID;Residual Image +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RESIDHI;Highlights +!TP_LOCALLAB_RESIDHITHR;Highlights threshold +!TP_LOCALLAB_RESIDSHA;Shadows +!TP_LOCALLAB_RESIDSHATHR;Shadows threshold +!TP_LOCALLAB_RETI;Dehaze & Retinex +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex +!TP_LOCALLAB_REWEI;Reweighting iterates +!TP_LOCALLAB_RGB;RGB Tone Curve +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_ROW_NVIS;Not visible +!TP_LOCALLAB_ROW_VIS;Visible +!TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. +!TP_LOCALLAB_SATUR;Saturation +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSI;Scope +!TP_LOCALLAB_SENSIEXCLU;Scope +!TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +!TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +!TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. +!TP_LOCALLAB_SETTINGS;Settings +!TP_LOCALLAB_SH1;Shadows Highlights +!TP_LOCALLAB_SH2;Equalizer +!TP_LOCALLAB_SHADEX;Shadows +!TP_LOCALLAB_SHADEXCOMP;Shadow compression +!TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHAMASKCOL;Shadows +!TP_LOCALLAB_SHAPETYPE;RT-spot shape +!TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +!TP_LOCALLAB_SHARAMOUNT;Amount +!TP_LOCALLAB_SHARBLUR;Blur radius +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHARITER;Iterations +!TP_LOCALLAB_SHARP;Sharpening +!TP_LOCALLAB_SHARP_TOOLNAME;Sharpening +!TP_LOCALLAB_SHARRADIUS;Radius +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASK;Show mask +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise +!TP_LOCALLAB_SHOWMASKTYP2;Denoise +!TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWREF;Preview ΔE +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMAWAV;Attenuation response +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTM;Soft Light +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SOURCE_ABS;Absolute luminance +!TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_SPOTNAME;New Spot +!TP_LOCALLAB_STD;Standard +!TP_LOCALLAB_STR;Strength +!TP_LOCALLAB_STRBL;Strength +!TP_LOCALLAB_STREN;Compression strength +!TP_LOCALLAB_STRENG;Strength +!TP_LOCALLAB_STRENGR;Strength +!TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). +!TP_LOCALLAB_STRENGTH;Noise +!TP_LOCALLAB_STRGRID;Strength +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_TARGET_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM;Tone Mapping +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSIT;Transition Gradient +!TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY +!TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. +!TP_LOCALLAB_TRANSITVALUE;Transition value +!TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) +!TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WARM;Warm/Cool & Color artifacts +!TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the color temperature of the selected area warmer or cooler.\nIt can also reduce color artifacts in some cases. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAV;Local contrast +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVDEN;Luminance denoise +!TP_LOCALLAB_WAVE;Wavelets +!TP_LOCALLAB_WAVEDG;Local contrast +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK;Local contrast +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. !TP_METADATA_EDIT;Apply modifications !TP_METADATA_MODE;Metadata copy mode !TP_METADATA_STRIP;Strip all metadata @@ -1950,6 +3583,27 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_PCVIGNETTE_STRENGTH;Strength !TP_PCVIGNETTE_STRENGTH_TOOLTIP;Filter strength in stops (reached in corners). !TP_PDSHARPENING_LABEL;Capture Sharpening +!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor +!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length +!TP_PERSPECTIVE_CAMERA_FRAME;Correction +!TP_PERSPECTIVE_CAMERA_PITCH;Vertical +!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_CAMERA_YAW;Horizontal +!TP_PERSPECTIVE_CONTROL_LINES;Control lines +!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +!TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. +!TP_PERSPECTIVE_METHOD;Method +!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based +!TP_PERSPECTIVE_METHOD_SIMPLE;Simple +!TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment +!TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +!TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +!TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +!TP_PERSPECTIVE_RECOVERY_FRAME;Recovery !TP_PFCURVE_CURVEEDITOR_CH;Hue !TP_PFCURVE_CURVEEDITOR_CH_TOOLTIP;Controls defringe strength by color.\nHigher = more,\nLower = less. !TP_PREPROCESS_DEADPIXFILT;Dead pixel filter @@ -1962,10 +3616,14 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_PREPROCESS_LINEDENOISE_DIRECTION_PDAF_LINES;Horizontal only on PDAF rows !TP_PREPROCESS_LINEDENOISE_DIRECTION_VERTICAL;Vertical !TP_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!TP_PREPROCWB_LABEL;Preprocess White Balance +!TP_PREPROCWB_MODE;Mode +!TP_PREPROCWB_MODE_AUTO;Auto +!TP_PREPROCWB_MODE_CAMERA;Camera !TP_PRSHARPENING_LABEL;Post-Resize Sharpening -!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the "Lanczos" resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. +!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the 'Lanczos' resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. !TP_RAWCACORR_AUTOIT;Iterations -!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if "Auto-correction" is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. +!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if 'Auto-correction' is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. !TP_RAWCACORR_AVOIDCOLORSHIFT;Avoid color shift !TP_RAWEXPOS_BLACK_0;Green 1 (lead) !TP_RAWEXPOS_BLACK_1;Red @@ -1981,9 +3639,11 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_RAW_4PASS;3-pass+fast !TP_RAW_AHD;AHD !TP_RAW_AMAZE;AMaZE +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear !TP_RAW_AMAZEVNG4;AMaZE+VNG4 !TP_RAW_BORDER;Border !TP_RAW_DCB;DCB +!TP_RAW_DCBBILINEAR;DCB+Bilinear !TP_RAW_DCBVNG4;DCB+VNG4 !TP_RAW_DMETHOD_PROGRESSBAR;%1 demosaicing... !TP_RAW_DMETHOD_PROGRESSBAR_REFINE;Demosaicing refinement... @@ -2006,6 +3666,8 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_RAW_MONO;Mono !TP_RAW_NONE;None (Shows sensor pattern) !TP_RAW_PIXELSHIFT;Pixel Shift +!TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTBLUR;Blur motion mask !TP_RAW_PIXELSHIFTDMETHOD;Demosaic method for motion !TP_RAW_PIXELSHIFTEPERISO;Sensitivity @@ -2016,7 +3678,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_RAW_PIXELSHIFTEQUALBRIGHT_TOOLTIP;Equalize the brightness of the frames to the brightness of the selected frame.\nIf there are overexposed areas in the frames select the brightest frame to avoid magenta color cast in overexposed areas or enable motion correction. !TP_RAW_PIXELSHIFTGREEN;Check green channel for motion !TP_RAW_PIXELSHIFTHOLEFILL;Fill holes in motion mask -!TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask +!TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask. !TP_RAW_PIXELSHIFTMEDIAN;Use median for moving parts !TP_RAW_PIXELSHIFTMEDIAN_TOOLTIP;Use median of all frames instead of selected frame for regions with motion.\nRemoves objects which are at different places in all frames.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTMM_AUTO;Automatic @@ -2031,16 +3693,21 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_RAW_PIXELSHIFTSIGMA;Blur radius !TP_RAW_PIXELSHIFTSIGMA_TOOLTIP;The default radius of 1.0 usually fits well for base ISO.\nIncrease the value for high ISO shots, 5.0 is a good starting point.\nWatch the motion mask while changing the value. !TP_RAW_PIXELSHIFTSMOOTH;Smooth transitions -!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether "Use LMMSE" is selected), or the median of all four frames if "Use median" is selected. +!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether 'Use LMMSE' is selected), or the median of all four frames if 'Use median' is selected. !TP_RAW_RCD;RCD +!TP_RAW_RCDBILINEAR;RCD+Bilinear !TP_RAW_RCDVNG4;RCD+VNG4 !TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix -!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas +!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas. !TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix !TP_RAW_VNG4;VNG4 !TP_RAW_XTRANS;X-Trans !TP_RAW_XTRANSFAST;Fast X-Trans !TP_RESIZE_ALLOW_UPSCALING;Allow Upscaling +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge !TP_RETINEX_CONTEDIT_HSL;HSL histogram !TP_RETINEX_CONTEDIT_LAB;L*a*b* histogram !TP_RETINEX_CONTEDIT_LH;Hue @@ -2048,7 +3715,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_RETINEX_CURVEEDITOR_CD;L=f(L) !TP_RETINEX_CURVEEDITOR_CD_TOOLTIP;Luminance according to luminance L=f(L)\nCorrect raw data to reduce halos and artifacts. !TP_RETINEX_CURVEEDITOR_LH;Strength=f(H) -!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the "Highlight" retinex method. +!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the 'Highlight' retinex method. !TP_RETINEX_CURVEEDITOR_MAP;L=f(L) !TP_RETINEX_CURVEEDITOR_MAP_TOOLTIP;This curve can be applied alone or with a Gaussian mask or wavelet mask.\nBeware of artifacts! !TP_RETINEX_EQUAL;Equalizer @@ -2056,7 +3723,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_RETINEX_GAIN;Gain !TP_RETINEX_GAINOFFS;Gain and Offset (brightness) !TP_RETINEX_GAINTRANSMISSION;Gain transmission -!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplify or reduce the transmission map to achieve the desired luminance.\nThe x-axis is the transmission.\nThe y-axis is the gain. +!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Increase or reduce the transmission map to achieve the desired luminance. The x-axis is the transmission. The y-axis is the gain. !TP_RETINEX_GAMMA;Gamma !TP_RETINEX_GAMMA_FREE;Free !TP_RETINEX_GAMMA_HIGH;High @@ -2071,7 +3738,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_RETINEX_HIGH;High !TP_RETINEX_HIGHLIG;Highlight !TP_RETINEX_HIGHLIGHT;Highlight threshold -!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust "Neighboring pixels" and to increase the "White-point correction" in the Raw tab -> Raw White Points tool. +!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust 'Neighboring pixels' and to increase the 'White-point correction' in the Raw tab -> Raw White Points tool. !TP_RETINEX_HSLSPACE_LIN;HSL-Linear !TP_RETINEX_HSLSPACE_LOG;HSL-Logarithmic !TP_RETINEX_ITER;Iterations (Tone-mapping) @@ -2090,11 +3757,11 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_RETINEX_MEDIAN;Transmission median filter !TP_RETINEX_METHOD;Method !TP_RETINEX_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Equalize action.\nHigh = Reinforce high light.\nHighlights = Remove magenta in highlights. -!TP_RETINEX_MLABEL;Restored haze-free Min=%1 Max=%2 -!TP_RETINEX_MLABEL_TOOLTIP;Should be near min=0 max=32768\nRestored image with no mixture. +!TP_RETINEX_MLABEL;Restored data Min=%1 Max=%2 +!TP_RETINEX_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. !TP_RETINEX_NEIGHBOR;Radius !TP_RETINEX_NEUTRAL;Reset -!TP_RETINEX_NEUTRAL_TIP;Reset all sliders and curves to their default values. +!TP_RETINEX_NEUTRAL_TOOLTIP;Reset all sliders and curves to their default values. !TP_RETINEX_OFFSET;Offset (brightness) !TP_RETINEX_SCALES;Gaussian gradient !TP_RETINEX_SCALES_TOOLTIP;If slider at 0, all iterations are identical.\nIf > 0 Scale and radius are reduced when iterations increase, and conversely. @@ -2104,9 +3771,9 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_RETINEX_STRENGTH;Strength !TP_RETINEX_THRESHOLD;Threshold !TP_RETINEX_THRESHOLD_TOOLTIP;Limits in/out.\nIn = image source,\nOut = image gauss. -!TP_RETINEX_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sigma=%4 -!TP_RETINEX_TLABEL2;TM Tm=%1 TM=%2 -!TP_RETINEX_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nMean and Sigma.\nTm=Min TM=Max of transmission map. +!TP_RETINEX_TLABEL;TM Datas Min=%1 Max=%2 Mean=%3 Sigma=%4 +!TP_RETINEX_TLABEL2;TM Effective Tm=%1 TM=%2 +!TP_RETINEX_TLABEL_TOOLTIP;ransmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. !TP_RETINEX_TRANF;Transmission !TP_RETINEX_TRANSMISSION;Transmission map !TP_RETINEX_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positives values (max).\nOrdinate: amplification or reduction. @@ -2115,14 +3782,14 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_RETINEX_VARIANCE_TOOLTIP;Low variance increase local contrast and saturation, but can lead to artifacts. !TP_RETINEX_VIEW;Process !TP_RETINEX_VIEW_MASK;Mask -!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. +!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. !TP_RETINEX_VIEW_NONE;Standard !TP_RETINEX_VIEW_TRAN;Transmission - Auto !TP_RETINEX_VIEW_TRAN2;Transmission - Fixed !TP_RETINEX_VIEW_UNSHARP;Unsharp mask !TP_RGBCURVES_LUMAMODE;Luminosity mode !TP_RGBCURVES_LUMAMODE_TOOLTIP;Luminosity mode allows to vary the contribution of R, G and B channels to the luminosity of the image, without altering image color. -!TP_SAVEDIALOG_OK_TIP;Shortcut: Ctrl-Enter +!TP_SAVEDIALOG_OK_TOOLTIP;Shortcut: Ctrl-Enter !TP_SHARPENING_BLUR;Blur radius !TP_SHARPENING_CONTRAST;Contrast threshold !TP_SHARPENING_ITERCHECK;Auto limit iterations @@ -2130,6 +3797,11 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_SHARPENMICRO_CONTRAST;Contrast threshold !TP_SOFTLIGHT_LABEL;Soft Light !TP_SOFTLIGHT_STRENGTH;Strength +!TP_SPOT_COUNTLABEL;%1 point(s) +!TP_SPOT_DEFAULT_SIZE;Default spot size +!TP_SPOT_ENTRYCHANGED;Point changed +!TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its center then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. +!TP_SPOT_LABEL;Spot Removal !TP_TM_FATTAL_AMOUNT;Amount !TP_TM_FATTAL_ANCHOR;Anchor !TP_TM_FATTAL_LABEL;Dynamic Range Compression @@ -2143,22 +3815,28 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_WAVELET_7;Level 7 !TP_WAVELET_8;Level 8 !TP_WAVELET_9;Level 9 -!TP_WAVELET_APPLYTO;Apply To +!TP_WAVELET_APPLYTO;Apply to !TP_WAVELET_AVOID;Avoid color shift !TP_WAVELET_B0;Black -!TP_WAVELET_B1;Grey +!TP_WAVELET_B1;Gray !TP_WAVELET_B2;Residual !TP_WAVELET_BACKGROUND;Background !TP_WAVELET_BACUR;Curve !TP_WAVELET_BALANCE;Contrast balance d/v-h !TP_WAVELET_BALANCE_TOOLTIP;Alters the balance between the wavelet directions: vertical-horizontal and diagonal.\nIf contrast, chroma or residual tone mapping are activated, the effect due to balance is amplified. !TP_WAVELET_BALCHRO;Chroma balance +!TP_WAVELET_BALCHROM;Equalizer Color !TP_WAVELET_BALCHRO_TOOLTIP;If enabled, the 'Contrast balance' curve or slider also modifies chroma balance. +!TP_WAVELET_BALLUM;Denoise equalizer White-Black !TP_WAVELET_BANONE;None !TP_WAVELET_BASLI;Slider !TP_WAVELET_BATYPE;Contrast balance method -!TP_WAVELET_CBENAB;Toning and Color Balance -!TP_WAVELET_CB_TOOLTIP;For strong values product color-toning by combining it or not with levels decomposition 'toning'\nFor low values you can change the white balance of the background (sky, ...) without changing that of the front plane, generally more contrasted +!TP_WAVELET_BL;Blur levels +!TP_WAVELET_BLCURVE;Blur by levels +!TP_WAVELET_BLURFRAME;Blur +!TP_WAVELET_BLUWAV;Attenuation response +!TP_WAVELET_CBENAB;Toning and Color balance +!TP_WAVELET_CB_TOOLTIP;With high values you can create special effects, similar to those achieved with the Chroma Module, but focused on the residual image\nWith moderate values you can manually correct the white balance. !TP_WAVELET_CCURVE;Local contrast !TP_WAVELET_CH1;Whole chroma range !TP_WAVELET_CH2;Saturated/pastel @@ -2166,29 +3844,42 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_WAVELET_CHCU;Curve !TP_WAVELET_CHR;Chroma-contrast link strength !TP_WAVELET_CHRO;Saturated/pastel threshold +!TP_WAVELET_CHROFRAME;Denoise chrominance +!TP_WAVELET_CHROMAFRAME;Chroma +!TP_WAVELET_CHROMCO;Chrominance Coarse +!TP_WAVELET_CHROMFI;Chrominance Fine !TP_WAVELET_CHRO_TOOLTIP;Sets the wavelet level which will be the threshold between saturated and pastel colors.\n1-x: saturated\nx-9: pastel\n\nIf the value exceeds the amount of wavelet levels you are using then it will be ignored. -!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of "contrast levels" and "chroma-contrast link strength" +!TP_WAVELET_CHRWAV;Blur chroma +!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of 'contrast levels' and 'chroma-contrast link strength'. !TP_WAVELET_CHSL;Sliders !TP_WAVELET_CHTYPE;Chrominance method -!TP_WAVELET_COLORT;Opacity Red-Green +!TP_WAVELET_CLA;Clarity +!TP_WAVELET_CLARI;Sharp-mask and Clarity +!TP_WAVELET_COLORT;Opacity red-green !TP_WAVELET_COMPCONT;Contrast +!TP_WAVELET_COMPEXPERT;Advanced !TP_WAVELET_COMPGAMMA;Compression gamma !TP_WAVELET_COMPGAMMA_TOOLTIP;Adjusting the gamma of the residual image allows you to equilibrate the data and histogram. +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. +!TP_WAVELET_COMPNORMAL;Standard !TP_WAVELET_COMPTM;Tone mapping !TP_WAVELET_CONTEDIT;'After' contrast curve +!TP_WAVELET_CONTFRAME;Contrast - Compression !TP_WAVELET_CONTR;Gamut !TP_WAVELET_CONTRA;Contrast !TP_WAVELET_CONTRAST_MINUS;Contrast - !TP_WAVELET_CONTRAST_PLUS;Contrast + -!TP_WAVELET_CONTRA_TOOLTIP;Changes contrast of the residual image. +!TP_WAVELET_CONTRA_TOOLTIP;Changes the residual image contrast. !TP_WAVELET_CTYPE;Chrominance control +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. !TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;Modifies local contrast as a function of the original local contrast (abscissa).\nLow abscissa values represent small local contrast (real values about 10..20).\n50% abscissa represents average local contrast (real value about 100..300).\n66% abscissa represents standard deviation of local contrast (real value about 300..800).\n100% abscissa represents maximum local contrast (real value about 3000..8000). !TP_WAVELET_CURVEEDITOR_CH;Contrast levels=f(Hue) !TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Modifies each level's contrast as a function of hue.\nTake care not to overwrite changes made with the Gamut sub-tool's hue controls.\nThe curve will only have an effect when wavelet contrast level sliders are non-zero. !TP_WAVELET_CURVEEDITOR_CL;L -!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast luminance curve at the end of the wavelet treatment. +!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast-luminance curve at the end of the wavelet processing. !TP_WAVELET_CURVEEDITOR_HH;HH -!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image's hue as a function of hue. +!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image hue as a function of hue. !TP_WAVELET_DALL;All directions !TP_WAVELET_DAUB;Edge performance !TP_WAVELET_DAUB2;D2 - low @@ -2196,62 +3887,101 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_WAVELET_DAUB6;D6 - standard plus !TP_WAVELET_DAUB10;D10 - medium !TP_WAVELET_DAUB14;D14 - high -!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the firsts levels. However the quality is not strictly related to this coefficient and can vary with images and uses. +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the first levels. However the quality is not strictly related to this coefficient and can vary depending on image and use. +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENOISEHUE;Denoise hue equalizer +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_DIRFRAME;Directional contrast !TP_WAVELET_DONE;Vertical !TP_WAVELET_DTHR;Diagonal !TP_WAVELET_DTWO;Horizontal !TP_WAVELET_EDCU;Curve +!TP_WAVELET_EDEFFECT;Attenuation response +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. !TP_WAVELET_EDGCONT;Local contrast -!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+stdev and maxima. -!TP_WAVELET_EDGE;Edge Sharpness +!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+std. dev. and maxima. +!TP_WAVELET_EDGE;Edge sharpness !TP_WAVELET_EDGEAMPLI;Base amplification !TP_WAVELET_EDGEDETECT;Gradient sensitivity !TP_WAVELET_EDGEDETECTTHR;Threshold low (noise) -!TP_WAVELET_EDGEDETECTTHR2;Threshold high (detection) -!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This adjuster lets you target edge detection for example to avoid applying edge sharpness to fine details, such as noise in the sky. +!TP_WAVELET_EDGEDETECTTHR2;Edge enhancement +!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This slider sets a threshold below which finer details won't be considered as an edge. !TP_WAVELET_EDGEDETECT_TOOLTIP;Moving the slider to the right increases edge sensitivity. This affects local contrast, edge settings and noise. !TP_WAVELET_EDGESENSI;Edge sensitivity !TP_WAVELET_EDGREINF_TOOLTIP;Reinforce or reduce the action of the first level, do the opposite to the second level, and leave the rest unchanged. !TP_WAVELET_EDGTHRESH;Detail !TP_WAVELET_EDGTHRESH_TOOLTIP;Change the repartition between the first levels and the others. The higher the threshold the more the action is centered on the first levels. Be careful with negative values, they increase the action of high levels and can introduce artifacts. !TP_WAVELET_EDRAD;Radius -!TP_WAVELET_EDRAD_TOOLTIP;This radius adjustment is very different from those in other sharpening tools. Its value is compared to each level through a complex function. In this sense, a value of zero still has an effect. -!TP_WAVELET_EDSL;Threshold Sliders +!TP_WAVELET_EDRAD_TOOLTIP;This adjustment controls the local enhancement. A value of zero still has an effect. +!TP_WAVELET_EDSL;Threshold sliders !TP_WAVELET_EDTYPE;Local contrast method !TP_WAVELET_EDVAL;Strength !TP_WAVELET_FINAL;Final Touchup +!TP_WAVELET_FINCFRAME;Final local contrast !TP_WAVELET_FINEST;Finest -!TP_WAVELET_HIGHLIGHT;Highlight luminance range +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) +!TP_WAVELET_HIGHLIGHT;Finer levels luminance range !TP_WAVELET_HS1;Whole luminance range -!TP_WAVELET_HS2;Shadows/Highlights +!TP_WAVELET_HS2;Selective luminance range !TP_WAVELET_HUESKIN;Skin hue !TP_WAVELET_HUESKIN_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. -!TP_WAVELET_HUESKY;Sky hue +!TP_WAVELET_HUESKY;Hue range !TP_WAVELET_HUESKY_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. !TP_WAVELET_ITER;Delta balance levels !TP_WAVELET_ITER_TOOLTIP;Left: increase low levels and reduce high levels,\nRight: reduce low levels and increase high levels. -!TP_WAVELET_LABEL;Wavelet Levels +!TP_WAVELET_LABEL;Wavelet levels +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 !TP_WAVELET_LARGEST;Coarsest !TP_WAVELET_LEVCH;Chroma -!TP_WAVELET_LEVDIR_ALL;All levels in all directions -!TP_WAVELET_LEVDIR_INF;Below or equal the level +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVDIR_ALL;All levels, in all directions +!TP_WAVELET_LEVDIR_INF;Finer detail levels, including selected level !TP_WAVELET_LEVDIR_ONE;One level -!TP_WAVELET_LEVDIR_SUP;Above the level +!TP_WAVELET_LEVDIR_SUP;Coarser detail levels, excluding selected level +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 !TP_WAVELET_LEVELS;Wavelet levels -!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of detail levels the image is to be decomposed into. More levels require more RAM and require a longer processing time. +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of wavelet decomposition levels for the image.\nMore levels require more RAM and require a longer processing time. !TP_WAVELET_LEVF;Contrast +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold !TP_WAVELET_LEVLABEL;Preview maximum possible levels = %1 !TP_WAVELET_LEVONE;Level 2 !TP_WAVELET_LEVTHRE;Level 4 !TP_WAVELET_LEVTWO;Level 3 !TP_WAVELET_LEVZERO;Level 1 -!TP_WAVELET_LINKEDG;Link with Edge Sharpness' Strength +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_LINKEDG;Link to Edge Sharpness Strength !TP_WAVELET_LIPST;Enhanced algoritm -!TP_WAVELET_LOWLIGHT;Shadow luminance range +!TP_WAVELET_LOWLIGHT;Coarser levels luminance range +!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. !TP_WAVELET_MEDGREINF;First level !TP_WAVELET_MEDI;Reduce artifacts in blue sky !TP_WAVELET_MEDILEV;Edge detection !TP_WAVELET_MEDILEV_TOOLTIP;When you enable Edge Detection, it is recommanded:\n- to disabled low contrast levels to avoid artifacts,\n- to use high values of gradient sensitivity.\n\nYou can modulate the strength with 'refine' from Denoise and Refine. +!TP_WAVELET_MERGEC;Merge chroma +!TP_WAVELET_MERGEL;Merge luma +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise !TP_WAVELET_NEUTRAL;Neutral !TP_WAVELET_NOIS;Denoise !TP_WAVELET_NOISE;Denoise and Refine @@ -2260,48 +3990,81 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_WAVELET_NPNONE;None !TP_WAVELET_NPTYPE;Neighboring pixels !TP_WAVELET_NPTYPE_TOOLTIP;This algorithm uses the proximity of a pixel and eight of its neighbors. If less difference, edges are reinforced. -!TP_WAVELET_OPACITY;Opacity Blue-Yellow +!TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. +!TP_WAVELET_OLDSH;Algorithm using negatives values +!TP_WAVELET_OPACITY;Opacity blue-yellow !TP_WAVELET_OPACITYW;Contrast balance d/v-h curve -!TP_WAVELET_OPACITYWL;Final local contrast +!TP_WAVELET_OPACITYWL;Local contrast !TP_WAVELET_OPACITYWL_TOOLTIP;Modify the final local contrast at the end of the wavelet treatment.\n\nThe left side represents the smallest local contrast, progressing to the largest local contrast on the right. !TP_WAVELET_PASTEL;Pastel chroma !TP_WAVELET_PROC;Process +!TP_WAVELET_PROTAB;Protection +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_RADIUS;Radius shadows - highlight +!TP_WAVELET_RANGEAB;Range a and b % !TP_WAVELET_RE1;Reinforced !TP_WAVELET_RE2;Unchanged !TP_WAVELET_RE3;Reduced -!TP_WAVELET_RESCHRO;Chroma +!TP_WAVELET_RESBLUR;Blur luminance +!TP_WAVELET_RESBLURC;Blur chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. +!TP_WAVELET_RESCHRO;Strength !TP_WAVELET_RESCON;Shadows !TP_WAVELET_RESCONH;Highlights !TP_WAVELET_RESID;Residual Image !TP_WAVELET_SAT;Saturated chroma !TP_WAVELET_SETTINGS;Wavelet Settings +!TP_WAVELET_SHA;Sharp mask +!TP_WAVELET_SHFRAME;Shadows/Highlights +!TP_WAVELET_SHOWMASK;Show wavelet 'mask' +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_SIGMA;Attenuation response +!TP_WAVELET_SIGMAFIN;Attenuation response +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. !TP_WAVELET_SKIN;Skin targetting/protection !TP_WAVELET_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. -!TP_WAVELET_SKY;Sky targetting/protection -!TP_WAVELET_SKY_TOOLTIP;At -100 sky-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 sky-tones are protected while all other tones are affected. -!TP_WAVELET_STREN;Strength +!TP_WAVELET_SKY;Hue targetting/protection +!TP_WAVELET_SKY_TOOLTIP;Allows you to target or protect a range of hues.\nAt -100 selected hues are targetted.\nAt 0 all hues are treated equally.\nAt +100 selected hues are protected while all other hues are targetted. +!TP_WAVELET_SOFTRAD;Soft radius +!TP_WAVELET_STREN;Refine +!TP_WAVELET_STREND;Strength !TP_WAVELET_STRENGTH;Strength !TP_WAVELET_SUPE;Extra !TP_WAVELET_THR;Shadows threshold -!TP_WAVELET_THRESHOLD;Highlight levels -!TP_WAVELET_THRESHOLD2;Shadow levels -!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels between 9 and 9 minus the value will be affected by the shadow luminance range. Other levels will be fully treated. The highest level possible is limited by the highlight level value (9 minus highlight level value). -!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels beyond the chosen value will be affected by the highlight luminance range. Other levels will be fully treated. The chosen value here limits the highest possible value of the shadow levels. +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_THRESHOLD;Finer levels +!TP_WAVELET_THRESHOLD2;Coarser levels +!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels from the chosen value to the selected number of 'wavelet levels' will be affected by the Shadow luminance range. +!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels below and including the chosen value will be affected by the Highlight luminance range. !TP_WAVELET_THRH;Highlights threshold -!TP_WAVELET_TILESBIG;Big tiles +!TP_WAVELET_TILESBIG;Tiles !TP_WAVELET_TILESFULL;Full image !TP_WAVELET_TILESIZE;Tiling method -!TP_WAVELET_TILESLIT;Little tiles !TP_WAVELET_TILES_TOOLTIP;Processing the full image leads to better quality and is the recommended option, while using tiles is a fall-back solution for users with little RAM. Refer to RawPedia for memory requirements. +!TP_WAVELET_TMEDGS;Edge stopping +!TP_WAVELET_TMSCALE;Scale !TP_WAVELET_TMSTRENGTH;Compression strength -!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out. +!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. !TP_WAVELET_TMTYPE;Compression method !TP_WAVELET_TON;Toning +!TP_WAVELET_TONFRAME;Excluded colors +!TP_WAVELET_USH;None +!TP_WAVELET_USHARP;Clarity method +!TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. +!TP_WAVELET_WAVLOWTHR;Low contrast threshold +!TP_WAVELET_WAVOFFSET;Offset +!TP_WBALANCE_AUTOITCGREEN;Temperature correlation +!TP_WBALANCE_AUTOOLD;RGB grey +!TP_WBALANCE_AUTO_HEADER;Automatic !TP_WBALANCE_EQBLUERED;Blue/Red equalizer -!TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behavior of "white balance" by modulating the blue/red balance.\nThis can be useful when shooting conditions:\na) are far from the standard illuminant (e.g. underwater),\nb) are far from conditions where calibrations were performed,\nc) where the matrices or ICC profiles are unsuitable. +!TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behavior of 'white balance' by modulating the blue/red balance.\nThis can be useful when shooting conditions:\na) are far from the standard illuminant (e.g. underwater),\nb) are far from conditions where calibrations were performed,\nc) where the matrices or ICC profiles are unsuitable. !TP_WBALANCE_PICKER;Pick +!TP_WBALANCE_STUDLABEL;Correlation factor: %1 +!TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. !TP_WBALANCE_TEMPBIAS;AWB temperature bias -!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias". +!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the 'auto white balance'\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by 'computedTemp + computedTemp * bias'. !TP_WBALANCE_WATER1;UnderWater 1 !TP_WBALANCE_WATER2;UnderWater 2 !TP_WBALANCE_WATER_HEADER;UnderWater diff --git a/rtdata/languages/Chinese (Simplified) b/rtdata/languages/Chinese (Simplified) index 9e2990aa1..e4e89fed2 100644 --- a/rtdata/languages/Chinese (Simplified) +++ b/rtdata/languages/Chinese (Simplified) @@ -5,6 +5,8 @@ #04 2014-10-24 Jie Luo #05 2017-09-18 Chongnuo Ji #06 2020-08-11 十一元人民币 +#07 2021-09-24 十一元人民币 +#08 2022-07-26 十一元人民币 ABOUT_TAB_BUILD;版本 ABOUT_TAB_CREDITS;致谢名单 @@ -22,7 +24,7 @@ CURVEEDITOR_CURVE;曲线 CURVEEDITOR_CURVES;曲线 CURVEEDITOR_CUSTOM;自定义 CURVEEDITOR_DARKS;暗 -CURVEEDITOR_EDITPOINT_HINT;启用对于节点进/出值的编辑\n\n右击节点以选中\n右击空白处以取消选中节点 +CURVEEDITOR_EDITPOINT_HINT;启用对于节点进/出值的编辑\n\n右击选中节点\n右击空白处取消选中节点 CURVEEDITOR_HIGHLIGHTS;高光 CURVEEDITOR_LIGHTS;光 CURVEEDITOR_LINEAR;线性 @@ -54,8 +56,8 @@ DYNPROFILEEDITOR_NEW;新建 DYNPROFILEEDITOR_NEW_RULE;新建动态配置规则 DYNPROFILEEDITOR_PROFILE;处理配置规则 EDITWINDOW_TITLE;图片修改 -EDIT_OBJECT_TOOLTIP;在预览窗口中展示一个允许你调整本工具的可视窗口。 -EDIT_PIPETTE_TOOLTIP;要向曲线添加调整点,点击此按钮,按住Ctrl键并用鼠标左键点击图像预览中你想调整的地方。\n要调整点的位置,按住Ctrl键并用鼠标左键点击图像预览中的对应位置,然后松开Ctrl(除非你希望精调)同时按住鼠标左键,将鼠标向上/下移动以上下调整曲线中的点。 +EDIT_OBJECT_TOOLTIP;在预览窗口中显示一个允许你调整本工具的可视窗口 +EDIT_PIPETTE_TOOLTIP;若希望向曲线中添加一个调整点,请点击此按钮,按住Ctrl键并用鼠标左键点击图像预览中你想调整的地方。\n若要调整点的位置,请按住Ctrl键并用鼠标左键点击图像预览中的对应位置,然后松开Ctrl(除非你希望精调)同时按住鼠标左键,将鼠标向上/下移动以上下调整曲线中的点 EXIFFILTER_APERTURE;光圈 EXIFFILTER_CAMERA;相机 EXIFFILTER_EXPOSURECOMPENSATION;曝光补偿值 (EV) @@ -100,14 +102,14 @@ EXPORT_BYPASS_SHARPENEDGE;跳过边缘锐化 EXPORT_BYPASS_SHARPENING;跳过锐化 EXPORT_BYPASS_SHARPENMICRO;跳过微反差调节 EXPORT_FASTEXPORTOPTIONS;快速导出选项 -EXPORT_INSTRUCTIONS;快速导出选项提供跳过占用资源和时间的处理步骤的选项,并使用快速导出设定来进行队列处理。\n此方法推荐在优先追求速度,生成低分辨率图片时使用,或是调整尺寸的输出大小适合你想输出的图片,你又不想修改这些照片的后期处理设定时使用。 +EXPORT_INSTRUCTIONS;快速导出选项提供跳过占用资源和时间的处理步骤的选项,并使用快速导出设定来进行队列处理。\n此方法推荐在优先追求速度,生成低分辨率图片时使用;或是调整尺寸的图片大小适合你想得到的图片,并且又不想修改这些照片的后期处理参数时使用。 EXPORT_MAXHEIGHT;最大高度: EXPORT_MAXWIDTH;最大宽度: EXPORT_PIPELINE;输出流水线 -EXPORT_PUTTOQUEUEFAST; 放入快速导出队列 +EXPORT_PUTTOQUEUEFAST;放入快速导出队列 EXPORT_RAW_DMETHOD;去马赛克算法 EXPORT_USE_FAST_PIPELINE;专门(对缩放大小的图片应用全部处理) -EXPORT_USE_FAST_PIPELINE_TIP;使用专门的处理流水线来对图片进行处理,以牺牲质量来换取速度。对图片的缩放会尽早进行,而非在正常流水线中那样在最后进行。这能够大幅提升速度,但是用户可能会在输出的图片中看到杂点和较低的总体质量。 +EXPORT_USE_FAST_PIPELINE_TOOLTIP;使用专门的处理流水线来对图片进行处理,通过牺牲质量来换取速度。图片的缩小操作会提前,而非在正常流水线中那样在最后进行。这能够大幅提升速度,但是输出的图片中可能会杂点较多,画质较低。 EXPORT_USE_NORMAL_PIPELINE;标准(跳过某些步骤,并在最后缩放图片) EXTPROGTARGET_1;raw EXTPROGTARGET_2;队列已处理 @@ -116,7 +118,7 @@ FILEBROWSER_APPLYPROFILE_PARTIAL;部分应用配置 FILEBROWSER_AUTODARKFRAME;自动暗场 FILEBROWSER_AUTOFLATFIELD;自动平场 FILEBROWSER_BROWSEPATHBUTTONHINT;点击以打开路径,刷新文件夹并搜索“查找”框中的关键词 -FILEBROWSER_BROWSEPATHHINT;输入你想前往的路径。\n\n快捷键:\nCtrl-o 让文本框获得焦点\nEnter / Ctrl-Enter 前往输入的目录\nEsc 清除改动\nShift-Esc 让文本框失去焦点\n\n路径快捷键:\n~ - 用户的home/文档路径\n! - 用户的图片路径 +FILEBROWSER_BROWSEPATHHINT;输入你希望前往的路径。\n\n快捷键:\nCtrl-o 让文本框获得焦点\nEnter / Ctrl-Enter 前往输入的目录\nEsc 清除改动\nShift-Esc 让文本框失去焦点\n\n路径快捷键:\n~ - 用户的home/文档路径\n! - 用户的图片路径 FILEBROWSER_CACHE;缓存 FILEBROWSER_CACHECLEARFROMFULL;清除全部,包括缓存文件 FILEBROWSER_CACHECLEARFROMPARTIAL;清除全部,不包括缓存文件 @@ -149,6 +151,7 @@ FILEBROWSER_POPUPCOLORLABEL4;标签:蓝 FILEBROWSER_POPUPCOLORLABEL5;标签:紫 FILEBROWSER_POPUPCOPYTO;复制至... FILEBROWSER_POPUPFILEOPERATIONS;文件操作 +FILEBROWSER_POPUPINSPECT;检视 FILEBROWSER_POPUPMOVEEND;移动到队列尾部 FILEBROWSER_POPUPMOVEHEAD;移动到队列头部 FILEBROWSER_POPUPMOVETO;移动至... @@ -224,8 +227,10 @@ GENERAL_BEFORE;处理前 GENERAL_CANCEL;取消 GENERAL_CLOSE;关闭 GENERAL_CURRENT;当前 +GENERAL_DELETE_ALL;删除全部 GENERAL_DISABLE;禁用 GENERAL_DISABLED;禁用 +GENERAL_EDIT;编辑 GENERAL_ENABLE;启用 GENERAL_ENABLED;开启 GENERAL_FILE;文件 @@ -239,40 +244,45 @@ GENERAL_OPEN;打开 GENERAL_PORTRAIT;纵向 GENERAL_RESET;重置 GENERAL_SAVE;保存 +GENERAL_SAVE_AS;保存为... GENERAL_SLIDER;滑条 -GENERAL_UNCHANGED;(不改变) +GENERAL_UNCHANGED;(无改变) GENERAL_WARNING;警告 -GIMP_PLUGIN_INFO;欢迎使用RawTherapee的GIMP插件!\n当你完成编辑后,关闭RawTherapee主窗口,图片就会被自动导入到GIMP中 +GIMP_PLUGIN_INFO;欢迎使用RawTherapee的GIMP插件!\n完成编辑后,只要关闭RawTherapee主窗口,图片就会被自动导入到GIMP当中 HISTOGRAM_TOOLTIP_B;显示/隐藏 蓝色直方图 HISTOGRAM_TOOLTIP_BAR;显示/隐藏RGB指示条 HISTOGRAM_TOOLTIP_CHRO;显示/隐藏色度直方图 -HISTOGRAM_TOOLTIP_G;显示/隐藏 绿色直方图 -HISTOGRAM_TOOLTIP_L;显示/隐藏 CIELAB 亮度直方图 +HISTOGRAM_TOOLTIP_CROSSHAIR;显示/隐藏指示光标 +HISTOGRAM_TOOLTIP_G;显示/隐藏绿色直方图 +HISTOGRAM_TOOLTIP_L;显示/隐藏CIELAB亮度直方图 HISTOGRAM_TOOLTIP_MODE;将直方图显示模式切换为线性/对数线性/双对数 -HISTOGRAM_TOOLTIP_R;显示/隐藏 红色直方图 -HISTOGRAM_TOOLTIP_RAW;显示/隐藏Raw直方图 +HISTOGRAM_TOOLTIP_R;显示/隐藏红色直方图 +HISTOGRAM_TOOLTIP_SHOW_OPTIONS;显示/隐藏示波器选项 +HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;调整示波器亮度 +HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;直方图 +HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw直方图 +HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB示波器 +HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;色相-色度矢量示波器 +HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;色相-饱和度矢量示波器 +HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;波形图 HISTORY_CHANGED;已更改 HISTORY_CUSTOMCURVE;自定义曲线 HISTORY_FROMCLIPBOARD;从剪贴板 HISTORY_LABEL;历史 HISTORY_MSG_1;图片加载完成 -HISTORY_MSG_2;配置加载完成 HISTORY_MSG_3;配置改变 HISTORY_MSG_4;历史浏览 -HISTORY_MSG_5;曝光-光亮度 +HISTORY_MSG_5;曝光-亮度 HISTORY_MSG_6;曝光-对比度 -HISTORY_MSG_7;曝光-暗部 +HISTORY_MSG_7;曝光-黑点 HISTORY_MSG_8;曝光-曝光补偿 HISTORY_MSG_9;曝光-高光压缩 HISTORY_MSG_10;曝光-阴影压缩 HISTORY_MSG_11;曝光-色调曲线1 -HISTORY_MSG_12;曝光-自动曝光 +HISTORY_MSG_12;曝光-自动色阶 HISTORY_MSG_13;曝光-溢出 HISTORY_MSG_14;L*a*b*-明度 HISTORY_MSG_15;L*a*b*-对比度 -HISTORY_MSG_16;L*a*b*-黑 -HISTORY_MSG_17;亮度高光压缩 -HISTORY_MSG_18;亮度阴影压缩 HISTORY_MSG_19;L*a*b*-L*曲线 HISTORY_MSG_20;锐化 HISTORY_MSG_21;USM锐化-半径 @@ -294,22 +304,17 @@ HISTORY_MSG_36;镜头矫正-色差 HISTORY_MSG_37;曝光-自动曝光 HISTORY_MSG_38;白平衡-方法 HISTORY_MSG_39;白平衡-色温 -HISTORY_MSG_40;白平衡-色相 +HISTORY_MSG_40;白平衡-色调 HISTORY_MSG_41;曝光-色调曲线1模式 HISTORY_MSG_42;曝光-色调曲线2 HISTORY_MSG_43;曝光-色调曲线2模式 -HISTORY_MSG_44;亮度降噪-半径 -HISTORY_MSG_45;亮度降噪-边缘容差 -HISTORY_MSG_46;色度降噪 -HISTORY_MSG_47;色度降噪-半径 HISTORY_MSG_48;色度降噪-边缘容差 HISTORY_MSG_49;色度降噪-边缘敏感度 HISTORY_MSG_50;阴影/高光工具 -HISTORY_MSG_51;阴影/高光-高光增强 -HISTORY_MSG_52;阴影/高光-阴影增强 -HISTORY_MSG_53;阴影/高光-高光色调宽度 -HISTORY_MSG_54;阴影/高光-阴影色调宽度 -HISTORY_MSG_55;阴影/高光-局部对比度 +HISTORY_MSG_51;阴影/高光-高光 +HISTORY_MSG_52;阴影/高光-阴影 +HISTORY_MSG_53;阴影/高光-高光色调范围 +HISTORY_MSG_54;阴影/高光-阴影色调范围 HISTORY_MSG_56;阴影/高光-半径 HISTORY_MSG_57;粗略旋转 HISTORY_MSG_58;水平翻转 @@ -321,23 +326,20 @@ HISTORY_MSG_63;选择快照 HISTORY_MSG_64;裁剪 HISTORY_MSG_65;色差矫正 HISTORY_MSG_66;曝光-高光还原 -HISTORY_MSG_67;曝光-高光还原数量 HISTORY_MSG_68;曝光-高光还原方法 HISTORY_MSG_69;工作色彩空间 HISTORY_MSG_70;输出色彩空间 HISTORY_MSG_71;输入色彩空间 -HISTORY_MSG_72;暗角矫正 +HISTORY_MSG_72;暗角矫正-数量 HISTORY_MSG_73;通道混合器 HISTORY_MSG_74;调整大小-比例 HISTORY_MSG_75;调整大小-方法 HISTORY_MSG_76;Exif元数据 HISTORY_MSG_77;IPTC元数据 -HISTORY_MSG_78;调整大小数据 HISTORY_MSG_79;调整大小-宽度 HISTORY_MSG_80;调整大小-高度 HISTORY_MSG_81;调整大小 HISTORY_MSG_82;档案修改 -HISTORY_MSG_83;阴影/高光-锐度蒙板 HISTORY_MSG_84;视角矫正 HISTORY_MSG_85;镜头矫正-LCP档案 HISTORY_MSG_86;RGB曲线-色度模式 @@ -355,9 +357,9 @@ HISTORY_MSG_97;L*a*b*-b* 曲线 HISTORY_MSG_98;去马赛克方法 HISTORY_MSG_99;热像素过滤器 HISTORY_MSG_100;曝光-饱和度 -HISTORY_MSG_101;HSV-色度(Hue) -HISTORY_MSG_102;HSV-饱和度(Saturation) -HISTORY_MSG_103;HSV-数值 +HISTORY_MSG_101;HSV-色相 +HISTORY_MSG_102;HSV-饱和度 +HISTORY_MSG_103;HSV-亮度 HISTORY_MSG_104;HSV均衡器 HISTORY_MSG_105;去除色边 HISTORY_MSG_106;去除色边-半径 @@ -377,14 +379,12 @@ HISTORY_MSG_120;绿平衡 HISTORY_MSG_121;Raw色差矫正-自动 HISTORY_MSG_122;自动暗场 HISTORY_MSG_123;暗场文件 -HISTORY_MSG_124;线性曝光修正 +HISTORY_MSG_124;白点矫正 HISTORY_MSG_126;平场文件 -HISTORY_MSG_127;平场自动选择 -HISTORY_MSG_128;平场模糊半径 -HISTORY_MSG_129;平场模糊类型 -HISTORY_MSG_130;自动扭曲纠正 -HISTORY_MSG_131;降噪-亮度 -HISTORY_MSG_132;降噪-色度 +HISTORY_MSG_127;平场-自动选择 +HISTORY_MSG_128;平场-模糊半径 +HISTORY_MSG_129;平场-模糊类型 +HISTORY_MSG_130;自动畸变矫正 HISTORY_MSG_142;边缘锐化-迭代 HISTORY_MSG_143;边缘锐化-数量 HISTORY_MSG_144;微反差-数量 @@ -393,10 +393,18 @@ HISTORY_MSG_146;边缘锐化 HISTORY_MSG_147;边缘锐化-仅亮度 HISTORY_MSG_148;微反差 HISTORY_MSG_149;微反差-3×3阵列 +HISTORY_MSG_150;去马赛克后降噪/去杂点 +HISTORY_MSG_151;鲜明度 +HISTORY_MSG_152;鲜明-欠饱和色 +HISTORY_MSG_153;鲜明-饱和色 +HISTORY_MSG_154;鲜明-肤色保护 HISTORY_MSG_155;Vib-避免色彩偏移 -HISTORY_MSG_158;力度 -HISTORY_MSG_159;边缘停止 -HISTORY_MSG_160;拉伸 +HISTORY_MSG_156;鲜明-饱和/欠饱和挂钩 +HISTORY_MSG_157;鲜明-饱/欠阈值 +HISTORY_MSG_158;色调映射-力度 +HISTORY_MSG_159;色调映射-边缘 +HISTORY_MSG_160;色调映射-规模度 +HISTORY_MSG_161;色调映射-再加权迭代 HISTORY_MSG_162;色调映射 HISTORY_MSG_163;RGB曲线-红 HISTORY_MSG_164;RGB曲线-绿 @@ -405,48 +413,115 @@ HISTORY_MSG_166;曝光-重置 HISTORY_MSG_167;去马赛克方法 HISTORY_MSG_168;L*a*b*-CC曲线 HISTORY_MSG_169;L*a*b*-CH曲线 -HISTORY_MSG_170;Vibrance-HH曲线 +HISTORY_MSG_170;鲜明度-HH曲线 HISTORY_MSG_171;L*a*b*-LC曲线 HISTORY_MSG_172;L*a*b*-限制LC HISTORY_MSG_173;降噪-细节恢复 -HISTORY_MSG_174;CIECAM02 -HISTORY_MSG_180;CAM02-亮度 (J) -HISTORY_MSG_181;CAM02-色度 (C) -HISTORY_MSG_183;CAM02-对比度 (J) -HISTORY_MSG_186;CAM02-算法 -HISTORY_MSG_187;CAM02-红色/肤色保护 -HISTORY_MSG_188;CAM02-亮度 (Q) -HISTORY_MSG_189;CAM02-对比度 (Q) -HISTORY_MSG_190;CAM02-饱和度 (S) -HISTORY_MSG_191;CAM02-色彩丰富度 (M) -HISTORY_MSG_192;CAM02-色度 (h) -HISTORY_MSG_193;CAM02-色调曲线1 -HISTORY_MSG_194;CAM02-色调曲线2 -HISTORY_MSG_195;CAM02-色调曲线1 -HISTORY_MSG_196;CAM02-色调曲线2 -HISTORY_MSG_200;CAM02-色调映射 +HISTORY_MSG_174;CIECAM02/16 +HISTORY_MSG_175;CAM02/16-CAT02/16色适应 +HISTORY_MSG_176;CAM02/16-观察条件 +HISTORY_MSG_177;CAM02/16-场景亮度 +HISTORY_MSG_178;CAM02/16-观察亮度 +HISTORY_MSG_179;CAM02/16-白点模型 +HISTORY_MSG_180;CAM02/16-明度 (J) +HISTORY_MSG_181;CAM02/16-彩度 (C) +HISTORY_MSG_182;CAM02/16-自动CAT02/16 +HISTORY_MSG_183;CAM02/16-对比度 (J) +HISTORY_MSG_184;CAM02/16-场景条件 +HISTORY_MSG_185;CAM02/16-色域控制 +HISTORY_MSG_186;CAM02/16-算法 +HISTORY_MSG_187;CAM02/16-红色/肤色保护 +HISTORY_MSG_188;CAM02/16-视明度 (Q) +HISTORY_MSG_189;CAM02/16-对比度 (Q) +HISTORY_MSG_190;CAM02/16-饱和度 (S) +HISTORY_MSG_191;CAM02/16-视彩度 (M) +HISTORY_MSG_192;CAM02/16-色相 (h) +HISTORY_MSG_193;CAM02/16-色调曲线1 +HISTORY_MSG_194;CAM02/16-色调曲线2 +HISTORY_MSG_195;CAM02/16-色调曲线1 +HISTORY_MSG_196;CAM02/16-色调曲线2 +HISTORY_MSG_197;CAM02/16-色彩曲线 +HISTORY_MSG_198;CAM02/16-色彩曲线 +HISTORY_MSG_199;CAM02/16-输出直方图 +HISTORY_MSG_200;CAM02/16-色调映射 HISTORY_MSG_201;降噪-色度-红&绿 HISTORY_MSG_202;降噪-色度-蓝&黄 HISTORY_MSG_203;降噪-色彩空间 HISTORY_MSG_204;LMMSE优化步长 -HISTORY_MSG_205;CAM02-热像素/坏点过滤器 -HISTORY_MSG_207;去除色边-色度曲线 +HISTORY_MSG_205;CAM02/16-热像素/坏点过滤器 +HISTORY_MSG_206;CAT02/16-自动场景亮度 +HISTORY_MSG_207;去除色边-色相曲线 +HISTORY_MSG_208;白平衡-蓝红均衡器 HISTORY_MSG_210;渐变-角度 HISTORY_MSG_211;渐变滤镜 HISTORY_MSG_212;暗角-力度 HISTORY_MSG_213;暗角滤镜 -HISTORY_MSG_239;GF-力度 +HISTORY_MSG_214;黑白 +HISTORY_MSG_215;黑白-通道混合-红 +HISTORY_MSG_216;黑白-通道混合-绿 +HISTORY_MSG_217;黑白-通道混合-蓝 +HISTORY_MSG_218;黑白-伽马-红 +HISTORY_MSG_219;黑白-伽马-绿 +HISTORY_MSG_220;黑白-伽马-蓝 +HISTORY_MSG_221;黑白-色彩过滤 +HISTORY_MSG_222;黑白-预设 +HISTORY_MSG_223;黑白-通道混合-橙 +HISTORY_MSG_224;黑白-通道混合-黄 +HISTORY_MSG_225;黑白-通道混合-青 +HISTORY_MSG_226;黑白-通道混合-品红 +HISTORY_MSG_227;黑白-通道混合-紫 +HISTORY_MSG_228;黑白-亮度均衡器 +HISTORY_MSG_229;黑白-亮度均衡器 +HISTORY_MSG_230;黑白-方法 +HISTORY_MSG_231;黑白-‘黑白前’曲线 +HISTORY_MSG_232;黑白-‘黑白前’曲线类型 +HISTORY_MSG_233;黑白-‘黑白后’曲线 +HISTORY_MSG_234;黑白-‘黑白前’曲线类型 +HISTORY_MSG_235;黑白-通道混合-自动 +HISTORY_MSG_237;黑白-通道混合 +HISTORY_MSG_238;渐变-羽化 +HISTORY_MSG_239;渐变-力度 +HISTORY_MSG_240;渐变-中心 +HISTORY_MSG_241;暗角-羽化 +HISTORY_MSG_242;暗角-圆度 +HISTORY_MSG_243;暗角矫正-半径 HISTORY_MSG_244;暗角矫正-力度 HISTORY_MSG_245;暗角矫正-中心 HISTORY_MSG_246;L*a*b*-CL曲线 HISTORY_MSG_247;L*a*b*-LH曲线 HISTORY_MSG_248;L*a*b*-HH曲线 HISTORY_MSG_249;CbDL-阈值 +HISTORY_MSG_251;黑白-算法 HISTORY_MSG_252;CbDL-肤色保护 -HISTORY_MSG_253;CbDL-减少杂色 -HISTORY_MSG_254;CbDL-皮肤色相 +HISTORY_MSG_253;CbDL-减轻杂点 +HISTORY_MSG_254;CbDL-肤色 HISTORY_MSG_255;降噪-中值滤波器 HISTORY_MSG_256;降噪-中值滤波器-方法 +HISTORY_MSG_257;色调分离 +HISTORY_MSG_258;色调分离-色彩曲线 +HISTORY_MSG_259;色调分离-不透明度曲线 +HISTORY_MSG_260;色调分离-a*[b*]不透明度 +HISTORY_MSG_261;色调分离-方法 +HISTORY_MSG_262;色调分离-b*不透明度 +HISTORY_MSG_263;色调分离-阴影-红 +HISTORY_MSG_264;色调分离-阴影-绿 +HISTORY_MSG_265;色调分离-阴影-蓝 +HISTORY_MSG_266;色调分离-中间调-红 +HISTORY_MSG_267;色调分离-中间调-绿 +HISTORY_MSG_268;色调分离-中间调-蓝 +HISTORY_MSG_269;色调分离-高光-红 +HISTORY_MSG_270;色调分离-高光-绿 +HISTORY_MSG_271;色调分离-高光-蓝 +HISTORY_MSG_272;色调分离-平衡 +HISTORY_MSG_273;色调分离-阴/中/高色彩平衡 +HISTORY_MSG_276;色调分离-不透明度 +HISTORY_MSG_278;色调分离-保持亮度 +HISTORY_MSG_279;色调分离-阴影 +HISTORY_MSG_280;色调分离-高光 +HISTORY_MSG_281;色调分离-饱和度力度 +HISTORY_MSG_282;色调分离-饱和度阈值 +HISTORY_MSG_283;色调分离-力度 +HISTORY_MSG_284;色调分离-自动饱和度保护 HISTORY_MSG_285;降噪-中值滤波-方法 HISTORY_MSG_286;降噪-中值滤波-类型 HISTORY_MSG_287;降噪-中值滤波-迭代 @@ -462,21 +537,67 @@ HISTORY_MSG_299;降噪-色度曲线 HISTORY_MSG_301;降噪-亮度控制 HISTORY_MSG_302;降噪-色度方法 HISTORY_MSG_303;降噪-色度方法 +HISTORY_MSG_304;小波-反差等级 HISTORY_MSG_305;小波层级 -HISTORY_MSG_306;W-处理 -HISTORY_MSG_307;W-处理 -HISTORY_MSG_308;W-处理方向 +HISTORY_MSG_306;小波-处理 +HISTORY_MSG_307;小波-处理 +HISTORY_MSG_308;小波-处理方向 HISTORY_MSG_309;小波-边缘锐度-细节 -HISTORY_MSG_310;W-残差图-肤色保护 +HISTORY_MSG_310;小波-残差图-肤色保护 HISTORY_MSG_311;小波-小波层级 -HISTORY_MSG_312;W-残差图-阴影阈值 +HISTORY_MSG_312;小波-残差图-阴影阈值 +HISTORY_MSG_313;小波-色度-饱和/欠饱和 +HISTORY_MSG_314;小波-色域-减少杂点 +HISTORY_MSG_315;小波-残差图-反差 +HISTORY_MSG_316;小波-色域-肤色针对 +HISTORY_MSG_317;小波-色域-肤色色相 +HISTORY_MSG_318;小波-反差-精细等级 +HISTORY_MSG_319;小波-反差-精细范围 +HISTORY_MSG_320;小波-反差-粗糙范围 +HISTORY_MSG_321;小波-反差-粗糙等级 +HISTORY_MSG_322;小波-色域-避免偏色 +HISTORY_MSG_323;小波-边缘-局部反差 +HISTORY_MSG_324;小波-色度-欠饱和 +HISTORY_MSG_325;小波-色度-饱和 +HISTORY_MSG_326;小波-色度-方法 +HISTORY_MSG_327;小波-反差-应用到 +HISTORY_MSG_328;小波-色度-力度挂钩 +HISTORY_MSG_329;小波-调色-红绿不透明度 +HISTORY_MSG_330;小波-调色-蓝黄不透明度 +HISTORY_MSG_331;小波-反差等级-额外 +HISTORY_MSG_332;小波-切片方法 +HISTORY_MSG_333;小波-残差图-阴影 +HISTORY_MSG_334;小波-残差图-色度 +HISTORY_MSG_335;小波-残差图-高光 +HISTORY_MSG_336;小波-残差图-高光阈值 +HISTORY_MSG_337;小波-残差图-天空色相 HISTORY_MSG_338;小波-边缘锐度-半径 HISTORY_MSG_339;小波-边缘锐度-力度 HISTORY_MSG_340;小波-力度 +HISTORY_MSG_341;小波-边缘表现 +HISTORY_MSG_342;小波-边缘-第一级 +HISTORY_MSG_343;小波-色度等级 +HISTORY_MSG_345;小波-边缘-局部反差 +HISTORY_MSG_346;小波-边缘-局部反差方法 HISTORY_MSG_347;小波-去噪-第1级 HISTORY_MSG_348;小波-去噪-第2级 HISTORY_MSG_349;小波-去噪-第3级 -HISTORY_MSG_357;W-去噪-边缘锐度挂钩 +HISTORY_MSG_350;小波-边缘-边缘检测 +HISTORY_MSG_351;小波-残差图-HH曲线 +HISTORY_MSG_353;小波-边缘-渐变敏感度 +HISTORY_MSG_354;小波-边缘-增强 +HISTORY_MSG_355;小波-边缘-阈值低 +HISTORY_MSG_356;小波-边缘-阈值高 +HISTORY_MSG_357;小波-去噪-边缘锐度挂钩 +HISTORY_MSG_359;热像素/坏点阈值 +HISTORY_MSG_360;色调映射-伽马 +HISTORY_MSG_361;小波-最终-色度平衡 +HISTORY_MSG_362;小波-残差图-压缩方法 +HISTORY_MSG_363;小波-残差图-压缩力度 +HISTORY_MSG_364;小波-最终-反差平衡 +HISTORY_MSG_368;小波-最终-反差平衡 +HISTORY_MSG_369;小波-最终-平衡方法 +HISTORY_MSG_370;小波-最终-局部反差曲线 HISTORY_MSG_371;调整大小后加锐(PRS) HISTORY_MSG_372;PRS USM-半径 HISTORY_MSG_373;PRS USM-数量 @@ -491,7 +612,12 @@ HISTORY_MSG_381;PRS RLD-半径 HISTORY_MSG_382;PRS RLD-数量 HISTORY_MSG_383;PRS RLD-衰减 HISTORY_MSG_384;PRS RLD-迭代 +HISTORY_MSG_385;小波-残差图-色彩平衡 +HISTORY_MSG_403;小波-边缘-敏感度 +HISTORY_MSG_404;小波-边缘-放大基数 HISTORY_MSG_405;小波-去噪-第4级 +HISTORY_MSG_406;小波-边缘-边缘像素 +HISTORY_MSG_440;CbDL-方法 HISTORY_MSG_445;Raw子图像 HISTORY_MSG_449;像素偏移-ISO适应 HISTORY_MSG_452;像素偏移-显示动体 @@ -504,9 +630,17 @@ HISTORY_MSG_468;像素偏移-填洞 HISTORY_MSG_469;像素偏移-中值 HISTORY_MSG_471;像素偏移-动体补正 HISTORY_MSG_472;像素偏移-顺滑过渡 -HISTORY_MSG_473;像素偏移-使用LMMSE HISTORY_MSG_474;像素偏移-亮度均等 HISTORY_MSG_475;像素偏移-均等各通道 +HISTORY_MSG_476;CAM02/16-输出色温 +HISTORY_MSG_477;CAM02/16-输出绿色 +HISTORY_MSG_478;CAM02/16-输出平均亮度 +HISTORY_MSG_479;CAM02/16-输出CAT02/16色适应 +HISTORY_MSG_480;CAM02/16-输出自动CAT02/16 +HISTORY_MSG_481;CAM02/16-场景色温 +HISTORY_MSG_482;CAM02/16-场景绿色 +HISTORY_MSG_483;CAM02/16-场景平均亮度 +HISTORY_MSG_484;CAM02/16-场景自动亮度 HISTORY_MSG_485;镜头矫正 HISTORY_MSG_486;镜头矫正-相机 HISTORY_MSG_487;镜头矫正-镜头 @@ -517,18 +651,150 @@ HISTORY_MSG_491;白平衡 HISTORY_MSG_492;RGB曲线 HISTORY_MSG_493;L*a*b*调整 HISTORY_MSG_494;捕图加锐 +HISTORY_MSG_496;删除局部调整点 +HISTORY_MSG_497;选中局部调整点 +HISTORY_MSG_498;局部调整点名称 +HISTORY_MSG_499;局部调整点可见性 +HISTORY_MSG_500;局部调整点形状 +HISTORY_MSG_501;局部调整点模式 +HISTORY_MSG_502;局部调整点形状模式 +HISTORY_MSG_512;局部调整点ΔE -衰减 +HISTORY_MSG_515;局部调整 +HISTORY_MSG_516;局部-色彩与亮度 +HISTORY_MSG_518;局部-亮度 +HISTORY_MSG_519;局部-反差 +HISTORY_MSG_520;局部-色度 +HISTORY_MSG_521;局部-范围 +HISTORY_MSG_522;局部-曲线模式 +HISTORY_MSG_523;局部-LL曲线 +HISTORY_MSG_524;局部-CC曲线 +HISTORY_MSG_525;局部-LH曲线 +HISTORY_MSG_526;局部-H曲线 +HISTORY_MSG_528;局部-曝光 +HISTORY_MSG_529;局部-曝光补偿 +HISTORY_MSG_530;局部-曝补 高光补偿 +HISTORY_MSG_531;局部-曝补 高光补偿阈值 +HISTORY_MSG_533;局部-曝补 阴影补偿 +HISTORY_MSG_534;局部-冷暖 +HISTORY_MSG_535;局部-曝补 范围 +HISTORY_MSG_536;局部-曝光对比度曲线 +HISTORY_MSG_537;局部-鲜明度 +HISTORY_MSG_538;局部-鲜明 饱和色 +HISTORY_MSG_539;局部-鲜明 欠饱和色 +HISTORY_MSG_540;局部-鲜明 阈值 +HISTORY_MSG_541;局部-鲜明 肤色保护 +HISTORY_MSG_542;局部-鲜明 避免偏色 +HISTORY_MSG_543;局部-鲜明 挂钩 +HISTORY_MSG_544;局部-鲜明 范围 +HISTORY_MSG_545;局部-鲜明 H曲线 +HISTORY_MSG_546;局部-模糊与噪点 +HISTORY_MSG_547;局部-半径 +HISTORY_MSG_548;局部-噪点 +HISTORY_MSG_550;局部-模糊方法 +HISTORY_MSG_552;局部-色调映射 +HISTORY_MSG_553;局部-色映 压缩力度 +HISTORY_MSG_554;局部-色映 伽马 +HISTORY_MSG_555;局部-色映 边缘力度 +HISTORY_MSG_557;局部-色映 再加权 +HISTORY_MSG_568;局部-锐化 +HISTORY_MSG_569;局部-锐化 半径 +HISTORY_MSG_570;局部-锐化 数量 +HISTORY_MSG_571;局部-锐化 抑制 +HISTORY_MSG_572;局部-锐化 迭代 +HISTORY_MSG_573;局部-锐化 范围 +HISTORY_MSG_574;局部-锐化 反转 +HISTORY_MSG_575;局部-分频反差 +HISTORY_MSG_580;局部-去噪 +HISTORY_MSG_593;局部-局部反差 +HISTORY_MSG_594;局部-局部反差半径 +HISTORY_MSG_595;局部-局部反差数量 +HISTORY_MSG_596;局部-局部反差暗部 +HISTORY_MSG_597;局部-局部反差亮部 +HISTORY_MSG_606;选中局部调整点 +HISTORY_MSG_624;局部-色彩矫正网格 +HISTORY_MSG_625;局部-色彩矫正力度 +HISTORY_MSG_626;局部-色彩矫正方法 +HISTORY_MSG_627;局部-阴影高光 +HISTORY_MSG_628;局部-阴影高光 高光 +HISTORY_MSG_629;局部-阴影高光 高光范围 +HISTORY_MSG_630;局部-阴影高光 阴影 +HISTORY_MSG_631;局部-阴影高光 阴影范围 +HISTORY_MSG_632;局部-阴影高光 半径 +HISTORY_MSG_633;局部-阴影高光 范围 +HISTORY_MSG_645;局部-ΔE ab-L平衡 +HISTORY_MSG_674;局部-工具移除 +HISTORY_MSG_688;局部-工具移除 +HISTORY_MSG_767;局部-颗粒ISO +HISTORY_MSG_768;局部-颗粒力度 +HISTORY_MSG_786;局部-阴影高光 方法 +HISTORY_MSG_793;局部-阴影高光 TRC伽马 +HISTORY_MSG_798;局部-不透明度 +HISTORY_MSG_839;局部-软件复杂度 +HISTORY_MSG_845;局部-Log编码 +HISTORY_MSG_854;局部-Log编码 范围 +HISTORY_MSG_927;局部-阴影 +HISTORY_MSG_954;局部-显示/隐藏工具 +HISTORY_MSG_958;局部-显示/隐藏设置 +HISTORY_MSG_960;局部-Log编码 cat16 +HISTORY_MSG_961;局部-Log编码 Ciecam +HISTORY_MSG_1057;局部-启用CIECAM +HISTORY_MSG_1058;局部-CIECAM 总体力度 +HISTORY_MSG_1063;局部-CIECAM 饱和度 +HISTORY_MSG_1064;局部-CIECAM 彩度 +HISTORY_MSG_1065;局部-CIECAM 明度 J +HISTORY_MSG_1066;局部-CIECAM 视明度 +HISTORY_MSG_1067;局部-CIECAM 对比度J +HISTORY_MSG_1068;局部-CIECAM 阈值 +HISTORY_MSG_1069;局部-CIECAM 对比度Q +HISTORY_MSG_1070;局部-CIECAM 视彩度 +HISTORY_MSG_1071;局部-CIECAM 绝对亮度 +HISTORY_MSG_1072;局部-CIECAM 平均亮度 +HISTORY_MSG_1073;局部-CIECAM Cat16 +HISTORY_MSG_1074;局部-CIECAM 局部反差 +HISTORY_MSG_1076;局部-CIECAM 范围 +HISTORY_MSG_1077;局部-CIECAM 模式 +HISTORY_MSG_1078;局部-红色与肤色保护 +HISTORY_MSG_1085;Local - Jz 明度 +HISTORY_MSG_1093;局部-色貌模型 +HISTORY_MSG_1103;局部-鲜明 伽马 +HISTORY_MSG_1105;局部-CIECAM 色调模式 +HISTORY_MSG_1106;局部-CIECAM 色调曲线 +HISTORY_MSG_1107;局部-CIECAM 色彩模式 +HISTORY_MSG_1108;局部-CIECAM 色彩曲线 +HISTORY_MSG_BLUWAV;衰减响应 +HISTORY_MSG_CATCAT;Cat02/16模式 +HISTORY_MSG_CATCOMPLEX;Ciecam复杂度 +HISTORY_MSG_CATMODEL;CAM模型 HISTORY_MSG_CLAMPOOG;超色域色彩溢出 -HISTORY_MSG_DEHAZE_DEPTH;去雾-纵深值 +HISTORY_MSG_COLORTONING_LABGRID_VALUE;色调分离-色彩矫正 +HISTORY_MSG_COLORTONING_LABREGION_AB;色调分离-色彩矫正 +HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;色调分离-通道 +HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;色调分离-C蒙版 +HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;色调分离-H蒙版 +HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;色调分离-光强度 +HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;色调分离-L蒙版 +HISTORY_MSG_COLORTONING_LABREGION_LIST;色调分离-列表项 +HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;色调分离-区域蒙版模糊 +HISTORY_MSG_COLORTONING_LABREGION_OFFSET;色调分离-区域偏移量 +HISTORY_MSG_COLORTONING_LABREGION_POWER;色调分离-区域能量 +HISTORY_MSG_COLORTONING_LABREGION_SATURATION;色调分离-饱和度 +HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;色调分离-显示蒙版 +HISTORY_MSG_COLORTONING_LABREGION_SLOPE;色调分离-区域斜率 +HISTORY_MSG_COMPLEX;小波复杂度 +HISTORY_MSG_DEHAZE_DEPTH;去雾-纵深 HISTORY_MSG_DEHAZE_ENABLED;去雾 -HISTORY_MSG_DEHAZE_LUMINANCE;去雾-仅亮度 +HISTORY_MSG_DEHAZE_SATURATION;去雾-饱和度 HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;去雾-显示纵深蒙版 HISTORY_MSG_DEHAZE_STRENGTH;去雾-力度 HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;双重去马赛克-自动阈值 HISTORY_MSG_DUALDEMOSAIC_CONTRAST;双重去马赛克-反差阈值 +HISTORY_MSG_FILMNEGATIVE_COLORSPACE;胶片负片色彩空间 HISTORY_MSG_FILMNEGATIVE_ENABLED;胶片负片 +HISTORY_MSG_FILMNEGATIVE_VALUES;胶片负片值 HISTORY_MSG_HISTMATCHING;自适应色调曲线 +HISTORY_MSG_ICM_FBW;黑白 HISTORY_MSG_LOCALCONTRAST_AMOUNT;局部反差-数量 -HISTORY_MSG_LOCALCONTRAST_DARKNESS;局部反差-黑部 +HISTORY_MSG_LOCALCONTRAST_DARKNESS;局部反差-暗部 HISTORY_MSG_LOCALCONTRAST_ENABLED;局部反差 HISTORY_MSG_LOCALCONTRAST_LIGHTNESS;局部反差-亮部 HISTORY_MSG_LOCALCONTRAST_RADIUS;局部反差-半径 @@ -546,13 +812,24 @@ HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;线状噪点过滤方向 HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;PDAF条纹过滤 HISTORY_MSG_PRSHARPEN_CONTRAST;PRS-反差阈值 HISTORY_MSG_RAWCACORR_AUTOIT;Raw色差矫正-迭代 -HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw色差矫正-避免色偏 +HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw色差矫正-避免偏色 HISTORY_MSG_RAW_BORDER;Raw边界 HISTORY_MSG_RESIZE_ALLOWUPSCALING;调整大小-允许升采样 -HISTORY_MSG_SHARPENING_BLUR;加锐-模糊半径 -HISTORY_MSG_SHARPENING_CONTRAST;加锐-反差阈值 +HISTORY_MSG_RESIZE_LONGEDGE;调整大小-长边 +HISTORY_MSG_RESIZE_SHORTEDGE;调整大小-短边 +HISTORY_MSG_SHARPENING_BLUR;锐化-模糊半径 +HISTORY_MSG_SHARPENING_CONTRAST;锐化-反差阈值 HISTORY_MSG_SH_COLORSPACE;阴影/高光-色彩空间 +HISTORY_MSG_SOFTLIGHT_ENABLED;柔光 +HISTORY_MSG_SOFTLIGHT_STRENGTH;柔光-力度 +HISTORY_MSG_SPOT;污点移除 HISTORY_MSG_TM_FATTAL_ANCHOR;DRC-锚点 +HISTORY_MSG_TRANS_Method;几何-方法 +HISTORY_MSG_WAVLEVELSIGM;去噪-半径 +HISTORY_MSG_WAVLEVSIGM;半径 +HISTORY_MSG_WAVOFFSET;偏移 +HISTORY_MSG_WAVQUAMET;去噪模式 +HISTORY_MSG_WAVSIGMA;衰减响应 HISTORY_NEWSNAPSHOT;新建快照 HISTORY_NEWSNAPSHOT_TOOLTIP;快捷键:Alt-s HISTORY_SNAPSHOT;快照 @@ -560,7 +837,11 @@ HISTORY_SNAPSHOTS;快照 ICCPROFCREATOR_COPYRIGHT;版权: ICCPROFCREATOR_CUSTOM;自定义 ICCPROFCREATOR_DESCRIPTION;描述: +ICCPROFCREATOR_GAMMA;伽马 +ICCPROFCREATOR_ILL_DEF;默认 ICCPROFCREATOR_SAVEDIALOG_TITLE;将ICC档案保存为... +ICCPROFCREATOR_TRC_PRESET;色调响应曲线 +INSPECTOR_WINDOW_TITLE;检视器 IPTCPANEL_CATEGORY;类别 IPTCPANEL_CITY;城市 IPTCPANEL_COPYHINT;将IPTC设置复制到剪贴板 @@ -603,9 +884,13 @@ MAIN_MSG_CANNOTSAVE;文件保存中出错 MAIN_MSG_CANNOTSTARTEDITOR;无法启动编辑器 MAIN_MSG_CANNOTSTARTEDITOR_SECONDARY;请在“参数设置”中设置正确的路径 MAIN_MSG_EMPTYFILENAME;未指定文件名! -MAIN_MSG_NAVIGATOR;导航器 +MAIN_MSG_NAVIGATOR;导航窗 MAIN_MSG_OPERATIONCANCELLED;取消 +MAIN_MSG_PATHDOESNTEXIST;路径\n\n%1\n\n不存在。请在参数设置中设定正确的路径 MAIN_MSG_QOVERWRITE;是否覆盖? +MAIN_MSG_SETPATHFIRST;你需要先在参数设置中设定目标路径才能使用本功能! +MAIN_MSG_TOOMANYOPENEDITORS;已打开的编辑器过多\n请关闭一个编辑器以继续 +MAIN_MSG_WRITEFAILED;写入\n"%1"失败\n\n确保文件夹存在且你有写入权限 MAIN_TAB_ADVANCED;高级 MAIN_TAB_ADVANCED_TOOLTIP;快捷键:Alt-a MAIN_TAB_COLOR;色彩 @@ -617,10 +902,13 @@ MAIN_TAB_EXIF;Exif MAIN_TAB_EXPORT;快速导出 MAIN_TAB_EXPOSURE;曝光 MAIN_TAB_EXPOSURE_TOOLTIP;快捷键:Alt-e +MAIN_TAB_FAVORITES;收藏 MAIN_TAB_FAVORITES_TOOLTIP;快捷键: Alt-u MAIN_TAB_FILTER;过滤器 MAIN_TAB_INSPECT;检视 MAIN_TAB_IPTC;IPTC +MAIN_TAB_LOCALLAB;局部 +MAIN_TAB_LOCALLAB_TOOLTIP;快捷键:Alt-o MAIN_TAB_METADATA;元数据 MAIN_TAB_METADATA_TOOLTIP;快捷键:Alt-m MAIN_TAB_RAW;Raw @@ -635,11 +923,11 @@ MAIN_TOOLTIP_HIDEHP;显示/隐藏左面板(包含历史,快捷键:H) MAIN_TOOLTIP_INDCLIPPEDH;高光溢出提示 MAIN_TOOLTIP_INDCLIPPEDS;阴影不足提示 MAIN_TOOLTIP_PREVIEWB;预览蓝色通道\n快捷键:b -MAIN_TOOLTIP_PREVIEWFOCUSMASK;预览合焦蒙版\n快捷键:Shift-f\n\n在浅景深,噪点少,放大得大的图片中更加精准\n在噪点多的图像中,把图片缩放到10%-30%以提升检测精准度 +MAIN_TOOLTIP_PREVIEWFOCUSMASK;预览合焦蒙版\n快捷键:Shift-f\n\n在景深浅,噪点少,放大得大的图片中更加精准\n在噪点多的图像中,把图片缩放到10%-30%以提升检测精准度 MAIN_TOOLTIP_PREVIEWG;预览绿色通道\n快捷键:g MAIN_TOOLTIP_PREVIEWL;预览亮度\n快捷键:v\n\n0.299*R + 0.587*G + 0.114*B MAIN_TOOLTIP_PREVIEWR;预览红色通道\n快捷键:r -MAIN_TOOLTIP_PREVIEWSHARPMASK;预览加锐反差蒙版\n快捷键:p +MAIN_TOOLTIP_PREVIEWSHARPMASK;预览锐化反差蒙版\n快捷键:p MAIN_TOOLTIP_QINFO;图片简略信息 MAIN_TOOLTIP_SHOWHIDELP1;显示/隐藏左面板\n快捷键:l MAIN_TOOLTIP_SHOWHIDERP1;显示/隐藏右面板\n快捷键:Alt-l @@ -660,13 +948,15 @@ NAVIGATOR_V;V: NAVIGATOR_XY_FULL;宽 = %1, 高 = %2 NAVIGATOR_XY_NA;x = n/a, y = n/a OPTIONS_BUNDLED_MISSING;找不到附带档案"%1"!\n\n程序可能受损。\n\n将使用内部默认值 +OPTIONS_DEFIMG_MISSING;非Raw文件照片的默认档案无法被找到或是没有被设置\n\n请检查你的档案所在的文件夹,它可能已不存在或是受损\n\n现将使用"%1"作为替代 +OPTIONS_DEFRAW_MISSING;Raw照片的默认档案无法被找到或是没有被设置\n\n请检查你的档案所在的文件夹,它可能已不存在或是受损\n\n现将使用"%1"作为替代 PARTIALPASTE_ADVANCEDGROUP;高级设置 PARTIALPASTE_BASICGROUP;基本设置 PARTIALPASTE_CACORRECTION;色彩矫正 PARTIALPASTE_CHANNELMIXER;通道混合器 PARTIALPASTE_CHANNELMIXERBW;黑白 PARTIALPASTE_COARSETRANS;90°旋转/翻转 -PARTIALPASTE_COLORAPP;CIECAM02 +PARTIALPASTE_COLORAPP;CIECAM02/16 PARTIALPASTE_COLORGROUP;色彩相关设定 PARTIALPASTE_COLORTONING;色调 PARTIALPASTE_COMMONTRANSFORMPARAMS;自动填充 @@ -682,9 +972,9 @@ PARTIALPASTE_DIRPYRDENOISE;降噪 PARTIALPASTE_DIRPYREQUALIZER;分频反差调整 PARTIALPASTE_DISTORTION;畸变矫正 PARTIALPASTE_EPD;色调映射 -PARTIALPASTE_EQUALIZER;小波变换层级 +PARTIALPASTE_EQUALIZER;小波层级 PARTIALPASTE_EVERYTHING;全部 -PARTIALPASTE_EXIFCHANGES;对exif所做的修改 +PARTIALPASTE_EXIFCHANGES;Exif PARTIALPASTE_EXPOSURE;曝光 PARTIALPASTE_FILMNEGATIVE;胶片负片 PARTIALPASTE_FILMSIMULATION;胶片模拟 @@ -702,6 +992,8 @@ PARTIALPASTE_LABCURVE;Lab调整 PARTIALPASTE_LENSGROUP;镜头相关设置 PARTIALPASTE_LENSPROFILE;镜片修正档案 PARTIALPASTE_LOCALCONTRAST;局部反差 +PARTIALPASTE_LOCALLAB;局部调整 +PARTIALPASTE_LOCALLABGROUP;局部调整设置 PARTIALPASTE_METADATA;元数据模式 PARTIALPASTE_METAGROUP;元数据 PARTIALPASTE_PCVIGNETTE;暗角滤镜 @@ -711,6 +1003,7 @@ PARTIALPASTE_PREPROCESS_GREENEQUIL;绿平衡 PARTIALPASTE_PREPROCESS_HOTPIXFILT;热噪过滤器 PARTIALPASTE_PREPROCESS_LINEDENOISE;线状噪点过滤 PARTIALPASTE_PREPROCESS_PDAFLINESFILTER;PDAF条纹过滤器 +PARTIALPASTE_PREPROCWB;预处理白平衡 PARTIALPASTE_PRSHARPENING;调整大小后锐化 PARTIALPASTE_RAWCACORR_AUTO;色差自动矫正 PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;CA避免偏色 @@ -733,16 +1026,18 @@ PARTIALPASTE_SHADOWSHIGHLIGHTS;阴影/高光 PARTIALPASTE_SHARPENEDGE;边缘锐化 PARTIALPASTE_SHARPENING;锐化 PARTIALPASTE_SHARPENMICRO;微反差 +PARTIALPASTE_SOFTLIGHT;柔光 +PARTIALPASTE_SPOT;污点移除 PARTIALPASTE_TM_FATTAL;动态范围压缩 -PARTIALPASTE_VIBRANCE;鲜艳度 PARTIALPASTE_VIGNETTING;暗角矫正 PARTIALPASTE_WHITEBALANCE;白平衡 +PARTIALPASTE_鲜明度;鲜艳度 PREFERENCES_ADD;相加 PREFERENCES_APPEARANCE;外观 PREFERENCES_APPEARANCE_COLORPICKERFONT;拾色器字体 PREFERENCES_APPEARANCE_CROPMASKCOLOR;裁剪蒙版颜色 PREFERENCES_APPEARANCE_MAINFONT;主字体 -PREFERENCES_APPEARANCE_NAVGUIDECOLOR;导航器图框颜色 +PREFERENCES_APPEARANCE_NAVGUIDECOLOR;导航窗图框颜色 PREFERENCES_APPEARANCE_PSEUDOHIDPI;伪-高DPI模式 PREFERENCES_APPEARANCE_THEME;主题 PREFERENCES_APPLNEXTSTARTUP;下次启动生效 @@ -767,11 +1062,16 @@ PREFERENCES_CHUNKSIZE_RAW_AMAZE;AMaZE去马赛克 PREFERENCES_CHUNKSIZE_RAW_CA;Raw色差矫正 PREFERENCES_CHUNKSIZE_RAW_RCD;RCD去马赛克 PREFERENCES_CHUNKSIZE_RGB;RGB处理 +PREFERENCES_CIEARTIF;避免杂点 PREFERENCES_CLIPPINGIND;高光溢出提示 PREFERENCES_CLUTSCACHE;HaldCLUT缓存 PREFERENCES_CLUTSCACHE_LABEL;CLUT最大缓存数 PREFERENCES_CLUTSDIR;HaldCLUT路径 PREFERENCES_CMMBPC;黑场补偿 +PREFERENCES_COMPLEXITYLOC;局部调整工具默认复杂程度 +PREFERENCES_COMPLEXITY_EXP;高级 +PREFERENCES_COMPLEXITY_NORM;标准 +PREFERENCES_COMPLEXITY_SIMP;基础 PREFERENCES_CROP;裁剪编辑 PREFERENCES_CROP_AUTO_FIT;自动放大以适应裁剪 PREFERENCES_CROP_GUIDES;在不编辑裁剪区域时,裁剪区域所显示的辅助方式 @@ -798,6 +1098,10 @@ PREFERENCES_DIRSELECTDLG;启动时选择图片路径... PREFERENCES_DIRSOFTWARE;软件安装路径 PREFERENCES_EDITORCMDLINE;自定义命令行 PREFERENCES_EDITORLAYOUT;编辑器布局 +PREFERENCES_EXTEDITOR_DIR;输出目录 +PREFERENCES_EXTEDITOR_DIR_CURRENT;与输入图片相同 +PREFERENCES_EXTEDITOR_DIR_CUSTOM;自定义 +PREFERENCES_EXTEDITOR_DIR_TEMP;操作系统临时文件夹 PREFERENCES_EXTERNALEDITOR;外部编辑器 PREFERENCES_FBROWSEROPTS;文件浏览器选项 PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;在文件浏览器中显示紧凑的工具栏 @@ -815,6 +1119,7 @@ PREFERENCES_HISTOGRAM_TOOLTIP;启用后,当前使用的后期配置档案将 PREFERENCES_HLTHRESHOLD;高光溢出阈值 PREFERENCES_ICCDIR;ICC配置路径 PREFERENCES_IMPROCPARAMS;默认图片处理参数 +PREFERENCES_INSPECTORWINDOW;以单独窗口或全屏打开检视器 PREFERENCES_INSPECT_LABEL;检视 PREFERENCES_INSPECT_MAXBUFFERS_LABEL;最大缓存图片数 PREFERENCES_INTENT_ABSOLUTE;绝对比色 @@ -825,11 +1130,11 @@ PREFERENCES_INTERNALTHUMBIFUNTOUCHED;如果RAW文件没有被修改,显示内 PREFERENCES_LANG;语言 PREFERENCES_LANGAUTODETECT;使用系统语言 PREFERENCES_MAXRECENTFOLDERS;最近访问路径历史记录数 -PREFERENCES_MENUGROUPEXTPROGS;组合"打开方式" -PREFERENCES_MENUGROUPFILEOPERATIONS;组合"文件操作" -PREFERENCES_MENUGROUPLABEL;组合"色彩标签" -PREFERENCES_MENUGROUPPROFILEOPERATIONS;组合"后期档案操作" -PREFERENCES_MENUGROUPRANK;组合 "评级" +PREFERENCES_MENUGROUPEXTPROGS;合并“打开方式” +PREFERENCES_MENUGROUPFILEOPERATIONS;合并“文件操作” +PREFERENCES_MENUGROUPLABEL;合并“色彩标签” +PREFERENCES_MENUGROUPPROFILEOPERATIONS;合并“后期档案操作” +PREFERENCES_MENUGROUPRANK;合并“评级” PREFERENCES_MENUOPTIONS;右键子菜单选项 PREFERENCES_MONINTENT;默认渲染意图 PREFERENCES_MONITOR;显示器 @@ -837,7 +1142,7 @@ PREFERENCES_MONPROFILE;默认色彩配置文件 PREFERENCES_MONPROFILE_WARNOSX;受MacOS限制, 仅支持sRGB PREFERENCES_MULTITAB;多编辑器标签模式 PREFERENCES_MULTITABDUALMON;多编辑器标签,标签独立模式 -PREFERENCES_NAVIGATIONFRAME;导航器 +PREFERENCES_NAVIGATIONFRAME;导航窗 PREFERENCES_OVERLAY_FILENAMES;在文件浏览器的缩略图上显示文件名 PREFERENCES_OVERLAY_FILENAMES_FILMSTRIP;在编辑器的缩略图上显示文件名 PREFERENCES_OVERWRITEOUTPUTFILE;覆盖已存在的输出文件 @@ -860,18 +1165,18 @@ PREFERENCES_PRINTER;打印机 (软打样) PREFERENCES_PROFILEHANDLING;图片处理配置管理 PREFERENCES_PROFILELOADPR;配置文件读取优先级 PREFERENCES_PROFILEPRCACHE;缓存中的配置文件 -PREFERENCES_PROFILEPRFILE;图片所在位置的配置文件 +PREFERENCES_PROFILEPRFILE;图片所在目录的配置文件 PREFERENCES_PROFILESAVEBOTH;将配置文件存放到缓存和输入图片所在位置 PREFERENCES_PROFILESAVECACHE;将配置文件存放到缓存 PREFERENCES_PROFILESAVEINPUT;将配置文件与图片并列存放 -PREFERENCES_PROFILESAVELOCATION;将配置文件存放到缓存和输入图片所在位置 +PREFERENCES_PROFILESAVELOCATION;将配置文件存放到缓存和输入图片所在目录 PREFERENCES_PROFILE_NONE;无 PREFERENCES_PROPERTY;属性 PREFERENCES_PRTINTENT;渲染意图 PREFERENCES_PRTPROFILE;色彩配置文件 PREFERENCES_PSPATH;Adobe Photoshop安装路径 PREFERENCES_REMEMBERZOOMPAN;记忆图片的缩放和拖动位置 -PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;当打开新图片时,记忆上一张图片放大的百分比和被拖动到的位置。\n\n这个选项仅在使用“单编辑器模式”且“小于100%缩放查看时使用的去马赛克方法”被设为“与PP3相同”时才有效 +PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;当打开新图片时,记忆上一张图片的放大百分比和拖移位置。\n\n此选项仅在使用“单编辑器模式”且“小于100%缩放查看时使用的去马赛克方法”被设为“与PP3相同”时才有效 PREFERENCES_SAVE_TP_OPEN_NOW;保存工具的展开/折叠状态 PREFERENCES_SELECTLANG;选择语言 PREFERENCES_SERIALIZE_TIFF_READ;TIFF读取设定 @@ -882,10 +1187,11 @@ PREFERENCES_SHOWBASICEXIF;显示基本Exif信息 PREFERENCES_SHOWDATETIME;显示时间日期 PREFERENCES_SHOWEXPOSURECOMPENSATION;附带曝光补偿 PREFERENCES_SHOWFILMSTRIPTOOLBAR;显示“数码底片夹”栏 +PREFERENCES_SHOWTOOLTIP;显示局部调整工具提示 PREFERENCES_SHTHRESHOLD;阴影过暗阈值 PREFERENCES_SINGLETAB;单编辑器标签模式 PREFERENCES_SINGLETABVERTAB;单编辑器标签模式, 标签栏垂直 -PREFERENCES_SND_HELP;输入完整路径来指定声音文件, 或者留空表示无声。\nWindows系统声音可以使用"SystemDefault", "SystemAsterisk" 等\nLinux则可以使用 "complete", "window-attention"等 +PREFERENCES_SND_HELP;输入完整路径来指定声音文件, 或者留空表示无声。\nWindows系统声音可以使用"SystemDefault", "SystemAsterisk" 等\nLinux则可以使用 "complete", "windows-attention"等 PREFERENCES_SND_LNGEDITPROCDONE;编辑器处理完成 PREFERENCES_SND_QUEUEDONE;完成队列 PREFERENCES_SND_THRESHOLDSECS;等待秒数 @@ -904,15 +1210,23 @@ PREFERENCES_THUMBNAIL_INSPECTOR_RAW_IF_NO_JPEG_FULLSIZE;若内嵌JPEG为全尺 PREFERENCES_TP_LABEL;工具栏 PREFERENCES_TP_VSCROLLBAR;隐藏垂直滚动条 PREFERENCES_USEBUNDLEDPROFILES;启用内置预设 -PREFERENCES_WORKFLOW;排版 +PREFERENCES_WORKFLOW;软件界面 +PREFERENCES_ZOOMONSCROLL;滚动鼠标滚轮控制图片缩放 +PROFILEPANEL_COPYPPASTE;要复制的参数 +PROFILEPANEL_GLOBALPROFILES;附带档案 PROFILEPANEL_LABEL;处理参数配置 PROFILEPANEL_LOADDLGLABEL;加载处理参数为... -PROFILEPANEL_MODE_TIP;后期档案应用模式。\n\n按下按钮:部分性档案将被转化为全面性档案;没有被使用的工具将会用预定的参数得到处理。\n\n松开按钮:档案按照其制作时的形式被应用,只有被调整过的工具参数会被应用。 +PROFILEPANEL_LOADPPASTE;要加载的参数 +PROFILEPANEL_MODE_TOOLTIP;后期档案应用模式。\n\n按下按钮:部分性档案将被转化为全面性档案;没有被使用的工具将会用预定的参数得到处理。\n\n松开按钮:档案按照其制作时的形式被应用,只有被调整过的工具参数会被应用。 PROFILEPANEL_MYPROFILES;我的档案 +PROFILEPANEL_PASTEPPASTE;要粘贴的参数 PROFILEPANEL_PCUSTOM;自定义 +PROFILEPANEL_PDYNAMIC;动态 PROFILEPANEL_PFILE;由文件 +PROFILEPANEL_PINTERNAL;中性 PROFILEPANEL_PLASTSAVED;上次保存 PROFILEPANEL_SAVEDLGLABEL;保存处理参数为... +PROFILEPANEL_SAVEPPASTE;要保存的参数 PROFILEPANEL_TOOLTIPCOPY;将当前配置复制到剪贴板 PROFILEPANEL_TOOLTIPLOAD;由文件加载配置 PROFILEPANEL_TOOLTIPPASTE;从剪贴板粘贴配置 @@ -951,8 +1265,6 @@ QUEUE_LOCATION_TEMPLATE_TOOLTIP;根据图片的位置,评级,被置于垃圾 QUEUE_LOCATION_TITLE;输出位置 QUEUE_STARTSTOP_TOOLTIP;开始/停止处理队列中的图像\n\n快捷键:Ctrl+s SAMPLEFORMAT_0;未知数据格式 -SAMPLEFORMAT_1;8-bit unsigned -SAMPLEFORMAT_2;16-bit unsigned SAMPLEFORMAT_16;16-bit浮点数 SAMPLEFORMAT_32;24-bit浮点数 SAMPLEFORMAT_64;32-bit浮点数 @@ -979,6 +1291,12 @@ TOOLBAR_TOOLTIP_WB;白平衡采样\n快捷键:w TP_BWMIX_ALGO_LI;线性 TP_BWMIX_ALGO_SP;特定效果 TP_BWMIX_AUTOCH;自动 +TP_BWMIX_CHANNEL;亮度均衡器 +TP_BWMIX_CURVEEDITOR1;‘黑白前’曲线 +TP_BWMIX_CURVEEDITOR2;‘黑白后’曲线 +TP_BWMIX_CURVEEDITOR_AFTER_TOOLTIP;黑白转换之后的色调曲线,在处理流程的最后 +TP_BWMIX_CURVEEDITOR_BEFORE_TOOLTIP;黑白转换之前的色调曲线,可能会算入彩色部分 +TP_BWMIX_CURVEEDITOR_LH_TOOLTIP;根据色相调整亮度,L=f(H)\n注意极端值,因为其可能导致杂点 TP_BWMIX_FILTER;色彩过滤 TP_BWMIX_FILTER_BLUE;蓝 TP_BWMIX_FILTER_BLUEGREEN;蓝-绿 @@ -988,6 +1306,7 @@ TP_BWMIX_FILTER_NONE;无 TP_BWMIX_FILTER_PURPLE;紫 TP_BWMIX_FILTER_RED;红 TP_BWMIX_FILTER_REDYELLOW;红-黄 +TP_BWMIX_FILTER_TOOLTIP;色彩过滤能模拟使用色彩滤片所拍摄出的照片。色彩滤片会减少某个波段的光的传入,因此影响到其亮度,比如:红色滤片会让蓝天变暗。 TP_BWMIX_FILTER_YELLOW;黄 TP_BWMIX_GAMMA;伽马矫正 TP_BWMIX_GAM_TOOLTIP;矫正红绿蓝三色通道(RGB)伽马 @@ -995,28 +1314,34 @@ TP_BWMIX_LABEL;黑白 TP_BWMIX_MET;方法 TP_BWMIX_MET_CHANMIX;通道混合器 TP_BWMIX_MET_DESAT;去饱和 -TP_BWMIX_MET_LUMEQUAL;亮度均衡工具 +TP_BWMIX_MET_LUMEQUAL;亮度均衡器 TP_BWMIX_MIXC;通道混合器 TP_BWMIX_NEUTRAL;重置 +TP_BWMIX_RGBLABEL;R: %1%% G: %2%% B: %3%% 总计: %4%% TP_BWMIX_SETTING;预设 -TP_BWMIX_SETTING_TOOLTIP;不同预设 (胶片、风光等)或手动的通道混合工具设置 +TP_BWMIX_SETTING_TOOLTIP;不同预设(胶片、风光等)或手动的通道混合工具设置 TP_BWMIX_SET_HIGHCONTAST;高对比度 -TP_BWMIX_SET_HIGHSENSIT;高灵敏度 +TP_BWMIX_SET_HIGHSENSIT;高感光度 +TP_BWMIX_SET_HYPERPANCHRO;高汛色 TP_BWMIX_SET_INFRARED;红外 -TP_BWMIX_SET_LANDSCAPE;水平排布(风景) -TP_BWMIX_SET_LOWSENSIT;低灵敏度 +TP_BWMIX_SET_LANDSCAPE;风光 +TP_BWMIX_SET_LOWSENSIT;低感光度 TP_BWMIX_SET_LUMINANCE;亮度 -TP_BWMIX_SET_PANCHRO;全色的 -TP_BWMIX_SET_PORTRAIT;垂直排布(肖像) +TP_BWMIX_SET_NORMCONTAST;正常对比度 +TP_BWMIX_SET_ORTHOCHRO;正色 +TP_BWMIX_SET_PANCHRO;全色 +TP_BWMIX_SET_PORTRAIT;人像 TP_BWMIX_SET_RGBABS;绝对RGB TP_BWMIX_SET_RGBREL;相对RGB +TP_BWMIX_SET_ROYGCBPMABS;绝对ROYGCBPM +TP_BWMIX_SET_ROYGCBPMREL;相对ROYGCBPM TP_BWMIX_TCMODE_FILMLIKE;黑白 仿胶片式 -TP_BWMIX_TCMODE_SATANDVALBLENDING;黑白 饱和度亮度混合 +TP_BWMIX_TCMODE_SATANDVALBLENDING;黑白 饱和度-亮度混合 TP_BWMIX_TCMODE_STANDARD;黑白 标准 TP_BWMIX_TCMODE_WEIGHTEDSTD;黑白 加权标准 TP_BWMIX_VAL;L TP_CACORRECTION_BLUE;蓝 -TP_CACORRECTION_LABEL;色散矫正 +TP_CACORRECTION_LABEL;色差矫正 TP_CACORRECTION_RED;红 TP_CBDL_AFT;在黑白工具之后 TP_CBDL_BEF;在黑白工具之前 @@ -1030,16 +1355,132 @@ TP_COARSETRAF_TOOLTIP_HFLIP;水平翻转 TP_COARSETRAF_TOOLTIP_ROTLEFT;左转\n\n快捷键:\n[ - 多编辑器模式,\nAlt-[ - 单编辑器模式 TP_COARSETRAF_TOOLTIP_ROTRIGHT;右转\n\n快捷键:\n] - 多编辑器模式,\nAlt-] - 单编辑器模式 TP_COARSETRAF_TOOLTIP_VFLIP;竖直翻转 +TP_COLORAPP_ABSOLUTELUMINANCE;绝对亮度 +TP_COLORAPP_ALGO;算法 +TP_COLORAPP_ALGO_ALL;全部 +TP_COLORAPP_ALGO_JC;明度 + 彩度 (JC) +TP_COLORAPP_ALGO_JS;明度 + 饱和度 (JS) +TP_COLORAPP_ALGO_QM;视明度 + 视彩度 (QM) +TP_COLORAPP_ALGO_TOOLTIP;你可以选择子项参数或全部参数 TP_COLORAPP_BADPIXSL;热像素/坏点过滤器 +TP_COLORAPP_BADPIXSL_TOOLTIP;对热像素/坏点(非常亮的色彩)的抑制\n0 = 没有效果\n1 = 中值\n2 = 高斯\n也可以调整图像以避免有极暗的阴影。\n\n这些杂点是CIECAM02的局限性而导致的 +TP_COLORAPP_BRIGHT;视明度 (Q) +TP_COLORAPP_BRIGHT_TOOLTIP;CIECAM的视明度指的是人对于刺激物的感知亮度,与Lab和RGB的亮度不同 +TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;当手动设置时,推荐使用大于65的值 +TP_COLORAPP_CATCLASSIC;经典 +TP_COLORAPP_CATMOD;Cat02/16模式 +TP_COLORAPP_CATSYMGEN;自动对称 +TP_COLORAPP_CATSYMSPE;混合 +TP_COLORAPP_CHROMA;彩度 (C) +TP_COLORAPP_CHROMA_M;视彩度 (M) +TP_COLORAPP_CHROMA_M_TOOLTIP;CIECAM的视彩度是相对灰色而言,人所感知到的色彩量,是一个指示某个刺激物在感官上的色彩强弱的参数。 +TP_COLORAPP_CHROMA_S;饱和度 (S) +TP_COLORAPP_CHROMA_S_TOOLTIP;CIECAM的饱和度对应着某个刺激物的视彩度与其自身视明度之比,与Lab和RGB的饱和度不同 +TP_COLORAPP_CHROMA_TOOLTIP;CIECAM的彩度对应着刺激物的视彩度与相同条件下的白色刺激物的亮度之比,与Lab和RGB的彩度(Chroma)不同 +TP_COLORAPP_CIECAT_DEGREE;CAT02/16色适应 +TP_COLORAPP_CONTRAST;对比度 (J) +TP_COLORAPP_CONTRAST_Q;对比度 (Q) +TP_COLORAPP_CONTRAST_Q_TOOLTIP;CIECAM的对比度 (Q)以视明度为基准,与Lab和RGB的对比度不同 +TP_COLORAPP_CONTRAST_TOOLTIP;与CIECAM的对比度 (J)以明度为基准,Lab和RGB的对比度不同 +TP_COLORAPP_CURVEEDITOR1;色调曲线1 +TP_COLORAPP_CURVEEDITOR1_TOOLTIP;显示在CIECAM02/16应用前的L*(L*a*b*)通道直方图。\n若勾选“在曲线中显示CIECAM02/16输出直方图”,则显示CIECAM02/16应用后的J直方图。\n\n主直方图面板不会显示J的直方图\n\n最终的输出结果请参考主直方图面板 +TP_COLORAPP_CURVEEDITOR2;色调曲线2 +TP_COLORAPP_CURVEEDITOR2_TOOLTIP;与第一条J(J)色调曲线的使用方法相同 +TP_COLORAPP_CURVEEDITOR3;色彩曲线 +TP_COLORAPP_CURVEEDITOR3_TOOLTIP;调整彩度,饱和度或视彩度。\n\n显示在CIECAM02/16应用前的色度(L*a*b*)通道直方图。\n若勾选“在曲线中显示CIECAM02/16输出直方图”,则显示CIECAM02/16应用后的C,S或M直方图。\n\n主直方图面板不会显示C,s和M的直方图\n最终的输出结果请参考主直方图面板 +TP_COLORAPP_DATACIE;在曲线中显示CIECAM02/16输出直方图 +TP_COLORAPP_DATACIE_TOOLTIP;启用后,CIECAM02/16直方图中会显示CIECAM02/16应用后的J,以及C,S或M的大概值/范围。\n勾选此选项不会影响主直方图\n\n关闭选项后,CIECAM02/16直方图中会显示CIECAM02/16应用前的L*a*b*值 +TP_COLORAPP_FREE;自由色温+色调+CAT02/16+[输出] +TP_COLORAPP_GAMUT;色域控制(L*a*b*) +TP_COLORAPP_GEN;设置 - 预设 +TP_COLORAPP_HUE;色相(h) +TP_COLORAPP_HUE_TOOLTIP;色相(h)是一个刺激物可以被描述为接近于红,绿,蓝,黄色的一个角度 +TP_COLORAPP_LABEL;CIE色貌模型02/16 TP_COLORAPP_LABEL_CAM02;图像调整 +TP_COLORAPP_LABEL_SCENE;场景条件 +TP_COLORAPP_LABEL_VIEWING;观察条件 TP_COLORAPP_LIGHT;明度 (J) -TP_COLORAPP_LIGHT_TOOLTIP; CIECAM02, Lab, RGB中,明度的意义各不相同 -TP_COLORAPP_SURROUND_AVER;平均 -TP_COLORAPP_SURROUND_DARK;暗 -TP_COLORAPP_SURROUND_DIM;暗淡 -TP_COLORAPP_TCMODE_BRIGHTNESS;光亮度 +TP_COLORAPP_LIGHT_TOOLTIP; CIECAM02/16中的“明度”指一个刺激物的清晰度与相似观察条件下的白色物体清晰度之相对值,与Lab和RGB的“明度”意义不同 +TP_COLORAPP_MEANLUMINANCE;平均亮度(Yb%) +TP_COLORAPP_MODEL;白点模型 +TP_COLORAPP_MODELCAT;色貌模型 +TP_COLORAPP_MODELCAT_TOOLTIP;允许你在CIECAM02或CIECAM16之间进行选择\nCIECAM02在某些时候会更加准确\nCIECAM16的杂点应该更少 +TP_COLORAPP_MODEL_TOOLTIP;白平衡[RT]+[输出]:RT的白平衡被应用到场景,CIECAM02/16被设为D50,输出设备的白平衡被设置为观察条件\n\n白平衡[RT+CAT02/16]+[输出]:CAT02/16使用RT的白平衡设置,输出设备的白平衡被设置为观察条件\n\n自由色温+色调+CAT02/16+[输出]:用户指定色温和色调,输出设备的白平衡被设置为观察条件 +TP_COLORAPP_NEUTRAL;重置 +TP_COLORAPP_NEUTRAL_TOOLTIP;将所有复选框、滑条和曲线还原到默认状态 +TP_COLORAPP_RSTPRO;红色与肤色保护 +TP_COLORAPP_RSTPRO_TOOLTIP;滑条和曲线均受红色与肤色保护影响 +TP_COLORAPP_SURROUND;周围环境 +TP_COLORAPP_SURROUNDSRC;周围 - 场景亮度 +TP_COLORAPP_SURROUND_AVER;一般 +TP_COLORAPP_SURROUND_DARK;黑暗 +TP_COLORAPP_SURROUND_DIM;昏暗 +TP_COLORAPP_SURROUND_EXDARK;极暗 +TP_COLORAPP_SURROUND_TOOLTIP;改变色调和色彩以考虑到输出设备的观察条件。\n\n一般:一般的光照环境(标准)。图像不会变化。\n\n昏暗:昏暗环境(如电视)。图像会略微变暗。\n\n黑暗:黑暗环境(如投影仪)。图像会变得更暗。\n\n极暗:非常暗的环境(Cutsheet)。图像会变得很暗 +TP_COLORAPP_SURSOURCE_TOOLTIP;改变色调与色彩以计入场景条件\n\n平均:平均的亮度条件(标准)。图像不被改变\n\n昏暗:较暗的场景。图像会被略微提亮\n\n黑暗:黑暗的环境。图像会被提亮\n\n极暗:非常暗的环境。图片会变得非常亮 +TP_COLORAPP_TCMODE_BRIGHTNESS;视明度 +TP_COLORAPP_TCMODE_CHROMA;彩度 +TP_COLORAPP_TCMODE_COLORF;视彩度 +TP_COLORAPP_TCMODE_LABEL1;曲线模式1 +TP_COLORAPP_TCMODE_LABEL2;曲线模式2 +TP_COLORAPP_TCMODE_LABEL3;曲线彩度模式 TP_COLORAPP_TCMODE_LIGHTNESS;明度 -TP_COLORAPP_TCMODE_SATUR;色彩饱和度 +TP_COLORAPP_TCMODE_SATUR;饱和度 +TP_COLORAPP_TONECIE;使用CIECAM02/16进行色调映射 +TP_COLORAPP_TONECIE_TOOLTIP;禁用此选项,色调映射会在L*a*b*色彩空间中进行。\n启用此选项,色调映射会使用CIECAM进行。\n你需要启用色调映射工具来令此选项生效 +TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP;观察环境的绝对亮度(一般为16 cd/m²) +TP_COLORAPP_WBCAM;白平衡[RT+CAT02/16]+[输出] +TP_COLORAPP_WBRT;白平衡[RT]+[输出] +TP_COLORTONING_AUTOSAT;自动 +TP_COLORTONING_BALANCE;平衡 +TP_COLORTONING_CHROMAC;不透明度 +TP_COLORTONING_COLOR;色彩 +TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;根据亮度调整色彩的不透明度,oC=f(L) +TP_COLORTONING_HIGHLIGHT;高光 +TP_COLORTONING_HUE;色相 +TP_COLORTONING_LAB;L*a*b*混合 +TP_COLORTONING_LABEL;色调分离 +TP_COLORTONING_LABGRID;L*a*b*色彩矫正网格 +TP_COLORTONING_LABREGIONS;色彩矫正区域 +TP_COLORTONING_LABREGION_CHANNEL;通道 +TP_COLORTONING_LABREGION_CHANNEL_ALL;全部 +TP_COLORTONING_LABREGION_CHANNEL_B;蓝 +TP_COLORTONING_LABREGION_CHANNEL_G;绿 +TP_COLORTONING_LABREGION_CHANNEL_R;红 +TP_COLORTONING_LABREGION_LIGHTNESS;光强度 +TP_COLORTONING_LABREGION_LIST_TITLE;矫正 +TP_COLORTONING_LABREGION_MASK;蒙版 +TP_COLORTONING_LABREGION_MASKBLUR;蒙版模糊 +TP_COLORTONING_LABREGION_OFFSET;偏移量 +TP_COLORTONING_LABREGION_POWER;能量 +TP_COLORTONING_LABREGION_SATURATION;饱和度 +TP_COLORTONING_LABREGION_SHOWMASK;显示蒙版 +TP_COLORTONING_LABREGION_SLOPE;斜率 +TP_COLORTONING_LUMA;亮度 +TP_COLORTONING_LUMAMODE;保持亮度 +TP_COLORTONING_LUMAMODE_TOOLTIP;启用后,当你改变(红,绿,蓝等)颜色时,每个像素的亮度不变 +TP_COLORTONING_METHOD;方法 +TP_COLORTONING_METHOD_TOOLTIP;L*a*b*混合,RGB滑条和RGB曲线使用插值色彩混合。\n阴影/中间调/高光色彩平衡和饱和度2种颜色使用直接颜色。\n\n使用任意一种色调分离方法时都可以启用黑白工具,来为黑白照片进行色调分离 +TP_COLORTONING_MIDTONES;中间调 +TP_COLORTONING_NEUTRAL;重置滑条 +TP_COLORTONING_NEUTRAL_TOOLTIP;重置所有数值(阴影,中间调,高光)为默认 +TP_COLORTONING_OPACITY;不透明度 +TP_COLORTONING_RGBCURVES;RGB-曲线 +TP_COLORTONING_RGBSLIDERS;RGB-滑条 +TP_COLORTONING_SA;饱和度保护 +TP_COLORTONING_SATURATEDOPACITY;力度 +TP_COLORTONING_SATURATIONTHRESHOLD;阈值 +TP_COLORTONING_SHADOWS;阴影 +TP_COLORTONING_SPLITCO;阴影/中间调/高光 +TP_COLORTONING_SPLITCOCO;阴影/中间调/高光色彩平衡 +TP_COLORTONING_SPLITLR;饱和度2种颜色 +TP_COLORTONING_STR;力度 +TP_COLORTONING_STRENGTH;力度 +TP_COLORTONING_TWO2;特殊色度‘2种颜色’ +TP_COLORTONING_TWOALL;特殊色度 +TP_COLORTONING_TWOBY;特殊a*和b* +TP_COLORTONING_TWOCOLOR_TOOLTIP;标准色度:\n线性响应,a* = b*\n\n特殊色度:\n线性响应,a* = b*,但是没有限制——可以尝试将曲线拖到对角线以下的效果\n\n特殊a*和b*:\n无限制的线性响应,a*和b*各有一条曲线。为实现特殊效果而设计\n\n特殊色度‘2种颜色’:\n效果更加可预测 +TP_COLORTONING_TWOSTD;标准色度 TP_CROP_FIXRATIO;比例: TP_CROP_GTDIAGONALS;对角线法则 TP_CROP_GTEPASSPORT;生物辨识护照 @@ -1065,18 +1506,25 @@ TP_DEFRINGE_RADIUS;半径 TP_DEFRINGE_THRESHOLD;阈值 TP_DEHAZE_DEPTH;纵深 TP_DEHAZE_LABEL;去雾 -TP_DEHAZE_LUMINANCE;仅亮度 +TP_DEHAZE_SATURATION;饱和度 TP_DEHAZE_SHOW_DEPTH_MAP;显示纵深蒙版 TP_DEHAZE_STRENGTH;力度 +TP_DIRPYRDENOISE_CHROMINANCE_AMZ;多分区自动 TP_DIRPYRDENOISE_CHROMINANCE_AUTOGLOBAL;全局自动 TP_DIRPYRDENOISE_CHROMINANCE_BLUEYELLOW;色度—蓝-黄 TP_DIRPYRDENOISE_CHROMINANCE_CURVE;色度曲线 +TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;增加(倍增)所有色度滑条的数值\n此曲线允许你根据色度调整色度降噪的力度,比如你可以选择提高低色度区域的降噪力度,并降低高色度区域的力度 TP_DIRPYRDENOISE_CHROMINANCE_FRAME;色度噪点 TP_DIRPYRDENOISE_CHROMINANCE_MANUAL;手动 TP_DIRPYRDENOISE_CHROMINANCE_MASTER;色度—主控 TP_DIRPYRDENOISE_CHROMINANCE_METHOD;方法 +TP_DIRPYRDENOISE_CHROMINANCE_METHODADVANCED_TOOLTIP;手动\n作用于整张图片\n用户手动控制降噪设置\n\n全局自动\n作用于整张图片\n使用9片区域来计算全局的色度噪点去除设定\n\n预览处\n作用于整张图片\n使用当前预览可见的区域来计算全局的色度噪点去除设定 +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW;预览处 +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;显示在小波层级之后的,当前预览中的噪点水平。\n\n>300 噪点极多\n100-300 噪点多\n50-100 噪点略多\n<50 噪点极少\n\n一定要注意:该数值在RGB模式与在L*a*b*模式下会有不同。RGB模式下的数值相对更不精准,因为RGB模式无法完全分离亮度和色度 +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_INFO;预览大小=%1, 中心:Px=%2 Py=%3 TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_NOISEINFO;当前预览处噪点:中位数=%1 最大=%2 TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_NOISEINFO_EMPTY;当前预览处噪点:中位数= - 最大= - +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_TILEINFO;切片大小=%1, 中心: Tx=%2 Ty=%3 TP_DIRPYRDENOISE_CHROMINANCE_REDGREEN;色度—红-绿 TP_DIRPYRDENOISE_LABEL;降噪 TP_DIRPYRDENOISE_LUMINANCE_CONTROL;亮度控制 @@ -1085,8 +1533,11 @@ TP_DIRPYRDENOISE_LUMINANCE_DETAIL;细节恢复 TP_DIRPYRDENOISE_LUMINANCE_FRAME;亮度噪点 TP_DIRPYRDENOISE_LUMINANCE_SMOOTHING;亮度 TP_DIRPYRDENOISE_MAIN_COLORSPACE;色彩空间 +TP_DIRPYRDENOISE_MAIN_COLORSPACE_LAB;L*a*b* TP_DIRPYRDENOISE_MAIN_COLORSPACE_RGB;RGB TP_DIRPYRDENOISE_MAIN_COLORSPACE_TOOLTIP;对于Raw文件,RGB和L*a*b*均可用\n\n非Raw文件只可用L*a*b*空间,不论用户选择了哪个 +TP_DIRPYRDENOISE_MAIN_GAMMA;伽马 +TP_DIRPYRDENOISE_MAIN_GAMMA_TOOLTIP;伽马会令降噪的力度在不同色调之间发生变化。偏小的值会偏向阴影部分,偏大的值会偏向较亮的色调 TP_DIRPYRDENOISE_MAIN_MODE;模式 TP_DIRPYRDENOISE_MAIN_MODE_AGGRESSIVE;激进 TP_DIRPYRDENOISE_MAIN_MODE_CONSERVATIVE;保守 @@ -1102,7 +1553,7 @@ TP_DIRPYRDENOISE_MEDIAN_METHOD_WEIGHTED;权重L* (小) + a*b* (正常) TP_DIRPYRDENOISE_MEDIAN_PASSES;中值迭代 TP_DIRPYRDENOISE_MEDIAN_PASSES_TOOLTIP;使用3x3窗口进行三次中值迭代通常比使用7x7窗口进行一次迭代的效果更好 TP_DIRPYRDENOISE_MEDIAN_TYPE;中值类型 -TP_DIRPYRDENOISE_MEDIAN_TYPE_TOOLTIP;使用你想要的窗口大小的中值滤波器。窗口大小越大,处理用时越长。\n3×3柔和:处理3x3窗口中的5个像素。\n3x3:处理3x3窗口里面的9个像素。\n5x5柔和:处理5x5窗口中的13个像素。\n5x5:处理5x5窗口中的25个像素。\n7x7:处理7x7窗口中的49个像素。\n9x9:处理9x9窗口中的81个像素。\n\n有时使用小窗口进行多次迭代的效果会优于使用大窗口进行一次迭代的效果 +TP_DIRPYRDENOISE_MEDIAN_TYPE_TOOLTIP;使用你想要的窗口大小的中值滤波器。窗口大小越大,处理用时越长。\n3×3柔和:处理3x3窗口中的5个像素。\n3x3:处理3x3窗口中的9个像素。\n5x5柔和:处理5x5窗口中的13个像素。\n5x5:处理5x5窗口中的25个像素。\n7x7:处理7x7窗口中的49个像素。\n9x9:处理9x9窗口中的81个像素。\n\n有时使用小窗口进行多次迭代的效果会优于使用大窗口进行一次迭代的效果 TP_DIRPYRDENOISE_TYPE_3X3;3×3 TP_DIRPYRDENOISE_TYPE_3X3SOFT;3×3柔和 TP_DIRPYRDENOISE_TYPE_5X5;5×5 @@ -1110,8 +1561,8 @@ TP_DIRPYRDENOISE_TYPE_5X5SOFT;5×5柔和 TP_DIRPYRDENOISE_TYPE_7X7;7×7 TP_DIRPYRDENOISE_TYPE_9X9;9×9 TP_DIRPYREQUALIZER_ALGO;皮肤色彩范围 -TP_DIRPYREQUALIZER_ARTIF;减少杂色 -TP_DIRPYREQUALIZER_HUESKIN;皮肤色相 +TP_DIRPYREQUALIZER_ARTIF;减轻杂点 +TP_DIRPYREQUALIZER_HUESKIN;肤色和其他色彩 TP_DIRPYREQUALIZER_LABEL;分频反差调整 TP_DIRPYREQUALIZER_LUMACOARSEST;最粗糙 TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;反差 - @@ -1119,18 +1570,24 @@ TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;反差 + TP_DIRPYREQUALIZER_LUMAFINEST;最精细 TP_DIRPYREQUALIZER_LUMANEUTRAL;还原 TP_DIRPYREQUALIZER_SKIN;肤色针对/保护 +TP_DIRPYREQUALIZER_SKIN_TOOLTIP;-100:肤色被针对\n0:所有色彩被同等对待\n+100:肤色受到保护,其他颜色将受到影响 TP_DIRPYREQUALIZER_THRESHOLD;阈值 TP_DISTORTION_AMOUNT;数量 +TP_DISTORTION_AUTO_TOOLTIP;如果Raw文件内有矫正畸变的内嵌JPEG,则会将Raw图像与其对比并自动矫正畸变 TP_DISTORTION_LABEL;畸变 +TP_EPD_EDGESTOPPING;边缘敏感度 +TP_EPD_GAMMA;伽马 TP_EPD_LABEL;色调映射 -TP_EPD_SCALE;拉伸 +TP_EPD_REWEIGHTINGITERATES;再加权迭代 +TP_EPD_SCALE;规模度 TP_EPD_STRENGTH;力度 TP_EXPOSURE_AUTOLEVELS;自动色阶 +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;使用自动色阶来让程序分析图像,调整曝光滑条的数值\n如果有需要的话,启用高光还原 TP_EXPOSURE_BLACKLEVEL;黑点 -TP_EXPOSURE_BRIGHTNESS;光亮度 +TP_EXPOSURE_BRIGHTNESS;亮度 TP_EXPOSURE_CLAMPOOG;令超出色域的色彩溢出 TP_EXPOSURE_CLIP;可溢出% -TP_EXPOSURE_CLIP_TIP;自动色阶功能可以让占总数的多少比例的像素溢出 +TP_EXPOSURE_CLIP_TOOLTIP;自动色阶功能可以让占总数的多少比例的像素溢出 TP_EXPOSURE_COMPRHIGHLIGHTS;高光压缩 TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;高光压缩阈值 TP_EXPOSURE_COMPRSHADOWS;阴影压缩 @@ -1143,7 +1600,7 @@ TP_EXPOSURE_EXPCOMP;曝光补偿 TP_EXPOSURE_HISTMATCHING;自适应色调曲线 TP_EXPOSURE_HISTMATCHING_TOOLTIP;自动调整滑条和曲线(不包括曝光补偿)以使图片贴近于内嵌于Raw的JPEG预览图 TP_EXPOSURE_LABEL;曝光 -TP_EXPOSURE_SATURATION;色彩饱和度 +TP_EXPOSURE_SATURATION;饱和度 TP_EXPOSURE_TCMODE_FILMLIKE;仿胶片式 TP_EXPOSURE_TCMODE_LABEL1;曲线模式1 TP_EXPOSURE_TCMODE_LABEL2;曲线模式2 @@ -1154,8 +1611,22 @@ TP_EXPOSURE_TCMODE_STANDARD;标准 TP_EXPOSURE_TCMODE_WEIGHTEDSTD;加权标准 TP_EXPOS_BLACKPOINT_LABEL;Raw黑点 TP_EXPOS_WHITEPOINT_LABEL;Raw白点 +TP_FILMNEGATIVE_BLUE;蓝色比例 +TP_FILMNEGATIVE_BLUEBALANCE;冷/暖 +TP_FILMNEGATIVE_COLORSPACE;反转色彩空间: +TP_FILMNEGATIVE_COLORSPACE_INPUT;输入色彩空间 +TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;选择用于负片反转的色彩空间:\n输入色彩空间: 在输入档案被应用之前进行反转,与之前版本的RT相同\n工作色彩空间: 在输入档案被应用之后进行反转,使用当前所选的工作档案 +TP_FILMNEGATIVE_COLORSPACE_WORKING;工作色彩空间 +TP_FILMNEGATIVE_GREEN;参照指数(反差) +TP_FILMNEGATIVE_GREENBALANCE;品红/绿 +TP_FILMNEGATIVE_GUESS_TOOLTIP;通过选取原图中的两个中性色(没有色彩)色块来自动确定红与蓝色的比例。两个色块的亮度应当有所差别。 TP_FILMNEGATIVE_LABEL;胶片负片 +TP_FILMNEGATIVE_OUT_LEVEL;输出亮度 TP_FILMNEGATIVE_PICK;选择(两个)中灰点 +TP_FILMNEGATIVE_RED;红色比例 +TP_FILMNEGATIVE_REF_LABEL;输入RGB: %1 +TP_FILMNEGATIVE_REF_PICK;选择白平衡点 +TP_FILMNEGATIVE_REF_TOOLTIP;为输出的正片选择一块灰色区域进行白平衡 TP_FILMSIMULATION_LABEL;胶片模拟 TP_FILMSIMULATION_SLOWPARSEDIR;RawTherapee被设置寻找用于胶片模拟工具的Hald CLUT图像,图像所在的文件夹加载时间过长。\n前往参数设置-图片处理-Hald CLUT路径\n以寻找被使用的文件夹是哪个。你应该令该文件夹指向一个只有Hald CLUT图像而没有其他图片的文件夹,而如果你不想用胶片模拟功能,就将它指向一个空文件夹。\n\n阅读RawPedia的Film Simulation词条以获取更多信息。\n\n你现在想取消扫描吗? TP_FILMSIMULATION_STRENGTH;力度 @@ -1208,13 +1679,20 @@ TP_ICM_INPUTPROFILE;输入配置 TP_ICM_LABEL;ICM TP_ICM_NOICM;无ICM:sRGB配置 TP_ICM_OUTPUTPROFILE;输出配置 +TP_ICM_PROFILEINTENT;渲染意图 +TP_ICM_SAVEREFERENCE_APPLYWB;应用白平衡 TP_ICM_TONECURVE;使用DCP色调曲线 +TP_ICM_TRCFRAME;抽象档案 TP_ICM_WORKINGPROFILE;当前配置 +TP_ICM_WORKING_ILLU_NONE;默认 +TP_ICM_WORKING_PRIM_NONE;默认 +TP_ICM_WORKING_TRC;色调响应曲线: +TP_ICM_WORKING_TRC_CUSTOM;自定义 TP_IMPULSEDENOISE_LABEL;脉冲噪声降低 TP_IMPULSEDENOISE_THRESH;阈值 TP_LABCURVE_AVOIDCOLORSHIFT;避免色彩偏移 -TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP;使色彩适应当前色彩空间范围, 并使用Munsell色矫正 -TP_LABCURVE_BRIGHTNESS;光强度 +TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP;使色彩适应当前色彩空间范围,并使用Munsell色矫正 +TP_LABCURVE_BRIGHTNESS;明度 TP_LABCURVE_CHROMATICITY;色度 TP_LABCURVE_CHROMA_TOOLTIP;若要应用黑白色调,将色度值降低为-100 TP_LABCURVE_CONTRAST;对比度 @@ -1233,7 +1711,7 @@ TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;根据色相(H)调整亮度(L),L=f(H) TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;根据亮度(L)调整亮度(L),L=f(L) TP_LABCURVE_LABEL;Lab调整 TP_LABCURVE_LCREDSK;将LC曲线的效果限定于红色和肤色 -TP_LABCURVE_LCREDSK_TIP;勾选该选项框,LC曲线就只会影响红色和肤色。\n取消勾选,它的效果就会应用到所有色彩上 +TP_LABCURVE_LCREDSK_TOOLTIP;勾选该选项框,LC曲线就只会影响红色和肤色。\n取消勾选,它的效果就会应用到所有色彩上 TP_LABCURVE_RSTPROTECTION;红色与肤色保护 TP_LABCURVE_RSTPRO_TOOLTIP;作用在色度滑条和CC曲线的调整上 TP_LENSGEOM_AUTOCROP;自动剪切 @@ -1256,11 +1734,276 @@ TP_LOCALCONTRAST_DARKNESS;暗部等级 TP_LOCALCONTRAST_LABEL;局部反差 TP_LOCALCONTRAST_LIGHTNESS;亮部等级 TP_LOCALCONTRAST_RADIUS;半径 +TP_LOCALLAB_ACTIVSPOT;启用点 +TP_LOCALLAB_AMOUNT;数量 +TP_LOCALLAB_ARTIF;形状检测 +TP_LOCALLAB_AUTOGRAY;自动平均亮度(Yb%) +TP_LOCALLAB_AUTOGRAYCIE;自动 +TP_LOCALLAB_AVOID;避免偏色 +TP_LOCALLAB_BALAN;ab-L平衡(ΔE) +TP_LOCALLAB_BALANH;色度(C)-色相(H)平衡(ΔE) +TP_LOCALLAB_BLCO;仅色度 +TP_LOCALLAB_BLINV;反转 +TP_LOCALLAB_BLLC;亮度&色度 +TP_LOCALLAB_BLLO;仅亮度 +TP_LOCALLAB_BLMED;中值 +TP_LOCALLAB_BLNOI_EXP;模糊 & 噪点 +TP_LOCALLAB_BLUFR;模糊/颗粒 & 去噪 +TP_LOCALLAB_BLUR;高斯模糊-噪点-颗粒 +TP_LOCALLAB_BLURCOL;半径 +TP_LOCALLAB_BLURDE;模糊形状检测 +TP_LOCALLAB_BLURLC;仅亮度 +TP_LOCALLAB_BLUR_TOOLNAME;模糊/颗粒 & 去噪 +TP_LOCALLAB_BUTTON_ADD;添加 +TP_LOCALLAB_BUTTON_DEL;删除 +TP_LOCALLAB_BUTTON_DUPL;复制 +TP_LOCALLAB_BUTTON_REN;重命名 +TP_LOCALLAB_BUTTON_VIS;显示/隐藏 +TP_LOCALLAB_CAM16_FRA;Cam16图像调整 +TP_LOCALLAB_CAMMODE;色貌模型 +TP_LOCALLAB_CATAD;色适应/Cat16 +TP_LOCALLAB_CBDL;分频反差调整 +TP_LOCALLAB_CBDLCLARI_TOOLTIP;增强中间调的局部反差 +TP_LOCALLAB_CBDL_ADJ_TOOLTIP;与小波相同。\n第一级(0)作用在2x2像素细节上\n最高级(5)作用在64x64像素细节上 +TP_LOCALLAB_CBDL_THRES_TOOLTIP;避免加锐噪点 +TP_LOCALLAB_CBDL_TOOLNAME;分频反差调整 +TP_LOCALLAB_CENTER_X;中心X +TP_LOCALLAB_CENTER_Y;中心Y +TP_LOCALLAB_CHROMA;彩度 +TP_LOCALLAB_CHROMACBDL;彩度 +TP_LOCALLAB_CHROMASKCOL;彩度 +TP_LOCALLAB_CHROML;彩度 (C) +TP_LOCALLAB_CHRRT;彩度 +TP_LOCALLAB_CIE;色貌(Cam16 & JzCzHz) +TP_LOCALLAB_CIEC;使用Ciecam环境参数 +TP_LOCALLAB_CIECONTFRA;对比度 +TP_LOCALLAB_CIEMODE;改变工具位置 +TP_LOCALLAB_CIEMODE_COM;默认 +TP_LOCALLAB_CIEMODE_DR;动态范围 +TP_LOCALLAB_CIEMODE_TM;色调映射 +TP_LOCALLAB_CIEMODE_WAV;小波 +TP_LOCALLAB_CIETOOLEXP;曲线 +TP_LOCALLAB_CIE_TOOLNAME;色貌(Cam16 & JzCzHz) +TP_LOCALLAB_CIRCRADIUS;调整点大小 +TP_LOCALLAB_COFR;色彩 & 亮度 +TP_LOCALLAB_COLORDE;ΔE预览颜色-密度 +TP_LOCALLAB_COLORSCOPE;范围(色彩工具) +TP_LOCALLAB_COLORSCOPE_TOOLTIP;总控色彩与亮度,阴影/高光,鲜明度工具的范围滑条\n其他工具中有单独进行范围控制的滑条 +TP_LOCALLAB_COLOR_CIE;色彩曲线 +TP_LOCALLAB_COLOR_TOOLNAME;色彩 & 亮度 +TP_LOCALLAB_COL_NAME;名称 +TP_LOCALLAB_COL_VIS;状态 +TP_LOCALLAB_CONTRAST;对比度 +TP_LOCALLAB_CONTTHR;反差阈值 +TP_LOCALLAB_CONTWFRA;局部反差 +TP_LOCALLAB_CSTHRESHOLD;小波层级 +TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;色调曲线 +TP_LOCALLAB_CURVES_CIE;色调曲线 +TP_LOCALLAB_DEHAFRA;去雾 +TP_LOCALLAB_DEHAZ;力度 +TP_LOCALLAB_DEHAZFRAME_TOOLTIP;移除环境雾,提升总体饱和度与细节\n可以移除偏色倾向,但也可能导致图片整体偏蓝,此现象可以用其他工具进行修正 +TP_LOCALLAB_DEHAZ_TOOLTIP;负值会增加雾 +TP_LOCALLAB_DENOI_EXP;去噪 +TP_LOCALLAB_DEPTH;纵深 +TP_LOCALLAB_DETAIL;局部反差 +TP_LOCALLAB_DETAILSH;细节 +TP_LOCALLAB_DIVGR;伽马 +TP_LOCALLAB_DUPLSPOTNAME;复制 +TP_LOCALLAB_EDGFRA;边缘锐度 +TP_LOCALLAB_EDGSHOW;显示所有工具 +TP_LOCALLAB_ELI;椭圆 +TP_LOCALLAB_ENABLE_AFTER_MASK;使用色调映射 +TP_LOCALLAB_EPSBL;细节 +TP_LOCALLAB_EV_NVIS;隐藏 +TP_LOCALLAB_EV_NVIS_ALL;隐藏所有 +TP_LOCALLAB_EV_VIS;显示 +TP_LOCALLAB_EV_VIS_ALL;显示所有 +TP_LOCALLAB_EXCLUF;排除 +TP_LOCALLAB_EXCLUF_TOOLTIP;“排除”模式能够避免重叠的点影响到排除点的区域。调整“范围”能够扩大不受影响的色彩\n你还可以向排除点中添加工具,并像普通点一样使用这些工具 +TP_LOCALLAB_EXCLUTYPE;调整点模式 +TP_LOCALLAB_EXECLU;排除点 +TP_LOCALLAB_EXFULL;整张图片 +TP_LOCALLAB_EXNORM;普通点 +TP_LOCALLAB_EXPCHROMA;色度补偿 +TP_LOCALLAB_EXPCOLOR_TOOLTIP;调整色彩,亮度,反差并且矫正细微的图像缺陷,如红眼/传感器灰尘等 +TP_LOCALLAB_EXPCOMP;曝光补偿ƒ +TP_LOCALLAB_EXPCOMPINV;曝光补偿 +TP_LOCALLAB_EXPCURV;曲线 +TP_LOCALLAB_EXPGRAD;渐变滤镜 +TP_LOCALLAB_EXPOSE;动态范围 & 曝光 +TP_LOCALLAB_EXPTOOL;曝光工具 +TP_LOCALLAB_EXP_TOOLNAME;动态范围 & 曝光 +TP_LOCALLAB_FATAMOUNT;数量 +TP_LOCALLAB_FATANCHOR;锚点 +TP_LOCALLAB_FATDETAIL;细节 +TP_LOCALLAB_FATFRA;动态范围压缩ƒ +TP_LOCALLAB_FATSHFRA;动态范围压缩蒙版 ƒ +TP_LOCALLAB_FFTMASK_TOOLTIP;使用傅立叶变换以得到更高的质量(处理用时与内存占用会上升) +TP_LOCALLAB_FFTW;ƒ - 使用快速傅立叶变换 +TP_LOCALLAB_FFTWBLUR;ƒ - 永远使用快速傅立叶变换 +TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +TP_LOCALLAB_GAM;伽马 +TP_LOCALLAB_GAMC;伽马 +TP_LOCALLAB_GAMFRA;色调响应曲线(TRC) +TP_LOCALLAB_GAMM;伽马 +TP_LOCALLAB_GAMMASKCOL;伽马 +TP_LOCALLAB_GAMSH;伽马 +TP_LOCALLAB_GRADANG;渐变角度 +TP_LOCALLAB_GRADANG_TOOLTIP;旋转角度(单位为°):-180 0 +180 +TP_LOCALLAB_GRADFRA;渐变滤镜蒙版 +TP_LOCALLAB_GRADLOGFRA;渐变滤镜亮度 +TP_LOCALLAB_GRADSTR;渐变力度 +TP_LOCALLAB_GRADSTRLUM;亮度渐变力度 +TP_LOCALLAB_GRAINFRA;胶片颗粒 1:1 +TP_LOCALLAB_GRAINFRA2;粗糙度 +TP_LOCALLAB_GRAIN_TOOLTIP;向图片中添加胶片式的颗粒 +TP_LOCALLAB_GRIDONE;色调映射 +TP_LOCALLAB_GRIDTWO;直接调整 +TP_LOCALLAB_GUIDFILTER;渐变滤镜半径 +TP_LOCALLAB_HHMASK_TOOLTIP;精确调整肤色等具体色相 +TP_LOCALLAB_HUECIE;色相 +TP_LOCALLAB_INVBL;反转 +TP_LOCALLAB_INVBL_TOOLTIP;若不希望使用“反转”,也有另外一种反选方式:使用两个调整点\n第一个点:整张图像\n\n第二个点:排除点 +TP_LOCALLAB_INVERS;反转 +TP_LOCALLAB_INVERS_TOOLTIP;使用“反转”选项会导致选择变少\n\n另外一种反选方式:使用两个调整点\n第一个点:整张图像\n\n第二个点:排除点 +TP_LOCALLAB_ISOGR;分布(ISO) +TP_LOCALLAB_JZLIGHT;视明度 +TP_LOCALLAB_JZSAT;饱和度 +TP_LOCALLAB_JZSHFRA;阴影/高光 Jz +TP_LOCALLAB_LABBLURM;Blur Mask +TP_LOCALLAB_LABEL;局部调整 +TP_LOCALLAB_LABGRID;色彩矫正网格 +TP_LOCALLAB_LC_TOOLNAME;局部反差 & 小波 +TP_LOCALLAB_LEVELWAV;小波层级 +TP_LOCALLAB_LIGHTNESS;明度 +TP_LOCALLAB_LIGHTRETI;明度 +TP_LOCALLAB_LIST_NAME;向当前调整点添加工具... +TP_LOCALLAB_LOC_CONTRAST;局部反差 & 小波 +TP_LOCALLAB_LOG;Log编码 +TP_LOCALLAB_LOG1FRA;CAM16图像调整 +TP_LOCALLAB_LOG2FRA;观察条件 +TP_LOCALLAB_LOGAUTO;自动 +TP_LOCALLAB_LOGEXP;所有工具 +TP_LOCALLAB_LOGFRA;场景条件 +TP_LOCALLAB_LOGIMAGE_TOOLTIP;将CIECAM的相关参数一同进行考虑,参数包括:对比度(J),饱和度(s),以及对比度(Q),视明度(Q),明度(J),视彩度(M)(在高级模式下) +TP_LOCALLAB_LOGLIGHTL;明度 (J) +TP_LOCALLAB_LOGLIGHTL_TOOLTIP;与L*a*b*的明度相近。会考虑到感知色彩的变化 +TP_LOCALLAB_LOGLIGHTQ;视明度 (Q) +TP_LOCALLAB_LOGREPART;总体力度 +TP_LOCALLAB_LOG_TOOLNAME;Log编码 +TP_LOCALLAB_LUMADARKEST;最暗 +TP_LOCALLAB_LUMAWHITESEST;最亮 +TP_LOCALLAB_LUMFRA;L*a*b*标准 +TP_LOCALLAB_MASK;曲线 +TP_LOCALLAB_MASK2;对比度曲线 +TP_LOCALLAB_MASKDDECAY;衰减力度 +TP_LOCALLAB_MASKRECOTHRES;恢复阈值 +TP_LOCALLAB_MODE_EXPERT;高级 +TP_LOCALLAB_MODE_NORMAL;标准 +TP_LOCALLAB_MODE_SIMPLE;基础 +TP_LOCALLAB_MRONE;无 +TP_LOCALLAB_MRTHR;原图 +TP_LOCALLAB_NEIGH;半径 +TP_LOCALLAB_NLDET;细节恢复 +TP_LOCALLAB_NLGAM;伽马 +TP_LOCALLAB_NLLUM;力度 +TP_LOCALLAB_NOISEGAM;伽马 +TP_LOCALLAB_NOISELUMDETAIL;亮度细节恢复 +TP_LOCALLAB_NOISEMETH;去噪 +TP_LOCALLAB_NOISE_TOOLTIP;增加亮度噪点 +TP_LOCALLAB_NONENOISE;无 +TP_LOCALLAB_OFFS;偏移 +TP_LOCALLAB_OFFSETWAV;偏移 +TP_LOCALLAB_OPACOL;不透明度 +TP_LOCALLAB_PASTELS2;鲜明度 +TP_LOCALLAB_PREVHIDE;隐藏额外设置 +TP_LOCALLAB_PREVIEW;预览ΔE +TP_LOCALLAB_PREVSHOW;显示额外设置 +TP_LOCALLAB_PROXI;ΔE衰减 +TP_LOCALLAB_QUAAGRES;激进 +TP_LOCALLAB_QUACONSER;保守 +TP_LOCALLAB_QUALCURV_METHOD;曲线类型 +TP_LOCALLAB_RADIUS;半径 +TP_LOCALLAB_RECT;矩形 +TP_LOCALLAB_REN_DIALOG_LAB;为控制点输入新的名称 +TP_LOCALLAB_REN_DIALOG_NAME;重命名控制点 +TP_LOCALLAB_RESID;残差图 +TP_LOCALLAB_RESIDHI;高光 +TP_LOCALLAB_RESIDHITHR;高光阈值 +TP_LOCALLAB_RESIDSHA;阴影 +TP_LOCALLAB_RESIDSHATHR;阴影阈值 +TP_LOCALLAB_RETI;去雾 & Retinex +TP_LOCALLAB_RET_TOOLNAME;去雾 & Retinex +TP_LOCALLAB_REWEI;再加权迭代 +TP_LOCALLAB_RGB;RGB色调曲线 +TP_LOCALLAB_RGBCURVE_TOOLTIP;RGB模式下有四个选择:标准,加权标准,亮度,以及仿胶片式 +TP_LOCALLAB_ROW_NVIS;隐藏 +TP_LOCALLAB_ROW_VIS;可见 +TP_LOCALLAB_SATUR;饱和度 +TP_LOCALLAB_SATURV;饱和度 (s) +TP_LOCALLAB_SENSI;范围 +TP_LOCALLAB_SENSIEXCLU;范围 +TP_LOCALLAB_SETTINGS;设置 +TP_LOCALLAB_SH1;阴影与高光 +TP_LOCALLAB_SH2;均衡器 +TP_LOCALLAB_SHADEX;阴影 +TP_LOCALLAB_SHADEXCOMP;阴影压缩 +TP_LOCALLAB_SHADHIGH;阴影/高光 & 色调均衡器 +TP_LOCALLAB_SHAMASKCOL;阴影 +TP_LOCALLAB_SHAPETYPE;RT调整点形状 +TP_LOCALLAB_SHAPE_TOOLTIP;“椭圆”是正常模式\n部分情况下会用到“矩形”,比如需要让一个调整点覆盖整张图片的时候,便可以使用矩形点,并将限位点拖移到图片之外。这种情况需要你将过渡值设为100\n\n未来会开发多边形调整点与贝塞尔曲线 +TP_LOCALLAB_SHARAMOUNT;数量 +TP_LOCALLAB_SHARBLUR;模糊半径 +TP_LOCALLAB_SHARITER;迭代 +TP_LOCALLAB_SHARP;锐化 +TP_LOCALLAB_SHARP_TOOLNAME;锐化 +TP_LOCALLAB_SHARRADIUS;半径 +TP_LOCALLAB_SHOWMASK;显示蒙版 +TP_LOCALLAB_SHOWMASKTYP1;模糊 & 噪点 +TP_LOCALLAB_SHOWMASKTYP2;去噪 +TP_LOCALLAB_SHOWMASKTYP3;模糊 & 噪点 + 去噪 +TP_LOCALLAB_SHOWREF;预览ΔE +TP_LOCALLAB_SHRESFRA;阴影/高光 & 色调响应曲线 +TP_LOCALLAB_SH_TOOLNAME;阴影/高光 & 色调均衡器 +TP_LOCALLAB_SIGMAWAV;衰减响应 +TP_LOCALLAB_SIGMOIDLAMBDA;对比度 +TP_LOCALLAB_SOFTM;柔光 +TP_LOCALLAB_SOFTRETI;减少ΔE杂点 +TP_LOCALLAB_SOURCE_ABS;绝对亮度 +TP_LOCALLAB_SOURCE_GRAY;平均亮度(Yb%) +TP_LOCALLAB_SPOTNAME;建立新调整点 +TP_LOCALLAB_STD;标准 +TP_LOCALLAB_STR;力度 +TP_LOCALLAB_STRBL;力度 +TP_LOCALLAB_STREN;压缩力度 +TP_LOCALLAB_STRENG;力度 +TP_LOCALLAB_STRENGR;力度 +TP_LOCALLAB_STRENGTH;噪点 +TP_LOCALLAB_STRGRID;力度 +TP_LOCALLAB_TARGET_GRAY;平均亮度(Yb%) +TP_LOCALLAB_TM;色调映射 +TP_LOCALLAB_TONE_TOOLNAME;色调映射 +TP_LOCALLAB_TOOLMASK_2;小波 +TP_LOCALLAB_TRANSIT;渐变过渡 +TP_LOCALLAB_TRANSITGRAD;横纵过渡差 +TP_LOCALLAB_TRANSITGRAD_TOOLTIP;允许你对纵向过渡进行调整 +TP_LOCALLAB_TRANSITVALUE;过渡值 +TP_LOCALLAB_TRANSITWEAK;渐变衰减(线性-对数) +TP_LOCALLAB_VIBRANCE;鲜明度 & 冷暖 +TP_LOCALLAB_VIB_TOOLNAME;鲜明度 & 冷暖 +TP_LOCALLAB_WARM;冷暖 & 杂色 +TP_LOCALLAB_WARM_TOOLTIP;此滑条使用CIECAM算法,表现为白平衡控制工具,令选中区域的色温偏冷/暖\n部分情况下此工具可以减少色彩杂点 +TP_LOCALLAB_WAV;局部反差 +TP_LOCALLAB_WAVDEN;亮度去噪 +TP_LOCALLAB_WAVE;小波 +TP_LOCALLAB_WAVEDG;局部反差 +TP_LOCALLAB_WAVMASK;局部反差 TP_METADATA_EDIT;应用修改 TP_METADATA_MODE;元数据复制模式 TP_METADATA_STRIP;移除所有元数据 +TP_METADATA_TUNNEL;原样复制 TP_NEUTRAL;重置 -TP_NEUTRAL_TIP;还原各个曝光控制滑条的值\n自动色阶所能调整的滑条都会被此还原,不论你是否使用了自动色阶功能 +TP_NEUTRAL_TOOLTIP;还原各个曝光控制滑条的值\n自动色阶所能调整的滑条都会被此还原,不论你是否使用了自动色阶功能 TP_PCVIGNETTE_FEATHER;羽化 TP_PCVIGNETTE_FEATHER_TOOLTIP;羽化:\n0 = 仅边角\n50 = 到达一半的位置\n100 = 到达中心 TP_PCVIGNETTE_LABEL;暗角滤镜 @@ -1269,11 +2012,23 @@ TP_PCVIGNETTE_ROUNDNESS_TOOLTIP;圆度:\n0 = 矩形\n50 = 适于图像的椭 TP_PCVIGNETTE_STRENGTH;力度 TP_PCVIGNETTE_STRENGTH_TOOLTIP;滤镜的曝光补偿力度(到达边角) TP_PDSHARPENING_LABEL;捕图加锐 +TP_PERSPECTIVE_CAMERA_CROP_FACTOR;裁切系数 +TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;焦距 +TP_PERSPECTIVE_CAMERA_FRAME;矫正 +TP_PERSPECTIVE_CAMERA_PITCH;垂直 +TP_PERSPECTIVE_CAMERA_ROLL;旋转 +TP_PERSPECTIVE_CAMERA_YAW;水平 +TP_PERSPECTIVE_CONTROL_LINES;控制线 +TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+拖移:画一条新线\n右击:删除线 +TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;必须有至少两条水平或两条垂直控制线 TP_PERSPECTIVE_HORIZONTAL;水平 TP_PERSPECTIVE_LABEL;视角 +TP_PERSPECTIVE_METHOD;方法 +TP_PERSPECTIVE_METHOD_CAMERA_BASED;基于相机 +TP_PERSPECTIVE_METHOD_SIMPLE;简单 TP_PERSPECTIVE_VERTICAL;垂直 TP_PFCURVE_CURVEEDITOR_CH;色相 -TP_PFCURVE_CURVEEDITOR_CH_TOOLTIP;控制去除某个色彩的色边的力度。\n越向上 = 越强,\n越向下 = 越弱 +TP_PFCURVE_CURVEEDITOR_CH_TOOLTIP;控制去除某个色彩的色边的力度。\n越向上 = 越强\n越向下 = 越弱 TP_PREPROCESS_DEADPIXFILT;坏点过滤器 TP_PREPROCESS_DEADPIXFILT_TOOLTIP;尝试过滤坏点 TP_PREPROCESS_GREENEQUIL;绿平衡 @@ -1288,6 +2043,10 @@ TP_PREPROCESS_LINEDENOISE_DIRECTION_PDAF_LINES;横向,只在PDAF点所在的 TP_PREPROCESS_LINEDENOISE_DIRECTION_VERTICAL;纵向 TP_PREPROCESS_NO_FOUND;未检测出 TP_PREPROCESS_PDAFLINESFILTER;PDAF条纹过滤器 +TP_PREPROCWB_LABEL;预处理白平衡 +TP_PREPROCWB_MODE;模式 +TP_PREPROCWB_MODE_AUTO;自动 +TP_PREPROCWB_MODE_CAMERA;相机 TP_PRSHARPENING_LABEL;调整大小后加锐 TP_PRSHARPENING_TOOLTIP;在调整图片大小后加锐图像。仅在选择"Lanczos"算法时可用。\n本工具的效果无法预览。见RawPedia的文章以了解本工具的使用教程 TP_RAWCACORR_AUTO;自动修正 @@ -1323,21 +2082,22 @@ TP_RAW_DUALDEMOSAICAUTOCONTRAST_TOOLTIP;如果勾选框被打勾(推荐如此 TP_RAW_DUALDEMOSAICCONTRAST;反差阈值 TP_RAW_EAHD;EAHD TP_RAW_FALSECOLOR;伪色抑制步长 -TP_RAW_FAST;Fast TP_RAW_HD;阈值 TP_RAW_HD_TOOLTIP;更低的数值会使热像素/坏点的检测更加激进,但是“宁错杀,不放过”的激进程度可能会导致杂点的产生。在启用本功能后,如果你发现了新出现的杂点,就逐渐提高阈值,直至杂点消失 TP_RAW_HPHD;HPHD TP_RAW_IGV;IGV TP_RAW_IMAGENUM;子图像 TP_RAW_IMAGENUM_SN;SN模式 -TP_RAW_IMAGENUM_TOOLTIP;某些Raw文件包含多张子图像(宾得/索尼的像素偏移,宾得的3张合并HDR,佳能的双像素,富士的EXR)。\n\n当使用除像素偏移外的任意一个去马赛克算法时,本栏用来选择哪帧子图像被处理。\n\n当在像素偏移的Raw文件上使用像素偏移去马赛克算法时,所有子图像都会被应用,此时本栏用来选择哪帧子图像被用来处理动体 +TP_RAW_IMAGENUM_TOOLTIP;某些Raw文件包含多张子图像(宾得/索尼的像素偏移,宾得的3张合并HDR,佳能的双像素,富士的EXR)。\n\n当使用除像素偏移外的任意一个去马赛克算法时,本栏用来选择哪帧子图像被处理。\n\n当在像素偏移Raw文件上使用像素偏移去马赛克算法时,所有子图像都会被使用,此时本栏用来选择哪帧子图像被用来处理动体 TP_RAW_LABEL;去马赛克 TP_RAW_LMMSE;LMMSE TP_RAW_LMMSEITERATIONS;LMMSE优化步长 -TP_RAW_LMMSE_TOOLTIP;添加gamma(步长1),中位数(步长2-4)和精细化(步长5-6)以减少杂点并提升信噪比 +TP_RAW_LMMSE_TOOLTIP;增加伽马(步长1),中位数(步长2-4)和精细化(步长5-6)以减少杂点并提升信噪比 TP_RAW_MONO;黑白 TP_RAW_NONE;无(显示传感器阵列) TP_RAW_PIXELSHIFT;像素偏移 +TP_RAW_PIXELSHIFTAVERAGE;对动体区域使用平均值 +TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;动体区域的内容将会变为四张图片平均混合的结果\n对于缓慢移动的物体会有运动模糊的效果 TP_RAW_PIXELSHIFTBLUR;动体蒙版模糊 TP_RAW_PIXELSHIFTDMETHOD;动体区域的去马赛克算法 TP_RAW_PIXELSHIFTEPERISO;敏感度 @@ -1388,6 +2148,14 @@ TP_RETINEX_CONTEDIT_LAB;L*a*b*直方图 TP_RETINEX_CONTEDIT_LH;色调 TP_RETINEX_CONTEDIT_MAP;均衡器 TP_RETINEX_EQUAL;均衡器 +TP_RETINEX_HIGHLIG;高光 +TP_RETINEX_HIGHLIGHT;高光阈值 +TP_RETINEX_ITERF;色调映射 +TP_RETINEX_NEIGHBOR;半径 +TP_RETINEX_NEUTRAL;重置 +TP_RETINEX_SETTINGS;设置 +TP_RETINEX_STRENGTH;力度 +TP_RETINEX_THRESHOLD;阈值 TP_RETINEX_VIEW_UNSHARP;USM锐化 TP_RGBCURVES_BLUE;B TP_RGBCURVES_CHANNEL;通道 @@ -1399,7 +2167,7 @@ TP_RGBCURVES_RED;R TP_ROTATE_DEGREE;角度 TP_ROTATE_LABEL;旋转 TP_ROTATE_SELECTLINE;选择基准线 -TP_SAVEDIALOG_OK_TIP;快捷键:Ctrl-Enter +TP_SAVEDIALOG_OK_TOOLTIP;快捷键:Ctrl-Enter TP_SHADOWSHLIGHTS_HIGHLIGHTS;高光 TP_SHADOWSHLIGHTS_HLTONALW;色调范围 TP_SHADOWSHLIGHTS_LABEL;阴影/高光 @@ -1434,13 +2202,32 @@ TP_SHARPENMICRO_CONTRAST;反差阈值 TP_SHARPENMICRO_LABEL;微反差 TP_SHARPENMICRO_MATRIX;使用3×3阵列而非5×5阵列 TP_SHARPENMICRO_UNIFORMITY;均匀度 +TP_SOFTLIGHT_LABEL;柔光 +TP_SOFTLIGHT_STRENGTH;力度 +TP_SPOT_COUNTLABEL;%1个点 +TP_SPOT_DEFAULT_SIZE;默认点大小 +TP_SPOT_HINT;点击此按钮后便可在预览图中进行操作\n\n若要编辑一个点,将光标移动到点上,令编辑圆出现\n\n若要添加一个点,按住Ctrl键并单击鼠标左键,然后松开Ctrl键,单击生成的点,将鼠标拖移到你希望用于复制的区域上,最后松开鼠标\n\n如要拖移复制/被复制点,将光标移到点的中心后进行拖移\n\n将鼠标移动到内圈(最大有效区域)和外“渐变”圈的白线上可以更改它们的大小(线会变为橙色),拖动圈线即可(线会继续变红)\n\n完成调整后,鼠标右键单击图片空白区域或再次点击此按钮便可退出污点编辑模式 +TP_SPOT_LABEL;污点移除 TP_TM_FATTAL_AMOUNT;数量 TP_TM_FATTAL_ANCHOR;锚点 TP_TM_FATTAL_LABEL;动态范围压缩 TP_TM_FATTAL_THRESHOLD;细节 TP_VIBRANCE_AVOIDCOLORSHIFT;避免偏色 +TP_VIBRANCE_CURVEEDITOR_SKINTONES_LABEL;肤色 +TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE1;红/紫 +TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE2;红 +TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE3;红/黄 +TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE4;黄 TP_VIBRANCE_CURVEEDITOR_SKINTONES_TOOLTIP;根据色相(H)调整色相(H),H=f(H) +TP_VIBRANCE_LABEL;鲜明度 +TP_VIBRANCE_PASTELS;欠饱和色调 +TP_VIBRANCE_PASTSATTOG;将饱和色与欠饱和色挂钩 TP_VIBRANCE_PROTECTSKINS;保护肤色 +TP_VIBRANCE_PSTHRESHOLD;欠饱和/饱和色阈值 +TP_VIBRANCE_PSTHRESHOLD_SATTHRESH;饱和度阈值 +TP_VIBRANCE_PSTHRESHOLD_TOOLTIP;纵向底部代表欠饱和色,顶部代表饱和色\n横轴代表整个饱和度范围 +TP_VIBRANCE_PSTHRESHOLD_WEIGTHING;欠饱和/饱和色过渡权重 +TP_VIBRANCE_SATURATED;饱和色调 TP_VIGNETTING_AMOUNT;数量 TP_VIGNETTING_CENTER;中心 TP_VIGNETTING_CENTER_X;中心 X @@ -1464,8 +2251,14 @@ TP_WAVELET_B1;灰色 TP_WAVELET_B2;残差图 TP_WAVELET_BACKGROUND;背景 TP_WAVELET_BACUR;曲线 +TP_WAVELET_BALANCE;反差平衡 斜/纵-横 +TP_WAVELET_BALANCE_TOOLTIP;调整小波在各方向:纵向-横向与斜向上的平衡。\n如果启用了反差,色度,或是残差图色调映射,那么该平衡的效果会被放大 +TP_WAVELET_BALCHRO;色度平衡 +TP_WAVELET_BALCHRO_TOOLTIP;启用后,“反差平衡”曲线/滑条也会调整色度平衡 TP_WAVELET_BANONE;无 TP_WAVELET_BASLI;滑条 +TP_WAVELET_BATYPE;反差平衡方法 +TP_WAVELET_BLUWAV;衰减响应 TP_WAVELET_CCURVE;局部反差 TP_WAVELET_CH1;应用到整个色度范围 TP_WAVELET_CH2;根据饱和度高低 @@ -1475,7 +2268,13 @@ TP_WAVELET_CHR;色度-反差挂钩力度 TP_WAVELET_CHRO;根据饱和度高低 TP_WAVELET_CHSL;滑条 TP_WAVELET_CHTYPE;色度应用方法 +TP_WAVELET_COLORT;红-绿不透明度 TP_WAVELET_COMPCONT;反差 +TP_WAVELET_COMPEXPERT;高级 +TP_WAVELET_COMPLEXLAB;工具复杂度 +TP_WAVELET_COMPLEX_TOOLTIP;标准:显示适用于大部分后期处理的工具,少部分被隐藏\n高级:显示可以用于高级操作的完整工具列表 +TP_WAVELET_COMPNORMAL;标准 +TP_WAVELET_COMPTM;色调映射 TP_WAVELET_CONTR;色彩范围 TP_WAVELET_CONTRA;反差 TP_WAVELET_CONTRAST_MINUS;反差 - @@ -1489,32 +2288,46 @@ TP_WAVELET_DAUB4;D4-标准 TP_WAVELET_DAUB6;D6-标准增强 TP_WAVELET_DAUB10;D10-中等 TP_WAVELET_DAUB14;D14-高 -TP_WAVELET_DAUB_TOOLTIP;改变多贝西系数:\nD4 = 标准,\nD14 = 一般而言表现最好,但会增加10%的处理耗时。\n\n影响边缘检测以及较低层级的质量。但是质量不完全和这个系数有关,可能会随具体的图像和处理方式而变化 +TP_WAVELET_DAUB_TOOLTIP;改变多贝西系数:\nD4 = 标准\nD14 = 一般而言表现最好,但会增加10%的处理耗时\n\n影响边缘检测以及较低层级的质量。但是质量不完全和该系数有关,可能会随具体的图像和处理方式而变化 +TP_WAVELET_DENOISEHUE;去噪色相均衡器 +TP_WAVELET_DENQUA;模式 +TP_WAVELET_DENSLI;滑条 +TP_WAVELET_DENWAVHUE_TOOLTIP;根据色相来增强/减弱降噪力度 +TP_WAVELET_DETEND;细节 TP_WAVELET_DONE;纵向 TP_WAVELET_DTHR;斜向 TP_WAVELET_DTWO;横向 TP_WAVELET_EDCU;曲线 +TP_WAVELET_EDEFFECT;衰减响应 TP_WAVELET_EDGCONT;局部反差 TP_WAVELET_EDGE;边缘锐度 +TP_WAVELET_EDGEAMPLI;放大基数 +TP_WAVELET_EDGEDETECT;渐变敏感度 +TP_WAVELET_EDGESENSI;边缘敏感度 +TP_WAVELET_EDGREINF_TOOLTIP;增强或减弱对于第一级的调整,并对第二级的强弱进行与之相反的调整,其他层级不受影响 TP_WAVELET_EDGTHRESH;细节 TP_WAVELET_EDGTHRESH_TOOLTIP;改变力度在第1级和其它层级之间的分配。阈值越高,在第1级上的活动越突出。谨慎使用负值,因为这会让更高层级上的活动更强烈,可能导致杂点的出现。 TP_WAVELET_EDRAD;半径 TP_WAVELET_EDSL;阈值滑条 +TP_WAVELET_EDTYPE;局部反差调整方法 TP_WAVELET_EDVAL;力度 +TP_WAVELET_FINAL;最终润色 +TP_WAVELET_FINCFRAME;最终局部反差 TP_WAVELET_FINEST;最精细 +TP_WAVELET_HIGHLIGHT;精细层级范围 TP_WAVELET_HS1;全部亮度范围 -TP_WAVELET_HS2;阴影/高光 +TP_WAVELET_HS2;选择性亮度范围 TP_WAVELET_HUESKIN;肤色和其它色彩 -TP_WAVELET_HUESKY;天空色 +TP_WAVELET_HUESKY;色相范围 TP_WAVELET_LABEL;小波层级 TP_WAVELET_LARGEST;最粗糙 TP_WAVELET_LEVCH;色度 TP_WAVELET_LEVDIR_ALL;所有方向的全部层级 -TP_WAVELET_LEVDIR_INF;小于等于此层级 +TP_WAVELET_LEVDIR_INF;更精细的细节层级(包括此层级) TP_WAVELET_LEVDIR_ONE;一个层级 -TP_WAVELET_LEVDIR_SUP;高于此层级 +TP_WAVELET_LEVDIR_SUP;更粗糙的细节层级(不包括此层级) TP_WAVELET_LEVELS;小波层级数 -TP_WAVELET_LEVELS_TOOLTIP;选择将图像分解为几个层级的细节。更多的层级需要使用更多的内存和更长的处理时间 +TP_WAVELET_LEVELS_TOOLTIP;选择将图像进行小波分解后生成的层级数量。\n更多的层级需要使用更多的内存和更长的处理时间 TP_WAVELET_LEVF;反差 TP_WAVELET_LEVLABEL;当前预览中可见的层级数 = %1 TP_WAVELET_LEVONE;第2级 @@ -1522,12 +2335,28 @@ TP_WAVELET_LEVTHRE;第4级 TP_WAVELET_LEVTWO;第3级 TP_WAVELET_LEVZERO;第1级 TP_WAVELET_LINKEDG;与边缘锐度的力度挂钩 +TP_WAVELET_LIPST;算法增强 +TP_WAVELET_LOWLIGHT;粗糙层级亮度范围 +TP_WAVELET_LOWTHR_TOOLTIP;避免放大细节和噪点 TP_WAVELET_MEDGREINF;第一层级 TP_WAVELET_MEDI;减少蓝天中的杂点 +TP_WAVELET_MEDILEV;边缘检测 +TP_WAVELET_MIXDENOISE;去噪 +TP_WAVELET_MIXNOISE;噪点 TP_WAVELET_NEUTRAL;还原 TP_WAVELET_NOIS;去噪 TP_WAVELET_NOISE;去噪和精细化 +TP_WAVELET_NPHIGH;高 +TP_WAVELET_NPLOW;低 +TP_WAVELET_NPNONE;无 +TP_WAVELET_NPTYPE;临近像素 +TP_WAVELET_OPACITY;蓝-黄不透明度 +TP_WAVELET_OPACITYW;反差平衡 斜/纵-横曲线 +TP_WAVELET_OPACITYWL;局部反差 +TP_WAVELET_PASTEL;欠饱和色 TP_WAVELET_PROC;处理 +TP_WAVELET_QUAAGRES;激进 +TP_WAVELET_QUACONSER;保守 TP_WAVELET_RE1;增强 TP_WAVELET_RE2;不变 TP_WAVELET_RE3;减弱 @@ -1535,31 +2364,50 @@ TP_WAVELET_RESCHRO;色度 TP_WAVELET_RESCON;阴影 TP_WAVELET_RESCONH;高光 TP_WAVELET_RESID;残差图像 +TP_WAVELET_SAT;饱和色 TP_WAVELET_SETTINGS;小波设定 +TP_WAVELET_SHFRAME;阴影/高光 +TP_WAVELET_SIGM;半径 +TP_WAVELET_SIGMA;衰减响应 +TP_WAVELET_SIGMAFIN;衰减响应 TP_WAVELET_SKIN;肤色针对/保护 +TP_WAVELET_SKIN_TOOLTIP;值为-100时,肤色受针对\n值为0时,所有色彩被平等针对\n值为+100时,肤色受保护,所有其他颜色会被调整 +TP_WAVELET_SKY;色相针对/保护 +TP_WAVELET_SKY_TOOLTIP;允许你针对或保护某个范围的色相。\n值为-100时,被选中的色相受针对\n值为0时,所有色相会被平等针对\n值为+100时,被选中色相受保护,其他所有色相受到针对 TP_WAVELET_STREN;力度 +TP_WAVELET_STREND;力度 TP_WAVELET_STRENGTH;力度 TP_WAVELET_SUPE;额外级 TP_WAVELET_THR;阴影阈值 +TP_WAVELET_THREND;局部反差阈值 TP_WAVELET_THRH;高光阈值 TP_WAVELET_TILESBIG;大切片 TP_WAVELET_TILESFULL;整张图片 TP_WAVELET_TILESIZE;切片缓存方法 -TP_WAVELET_TILESLIT;小切片 TP_WAVELET_TILES_TOOLTIP;处理整张图片可以让图像质量更好,所以推荐使用该选项,切片缓存是给小内存用户的备用方法。阅读RawPedia的文章以了解具体的内存需求 +TP_WAVELET_TMSTRENGTH;压缩力度 +TP_WAVELET_TMSTRENGTH_TOOLTIP;控制对于残差图的色调映射/对比度压缩力度 +TP_WAVELET_TMTYPE;压缩方法 TP_WAVELET_TON;调色 +TP_WAVELET_WAVOFFSET;偏移 TP_WBALANCE_AUTO;自动 +TP_WBALANCE_AUTO_HEADER;自动 TP_WBALANCE_CAMERA;相机 TP_WBALANCE_CLOUDY;阴天 TP_WBALANCE_CUSTOM;自定义 TP_WBALANCE_DAYLIGHT;晴天 -TP_WBALANCE_EQBLUERED;蓝红平衡 +TP_WBALANCE_EQBLUERED;蓝红均衡器 TP_WBALANCE_FLASH55;徕卡 TP_WBALANCE_FLASH60;标准,佳能,宾得,奥林巴斯 TP_WBALANCE_FLASH65;尼康,松下,索尼,美能达 TP_WBALANCE_FLASH_HEADER;闪光 +TP_WBALANCE_FLUO1;F1 - 日光 +TP_WBALANCE_FLUO2;F2 - 冷白 +TP_WBALANCE_FLUO3;F3 - 白色 +TP_WBALANCE_FLUO4;F4 - 暖白 +TP_WBALANCE_FLUO5;F5 - 日光 TP_WBALANCE_FLUO_HEADER;荧光灯 -TP_WBALANCE_GREEN;色度 +TP_WBALANCE_GREEN;色调 TP_WBALANCE_LABEL;白平衡 TP_WBALANCE_LED_HEADER;LED TP_WBALANCE_METHOD;方法 @@ -1570,7 +2418,7 @@ TP_WBALANCE_SOLUX35;Solux 3500K TP_WBALANCE_SOLUX41;Solux 4100K TP_WBALANCE_SPOTWB;白平衡采样 TP_WBALANCE_TEMPBIAS;自动白平衡色温偏向 -TP_WBALANCE_TEMPBIAS_TOOLTIP;此功能允许你将色温向冷/暖偏移\n以调整计算出的“自动白平衡”。这个偏移被表达为已计\n算出的色温的一个百分比,故最终的调整结果为“色温+色温*偏移” +TP_WBALANCE_TEMPBIAS_TOOLTIP;此功能允许你将色温向冷/暖偏移,\n以调整计算出的“自动白平衡”。这个偏移被表达为已计\n算出的色温的一个百分比,故最终的调整结果为“色温+色温*偏移” TP_WBALANCE_TEMPERATURE;色温 TP_WBALANCE_TUNGSTEN;白炽灯 TP_WBALANCE_WATER1;水下 1 @@ -1588,166 +2436,23 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- ! Untranslated keys follow; remove the ! prefix after an entry is translated. !!!!!!!!!!!!!!!!!!!!!!!!! -!FILEBROWSER_POPUPINSPECT;Inspect -!GENERAL_DELETE_ALL;Delete all -!GENERAL_EDIT;Edit -!GENERAL_SAVE_AS;Save as... -!HISTOGRAM_TOOLTIP_CROSSHAIR;Show/Hide indicator crosshair. -!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. -!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. -!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram -!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram -!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade -!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope -!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope -!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform !HISTORY_MSG_112;--unused-- -!HISTORY_MSG_133;Output gamma -!HISTORY_MSG_134;Free gamma -!HISTORY_MSG_135;Free gamma -!HISTORY_MSG_136;Free gamma slope !HISTORY_MSG_137;Black level - Green 1 !HISTORY_MSG_138;Black level - Red !HISTORY_MSG_139;Black level - Blue !HISTORY_MSG_140;Black level - Green 2 !HISTORY_MSG_141;Black level - Link greens -!HISTORY_MSG_150;Post-demosaic artifact/noise red. -!HISTORY_MSG_151;Vibrance -!HISTORY_MSG_152;Vib - Pastel tones -!HISTORY_MSG_153;Vib - Saturated tones -!HISTORY_MSG_154;Vib - Protect skin-tones -!HISTORY_MSG_156;Vib - Link pastel/saturated -!HISTORY_MSG_157;Vib - P/S threshold -!HISTORY_MSG_161;TM - Reweighting iterates -!HISTORY_MSG_175;CAM02/16 - CAT02/16 adaptation -!HISTORY_MSG_176;CAM02/16 - Viewing surround -!HISTORY_MSG_177;CAM02/16 - Scene luminosity -!HISTORY_MSG_178;CAM02/16 - Viewing luminosity -!HISTORY_MSG_179;CAM02/16 - White-point model -!HISTORY_MSG_182;CAM02/16 - Automatic CAT02/16 -!HISTORY_MSG_184;CAM02/16 - Scene surround -!HISTORY_MSG_185;CAM02/16 - Gamut control -!HISTORY_MSG_197;CAM02/16 - Color curve -!HISTORY_MSG_198;CAM02/16 - Color curve -!HISTORY_MSG_199;CAM02/16 - Output histograms -!HISTORY_MSG_206;CAT02/16 - Auto scene luminosity -!HISTORY_MSG_208;WB - B/R equalizer -!HISTORY_MSG_214;Black-and-White -!HISTORY_MSG_215;B&W - CM - Red -!HISTORY_MSG_216;B&W - CM - Green -!HISTORY_MSG_217;B&W - CM - Blue -!HISTORY_MSG_218;B&W - Gamma - Red -!HISTORY_MSG_219;B&W - Gamma - Green -!HISTORY_MSG_220;B&W - Gamma - Blue -!HISTORY_MSG_221;B&W - Color filter -!HISTORY_MSG_222;B&W - Presets -!HISTORY_MSG_223;B&W - CM - Orange -!HISTORY_MSG_224;B&W - CM - Yellow -!HISTORY_MSG_225;B&W - CM - Cyan -!HISTORY_MSG_226;B&W - CM - Magenta -!HISTORY_MSG_227;B&W - CM - Purple -!HISTORY_MSG_228;B&W - Luminance equalizer -!HISTORY_MSG_229;B&W - Luminance equalizer -!HISTORY_MSG_230;B&W - Mode -!HISTORY_MSG_231;B&W - 'Before' curve -!HISTORY_MSG_232;B&W - 'Before' curve type -!HISTORY_MSG_233;B&W - 'After' curve -!HISTORY_MSG_234;B&W - 'After' curve type -!HISTORY_MSG_235;B&W - CM - Auto !HISTORY_MSG_236;--unused-- -!HISTORY_MSG_237;B&W - CM -!HISTORY_MSG_238;GF - Feather -!HISTORY_MSG_240;GF - Center -!HISTORY_MSG_241;VF - Feather -!HISTORY_MSG_242;VF - Roundness -!HISTORY_MSG_243;VC - Radius -!HISTORY_MSG_250;NR - Enhanced -!HISTORY_MSG_251;B&W - Algorithm -!HISTORY_MSG_257;Color Toning -!HISTORY_MSG_258;CT - Color curve -!HISTORY_MSG_259;CT - Opacity curve -!HISTORY_MSG_260;CT - a*[b*] opacity -!HISTORY_MSG_261;CT - Method -!HISTORY_MSG_262;CT - b* opacity -!HISTORY_MSG_263;CT - Shadows - Red -!HISTORY_MSG_264;CT - Shadows - Green -!HISTORY_MSG_265;CT - Shadows - Blue -!HISTORY_MSG_266;CT - Mid - Red -!HISTORY_MSG_267;CT - Mid - Green -!HISTORY_MSG_268;CT - Mid - Blue -!HISTORY_MSG_269;CT - High - Red -!HISTORY_MSG_270;CT - High - Green -!HISTORY_MSG_271;CT - High - Blue -!HISTORY_MSG_272;CT - Balance -!HISTORY_MSG_273;CT - Color Balance SMH -!HISTORY_MSG_274;CT - Sat. Shadows -!HISTORY_MSG_275;CT - Sat. Highlights -!HISTORY_MSG_276;CT - Opacity !HISTORY_MSG_277;--unused-- -!HISTORY_MSG_278;CT - Preserve luminance -!HISTORY_MSG_279;CT - Shadows -!HISTORY_MSG_280;CT - Highlights -!HISTORY_MSG_281;CT - Sat. strength -!HISTORY_MSG_282;CT - Sat. threshold -!HISTORY_MSG_283;CT - Strength -!HISTORY_MSG_284;CT - Auto sat. protection !HISTORY_MSG_290;Black Level - Red !HISTORY_MSG_291;Black Level - Green !HISTORY_MSG_292;Black Level - Blue -!HISTORY_MSG_300;- -!HISTORY_MSG_304;W - Contrast levels -!HISTORY_MSG_313;W - Chroma - Sat/past -!HISTORY_MSG_314;W - Gamut - Reduce artifacts -!HISTORY_MSG_315;W - Residual - Contrast -!HISTORY_MSG_316;W - Gamut - Skin tar/prot -!HISTORY_MSG_317;W - Gamut - Skin hue -!HISTORY_MSG_318;W - Contrast - Finer levels -!HISTORY_MSG_319;W - Contrast - Finer range -!HISTORY_MSG_320;W - Contrast - Coarser range -!HISTORY_MSG_321;W - Contrast - Coarser levels -!HISTORY_MSG_322;W - Gamut - Avoid color shift -!HISTORY_MSG_323;W - ES - Local contrast -!HISTORY_MSG_324;W - Chroma - Pastel -!HISTORY_MSG_325;W - Chroma - Saturated -!HISTORY_MSG_326;W - Chroma - Method -!HISTORY_MSG_327;W - Contrast - Apply to -!HISTORY_MSG_328;W - Chroma - Link strength -!HISTORY_MSG_329;W - Toning - Opacity RG -!HISTORY_MSG_330;W - Toning - Opacity BY -!HISTORY_MSG_331;W - Contrast levels - Extra -!HISTORY_MSG_332;W - Tiling method -!HISTORY_MSG_333;W - Residual - Shadows -!HISTORY_MSG_334;W - Residual - Chroma -!HISTORY_MSG_335;W - Residual - Highlights -!HISTORY_MSG_336;W - Residual - Highlights threshold -!HISTORY_MSG_337;W - Residual - Sky hue -!HISTORY_MSG_341;W - Edge performance -!HISTORY_MSG_342;W - ES - First level -!HISTORY_MSG_343;W - Chroma levels !HISTORY_MSG_344;W - Meth chroma sl/cur -!HISTORY_MSG_345;W - ES - Local contrast -!HISTORY_MSG_346;W - ES - Local contrast method -!HISTORY_MSG_350;W - ES - Edge detection -!HISTORY_MSG_351;W - Residual - HH curve !HISTORY_MSG_352;W - Background -!HISTORY_MSG_353;W - ES - Gradient sensitivity -!HISTORY_MSG_354;W - ES - Enhanced -!HISTORY_MSG_355;W - ES - Threshold low -!HISTORY_MSG_356;W - ES - Threshold high !HISTORY_MSG_358;W - Gamut - CH -!HISTORY_MSG_359;Hot/Dead - Threshold -!HISTORY_MSG_360;TM - Gamma -!HISTORY_MSG_361;W - Final - Chroma balance -!HISTORY_MSG_362;W - Residual - Compression method -!HISTORY_MSG_363;W - Residual - Compression strength -!HISTORY_MSG_364;W - Final - Contrast balance !HISTORY_MSG_365;W - Final - Delta balance !HISTORY_MSG_366;W - Residual - Compression gamma !HISTORY_MSG_367;W - Final - 'After' contrast curve -!HISTORY_MSG_368;W - Final - Contrast balance -!HISTORY_MSG_369;W - Final - Balance method -!HISTORY_MSG_370;W - Final - Local contrast curve -!HISTORY_MSG_385;W - Residual - Color balance !HISTORY_MSG_386;W - Residual - CB green high !HISTORY_MSG_387;W - Residual - CB blue high !HISTORY_MSG_388;W - Residual - CB green mid @@ -1765,12 +2470,8 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_400;W - Final sub-tool !HISTORY_MSG_401;W - Toning sub-tool !HISTORY_MSG_402;W - Denoise sub-tool -!HISTORY_MSG_403;W - ES - Edge sensitivity -!HISTORY_MSG_404;W - ES - Base amplification -!HISTORY_MSG_406;W - ES - Neighboring pixels !HISTORY_MSG_407;Retinex - Method !HISTORY_MSG_408;Retinex - Radius -!HISTORY_MSG_409;Retinex - Contrast !HISTORY_MSG_410;Retinex - Offset !HISTORY_MSG_411;Retinex - Strength !HISTORY_MSG_412;Retinex - Gaussian gradient @@ -1786,7 +2487,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_422;Retinex - Gamma !HISTORY_MSG_423;Retinex - Gamma slope !HISTORY_MSG_424;Retinex - HL threshold -!HISTORY_MSG_425;Retinex - Log base +!HISTORY_MSG_425;--unused-- !HISTORY_MSG_426;Retinex - Hue equalizer !HISTORY_MSG_427;Output rendering intent !HISTORY_MSG_428;Monitor rendering intent @@ -1801,43 +2502,26 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_437;Retinex - M - Method !HISTORY_MSG_438;Retinex - M - Equalizer !HISTORY_MSG_439;Retinex - Process -!HISTORY_MSG_440;CbDL - Method !HISTORY_MSG_441;Retinex - Gain transmission !HISTORY_MSG_442;Retinex - Scale !HISTORY_MSG_443;Output black point compensation !HISTORY_MSG_444;WB - Temp bias -!HISTORY_MSG_446;EvPixelShiftMotion -!HISTORY_MSG_447;EvPixelShiftMotionCorrection -!HISTORY_MSG_448;EvPixelShiftStddevFactorGreen -!HISTORY_MSG_450;EvPixelShiftNreadIso -!HISTORY_MSG_451;EvPixelShiftPrnu -!HISTORY_MSG_454;EvPixelShiftAutomatic -!HISTORY_MSG_455;EvPixelShiftNonGreenHorizontal -!HISTORY_MSG_456;EvPixelShiftNonGreenVertical -!HISTORY_MSG_458;EvPixelShiftStddevFactorRed -!HISTORY_MSG_459;EvPixelShiftStddevFactorBlue -!HISTORY_MSG_460;EvPixelShiftGreenAmaze -!HISTORY_MSG_461;EvPixelShiftNonGreenAmaze -!HISTORY_MSG_463;EvPixelShiftRedBlueWeight -!HISTORY_MSG_466;EvPixelShiftSum -!HISTORY_MSG_467;EvPixelShiftExp0 -!HISTORY_MSG_470;EvPixelShiftMedian3 -!HISTORY_MSG_476;CAM02/16 - Temp out -!HISTORY_MSG_477;CAM02/16 - Green out -!HISTORY_MSG_478;CAM02/16 - Yb out -!HISTORY_MSG_479;CAM02/16 - CAT02/16 adaptation out -!HISTORY_MSG_480;CAM02/16 - Automatic CAT02/16 out -!HISTORY_MSG_481;CAM02/16 - Temp scene -!HISTORY_MSG_482;CAM02/16 - Green scene -!HISTORY_MSG_483;CAM02/16 - Yb scene -!HISTORY_MSG_484;CAM02/16 - Auto Yb scene -!HISTORY_MSG_496;Local Spot deleted -!HISTORY_MSG_497;Local Spot selected -!HISTORY_MSG_498;Local Spot name -!HISTORY_MSG_499;Local Spot visibility -!HISTORY_MSG_500;Local Spot shape -!HISTORY_MSG_501;Local Spot method -!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_470;--unused-- !HISTORY_MSG_503;Local Spot locX !HISTORY_MSG_504;Local Spot locXL !HISTORY_MSG_505;Local Spot locY @@ -1847,52 +2531,14 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_509;Local Spot quality method !HISTORY_MSG_510;Local Spot transition !HISTORY_MSG_511;Local Spot thresh -!HISTORY_MSG_512;Local Spot ΔE -decay !HISTORY_MSG_513;Local Spot scope !HISTORY_MSG_514;Local Spot structure -!HISTORY_MSG_515;Local Adjustments -!HISTORY_MSG_516;Local - Color and light !HISTORY_MSG_517;Local - Enable super -!HISTORY_MSG_518;Local - Lightness -!HISTORY_MSG_519;Local - Contrast -!HISTORY_MSG_520;Local - Chrominance -!HISTORY_MSG_521;Local - Scope -!HISTORY_MSG_522;Local - curve method -!HISTORY_MSG_523;Local - LL Curve -!HISTORY_MSG_524;Local - CC curve -!HISTORY_MSG_525;Local - LH Curve -!HISTORY_MSG_526;Local - H curve !HISTORY_MSG_527;Local - Color Inverse -!HISTORY_MSG_528;Local - Exposure -!HISTORY_MSG_529;Local - Exp Compensation -!HISTORY_MSG_530;Local - Exp Hlcompr -!HISTORY_MSG_531;Local - Exp hlcomprthresh !HISTORY_MSG_532;Local - Exp black -!HISTORY_MSG_533;Local - Exp Shcompr -!HISTORY_MSG_534;Local - Warm Cool -!HISTORY_MSG_535;Local - Exp Scope -!HISTORY_MSG_536;Local - Exp Contrast curve -!HISTORY_MSG_537;Local - Vibrance -!HISTORY_MSG_538;Local - Vib Saturated -!HISTORY_MSG_539;Local - Vib Pastel -!HISTORY_MSG_540;Local - Vib Threshold -!HISTORY_MSG_541;Local - Vib Protect skin tones -!HISTORY_MSG_542;Local - Vib avoid colorshift -!HISTORY_MSG_543;Local - Vib link -!HISTORY_MSG_544;Local - Vib Scope -!HISTORY_MSG_545;Local - Vib H curve -!HISTORY_MSG_546;Local - Blur and noise -!HISTORY_MSG_547;Local - Radius -!HISTORY_MSG_548;Local - Noise !HISTORY_MSG_549;Local - Blur scope -!HISTORY_MSG_550;Local - Blur method !HISTORY_MSG_551;Local - Blur Luminance only -!HISTORY_MSG_552;Local - Tone mapping -!HISTORY_MSG_553;Local - TM compression strength -!HISTORY_MSG_554;Local - TM gamma -!HISTORY_MSG_555;Local - TM edge stopping !HISTORY_MSG_556;Local - TM scale -!HISTORY_MSG_557;Local - TM Reweighting !HISTORY_MSG_558;Local - TM scope !HISTORY_MSG_559;Local - Retinex !HISTORY_MSG_560;Local - Retinex method @@ -1903,19 +2549,10 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_565;Local - scope !HISTORY_MSG_566;Local - Retinex Gain curve !HISTORY_MSG_567;Local - Retinex Inverse -!HISTORY_MSG_568;Local - Sharpening -!HISTORY_MSG_569;Local - Sh Radius -!HISTORY_MSG_570;Local - Sh Amount -!HISTORY_MSG_571;Local - Sh Damping -!HISTORY_MSG_572;Local - Sh Iterations -!HISTORY_MSG_573;Local - Sh Scope -!HISTORY_MSG_574;Local - Sh Inverse -!HISTORY_MSG_575;Local - CBDL !HISTORY_MSG_576;Local - cbdl mult !HISTORY_MSG_577;Local - cbdl chroma !HISTORY_MSG_578;Local - cbdl threshold !HISTORY_MSG_579;Local - cbdl scope -!HISTORY_MSG_580;Local - Denoise !HISTORY_MSG_581;Local - deNoise lum f 1 !HISTORY_MSG_582;Local - deNoise lum c !HISTORY_MSG_583;Local - deNoise lum detail @@ -1928,11 +2565,6 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_590;Local - deNoise Scope !HISTORY_MSG_591;Local - Avoid color shift !HISTORY_MSG_592;Local - Sh Contrast -!HISTORY_MSG_593;Local - Local contrast -!HISTORY_MSG_594;Local - Local contrast radius -!HISTORY_MSG_595;Local - Local contrast amount -!HISTORY_MSG_596;Local - Local contrast darkness -!HISTORY_MSG_597;Local - Local contrast lightness !HISTORY_MSG_598;Local - Local contrast scope !HISTORY_MSG_599;Local - Retinex dehaze !HISTORY_MSG_600;Local - Soft Light enable @@ -1940,7 +2572,6 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_602;Local - Soft Light scope !HISTORY_MSG_603;Local - Sh Blur radius !HISTORY_MSG_605;Local - Mask preview choice -!HISTORY_MSG_606;Local Spot selected !HISTORY_MSG_607;Local - Color Mask C !HISTORY_MSG_608;Local - Color Mask L !HISTORY_MSG_609;Local - Exp Mask C @@ -1958,16 +2589,6 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_621;Local - Exp inverse !HISTORY_MSG_622;Local - Exclude structure !HISTORY_MSG_623;Local - Exp Chroma compensation -!HISTORY_MSG_624;Local - Color correction grid -!HISTORY_MSG_625;Local - Color correction strength -!HISTORY_MSG_626;Local - Color correction Method -!HISTORY_MSG_627;Local - Shadow Highlight -!HISTORY_MSG_628;Local - SH Highlight -!HISTORY_MSG_629;Local - SH H tonalwidth -!HISTORY_MSG_630;Local - SH Shadows -!HISTORY_MSG_631;Local - SH S tonalwidth -!HISTORY_MSG_632;Local - SH radius -!HISTORY_MSG_633;Local - SH Scope !HISTORY_MSG_634;Local - radius color !HISTORY_MSG_635;Local - radius Exp !HISTORY_MSG_636;Local - Tool added @@ -1979,7 +2600,6 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_642;Local - radius SH !HISTORY_MSG_643;Local - Blur SH !HISTORY_MSG_644;Local - inverse SH -!HISTORY_MSG_645;Local - balance ΔE ab-L !HISTORY_MSG_646;Local - Exp mask chroma !HISTORY_MSG_647;Local - Exp mask gamma !HISTORY_MSG_648;Local - Exp mask slope @@ -1998,7 +2618,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_661;Local - cbdl contrast residual !HISTORY_MSG_662;Local - deNoise lum f 0 !HISTORY_MSG_663;Local - deNoise lum f 2 -!HISTORY_MSG_664;Local - cbdl Blur +!HISTORY_MSG_664;--unused-- !HISTORY_MSG_665;Local - cbdl mask Blend !HISTORY_MSG_666;Local - cbdl mask radius !HISTORY_MSG_667;Local - cbdl mask chroma @@ -2008,7 +2628,6 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_671;Local - cbdl mask L !HISTORY_MSG_672;Local - cbdl mask CL !HISTORY_MSG_673;Local - Use cbdl mask -!HISTORY_MSG_674;Local - Tool removed !HISTORY_MSG_675;Local - TM soft radius !HISTORY_MSG_676;Local Spot transition-differentiation !HISTORY_MSG_677;Local - TM amount @@ -2022,7 +2641,6 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_685;Local - Retinex mask chroma !HISTORY_MSG_686;Local - Retinex mask gamma !HISTORY_MSG_687;Local - Retinex mask slope -!HISTORY_MSG_688;Local - Tool removed !HISTORY_MSG_689;Local - Retinex mask transmission map !HISTORY_MSG_690;Local - Retinex scale !HISTORY_MSG_691;Local - Retinex darkness @@ -2095,8 +2713,6 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_764;Local - Solve PDE Laplacian mask !HISTORY_MSG_765;Local - deNoise Detail threshold !HISTORY_MSG_766;Local - Blur Fast Fourier -!HISTORY_MSG_767;Local - Grain Iso -!HISTORY_MSG_768;Local - Grain Strength !HISTORY_MSG_769;Local - Grain Scale !HISTORY_MSG_770;Local - Color Mask contrast curve !HISTORY_MSG_771;Local - Exp Mask contrast curve @@ -2114,19 +2730,16 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_783;Local - Color Wavelet levels !HISTORY_MSG_784;Local - Mask ΔE !HISTORY_MSG_785;Local - Mask Scope ΔE -!HISTORY_MSG_786;Local - SH method !HISTORY_MSG_787;Local - Equalizer multiplier !HISTORY_MSG_788;Local - Equalizer detail !HISTORY_MSG_789;Local - SH mask amount !HISTORY_MSG_790;Local - SH mask anchor !HISTORY_MSG_791;Local - Mask Short L curves !HISTORY_MSG_792;Local - Mask Luminance Background -!HISTORY_MSG_793;Local - SH TRC gamma !HISTORY_MSG_794;Local - SH TRC slope !HISTORY_MSG_795;Local - Mask save restore image !HISTORY_MSG_796;Local - Recursive references !HISTORY_MSG_797;Local - Merge Original method -!HISTORY_MSG_798;Local - Opacity !HISTORY_MSG_799;Local - Color RGB ToneCurve !HISTORY_MSG_800;Local - Color ToneCurve Method !HISTORY_MSG_801;Local - Color ToneCurve Special @@ -2166,12 +2779,11 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_836;Local - Vib gradient angle !HISTORY_MSG_837;Local - Vib gradient strength C !HISTORY_MSG_838;Local - Vib gradient strength H -!HISTORY_MSG_839;Local - Software complexity !HISTORY_MSG_840;Local - CL Curve !HISTORY_MSG_841;Local - LC curve -!HISTORY_MSG_842;Local - Contrast Threshold -!HISTORY_MSG_843;Local - Radius -!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW !HISTORY_MSG_846;Local - Log encoding auto !HISTORY_MSG_847;Local - Log encoding Source !HISTORY_MSG_849;Local - Log encoding Source auto @@ -2179,7 +2791,6 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_851;Local - Log encoding W_Ev !HISTORY_MSG_852;Local - Log encoding Target !HISTORY_MSG_853;Local - Log encodind loc contrast -!HISTORY_MSG_854;Local - Log encodind Scope !HISTORY_MSG_855;Local - Log encoding Whole image !HISTORY_MSG_856;Local - Log encoding Shadows range !HISTORY_MSG_857;Local - Wavelet blur residual @@ -2192,6 +2803,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_864;Local - Wavelet dir contrast attenuation !HISTORY_MSG_865;Local - Wavelet dir contrast delta !HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H !HISTORY_MSG_869;Local - Denoise by level !HISTORY_MSG_870;Local - Wavelet mask curve H !HISTORY_MSG_871;Local - Wavelet mask curve C @@ -2244,10 +2856,9 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 !HISTORY_MSG_922;Local - changes In Black and White !HISTORY_MSG_923;Local - Tool complexity mode -!HISTORY_MSG_924;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- !HISTORY_MSG_925;Local - Scope color tools !HISTORY_MSG_926;Local - Show mask type -!HISTORY_MSG_927;Local - Shadow !HISTORY_MSG_928;Local - Common color mask !HISTORY_MSG_929;Local - Mask common scope !HISTORY_MSG_930;Local - Mask Common blend luma @@ -2274,33 +2885,29 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_951;Local - Mask Common GF angle !HISTORY_MSG_952;Local - Mask Common soft radius !HISTORY_MSG_953;Local - Mask Common blend chroma -!HISTORY_MSG_954;Local - Show-hide tools !HISTORY_MSG_955;Local - Enable Spot !HISTORY_MSG_956;Local - CH Curve !HISTORY_MSG_957;Local - Denoise mode -!HISTORY_MSG_958;Local - Show/hide settings !HISTORY_MSG_959;Local - Inverse blur -!HISTORY_MSG_960;Local - Log encoding - cat16 -!HISTORY_MSG_961;Local - Log encoding Ciecam -!HISTORY_MSG_962;Local - Log encoding Absolute luminance source -!HISTORY_MSG_963;Local - Log encoding Absolute luminance target -!HISTORY_MSG_964;Local - Log encoding Surround -!HISTORY_MSG_965;Local - Log encoding Saturation s -!HISTORY_MSG_966;Local - Log encoding Contrast J -!HISTORY_MSG_967;Local - Log encoding Mask curve C -!HISTORY_MSG_968;Local - Log encoding Mask curve L -!HISTORY_MSG_969;Local - Log encoding Mask curve H -!HISTORY_MSG_970;Local - Log encoding Mask enable -!HISTORY_MSG_971;Local - Log encoding Mask blend -!HISTORY_MSG_972;Local - Log encoding Mask radius -!HISTORY_MSG_973;Local - Log encoding Mask chroma -!HISTORY_MSG_974;Local - Log encoding Mask contrast -!HISTORY_MSG_975;Local - Log encoding Lightness J -!HISTORY_MSG_977;Local - Log encoding Contrast Q -!HISTORY_MSG_978;Local - Log encoding Sursource -!HISTORY_MSG_979;Local - Log encoding Brightness Q -!HISTORY_MSG_980;Local - Log encoding Colorfulness M -!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength !HISTORY_MSG_982;Local - Equalizer hue !HISTORY_MSG_983;Local - denoise threshold mask high !HISTORY_MSG_984;Local - denoise threshold mask low @@ -2361,44 +2968,117 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_1039;Local - Grain - gamma !HISTORY_MSG_1040;Local - Spot - soft radius !HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q !HISTORY_MSG_BLSHAPE;Blur by level !HISTORY_MSG_BLURCWAV;Blur chroma !HISTORY_MSG_BLURWAV;Blur luminance -!HISTORY_MSG_BLUWAV;Attenuation response -!HISTORY_MSG_CAT02PRESET;Cat02/16 automatic preset -!HISTORY_MSG_CATCAT;Cat02/16 mode -!HISTORY_MSG_CATCOMPLEX;Ciecam complexity -!HISTORY_MSG_CATMODEL;CAM Model -!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction -!HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction -!HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel -!HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask -!HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask -!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness -!HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L mask -!HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - List -!HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - region mask blur -!HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset -!HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power -!HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation -!HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask -!HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope -!HISTORY_MSG_COMPLEX;Wavelet complexity !HISTORY_MSG_COMPLEXRETI;Retinex complexity -!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation !HISTORY_MSG_EDGEFFECT;Edge Attenuation response !HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output -!HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space !HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input -!HISTORY_MSG_FILMNEGATIVE_VALUES;Film negative values !HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y !HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primaries !HISTORY_MSG_ICM_OUTPUT_TEMP;Output - ICC-v4 illuminant D !HISTORY_MSG_ICM_OUTPUT_TYPE;Output - Type -!HISTORY_MSG_ICM_WORKING_GAMMA;Working - Gamma -!HISTORY_MSG_ICM_WORKING_SLOPE;Working - Slope -!HISTORY_MSG_ICM_WORKING_TRC_METHOD;Working - TRC method -!HISTORY_MSG_ILLUM;Illuminant +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_GAMMA;TRC - Gamma +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ICM_WORKING_SLOPE;TRC - Slope +!HISTORY_MSG_ICM_WORKING_TRC_METHOD;TRC method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant !HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera !HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera !HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera @@ -2407,6 +3087,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery !HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation !HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average !HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode !HISTORY_MSG_PROTAB;Protection !HISTORY_MSG_RANGEAB;Range ab @@ -2414,40 +3095,36 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_SIGMADIR;Dir Attenuation response !HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response !HISTORY_MSG_SIGMATON;Toning Attenuation response -!HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light -!HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. !HISTORY_MSG_TEMPOUT;CAM02 automatic temperature !HISTORY_MSG_THRESWAV;Balance threshold -!HISTORY_MSG_TRANS_Method;Geometry - Method +!HISTORY_MSG_TRANS_METHOD;Geometry - Method !HISTORY_MSG_WAVBALCHROM;Equalizer chrominance !HISTORY_MSG_WAVBALLUM;Equalizer luminance !HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma !HISTORY_MSG_WAVCHROMCO;Chroma coarse !HISTORY_MSG_WAVCHROMFI;Chroma fine !HISTORY_MSG_WAVCLARI;Clarity !HISTORY_MSG_WAVDENLH;Level 5 -!HISTORY_MSG_WAVDENMET;Local equalizer !HISTORY_MSG_WAVDENOISE;Local contrast !HISTORY_MSG_WAVDENOISEH;High levels Local contrast !HISTORY_MSG_WAVDETEND;Details soft !HISTORY_MSG_WAVEDGS;Edge stopping !HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer !HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors !HISTORY_MSG_WAVLEVDEN;High level local contrast -!HISTORY_MSG_WAVLEVSIGM;Radius !HISTORY_MSG_WAVLIMDEN;Interaction 56 14 !HISTORY_MSG_WAVLOWTHR;Threshold low contrast !HISTORY_MSG_WAVMERGEC;Merge C !HISTORY_MSG_WAVMERGEL;Merge L !HISTORY_MSG_WAVMIXMET;Reference local contrast -!HISTORY_MSG_WAVOFFSET;Offset !HISTORY_MSG_WAVOLDSH;Old algorithm -!HISTORY_MSG_WAVQUAMET;Denoise mode !HISTORY_MSG_WAVRADIUS;Radius shadows-highlights !HISTORY_MSG_WAVSCALE;Scale !HISTORY_MSG_WAVSHOWMASK;Show wavelet mask !HISTORY_MSG_WAVSIGM;Sigma -!HISTORY_MSG_WAVSIGMA;Attenuation response !HISTORY_MSG_WAVSLIMET;Method !HISTORY_MSG_WAVSOFTRAD;Soft radius clarity !HISTORY_MSG_WAVSOFTRADEND;Soft radius final @@ -2455,19 +3132,18 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !HISTORY_MSG_WAVTHRDEN;Threshold local contrast !HISTORY_MSG_WAVTHREND;Threshold local contrast !HISTORY_MSG_WAVUSHAMET;Clarity method -!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0" +!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to 'RawTherapee, CC0'. !ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Append gamma and slope values to the description !ICCPROFCREATOR_DESCRIPTION_TOOLTIP;Leave empty to set the default description. -!ICCPROFCREATOR_GAMMA;Gamma !ICCPROFCREATOR_ICCVERSION;ICC version: !ICCPROFCREATOR_ILL;Illuminant: !ICCPROFCREATOR_ILL_41;D41 !ICCPROFCREATOR_ILL_50;D50 !ICCPROFCREATOR_ILL_55;D55 !ICCPROFCREATOR_ILL_60;D60 +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater !ICCPROFCREATOR_ILL_65;D65 !ICCPROFCREATOR_ILL_80;D80 -!ICCPROFCREATOR_ILL_DEF;Default !ICCPROFCREATOR_ILL_INC;StdA 2856K !ICCPROFCREATOR_ILL_TOOLTIP;You can set the illuminant for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIMARIES;Primaries: @@ -2479,6 +3155,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !ICCPROFCREATOR_PRIM_BLUX;Blue X !ICCPROFCREATOR_PRIM_BLUY;Blue Y !ICCPROFCREATOR_PRIM_BRUCE;BruceRGB +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 !ICCPROFCREATOR_PRIM_GREX;Green X !ICCPROFCREATOR_PRIM_GREY;Green Y !ICCPROFCREATOR_PRIM_PROPH;Prophoto @@ -2491,7 +3168,6 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !ICCPROFCREATOR_PROF_V2;ICC v2 !ICCPROFCREATOR_PROF_V4;ICC v4 !ICCPROFCREATOR_SLOPE;Slope -!ICCPROFCREATOR_TRC_PRESET;Tone response curve: !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 @@ -2503,7 +3179,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !IPTCPANEL_CREATORJOBTITLEHINT;Enter the Job Title of the person listed in the Creator field. !IPTCPANEL_DATECREATEDHINT;Enter the Date the image was taken. !IPTCPANEL_DESCRIPTION;Description -!IPTCPANEL_DESCRIPTIONHINT;Enter a "caption" describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. +!IPTCPANEL_DESCRIPTIONHINT;Enter a 'caption' describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. !IPTCPANEL_DESCRIPTIONWRITER;Description writer !IPTCPANEL_DESCRIPTIONWRITERHINT;Enter the name of the person involved in writing, editing or correcting the description of the image. !IPTCPANEL_HEADLINEHINT;Enter a brief publishable synopsis or summary of the contents of the image. @@ -2522,46 +3198,34 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !MAIN_BUTTON_NAVPREV_TOOLTIP;Navigate to the previous image relative to image opened in the Editor.\nShortcut: Shift-F3\n\nTo navigate to the previous image relative to the currently selected thumbnail in the File Browser or Filmstrip:\nShortcut: F3 !MAIN_BUTTON_NAVSYNC_TOOLTIP;Synchronize the File Browser or Filmstrip with the Editor to reveal the thumbnail of the currently opened image, and clear any active filters.\nShortcut: x\n\nAs above, but without clearing active filters:\nShortcut: y\n(Note that the thumbnail of the opened image will not be shown if filtered out). !MAIN_MSG_IMAGEUNPROCESSED;This command requires all selected images to be queue-processed first. -!MAIN_MSG_PATHDOESNTEXIST;The path\n\n%1\n\ndoes not exist. Please set a correct path in Preferences. -!MAIN_MSG_SETPATHFIRST;You first have to set a target path in Preferences in order to use this function! -!MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue. -!MAIN_MSG_WRITEFAILED;Failed to write\n"%1"\n\nMake sure that the folder exists and that you have write permission to it. -!MAIN_TAB_FAVORITES;Favorites !MAIN_TOOLTIP_BEFOREAFTERLOCK;Lock / Unlock the Before view\n\nLock: keep the Before view unchanged.\nUseful to evaluate the cumulative effect of multiple tools.\nAdditionally, comparisons can be made to any state in the History.\n\nUnlock: the Before view will follow the After view one step behind, showing the image before the effect of the currently used tool. -!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. -!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. -!PARTIALPASTE_LOCGROUP;Local -!PARTIALPASTE_PREPROCWB;Preprocess White Balance !PARTIALPASTE_RETINEX;Retinex -!PARTIALPASTE_SOFTLIGHT;Soft light +!PARTIALPASTE_VIBRANCE;Vibrance !PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans demosaic -!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments -!PREFERENCES_COMPLEXITY_EXP;Advanced -!PREFERENCES_COMPLEXITY_NORM;Standard -!PREFERENCES_COMPLEXITY_SIMP;Basic +!PREFERENCES_CIE;Ciecam !PREFERENCES_CUSTPROFBUILD;Custom Processing Profile Builder -!PREFERENCES_CUSTPROFBUILDHINT;Executable (or script) file called when a new initial processing profile should be generated for an image.\n\nThe path of the communication file (*.ini style, a.k.a. "Keyfile") is added as a command line parameter. It contains various parameters required for the scripts and image Exif to allow a rules-based processing profile generation.\n\nWARNING: You are responsible for using double quotes where necessary if you're using paths containing spaces. +!PREFERENCES_CUSTPROFBUILDHINT;Executable (or script) file called when a new initial processing profile should be generated for an image.\n\nThe path of the communication file (*.ini style, a.k.a. 'Keyfile') is added as a command line parameter. It contains various parameters required for the scripts and image Exif to allow a rules-based processing profile generation.\n\nWARNING: You are responsible for using double quotes where necessary if you're using paths containing spaces. !PREFERENCES_CUSTPROFBUILDKEYFORMAT;Keys format !PREFERENCES_CUSTPROFBUILDKEYFORMAT_NAME;Name !PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID -!PREFERENCES_INSPECTORWINDOW;Open inspector in own window or fullscreen +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output !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_SHOWTOOLTIP;Show Local Adjustments advice tooltips -!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling -!PROFILEPANEL_COPYPPASTE;Parameters to copy -!PROFILEPANEL_GLOBALPROFILES;Bundled profiles -!PROFILEPANEL_LOADPPASTE;Parameters to load -!PROFILEPANEL_PASTEPPASTE;Parameters to paste -!PROFILEPANEL_PDYNAMIC;Dynamic -!PROFILEPANEL_PINTERNAL;Neutral -!PROFILEPANEL_SAVEPPASTE;Parameters to save !PROGRESSDLG_PROFILECHANGEDINBROWSER;Processing profile changed in browser +!SAMPLEFORMAT_1;8-bit unsigned +!SAMPLEFORMAT_2;16-bit unsigned !SAMPLEFORMAT_4;24-bit LogLuv !SAMPLEFORMAT_8;32-bit LogLuv !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. !SHCSELECTOR_TOOLTIP;Click right mouse button to reset the position of those 3 sliders. !SOFTPROOF_GAMUTCHECK_TOOLTIP;Highlight pixels with out-of-gamut colors with respect to:\n- the printer profile, if one is set and soft-proofing is enabled,\n- the output profile, if a printer profile is not set and soft-proofing is enabled,\n- the monitor profile, if soft-proofing is disabled. !SOFTPROOF_TOOLTIP;Soft-proofing simulates the appearance of the image:\n- when printed, if a printer profile is set in Preferences > Color Management,\n- when viewed on a display that uses the current output profile, if a printer profile is not set. +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry !THRESHOLDSELECTOR_B;Bottom !THRESHOLDSELECTOR_BL;Bottom-left !THRESHOLDSELECTOR_BR;Bottom-right @@ -2575,66 +3239,13 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !TP_BWMIX_ALGO_TOOLTIP;Linear: will produce a normal linear response.\nSpecial effects: will produce special effects by mixing channels non-linearly. !TP_BWMIX_CC_ENABLED;Adjust complementary color !TP_BWMIX_CC_TOOLTIP;Enable to allow automatic adjustment of complementary colors in ROYGCBPM mode. -!TP_BWMIX_CHANNEL;Luminance equalizer -!TP_BWMIX_CURVEEDITOR1;'Before' curve -!TP_BWMIX_CURVEEDITOR2;'After' curve -!TP_BWMIX_CURVEEDITOR_AFTER_TOOLTIP;Tone curve, after B&W conversion, at the end of treatment. -!TP_BWMIX_CURVEEDITOR_BEFORE_TOOLTIP;Tone curve, just before B&W conversion.\nMay take into account the color components. -!TP_BWMIX_CURVEEDITOR_LH_TOOLTIP;Luminance according to hue L=f(H).\nPay attention to extreme values as they may cause artifacts. -!TP_BWMIX_FILTER_TOOLTIP;The color filter simulates shots taken with a colored filter placed in front of the lens. Colored filters reduce the transmission of specific color ranges and therefore affect their lightness. E.g. a red filter darkens blue skies. -!TP_BWMIX_RGBLABEL;R: %1%% G: %2%% B: %3%% Total: %4%% -!TP_BWMIX_RGBLABEL_HINT;Final RGB factors that take care of all the mixer options.\n"Total" displays the sum of the RGB values:\n- always 100% in relative mode\n- higher (lighter) or lower (darker) than 100% in absolute mode. +!TP_BWMIX_RGBLABEL_HINT;Final RGB factors that take care of all the mixer options.\n'Total' displays the sum of the RGB values:\n- always 100% in relative mode\n- higher (lighter) or lower (darker) than 100% in absolute mode. !TP_BWMIX_RGB_TOOLTIP;Mix the RGB channels. Use presets for guidance.\nPay attention to negative values that may cause artifacts or erratic behavior. -!TP_BWMIX_SET_HYPERPANCHRO;Hyper Panchromatic -!TP_BWMIX_SET_NORMCONTAST;Normal Contrast -!TP_BWMIX_SET_ORTHOCHRO;Orthochromatic -!TP_BWMIX_SET_ROYGCBPMABS;Absolute ROYGCBPM -!TP_BWMIX_SET_ROYGCBPMREL;Relative ROYGCBPM -!TP_COLORAPP_ABSOLUTELUMINANCE;Absolute luminance !TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. -!TP_COLORAPP_ALGO;Algorithm -!TP_COLORAPP_ALGO_ALL;All -!TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC) -!TP_COLORAPP_ALGO_JS;Lightness + Saturation (JS) -!TP_COLORAPP_ALGO_QM;Brightness + Colorfulness (QM) -!TP_COLORAPP_ALGO_TOOLTIP;Lets you choose between parameter subsets or all parameters. -!TP_COLORAPP_BADPIXSL_TOOLTIP;Suppression of hot/bad (brightly colored) pixels.\n0 = No effect\n1 = Median\n2 = Gaussian.\nAlternatively, adjust the image to avoid very dark shadows.\n\nThese artifacts are due to limitations of CIECAM02. -!TP_COLORAPP_BRIGHT;Brightness (Q) -!TP_COLORAPP_BRIGHT_TOOLTIP;Brightness in CIECAM02/16 is the amount of perceived light emanating from a stimulus and differs from L*a*b* and RGB brightness. -!TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;When setting manually, values above 65 are recommended. -!TP_COLORAPP_CATCLASSIC;Classic -!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on ‘Scene conditions’ and basic illuminant on the one hand, and on basic illuminant and ‘Viewing conditions’ on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The ‘Scene conditions’, ‘Image adjustments’ and ‘Viewing conditions’ settings are neutralized.\n\nMixed – Same as the ‘Classic’ option but in this case, the chromatic adaptation is based on the white balance. -!TP_COLORAPP_CATMOD;Cat02/16 mode -!TP_COLORAPP_CATSYMGEN;Automatic Symmetric -!TP_COLORAPP_CATSYMSPE;Mixed -!TP_COLORAPP_CHROMA;Chroma (C) -!TP_COLORAPP_CHROMA_M;Colorfulness (M) -!TP_COLORAPP_CHROMA_M_TOOLTIP;Colorfulness in CIECAM02/16 is the perceived amount of hue in relation to gray, an indicator that a stimulus appears to be more or less colored. -!TP_COLORAPP_CHROMA_S;Saturation (S) -!TP_COLORAPP_CHROMA_S_TOOLTIP;Saturation in CIECAM02/16 corresponds to the color of a stimulus in relation to its own brightness, differs from L*a*b* and RGB saturation. -!TP_COLORAPP_CHROMA_TOOLTIP;Chroma in CIECAM02/16 corresponds to the color of a stimulus relative to the clarity of a stimulus that appears white under identical conditions, differs from L*a*b* and RGB chroma. -!TP_COLORAPP_CIECAT_DEGREE;CAT02/16 adaptation -!TP_COLORAPP_CONTRAST;Contrast (J) -!TP_COLORAPP_CONTRAST_Q;Contrast (Q) -!TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast (Q) in CIECAM02/16 is based on brightness, differs from L*a*b* and RGB contrast. -!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast (J) in CIECAM02/16 is based on lightness, 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/16.\nIf the "CIECAM02/16 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02/16.\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 -!TP_COLORAPP_CURVEEDITOR2_TOOLTIP;Same usage as with the second exposure tone curve. -!TP_COLORAPP_CURVEEDITOR3;Color curve -!TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Adjust either chroma, saturation or colorfulness.\n\nShows the histogram of chromaticity (L*a*b*) before CIECAM02/16.\nIf the "CIECAM02/16 output histograms in curves" checkbox is enabled, shows the histogram of C, S or M after CIECAM02/16.\n\nC, S and M are not shown in the main histogram panel.\nFor final output refer to the main histogram panel. -!TP_COLORAPP_DATACIE;CIECAM02/16 output histograms in curves -!TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02/16 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02/16 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02/16 curves show L*a*b* values before CIECAM02/16 adjustments. -!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation, it converts the values of an image whose white point is that of a given illuminant (for example D65), into new values whose white point is that of the new illuminant - see WP Model (for example D50 or D55). -!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation, it converts the values of an image whose white point is that of a given illuminant (for example D50), into new values whose white point is that of the new illuminant - see WP model (for example D75). -!TP_COLORAPP_FREE;Free temp + tint + CAT02/16 +[output] -!TP_COLORAPP_GAMUT;Gamut control (L*a*b*) -!TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode. -!TP_COLORAPP_GEN;Settings - Preset -!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance model, which was designed to better simulate how human vision perceives colors under different lighting conditions, e.g., against different backgrounds.\nIt takes into account the environment of each color and modifies its appearance to get as close as possible to human perception.\nIt also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. -!TP_COLORAPP_HUE;Hue (h) -!TP_COLORAPP_HUE_TOOLTIP;Hue (h) is the degree to which a stimulus can be described as similar to a color described as red, green, blue and yellow. +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. !TP_COLORAPP_IL41;D41 !TP_COLORAPP_IL50;D50 !TP_COLORAPP_IL55;D55 @@ -2645,138 +3256,28 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !TP_COLORAPP_ILFREE;Free !TP_COLORAPP_ILLUM;Illuminant !TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. -!TP_COLORAPP_LABEL;Color Appearance & Lighting (CIECAM02/16) -!TP_COLORAPP_LABEL_SCENE;Scene Conditions -!TP_COLORAPP_LABEL_VIEWING;Viewing Conditions -!TP_COLORAPP_MEANLUMINANCE;Mean luminance (Yb%) -!TP_COLORAPP_MOD02;CIECAM02 -!TP_COLORAPP_MOD16;CIECAM16 -!TP_COLORAPP_MODEL;WP Model -!TP_COLORAPP_MODELCAT;CAM Model -!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CIECAM02 or CIECAM16.\n CIECAM02 will sometimes be more accurate.\n CIECAM16 should generate fewer artifacts -!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\nWB [RT] + [output]: RT's white balance is used for the scene, CIECAM02/16 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\nWB [RT+CAT02/16] + [output]: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\nFree temp + tint + CAT02/16 + [output]: temp and tint are selected by the user, the 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_PRESETCAT02;Preset cat02/16 automatic - Symmetric mode -!TP_COLORAPP_PRESETCAT02_TIP;Set combobox, sliders, temp, green so that Cat02/16 automatic is preset.\nYou can change illuminant shooting conditions.\nYou must change Cat02/16 adaptation Viewing conditions if needed.\nYou can change Temperature and Tint Viewing conditions if needed, and other settings if needed.\nAll auto checkbox are disabled -!TP_COLORAPP_RSTPRO;Red & skin-tones protection -!TP_COLORAPP_RSTPRO_TOOLTIP;Red & skin-tones protection affects both sliders and curves. -!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a "normal" area. Normal" means average or standard conditions and data, i.e. without taking into account CIECAM corrections. -!TP_COLORAPP_SURROUND;Surround -!TP_COLORAPP_SURROUNDSRC;Surround - Scene Lighting -!TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet) -!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. -!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment. The image will become slightly bright.\n\nDark: Dark environment. The image will become more bright.\n\nExtremly Dark: Extremly dark environment. The image will become very bright. -!TP_COLORAPP_TCMODE_CHROMA;Chroma -!TP_COLORAPP_TCMODE_COLORF;Colorfulness -!TP_COLORAPP_TCMODE_LABEL1;Curve mode 1 -!TP_COLORAPP_TCMODE_LABEL2;Curve mode 2 -!TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. !TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 -!TP_COLORAPP_TEMPOUT_TOOLTIP;Disable to change temperature and tint !TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 -!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02/16 -!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_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, ...), as well as its environment. This process will take the data coming from process "Image Adjustments" and "bring" it to the support in such a way that the viewing conditions and its environment are taken into account. -!TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16 cd/m²). -!TP_COLORAPP_WBCAM;WB [RT+CAT02/16] + [output] -!TP_COLORAPP_WBRT;WB [RT] + [output] -!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. A gray at 18% corresponds to a background luminance expressed in CIE L of 50%.\nThis data must take into account the average luminance of the image -!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. A gray at 18% corresponds to a background luminance expressed in CIE L of 50%.\nThis data is calculated from the average luminance of the image +!TP_COLORAPP_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. !TP_COLORTONING_AB;o C/L -!TP_COLORTONING_AUTOSAT;Automatic -!TP_COLORTONING_BALANCE;Balance !TP_COLORTONING_BY;o C/L -!TP_COLORTONING_CHROMAC;Opacity -!TP_COLORTONING_COLOR;Color -!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L) -!TP_COLORTONING_HIGHLIGHT;Highlights -!TP_COLORTONING_HUE;Hue -!TP_COLORTONING_LAB;L*a*b* blending -!TP_COLORTONING_LABEL;Color Toning -!TP_COLORTONING_LABGRID;L*a*b* color correction grid !TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4 -!TP_COLORTONING_LABREGIONS;Color correction regions !TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2 -!TP_COLORTONING_LABREGION_CHANNEL;Channel -!TP_COLORTONING_LABREGION_CHANNEL_ALL;All -!TP_COLORTONING_LABREGION_CHANNEL_B;Blue -!TP_COLORTONING_LABREGION_CHANNEL_G;Green -!TP_COLORTONING_LABREGION_CHANNEL_R;Red !TP_COLORTONING_LABREGION_CHROMATICITYMASK;C !TP_COLORTONING_LABREGION_HUEMASK;H -!TP_COLORTONING_LABREGION_LIGHTNESS;Lightness !TP_COLORTONING_LABREGION_LIGHTNESSMASK;L -!TP_COLORTONING_LABREGION_LIST_TITLE;Correction -!TP_COLORTONING_LABREGION_MASK;Mask -!TP_COLORTONING_LABREGION_MASKBLUR;Mask Blur -!TP_COLORTONING_LABREGION_OFFSET;Offset -!TP_COLORTONING_LABREGION_POWER;Power -!TP_COLORTONING_LABREGION_SATURATION;Saturation -!TP_COLORTONING_LABREGION_SHOWMASK;Show mask -!TP_COLORTONING_LABREGION_SLOPE;Slope -!TP_COLORTONING_LUMA;Luminance -!TP_COLORTONING_LUMAMODE;Preserve luminance -!TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved. -!TP_COLORTONING_METHOD;Method -!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. -!TP_COLORTONING_MIDTONES;Midtones -!TP_COLORTONING_NEUTRAL;Reset sliders -!TP_COLORTONING_NEUTRAL_TIP;Reset all values (Shadows, Midtones, Highlights) to default. -!TP_COLORTONING_OPACITY;Opacity -!TP_COLORTONING_RGBCURVES;RGB - Curves -!TP_COLORTONING_RGBSLIDERS;RGB - Sliders -!TP_COLORTONING_SA;Saturation Protection -!TP_COLORTONING_SATURATEDOPACITY;Strength -!TP_COLORTONING_SATURATIONTHRESHOLD;Threshold -!TP_COLORTONING_SHADOWS;Shadows -!TP_COLORTONING_SPLITCO;Shadows/Midtones/Highlights -!TP_COLORTONING_SPLITCOCO;Color Balance Shadows/Midtones/Highlights -!TP_COLORTONING_SPLITLR;Saturation 2 colors -!TP_COLORTONING_STR;Strength -!TP_COLORTONING_STRENGTH;Strength -!TP_COLORTONING_TWO2;Special chroma '2 colors' -!TP_COLORTONING_TWOALL;Special chroma -!TP_COLORTONING_TWOBY;Special a* and b* -!TP_COLORTONING_TWOCOLOR_TOOLTIP;Standard chroma:\nLinear response, a* = b*.\n\nSpecial chroma:\nLinear response, a* = b*, but unbound - try under the diagonal.\n\nSpecial a* and b*:\nLinear response unbound with separate curves for a* and b*. Intended for special effects.\n\nSpecial chroma 2 colors:\nMore predictable. -!TP_COLORTONING_TWOSTD;Standard chroma +!TP_CROP_GTCENTEREDSQUARE;Centered square !TP_CROP_PPI;PPI -!TP_DEHAZE_SATURATION;Saturation -!TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Auto multi-zones -!TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;Increase (multiply) the value of all chrominance sliders.\nThis curve lets you adjust the strength of chromatic noise reduction as a function of chromaticity, for instance to increase the action in areas of low saturation and to decrease it in those of high saturation. -!TP_DIRPYRDENOISE_CHROMINANCE_METHODADVANCED_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. -!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the "Preview" method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. +!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the 'Preview' method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. !TP_DIRPYRDENOISE_CHROMINANCE_PMZ;Preview multi-zones -!TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW;Preview -!TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Displays the remaining noise levels of the part of the image visible in the preview after wavelet.\n\n>300 Very noisy\n100-300 Noisy\n50-100 A little noisy\n<50 Very low noise\n\nBeware, the values will differ between RGB and L*a*b* mode. The RGB values are less accurate because the RGB mode does not completely separate luminance and chrominance. -!TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_INFO;Preview size=%1, Center: Px=%2 Py=%3 -!TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_TILEINFO;Tile size=%1, Center: Tx=%2 Ty=%3 -!TP_DIRPYRDENOISE_MAIN_COLORSPACE_LAB;L*a*b* -!TP_DIRPYRDENOISE_MAIN_GAMMA;Gamma -!TP_DIRPYRDENOISE_MAIN_GAMMA_TOOLTIP;Gamma varies noise reduction strength across the range of tones. Smaller values will target shadows, while larger values will stretch the effect to the brighter tones. !TP_DIRPYREQUALIZER_ALGO_TOOLTIP;Fine: closer to the colors of the skin, minimizing the action on other colors\nLarge: avoid more artifacts. !TP_DIRPYREQUALIZER_HUESKIN_TOOLTIP;This pyramid is for the upper part, so far as the algorithm at its maximum efficiency.\nTo the lower part, the transition zones.\nIf you need to move the area significantly to the left or right - or if there are artifacts: the white balance is incorrect\nYou can slightly reduce the zone to prevent the rest of the image is affected. -!TP_DIRPYREQUALIZER_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. !TP_DIRPYREQUALIZER_TOOLTIP;Attempts to reduce artifacts in the transitions between skin colors (hue, chroma, luma) and the rest of the image. -!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_EPD_EDGESTOPPING;Edge stopping -!TP_EPD_GAMMA;Gamma -!TP_EPD_REWEIGHTINGITERATES;Reweighting iterates -!TP_EXPOSURE_AUTOLEVELS_TIP;Toggles execution of Auto Levels to automatically set Exposure slider values based on an image analysis.\nEnables Highlight Reconstruction if necessary. -!TP_FILMNEGATIVE_BLUE;Blue ratio -!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm -!TP_FILMNEGATIVE_COLORSPACE;Inversion color space: -!TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space -!TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. -!TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space -!TP_FILMNEGATIVE_GREEN;Reference exponent -!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green -!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. -!TP_FILMNEGATIVE_OUT_LEVEL;Output level -!TP_FILMNEGATIVE_RED;Red ratio -!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 -!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot -!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. !TP_HLREC_HLBLUR;Blur !TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure !TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Employ the embedded DCP baseline exposure offset. The setting is only available if the selected DCP has one. @@ -2787,20 +3288,60 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !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 available 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_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. !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. -!TP_ICM_PROFILEINTENT;Rendering Intent +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 +!TP_ICM_REDFRAME;Custom Primaries !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_TOOLTIP;Employ the embedded DCP tone curve. The setting is only available if the selected DCP has a tone curve. -!TP_ICM_WORKING_TRC;Tone response curve: -!TP_ICM_WORKING_TRC_CUSTOM;Custom +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 !TP_ICM_WORKING_TRC_GAMMA;Gamma +!TP_ICM_WORKING_TRC_LIN;Linear g=1 !TP_ICM_WORKING_TRC_NONE;None !TP_ICM_WORKING_TRC_SLOPE;Slope +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 !TP_ICM_WORKING_TRC_TOOLTIP;Only for built-in profiles. !TP_LABCURVE_CURVEEDITOR_A_RANGE1;Green Saturated !TP_LABCURVE_CURVEEDITOR_A_RANGE2;Green Pastel @@ -2815,20 +3356,526 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !TP_LABCURVE_CURVEEDITOR_CC_RANGE2;Dull !TP_LABCURVE_CURVEEDITOR_CC_RANGE3;Pastel !TP_LABCURVE_CURVEEDITOR_CC_RANGE4;Saturated -!TP_METADATA_TUNNEL;Copy unchanged -!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor -!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length -!TP_PERSPECTIVE_CAMERA_FRAME;Correction -!TP_PERSPECTIVE_CAMERA_PITCH;Vertical -!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ADJ;Equalizer Color +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +!TP_LOCALLAB_CIECOLORFRA;Color +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. +!TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +!TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +!TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. +!TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMASK;Background color/luma mask +!TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASKCOM;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERCOL;Color +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOR;Color Dodge +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHI;Color Burn +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +!TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +!TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. !TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift !TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift -!TP_PERSPECTIVE_CAMERA_YAW;Horizontal -!TP_PERSPECTIVE_CONTROL_LINES;Control lines -!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line -!TP_PERSPECTIVE_METHOD;Method -!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based -!TP_PERSPECTIVE_METHOD_SIMPLE;Simple !TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment !TP_PERSPECTIVE_PROJECTION_PITCH;Vertical !TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation @@ -2836,10 +3883,6 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift !TP_PERSPECTIVE_PROJECTION_YAW;Horizontal !TP_PERSPECTIVE_RECOVERY_FRAME;Recovery -!TP_PREPROCWB_LABEL;Preprocess White Balance -!TP_PREPROCWB_MODE;Mode -!TP_PREPROCWB_MODE_AUTO;Auto -!TP_PREPROCWB_MODE_CAMERA;Camera !TP_RAWEXPOS_TWOGREEN;Link greens !TP_RAW_1PASSMEDIUM;1-pass (Markesteijn) !TP_RAW_2PASS;1-pass+fast @@ -2847,15 +3890,20 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !TP_RAW_4PASS;3-pass+fast !TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear !TP_RAW_DCBBILINEAR;DCB+Bilinear +!TP_RAW_FAST;Fast !TP_RAW_RCDBILINEAR;RCD+Bilinear -!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas +!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas. !TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix !TP_RAW_XTRANS;X-Trans !TP_RAW_XTRANSFAST;Fast X-Trans +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge !TP_RETINEX_CURVEEDITOR_CD;L=f(L) !TP_RETINEX_CURVEEDITOR_CD_TOOLTIP;Luminance according to luminance L=f(L)\nCorrect raw data to reduce halos and artifacts. !TP_RETINEX_CURVEEDITOR_LH;Strength=f(H) -!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the "Highlight" retinex method. +!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the 'Highlight' retinex method. !TP_RETINEX_CURVEEDITOR_MAP;L=f(L) !TP_RETINEX_CURVEEDITOR_MAP_TOOLTIP;This curve can be applied alone or with a Gaussian mask or wavelet mask.\nBeware of artifacts! !TP_RETINEX_FREEGAMMA;Free gamma @@ -2875,13 +3923,10 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !TP_RETINEX_GRADS_TOOLTIP;If slider at 0, all iterations are identical.\nIf > 0 Strength is reduced when iterations increase, and conversely. !TP_RETINEX_GRAD_TOOLTIP;If slider at 0, all iterations are identical.\nIf > 0 Variance and Threshold are reduced when iterations increase, and conversely. !TP_RETINEX_HIGH;High -!TP_RETINEX_HIGHLIG;Highlight -!TP_RETINEX_HIGHLIGHT;Highlight threshold -!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust "Neighboring pixels" and to increase the "White-point correction" in the Raw tab -> Raw White Points tool. +!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust 'Neighboring pixels' and to increase the 'White-point correction' in the Raw tab -> Raw White Points tool. !TP_RETINEX_HSLSPACE_LIN;HSL-Linear !TP_RETINEX_HSLSPACE_LOG;HSL-Logarithmic !TP_RETINEX_ITER;Iterations (Tone-mapping) -!TP_RETINEX_ITERF;Tone mapping !TP_RETINEX_ITER_TOOLTIP;Simulate a tone-mapping operator.\nHigh values increase the processing time. !TP_RETINEX_LABEL;Retinex !TP_RETINEX_LABEL_MASK;Mask @@ -2897,18 +3942,13 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !TP_RETINEX_METHOD;Method !TP_RETINEX_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Equalize action.\nHigh = Reinforce high light.\nHighlights = Remove magenta in highlights. !TP_RETINEX_MLABEL;Restored data Min=%1 Max=%2 -!TP_RETINEX_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust ‘Clip restored data (gain)’ and ‘Offset’ to normalize.\nRecovers image data without blending -!TP_RETINEX_NEIGHBOR;Radius -!TP_RETINEX_NEUTRAL;Reset -!TP_RETINEX_NEUTRAL_TIP;Reset all sliders and curves to their default values. +!TP_RETINEX_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_RETINEX_NEUTRAL_TOOLTIP;Reset all sliders and curves to their default values. !TP_RETINEX_OFFSET;Offset (brightness) !TP_RETINEX_SCALES;Gaussian gradient !TP_RETINEX_SCALES_TOOLTIP;If slider at 0, all iterations are identical.\nIf > 0 Scale and radius are reduced when iterations increase, and conversely. -!TP_RETINEX_SETTINGS;Settings !TP_RETINEX_SKAL;Scale !TP_RETINEX_SLOPE;Free gamma slope -!TP_RETINEX_STRENGTH;Strength -!TP_RETINEX_THRESHOLD;Threshold !TP_RETINEX_THRESHOLD_TOOLTIP;Limits in/out.\nIn = image source,\nOut = image gauss. !TP_RETINEX_TLABEL;TM Datas Min=%1 Max=%2 Mean=%3 Sigma=%4 !TP_RETINEX_TLABEL2;TM Effective Tm=%1 TM=%2 @@ -2921,197 +3961,109 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键:- !TP_RETINEX_VARIANCE_TOOLTIP;Low variance increase local contrast and saturation, but can lead to artifacts. !TP_RETINEX_VIEW;Process !TP_RETINEX_VIEW_MASK;Mask -!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. +!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. !TP_RETINEX_VIEW_NONE;Standard !TP_RETINEX_VIEW_TRAN;Transmission - Auto !TP_RETINEX_VIEW_TRAN2;Transmission - Fixed -!TP_SOFTLIGHT_LABEL;Soft Light -!TP_SOFTLIGHT_STRENGTH;Strength +!TP_SPOT_ENTRYCHANGED;Point changed !TP_VIBRANCE_CURVEEDITOR_SKINTONES;HH -!TP_VIBRANCE_CURVEEDITOR_SKINTONES_LABEL;Skin-tones -!TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE1;Red/Purple -!TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE2;Red -!TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE3;Red/Yellow -!TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE4;Yellow -!TP_VIBRANCE_LABEL;Vibrance -!TP_VIBRANCE_PASTELS;Pastel tones -!TP_VIBRANCE_PASTSATTOG;Link pastel and saturated tones -!TP_VIBRANCE_PSTHRESHOLD;Pastel/saturated tones threshold -!TP_VIBRANCE_PSTHRESHOLD_SATTHRESH;Saturation threshold -!TP_VIBRANCE_PSTHRESHOLD_TOOLTIP;The vertical axis represents pastel tones at the bottom and saturated tones at the top.\nThe horizontal axis represents the saturation range. -!TP_VIBRANCE_PSTHRESHOLD_WEIGTHING;Pastel/saturated transition's weighting -!TP_VIBRANCE_SATURATED;Saturated Tones -!TP_WAVELET_BALANCE;Contrast balance d/v-h -!TP_WAVELET_BALANCE_TOOLTIP;Alters the balance between the wavelet directions: vertical-horizontal and diagonal.\nIf contrast, chroma or residual tone mapping are activated, the effect due to balance is amplified. -!TP_WAVELET_BALCHRO;Chroma balance -!TP_WAVELET_BALCHROM;Denoise equalizer Blue-Yellow/Red-Green -!TP_WAVELET_BALCHRO_TOOLTIP;If enabled, the 'Contrast balance' curve or slider also modifies chroma balance. -!TP_WAVELET_BALLUM;Denoise equalizer White-Black -!TP_WAVELET_BATYPE;Contrast balance method +!TP_WAVELET_BALCHROM;Equalizer Color +!TP_WAVELET_BALLUM;Denoise equalizer White-Black !TP_WAVELET_BL;Blur levels !TP_WAVELET_BLCURVE;Blur by levels !TP_WAVELET_BLURFRAME;Blur -!TP_WAVELET_BLUWAV;Attenuation response !TP_WAVELET_CBENAB;Toning and Color balance -!TP_WAVELET_CB_TOOLTIP;With high values you can create special effects, similar to those achieved with the Chroma Module, but focused on the residual image\nWith moderate values you can manually correct the white balance +!TP_WAVELET_CB_TOOLTIP;With high values you can create special effects, similar to those achieved with the Chroma Module, but focused on the residual image\nWith moderate values you can manually correct the white balance. !TP_WAVELET_CHROFRAME;Denoise chrominance !TP_WAVELET_CHROMAFRAME;Chroma !TP_WAVELET_CHROMCO;Chrominance Coarse !TP_WAVELET_CHROMFI;Chrominance Fine !TP_WAVELET_CHRO_TOOLTIP;Sets the wavelet level which will be the threshold between saturated and pastel colors.\n1-x: saturated\nx-9: pastel\n\nIf the value exceeds the amount of wavelet levels you are using then it will be ignored. !TP_WAVELET_CHRWAV;Blur chroma -!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of "contrast levels" and "chroma-contrast link strength" +!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of 'contrast levels' and 'chroma-contrast link strength'. !TP_WAVELET_CLA;Clarity !TP_WAVELET_CLARI;Sharp-mask and Clarity -!TP_WAVELET_COLORT;Opacity red-green -!TP_WAVELET_COMPEXPERT;Advanced !TP_WAVELET_COMPGAMMA;Compression gamma !TP_WAVELET_COMPGAMMA_TOOLTIP;Adjusting the gamma of the residual image allows you to equilibrate the data and histogram. -!TP_WAVELET_COMPLEXLAB;Complexity -!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations -!TP_WAVELET_COMPNORMAL;Standard -!TP_WAVELET_COMPTM;Tone mapping !TP_WAVELET_CONTEDIT;'After' contrast curve !TP_WAVELET_CONTFRAME;Contrast - Compression -!TP_WAVELET_CONTRASTEDIT;Finer - Coarser levels -!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300% +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. !TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;Modifies local contrast as a function of the original local contrast (abscissa).\nLow abscissa values represent small local contrast (real values about 10..20).\n50% abscissa represents average local contrast (real value about 100..300).\n66% abscissa represents standard deviation of local contrast (real value about 300..800).\n100% abscissa represents maximum local contrast (real value about 3000..8000). !TP_WAVELET_CURVEEDITOR_CH;Contrast levels=f(Hue) !TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Modifies each level's contrast as a function of hue.\nTake care not to overwrite changes made with the Gamut sub-tool's hue controls.\nThe curve will only have an effect when wavelet contrast level sliders are non-zero. !TP_WAVELET_CURVEEDITOR_CL;L -!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast-luminance curve at the end of the wavelet processing. +!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast-luminance curve at the end of the wavelet processing. !TP_WAVELET_CURVEEDITOR_HH;HH !TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image hue as a function of hue. !TP_WAVELET_DAUBLOCAL;Wavelet Edge performance !TP_WAVELET_DEN5THR;Guided threshold -!TP_WAVELET_DEN12LOW;1 2 Low -!TP_WAVELET_DEN12PLUS;1 2 High -!TP_WAVELET_DEN14LOW;1 4 Low -!TP_WAVELET_DEN14PLUS;1 4 High -!TP_WAVELET_DENCONTRAST;Local contrast Equalizer !TP_WAVELET_DENCURV;Curve -!TP_WAVELET_DENEQUAL;1 2 3 4 Equal -!TP_WAVELET_DENH;Threshold !TP_WAVELET_DENL;Correction structure -!TP_WAVELET_DENLH;Guided threshold by detail levels 1-4 -!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained -!TP_WAVELET_DENMIX_TOOLTIP;Balances the action of the guide taking into account the original image and the denoised image +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. !TP_WAVELET_DENOISE;Guide curve based on Local contrast !TP_WAVELET_DENOISEGUID;Guided threshold based on hue !TP_WAVELET_DENOISEH;High levels Curve Local contrast -!TP_WAVELET_DENOISEHUE;Denoise hue equalizer -!TP_WAVELET_DENQUA;Mode -!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide -!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. !TP_WAVELET_DENSLILAB;Method -!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter -!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color -!TP_WAVELET_DETEND;Details +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. !TP_WAVELET_DIRFRAME;Directional contrast -!TP_WAVELET_EDEFFECT;Attenuation response -!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. !TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+std. dev. and maxima. -!TP_WAVELET_EDGEAMPLI;Base amplification -!TP_WAVELET_EDGEDETECT;Gradient sensitivity !TP_WAVELET_EDGEDETECTTHR;Threshold low (noise) !TP_WAVELET_EDGEDETECTTHR2;Edge enhancement -!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This slider sets a threshold below which finer details won't be considered as an edge +!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This slider sets a threshold below which finer details won't be considered as an edge. !TP_WAVELET_EDGEDETECT_TOOLTIP;Moving the slider to the right increases edge sensitivity. This affects local contrast, edge settings and noise. -!TP_WAVELET_EDGESENSI;Edge sensitivity -!TP_WAVELET_EDGREINF_TOOLTIP;Reinforce or reduce the action of the first level, do the opposite to the second level, and leave the rest unchanged. -!TP_WAVELET_EDRAD_TOOLTIP;This adjustment controls the local enhancement. A value of zero still has an effect -!TP_WAVELET_EDTYPE;Local contrast method -!TP_WAVELET_FINAL;Final Touchup -!TP_WAVELET_FINCFRAME;Final local contrast -!TP_WAVELET_FINCOAR_TOOLTIP;The left (positive) part of the curve acts on the finer levels (increase).\nThe 2 points on the abscissa represent the respective action limits of finer and coarser levels 5 and 6 (default).\nThe right (negative) part of the curve acts on the coarser levels (increase).\nAvoid moving the left part of the curve with negative values. Avoid moving the right part of the curve with positives values -!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter +!TP_WAVELET_EDRAD_TOOLTIP;This adjustment controls the local enhancement. A value of zero still has an effect. +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. !TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) -!TP_WAVELET_HIGHLIGHT;Finer levels luminance range !TP_WAVELET_HUESKIN_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. !TP_WAVELET_HUESKY_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. !TP_WAVELET_ITER;Delta balance levels !TP_WAVELET_ITER_TOOLTIP;Left: increase low levels and reduce high levels,\nRight: reduce low levels and increase high levels. +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 !TP_WAVELET_LEVDEN;Level 5-6 denoise !TP_WAVELET_LEVELHIGH;Radius 5-6 !TP_WAVELET_LEVELLOW;Radius 1-4 !TP_WAVELET_LEVELSIGM;Radius !TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold !TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 -!TP_WAVELET_LIPST;Enhanced algoritm -!TP_WAVELET_LOWLIGHT;Coarser levels luminance range -!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise -!TP_WAVELET_MEDILEV;Edge detection !TP_WAVELET_MEDILEV_TOOLTIP;When you enable Edge Detection, it is recommanded:\n- to disabled low contrast levels to avoid artifacts,\n- to use high values of gradient sensitivity.\n\nYou can modulate the strength with 'refine' from Denoise and Refine. !TP_WAVELET_MERGEC;Merge chroma !TP_WAVELET_MERGEL;Merge luma -!TP_WAVELET_MIXCONTRAST;Reference local contrast -!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXCONTRAST;Reference !TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise !TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise -!TP_WAVELET_MIXNOISE;Noise -!TP_WAVELET_NOISE_TOOLTIP;If level 4 luminance denoise superior to 50, mode Aggressive is used.\nIf chrominance coarse superior to 20, mode Aggressive is used. -!TP_WAVELET_NPHIGH;High -!TP_WAVELET_NPLOW;Low -!TP_WAVELET_NPNONE;None -!TP_WAVELET_NPTYPE;Neighboring pixels !TP_WAVELET_NPTYPE_TOOLTIP;This algorithm uses the proximity of a pixel and eight of its neighbors. If less difference, edges are reinforced. !TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. !TP_WAVELET_OLDSH;Algorithm using negatives values -!TP_WAVELET_OPACITY;Opacity blue-yellow -!TP_WAVELET_OPACITYW;Contrast balance d/v-h curve -!TP_WAVELET_OPACITYWL;Local contrast !TP_WAVELET_OPACITYWL_TOOLTIP;Modify the final local contrast at the end of the wavelet treatment.\n\nThe left side represents the smallest local contrast, progressing to the largest local contrast on the right. -!TP_WAVELET_PASTEL;Pastel chroma !TP_WAVELET_PROTAB;Protection -!TP_WAVELET_QUAAGRES;Aggressive -!TP_WAVELET_QUACONSER;Conservative -!TP_WAVELET_QUANONE;Off !TP_WAVELET_RADIUS;Radius shadows - highlight !TP_WAVELET_RANGEAB;Range a and b % !TP_WAVELET_RESBLUR;Blur luminance !TP_WAVELET_RESBLURC;Blur chroma -!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500% -!TP_WAVELET_SAT;Saturated chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. !TP_WAVELET_SHA;Sharp mask -!TP_WAVELET_SHFRAME;Shadows/Highlights !TP_WAVELET_SHOWMASK;Show wavelet 'mask' -!TP_WAVELET_SIGM;Radius -!TP_WAVELET_SIGMA;Attenuation response -!TP_WAVELET_SIGMAFIN;Attenuation response -!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values -!TP_WAVELET_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. -!TP_WAVELET_SKY;Hue targetting/protection -!TP_WAVELET_SKY_TOOLTIP;Allows you to target or protect a range of hues.\nAt -100 selected hues are targetted.\nAt 0 all hues are treated equally.\nAt +100 selected hues are protected while all other hues are targetted. +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. !TP_WAVELET_SOFTRAD;Soft radius -!TP_WAVELET_STREND;Strength -!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained -!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. !TP_WAVELET_THRESHOLD;Finer levels !TP_WAVELET_THRESHOLD2;Coarser levels -!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels from the chosen value to the selected number of ‘wavelet levels’ will be affected by the Shadow luminance range. +!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels from the chosen value to the selected number of 'wavelet levels' will be affected by the Shadow luminance range. !TP_WAVELET_THRESHOLD_TOOLTIP;Only levels below and including the chosen value will be affected by the Highlight luminance range. -!TP_WAVELET_THRESWAV;Balance threshold !TP_WAVELET_TMEDGS;Edge stopping !TP_WAVELET_TMSCALE;Scale -!TP_WAVELET_TMSTRENGTH;Compression strength -!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. -!TP_WAVELET_TMTYPE;Compression method !TP_WAVELET_TONFRAME;Excluded colors !TP_WAVELET_USH;None !TP_WAVELET_USHARP;Clarity method -!TP_WAVELET_USHARP_TOOLTIP;Origin : the source file is the file before Wavelet.\nWavelet : the source file is the file including wavelet threatment !TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. !TP_WAVELET_WAVLOWTHR;Low contrast threshold -!TP_WAVELET_WAVOFFSET;Offset !TP_WBALANCE_AUTOITCGREEN;Temperature correlation !TP_WBALANCE_AUTOOLD;RGB grey -!TP_WBALANCE_AUTO_HEADER;Automatic -!TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behavior of "white balance" by modulating the blue/red balance.\nThis can be useful when shooting conditions:\na) are far from the standard illuminant (e.g. underwater),\nb) are far from conditions where calibrations were performed,\nc) where the matrices or ICC profiles are unsuitable. -!TP_WBALANCE_FLUO1;F1 - Daylight -!TP_WBALANCE_FLUO2;F2 - Cool White -!TP_WBALANCE_FLUO3;F3 - White -!TP_WBALANCE_FLUO4;F4 - Warm White -!TP_WBALANCE_FLUO5;F5 - Daylight +!TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behavior of 'white balance' by modulating the blue/red balance.\nThis can be useful when shooting conditions:\na) are far from the standard illuminant (e.g. underwater),\nb) are far from conditions where calibrations were performed,\nc) where the matrices or ICC profiles are unsuitable. !TP_WBALANCE_FLUO6;F6 - Lite White !TP_WBALANCE_FLUO7;F7 - D65 Daylight Simulator !TP_WBALANCE_FLUO8;F8 - D50 / Sylvania F40 Design diff --git a/rtdata/languages/Czech b/rtdata/languages/Czech index b6006cd36..61e6af4bf 100644 --- a/rtdata/languages/Czech +++ b/rtdata/languages/Czech @@ -46,6 +46,7 @@ #45 2020-04-20 updated by mkyral #46 2020-04-21 updated by mkyral #47 2020-06-02 updated by mkyral + ABOUT_TAB_BUILD;Verze ABOUT_TAB_CREDITS;Zásluhy ABOUT_TAB_LICENSE;Licence @@ -147,7 +148,7 @@ EXPORT_PIPELINE;Fronta zpracování EXPORT_PUTTOQUEUEFAST; Vložit do fronty pro rychlý export EXPORT_RAW_DMETHOD;Metoda demozajkování EXPORT_USE_FAST_PIPELINE;Vyhrazený (kompletní zpracování zmenšeného obrázku) -EXPORT_USE_FAST_PIPELINE_TIP;Použije vyhrazenou frontu zpracování v režimu rychlého exportu a vymění tak kvalitu za rychlost. Zmenšení obrázku se provede co nejdříve po zahájení zpracování, na rozdíl od standardního zpracování, kde se provádí až na závěr. Zrychlení může být velmi významné, ale připravte se na artefakty a celkové zhoršení kvality výstupu. +EXPORT_USE_FAST_PIPELINE_TOOLTIP;Použije vyhrazenou frontu zpracování v režimu rychlého exportu a vymění tak kvalitu za rychlost. Zmenšení obrázku se provede co nejdříve po zahájení zpracování, na rozdíl od standardního zpracování, kde se provádí až na závěr. Zrychlení může být velmi významné, ale připravte se na artefakty a celkové zhoršení kvality výstupu. EXPORT_USE_NORMAL_PIPELINE;Standardní (přeskočí některé kroky, zmenší až na konci) EXTPROGTARGET_1;raw EXTPROGTARGET_2;Zpracování fronty @@ -291,13 +292,11 @@ HISTOGRAM_TOOLTIP_G;Skrýt/Zobrazit histogram zelené. HISTOGRAM_TOOLTIP_L;Skrýt/Zobrazit CIELab histogram jasu. HISTOGRAM_TOOLTIP_MODE;Přepíná mezi lineárním, log-lineárním a log-log škálováním histogramu. HISTOGRAM_TOOLTIP_R;Skrýt/Zobrazit histogram červené. -HISTOGRAM_TOOLTIP_RAW;Skrýt/Zobrazit raw histogram. HISTORY_CHANGED;Změněno HISTORY_CUSTOMCURVE;Vlastní křivka HISTORY_FROMCLIPBOARD;Ze schránky HISTORY_LABEL;Historie HISTORY_MSG_1;Fotka načtena -HISTORY_MSG_2;PP3 načten HISTORY_MSG_3;PP3 změněn HISTORY_MSG_4;Prohlížení historie HISTORY_MSG_5;Expozice - Světlost @@ -311,9 +310,6 @@ HISTORY_MSG_12;Expozice - Automatické úrovně HISTORY_MSG_13;Expozice - Oříznutí HISTORY_MSG_14;L*a*b* - Světlost HISTORY_MSG_15;L*a*b* - Kontrast -HISTORY_MSG_16;- -HISTORY_MSG_17;- -HISTORY_MSG_18;- HISTORY_MSG_19;L*a*b* - L* křivka HISTORY_MSG_20;Doostření HISTORY_MSG_21;Doostření - Poloměr @@ -339,10 +335,6 @@ HISTORY_MSG_40;VB - Odstín HISTORY_MSG_41;Expozice - Tónová křivka - mód 1 HISTORY_MSG_42;Expozice - Tónová křivka 2 HISTORY_MSG_43;Expozice - Tónová křivka - mód 2 -HISTORY_MSG_44;Poloměr redukce šumu v jasech -HISTORY_MSG_45;Okrajová tolerance redukce šumu v jasech -HISTORY_MSG_46;Redukce barevného šumu -HISTORY_MSG_47;Smísení ICC světel s matici HISTORY_MSG_48;DCP - Tónová křivka HISTORY_MSG_49;DCP osvětlení HISTORY_MSG_50;Stíny/Světla @@ -350,7 +342,6 @@ HISTORY_MSG_51;S/S - Světla HISTORY_MSG_52;S/S - Stíny HISTORY_MSG_53;S/S - Tónový rozsah světel HISTORY_MSG_54;S/S - Tónový rozsah stínů -HISTORY_MSG_55;S/S - Místní kontrast HISTORY_MSG_56;S/S - Poloměr HISTORY_MSG_57;Hrubé otáčení HISTORY_MSG_58;Horizontální překlopení @@ -362,7 +353,6 @@ HISTORY_MSG_63;Snímek vybrán HISTORY_MSG_64;Ořez HISTORY_MSG_65;Korekce CA HISTORY_MSG_66;Expozice - Rekonstrukce světel -HISTORY_MSG_67;Expozice - míra HLR HISTORY_MSG_68;Expozice - metoda HLR HISTORY_MSG_69;Pracovní barevný prostor HISTORY_MSG_70;Výstupní barevný prostor @@ -373,12 +363,10 @@ HISTORY_MSG_74;Změna rozměrů - Míra HISTORY_MSG_75;Změna rozměrů - Metoda HISTORY_MSG_76;Exif metadata HISTORY_MSG_77;IPTC metadata -HISTORY_MSG_78;- HISTORY_MSG_79;Změna velikosti - šířka HISTORY_MSG_80;Změna velikosti - délka HISTORY_MSG_81;Změna velikosti HISTORY_MSG_82;Profil změněn -HISTORY_MSG_83;S/S - Maska ostrosti HISTORY_MSG_84;Korekce perspektivy HISTORY_MSG_85;Korekce objektivu - LCP soubor HISTORY_MSG_86;RGB křivky - Režim svítivost @@ -425,12 +413,6 @@ HISTORY_MSG_127;Flat Field - Automatický výběr HISTORY_MSG_128;Flat Field - Poloměr rozostření HISTORY_MSG_129;Flat Field - Typ rozostření HISTORY_MSG_130;Automatická korekce zkreslení -HISTORY_MSG_131;Redukce šumu - Jas -HISTORY_MSG_132;Redukce šumu - Barevnost -HISTORY_MSG_133;Výstupní gama -HISTORY_MSG_134;Volná gama -HISTORY_MSG_135;Volná gama -HISTORY_MSG_136;Sklon volné gamy HISTORY_MSG_137;Úroveň černé - Zelená 1 HISTORY_MSG_138;Úroveň černé - Červená HISTORY_MSG_139;Úroveň černé - Modrá @@ -543,7 +525,6 @@ HISTORY_MSG_246;L*a*b* - CL křivka HISTORY_MSG_247;L*a*b* - LH Křivka HISTORY_MSG_248;L*a*b* - HH Křivka HISTORY_MSG_249;KdDÚ - Práh -HISTORY_MSG_250;Redukce šumu - Vylepšení HISTORY_MSG_251;ČB - Algoritmus HISTORY_MSG_252;KdDÚ - Ochrana tónů pleti HISTORY_MSG_253;KdDÚ - Omezení vzniku artefaktů @@ -567,8 +548,6 @@ HISTORY_MSG_270;Barevné tónování - Světla - zelená HISTORY_MSG_271;Barevné tónování - Světla - modrá HISTORY_MSG_272;Barevné tónování - Vyvážení HISTORY_MSG_273;Barevné tónování - Vyvážení barev SMH -HISTORY_MSG_274;Barevné tónování - Nasycení stínů -HISTORY_MSG_275;Barevné tónování - Nasycení světel HISTORY_MSG_276;Barevné tónování - Neprůhlednost HISTORY_MSG_277;--nepoužito-- HISTORY_MSG_278;Barevné tónování - Zachování jasu @@ -593,7 +572,6 @@ HISTORY_MSG_296;Redukce šumu - Křivka jasů HISTORY_MSG_297;Redukce šumu - Mód HISTORY_MSG_298;Filtr mrtvých pixelů HISTORY_MSG_299;Redukce šumu - Křivka barevnosti -HISTORY_MSG_300;- HISTORY_MSG_301;Redukce šumu - Nastavení jasu HISTORY_MSG_302;Redukce šumu - Metoda barevnosti HISTORY_MSG_303;Redukce šumu - Metoda barevnosti @@ -702,7 +680,6 @@ HISTORY_MSG_405;Vlnka - Odšumění - Úroveň 4 HISTORY_MSG_406;Vlnka - DH - Sousední pixely HISTORY_MSG_407;Retinex - Metoda HISTORY_MSG_408;Retinex - Poloměr -HISTORY_MSG_409;Retinex - Kontrast HISTORY_MSG_410;Retinex - Posun HISTORY_MSG_411;Retinex - Síla HISTORY_MSG_412;Retinex - Gaussův gradient @@ -750,7 +727,6 @@ HISTORY_MSG_468;PS - Vyplnit díry HISTORY_MSG_469;PS - Medián HISTORY_MSG_471;PS - korekce pohybu HISTORY_MSG_472;PS - plynulé přechody -HISTORY_MSG_473;PS - Použít LMMSE HISTORY_MSG_474;PS - korekce HISTORY_MSG_475;PS - korekce kanálu HISTORY_MSG_476;CAM02 - Teplota (výstup) @@ -776,7 +752,6 @@ HISTORY_MSG_BLSHAPE;Rozmazat dle úrovně HISTORY_MSG_BLURCWAV;Rozmazat barevnost HISTORY_MSG_BLURWAV;Rozmazat jas HISTORY_MSG_BLUWAV;Útlum -HISTORY_MSG_CAT02PRESET;Automatické přednastavení Cat02 HISTORY_MSG_CLAMPOOG;Oříznout barvy mimo gamut HISTORY_MSG_COLORTONING_LABGRID_VALUE;Barevné tónování - Korekce barev HISTORY_MSG_COLORTONING_LABREGION_AB;Barevné tónování - Korekce barev @@ -794,14 +769,12 @@ HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;BT - oblast zobrazené masky HISTORY_MSG_COLORTONING_LABREGION_SLOPE;BT - oblast sklonu HISTORY_MSG_DEHAZE_DEPTH;Závoj - Hloubka HISTORY_MSG_DEHAZE_ENABLED;Odstranění závoje -HISTORY_MSG_DEHAZE_LUMINANCE;Závoj - Pouze jas HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Závoj - Ukázat hloubkovou mapu HISTORY_MSG_DEHAZE_STRENGTH;Závoj - Síla HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Dvojité demozajkování - automatický práh HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Dvojité demozajkování - Práh kontrastu HISTORY_MSG_EDGEFFECT;Útlum hrany HISTORY_MSG_FILMNEGATIVE_ENABLED;Negativní film -HISTORY_MSG_FILMNEGATIVE_FILMBASE;Barva podkladu filmu HISTORY_MSG_FILMNEGATIVE_VALUES;Film negativní hodnoty HISTORY_MSG_HISTMATCHING;Automaticky nalezená tónová křivka HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Výstup - Základní barvy @@ -848,7 +821,7 @@ HISTORY_MSG_SOFTLIGHT_STRENGTH;Měkká světla - Síla HISTORY_MSG_TEMPOUT;CAM02 - Automatická teplota HISTORY_MSG_THRESWAV;Práh vyvážení HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Kotva -HISTORY_MSG_TRANS_Method;Geometrie - Metoda +HISTORY_MSG_TRANS_METHOD;Geometrie - Metoda HISTORY_MSG_WAVBALCHROM;Vyvážení barevnosti HISTORY_MSG_WAVBALLUM;Vyvážení jasu HISTORY_MSG_WAVBL;Úrovně rozmazání @@ -1309,7 +1282,7 @@ PROFILEPANEL_GLOBALPROFILES;Přiložené profily PROFILEPANEL_LABEL;Profily zpracování PROFILEPANEL_LOADDLGLABEL;Načíst parametry zpracování... PROFILEPANEL_LOADPPASTE;Parametry nahrávání -PROFILEPANEL_MODE_TIP;Režim uplatnění profilu zpracování.\n\nTlačítko je stisknuto: částečné profily budou aplikovány jako kompletní; chybějící hodnoty budou doplněny přednastavenými hodnotami.\n\nTlačítko není stisknuto: profily budou aplikovány tak jak jsou, změní se pouze v profilu obsažené hodnoty. +PROFILEPANEL_MODE_TOOLTIP;Režim uplatnění profilu zpracování.\n\nTlačítko je stisknuto: částečné profily budou aplikovány jako kompletní; chybějící hodnoty budou doplněny přednastavenými hodnotami.\n\nTlačítko není stisknuto: profily budou aplikovány tak jak jsou, změní se pouze v profilu obsažené hodnoty. PROFILEPANEL_MYPROFILES;Mé profily PROFILEPANEL_PASTEPPASTE;Parametry pro vložení PROFILEPANEL_PCUSTOM;Vlastní @@ -1503,7 +1476,6 @@ TP_COLORAPP_DATACIE;CIECAM02 histogramy výstupu v křivkách TP_COLORAPP_DATACIE_TOOLTIP;Pokud je povoleno, zobrazuje histogram v CIECAM02 křivkách přibližné hodnoty/rozsahy po CIECAM02 úpravách J nebo Q, a C, S nebo M.\nVýběr neovlivňuje histogram na hlavním panelu.\n\nPokud je zakázáno, zobrazuje histogram v CIECAM02 křivkách L*a*b* hodnoty před CIECAM02 úpravami. TP_COLORAPP_FREE;Volná teplota + zelená + CAT02 + [výstup] TP_COLORAPP_GAMUT;Kontrola gamutu (L*a*b*) -TP_COLORAPP_GAMUT_TOOLTIP;Povolí kontrolu gamutu v L*a*b* režimu. TP_COLORAPP_HUE;Odstín (h) TP_COLORAPP_HUE_TOOLTIP;Odstín (h) - úhel mezi 0° a 360°. TP_COLORAPP_IL41;D41 @@ -1526,9 +1498,7 @@ TP_COLORAPP_MEANLUMINANCE;Střední jas (Yb%) TP_COLORAPP_MODEL;VB - Model TP_COLORAPP_MODEL_TOOLTIP;Model bílého bodu.\n\nWB [RT] + [výstup]: Pro scénu je použito vyvážení bílé RawTherapee , CIECAM02 je nastaven na D50 a vyvážení bílé výstupního zařízení je nastaveno v Podmínkách prohlížení.\n\nWB [RT+CAT02] + [výstup]: CAT02 používá RawTherapee nastavení vyvážení bílé a vyvážení bílé výstupního zařízení je nastaveno v Podmínkách prohlížení.\n\nVolná teplota+zelená + CAT02 + [výstup]: teplota a zelená je vybrána uživatelem, vyvážení bílé výstupního zařízení je nastaveno v Podmínkách prohlížení. TP_COLORAPP_NEUTRAL;Obnovit -TP_COLORAPP_NEUTRAL_TIP;Obnoví původní hodnoty u všech posuvníků a křivek. -TP_COLORAPP_PRESETCAT02;Automatické přednastavení Cat02 -TP_COLORAPP_PRESETCAT02_TIP;Nastaví volby, posuvníky, teplotu a zelenou podle Cat02 automatického přednastavení.\nMusíte nastavit světelné podmínky při fotografování.\nPokud je potřeba, musíte změnit Cat02 podmínky přizpůsobení pro prohlížení.\nPokud je potřeba, můžete změnit teplotu a odstín podmínek při prohlížení a také další nastavení. +TP_COLORAPP_NEUTRAL_TOOLTIP;Obnoví původní hodnoty u všech posuvníků a křivek. TP_COLORAPP_RSTPRO;Ochrana červených a pleťových tónů TP_COLORAPP_RSTPRO_TOOLTIP;Ochrana červených a pleťových tónů ovlivňuje posuvníky i křivky. TP_COLORAPP_SURROUND;Okolí @@ -1546,7 +1516,6 @@ TP_COLORAPP_TCMODE_LABEL3;Mód barevné křivky TP_COLORAPP_TCMODE_LIGHTNESS;Světlost TP_COLORAPP_TCMODE_SATUR;Nasycení TP_COLORAPP_TEMP2_TOOLTIP;Buď symetrický režim teploty = Nastavení bílé,\nNebo vyberte osvětlení, vždy nastavte Odstín=1.\n\nA barva=2856\nD50 barva=5003\nD55 barva=5503\nD65 barva=6504\nD75 barva=7504 -TP_COLORAPP_TEMPOUT_TOOLTIP;Zakažte pro změnu teploty a nádechu TP_COLORAPP_TEMP_TOOLTIP;Pro výběr osvětlení vždy nastavte Odstín=1.\n\nA barva=2856\nD41 temp=4100\nD50 barva=5003\nD55 barva=5503\nD60 temp=6000\nD65 barva=6504\nD75 barva=7504 TP_COLORAPP_TONECIE;Mapování tónů pomocí CIECAM02 TP_COLORAPP_TONECIE_TOOLTIP;Pokud je volba zakázána, probíhá mapování tónů v prostoru L*a*b*.\nPokud je volba povolena. probíhá mapování tónů pomocí CIECAM02.\nAby měla tato volba efekt, musí být povolen nástroj Mapování tónů. @@ -1592,7 +1561,7 @@ TP_COLORTONING_METHOD;Metoda TP_COLORTONING_METHOD_TOOLTIP;"Mísení L*a*b*", "RGB posuvníky" a "RGB křivky" používají interpolované mísení barev.\n"Vyvážení barev (Stíny, střední tóny a světla)" a "Nasycení dvou barev" používají přímé barvy.\n\nNástroj Černobílá může být povolen při použití kterékoli metody barevného tónování. TP_COLORTONING_MIDTONES;Střední tóny TP_COLORTONING_NEUTRAL;Vrátit posuvníky -TP_COLORTONING_NEUTRAL_TIP;Vrátí všechny hodnoty (stíny, střední tóny a světla) na výchozí pozice. +TP_COLORTONING_NEUTRAL_TOOLTIP;Vrátí všechny hodnoty (stíny, střední tóny a světla) na výchozí pozice. TP_COLORTONING_OPACITY;Neprůhlednost TP_COLORTONING_RGBCURVES;RGB - křivky TP_COLORTONING_RGBSLIDERS;RGB - Posuvníky @@ -1636,7 +1605,6 @@ TP_DEFRINGE_RADIUS;Poloměr TP_DEFRINGE_THRESHOLD;Práh TP_DEHAZE_DEPTH;Hloubka TP_DEHAZE_LABEL;Odstranění závoje -TP_DEHAZE_LUMINANCE;Pouze jas TP_DEHAZE_SHOW_DEPTH_MAP;Ukázat hloubkovou mapu TP_DEHAZE_STRENGTH;Síla TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Více zónová automatika @@ -1708,7 +1676,7 @@ TP_DIRPYREQUALIZER_SKIN_TOOLTIP;Hodnota -100: zaměřeno na pleťové tóny.\nH TP_DIRPYREQUALIZER_THRESHOLD;Práh TP_DIRPYREQUALIZER_TOOLTIP;Počet pokusů pro redukci artefaktů vzniklých přenosem barvy (odstín, barevnost a jas) pleti na zbytek obrázku. TP_DISTORTION_AMOUNT;Míra -TP_DISTORTION_AUTO_TIP;Automaticky opraví zkreslení objektivu v raw souborech podle vložených JPEG obrázků (pokud existují a byly automaticky opraveny fotoaparátem). +TP_DISTORTION_AUTO_TOOLTIP;Automaticky opraví zkreslení objektivu v raw souborech podle vložených JPEG obrázků (pokud existují a byly automaticky opraveny fotoaparátem). TP_DISTORTION_LABEL;Korekce zkreslení TP_EPD_EDGESTOPPING;Zachování hran TP_EPD_GAMMA;Gama @@ -1717,12 +1685,12 @@ TP_EPD_REWEIGHTINGITERATES;Počet průchodů převážení TP_EPD_SCALE;Měřítko TP_EPD_STRENGTH;Síla TP_EXPOSURE_AUTOLEVELS;Automatické úrovně -TP_EXPOSURE_AUTOLEVELS_TIP;Přepne provedení Automatické úrovně na automatickou sadu hodnot parametrů založených na analýze obrázku\nPokud to je nezbytné, povolí rekonstrukci světel. +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Přepne provedení Automatické úrovně na automatickou sadu hodnot parametrů založených na analýze obrázku\nPokud to je nezbytné, povolí rekonstrukci světel. TP_EXPOSURE_BLACKLEVEL;Černá TP_EXPOSURE_BRIGHTNESS;Světlost TP_EXPOSURE_CLAMPOOG;Oříznout barvy mimo gamut TP_EXPOSURE_CLIP;Oříznutí % -TP_EXPOSURE_CLIP_TIP;Podíl klipujících bodů v automatických operacích úrovní. +TP_EXPOSURE_CLIP_TOOLTIP;Podíl klipujících bodů v automatických operacích úrovní. TP_EXPOSURE_COMPRHIGHLIGHTS;Komprese světel TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Práh komprese světel TP_EXPOSURE_COMPRSHADOWS;Komprese stínů @@ -1746,9 +1714,6 @@ TP_EXPOSURE_TCMODE_WEIGHTEDSTD;Běžný vážený TP_EXPOS_BLACKPOINT_LABEL;Raw černé body TP_EXPOS_WHITEPOINT_LABEL;Raw bílé body TP_FILMNEGATIVE_BLUE;Poměr modré -TP_FILMNEGATIVE_FILMBASE_PICK;Výběr barvy podkladu filmu -TP_FILMNEGATIVE_FILMBASE_TOOLTIP;Vyberte místo neexponovaného filmu (například okraj mezi snímky) pro získání aktuální barvy podkladu a uložte jej do profilu zpracování.\nTo umožňuje jednoduchou kontrolu konzistence vyvážení barev během dávkového zpracování více obrázků ze stejného filmu.\nTaké použijte pokud jsou převáděné snímky moc tmavé, přesvícené nebo barevně nevyvážené. -TP_FILMNEGATIVE_FILMBASE_VALUES;Barva podkladu filmu: TP_FILMNEGATIVE_GREEN;Referenční exponent (kontrast) TP_FILMNEGATIVE_GUESS_TOOLTIP;Automaticky nastaví poměr červené a modré výběrem dvou vzorků s neutrálním odstínem (bez barvy) v původní scéně. Vzorky by se měly lišit jasem. Následně je nastaveno vyvážení bílé. TP_FILMNEGATIVE_LABEL;Negativní film @@ -1868,7 +1833,7 @@ TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Jas dle jasu odstínu L=f(H) TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Jas dle jasu L=f(L) TP_LABCURVE_LABEL;L*a*b* úpravy TP_LABCURVE_LCREDSK;Omezit LC na tóny červené a pleti -TP_LABCURVE_LCREDSK_TIP;Pokud je povoleno, je LC křivka omezena pouze na červené a pleťové tóny\nPokud je zakázáno, aplikuje se na všechny tóny +TP_LABCURVE_LCREDSK_TOOLTIP;Pokud je povoleno, je LC křivka omezena pouze na červené a pleťové tóny\nPokud je zakázáno, aplikuje se na všechny tóny TP_LABCURVE_RSTPROTECTION;Ochrana červených a pleťových tónů TP_LABCURVE_RSTPRO_TOOLTIP;Pracuje s posuvníkem barevnosti a CC křivkou. TP_LENSGEOM_AUTOCROP;Automatický ořez @@ -1896,7 +1861,7 @@ TP_METADATA_MODE;Režim kopírování metadat TP_METADATA_STRIP;Odstranit všechna metadata TP_METADATA_TUNNEL;Kopírovat beze změny TP_NEUTRAL;Obnovit -TP_NEUTRAL_TIP;Nastaví posuvníky expozice na neutrální hodnoty,\nPoužije stejné kontroly jako volba "Automatické úrovně" bez ohledu na to, zda jsou nebo nejsou Automatické úrovně použity. +TP_NEUTRAL_TOOLTIP;Nastaví posuvníky expozice na neutrální hodnoty,\nPoužije stejné kontroly jako volba "Automatické úrovně" bez ohledu na to, zda jsou nebo nejsou Automatické úrovně použity. TP_PCVIGNETTE_FEATHER;Rozptyl TP_PCVIGNETTE_FEATHER_TOOLTIP;Rozptyl:\n0 = pouze rohy,\n50 = napůl do středu,\n100 = do středu. TP_PCVIGNETTE_LABEL;Viněta @@ -2085,7 +2050,7 @@ TP_RETINEX_MLABEL;Obnovený bez závoje Min=%1 Max=%2 TP_RETINEX_MLABEL_TOOLTIP;Mělo by být poblíž min=0 max=32768\nObnovený obraz bez příměsí. TP_RETINEX_NEIGHBOR;Poloměr TP_RETINEX_NEUTRAL;Obnovit -TP_RETINEX_NEUTRAL_TIP;Obnoví původní hodnoty u všech posuvníků a křivek. +TP_RETINEX_NEUTRAL_TOOLTIP;Obnoví původní hodnoty u všech posuvníků a křivek. TP_RETINEX_OFFSET;Posun (jasu) TP_RETINEX_SCALES;Gaussův gradient TP_RETINEX_SCALES_TOOLTIP;Pokud je posuvník na nule jsou všechny průchody stejné,\nPokud je větší než nula, tak jsou Rozsah a Průměr s přibývajícími průběhy omezovány. A obráceně. @@ -2121,7 +2086,7 @@ TP_RGBCURVES_RED;R TP_ROTATE_DEGREE;Stupně TP_ROTATE_LABEL;Otočení TP_ROTATE_SELECTLINE;Vyznačit rovinu -TP_SAVEDIALOG_OK_TIP;Zkratka: Ctrl-Enter +TP_SAVEDIALOG_OK_TOOLTIP;Zkratka: Ctrl-Enter TP_SHADOWSHLIGHTS_HIGHLIGHTS;Světla TP_SHADOWSHLIGHTS_HLTONALW;Tónový rozsah světel TP_SHADOWSHLIGHTS_LABEL;Stíny/Světla @@ -2244,7 +2209,6 @@ TP_WAVELET_CONTEDIT;Křivka kontrastu 'Po' TP_WAVELET_CONTFRAME;Kontrast - komprese TP_WAVELET_CONTR;Gamut TP_WAVELET_CONTRA;Kontrast -TP_WAVELET_CONTRASTEDIT;Jemnější - Hrubší úrovně TP_WAVELET_CONTRAST_MINUS;Kontrast - TP_WAVELET_CONTRAST_PLUS;Kontrast + TP_WAVELET_CONTRA_TOOLTIP;Změní kontrast zůstatku obrazu. @@ -2292,7 +2256,6 @@ TP_WAVELET_EDTYPE;Metoda místního kontrastu TP_WAVELET_EDVAL;Síla TP_WAVELET_FINAL;Finální doladění TP_WAVELET_FINCFRAME;Finální místní kontrast -TP_WAVELET_FINCOAR_TOOLTIP;Levá (pozitivní) část křivky působí na jemnější úrovně (navýšení).\nDva body na úsečce představují příslušné akční limity jemnějšía hrubší úrovně 5 a 6 (výchozí). Pravá (negativní) část křivky působí na hrubší úrovně (navýšení).\nVyvarujte se posouvání levé části křivky se zápornými hodnotami. Vyvarujte se posouvání pravé části křivky s kladnými hodnotami. TP_WAVELET_FINEST;Nejjemnější TP_WAVELET_HIGHLIGHT;Jemnější úrovně rozsahu jasu TP_WAVELET_HS1;Celý rozsah jasů @@ -2331,7 +2294,6 @@ TP_WAVELET_MERGEL;Sloučení jasu TP_WAVELET_NEUTRAL;Neutrální TP_WAVELET_NOIS;Odšumění TP_WAVELET_NOISE;Odšumění a vylepšení -TP_WAVELET_NOISE_TOOLTIP;Pokud je čtvrtá úroveň jasu odšumění lepší než 20, použije se Agresivní režim.\nPokud je hrubší barevnost lepší než 20, použije se Agresívní režim. TP_WAVELET_NPHIGH;Vysoká TP_WAVELET_NPLOW;Nízká TP_WAVELET_NPNONE;Nic @@ -2379,12 +2341,10 @@ TP_WAVELET_THRESHOLD;Jemnější úrovně TP_WAVELET_THRESHOLD2;Hrubší úrovně TP_WAVELET_THRESHOLD2_TOOLTIP;Pouze úrovně mezi 9 a 9 mínus hodnota budou ovlivněny rozsahem jasu stínů. Ostatní úrovně budou upraveny celé. Nejvyšší možná úroveň je omezena hodnotou zvýrazněné úrovně (9 mínus hodnota zvýrazněné úrovně). Pouze úrovně mezi vybranou hodnotou a úrovní 9/Extra budou ovlivněny Hrubým rozsahem úrovní.\nVšechny ostatní úrovně budou ovlivněny v celém rozsahu jasu, pokud nebudou omezeny nastavením Jemnými úrovněmi.\nNejnižší možná úroveň, kterou bude algoritmus zvažovat, je omezená hodnotou Jemných úrovní. TP_WAVELET_THRESHOLD_TOOLTIP;Pouze úrovně mimo vybranou hodnotu budou ovlivněny rozsahem jasu stínů. Ostatní úrovně budou upraveny celé. Zde vybraná hodnota omezuje nejvyšší možnou hodnotu úrovní stínů. Všechny úrovně od úrovně jedna až po vybranou úroveň ovlivněny Jemným rozsahem úrovní.\nVšechny ostatní úrovně budou ovlivněny v celém rozsahu jasu, pokud nebudou omezeny nastavením Hrubými úrovněmi.\nZde vybraná hodnota, se stane nejnižší možnou úrovní Hrubých úrovní. -TP_WAVELET_THRESWAV;Práh vyvážení TP_WAVELET_THRH;Práh světel TP_WAVELET_TILESBIG;Dlaždice TP_WAVELET_TILESFULL;Celý obrázek TP_WAVELET_TILESIZE;Metoda dlaždicování -TP_WAVELET_TILESLIT;Malé dlaždice TP_WAVELET_TILES_TOOLTIP;Zpracování celého obrázku vede k lepší kvalitě a je doporučováno. Naproti tomu dlaždice jsou náhradní řešení pro uživatele s nedostatkem paměti. Paměťové nároky najdete na RawPedii. TP_WAVELET_TMEDGS;Zachování hran TP_WAVELET_TMSCALE;Měřítko @@ -2395,7 +2355,6 @@ TP_WAVELET_TON;Tónování TP_WAVELET_TONFRAME;Vyloučené barvy TP_WAVELET_USH;Nic TP_WAVELET_USHARP;Metoda čirosti -TP_WAVELET_USHARP_TOOLTIP;Původní : zdrojovým souborem je soubor před Vlnkou.\nVlnka : zdrojovým souborem je soubor s aplikovanou Vlnkou. TP_WAVELET_USH_TOOLTIP;Pokud vyberete Ostrou masku, bude nastavení vlnky automaticky změněno na:\nPozadí=černá, zpracování=pod, úroveň=3 — ta může být změněna v rozmezí 1 až 4.\n\nPokud vyberete Čirost, bude nastavení vlnky automaticky změněno na:\nPozadí=zůstatek, zpracování=nad, úroveň=7 — ta může být změněna v rozmezí 5 až 10 úrovní vlnky. TP_WAVELET_WAVLOWTHR;Práh nízkého kontrastu TP_WAVELET_WAVOFFSET;Posun @@ -2460,3 +2419,1700 @@ ZOOMPANEL_ZOOMFITCROPSCREEN;Přizpůsobit ořez obrazovce\nZkratka: f ZOOMPANEL_ZOOMFITSCREEN;Přizpůsobit celý obrázek obrazovce\nZkratka: Alt-f ZOOMPANEL_ZOOMIN;Přiblížit\nZkratka: + ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: - + +!!!!!!!!!!!!!!!!!!!!!!!!! +! Untranslated keys follow; remove the ! prefix after an entry is translated. +!!!!!!!!!!!!!!!!!!!!!!!!! + +!FILEBROWSER_POPUPINSPECT;Inspect +!GENERAL_DELETE_ALL;Delete all +!GENERAL_EDIT;Edit +!HISTOGRAM_TOOLTIP_CROSSHAIR;Show/Hide indicator crosshair. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_470;--unused-- +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_507;Local Spot center +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_516;Local - Color and light +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_527;Local - Color Inverse +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_542;Local - Vib avoid colorshift +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_591;Local - Avoid color shift +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_607;Local - Color Mask C +!HISTORY_MSG_608;Local - Color Mask L +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_611;Local - Color Mask H +!HISTORY_MSG_612;Local - Color Structure +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_615;Local - Blend color +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_618;Local - Use Color Mask +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_624;Local - Color correction grid +!HISTORY_MSG_625;Local - Color correction strength +!HISTORY_MSG_626;Local - Color correction Method +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_634;Local - radius color +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_650;Local - Color mask chroma +!HISTORY_MSG_651;Local - Color mask gamma +!HISTORY_MSG_652;Local - Color mask slope +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_656;Local - Color soft radius +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_760;Local - Color Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_770;Local - Color Mask contrast curve +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_779;Local - Color Mask local contrast curve +!HISTORY_MSG_780;Local - Color Mask shadows +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_783;Local - Color Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_799;Local - Color RGB ToneCurve +!HISTORY_MSG_800;Local - Color ToneCurve Method +!HISTORY_MSG_801;Local - Color ToneCurve Special +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_803;Local - Color Merge +!HISTORY_MSG_804;Local - Color mask Structure +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_806;Local - Color mask Structure as tool +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_808;Local - Color mask curve H(H) +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_821;Local - color grid background +!HISTORY_MSG_822;Local - color background merge +!HISTORY_MSG_823;Local - color background luminance +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_830;Local - Color gradient strength L +!HISTORY_MSG_831;Local - Color gradient angle +!HISTORY_MSG_832;Local - Color gradient strength C +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_834;Local - Color gradient strength H +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_894;Local - Color Preview dE +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_925;Local - Scope color tools +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_928;Local - Common color mask +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_996;Local - Color recovery threshold +!HISTORY_MSG_997;Local - Color threshold mask low +!HISTORY_MSG_998;Local - Color threshold mask high +!HISTORY_MSG_999;Local - Color decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1070;Local - CIECAM colorfullness +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1107;Local - CIECAM Color method +!HISTORY_MSG_1108;Local - CIECAM Color curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation +!HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output +!HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space +!HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input +!HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge +!HISTORY_MSG_SPOT;Spot removal +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 +!INSPECTOR_WINDOW_TITLE;Inspector +!MAIN_TAB_LOCALLAB;Local +!MAIN_TAB_LOCALLAB_TOOLTIP;Shortcut: Alt-o +!PARTIALPASTE_LOCALLAB;Local Adjustments +!PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings +!PARTIALPASTE_SPOT;Spot removal +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output +!PREFERENCES_INSPECTORWINDOW;Open inspector in own window or fullscreen +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. +!TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. +!TP_COLORAPP_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_GEN;Settings +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. +!TP_COLORAPP_SURROUNDSRC;Surround +!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. +!TP_COLORAPP_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_CROP_GTCENTEREDSQUARE;Centered square +!TP_DEHAZE_SATURATION;Saturation +!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm +!TP_FILMNEGATIVE_COLORSPACE;Inversion color space: +!TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space +!TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. +!TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space +!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green +!TP_FILMNEGATIVE_OUT_LEVEL;Output level +!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. +!TP_HLREC_HLBLUR;Blur +!TP_ICM_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 +!TP_ICM_REDFRAME;Custom Primaries +!TP_ICM_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 +!TP_ICM_WORKING_TRC_LIN;Linear g=1 +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ACTIVSPOT;Enable Spot +!TP_LOCALLAB_ADJ;Equalizer Color +!TP_LOCALLAB_AMOUNT;Amount +!TP_LOCALLAB_ARTIF;Shape detection +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOID;Avoid color shift +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALAN;ab-L balance (ΔE) +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALANH;C-H balance (ΔE) +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLCO;Chrominance only +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLINV;Inverse +!TP_LOCALLAB_BLLC;Luminance & Chrominance +!TP_LOCALLAB_BLLO;Luminance only +!TP_LOCALLAB_BLMED;Median +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNOI_EXP;Blur & Noise +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUFR;Blur/Grain & Denoise +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain +!TP_LOCALLAB_BLURCOL;Radius +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURDE;Blur shape detection +!TP_LOCALLAB_BLURLC;Luminance only +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +!TP_LOCALLAB_BUTTON_ADD;Add +!TP_LOCALLAB_BUTTON_DEL;Delete +!TP_LOCALLAB_BUTTON_DUPL;Duplicate +!TP_LOCALLAB_BUTTON_REN;Rename +!TP_LOCALLAB_BUTTON_VIS;Show/Hide +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +!TP_LOCALLAB_CAMMODE;CAM model +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CBDL;Contrast by Detail Levels +!TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. +!TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. +!TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. +!TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels +!TP_LOCALLAB_CENTER_X;Center X +!TP_LOCALLAB_CENTER_Y;Center Y +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMA;Chrominance +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACBDL;Chroma +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASKCOL;Chroma +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_CHRRT;Chroma +!TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIEC;Use Ciecam environment parameters +!TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +!TP_LOCALLAB_CIECOLORFRA;Color +!TP_LOCALLAB_CIECONTFRA;Contrast +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE;Change tool position +!TP_LOCALLAB_CIEMODE_COM;Default +!TP_LOCALLAB_CIEMODE_DR;Dynamic Range +!TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIEMODE_WAV;Wavelet +!TP_LOCALLAB_CIETOOLEXP;Curves +!TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIRCRADIUS;Spot size +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COFR;Color & Light +!TP_LOCALLAB_COLORDE;ΔE preview color - intensity +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +!TP_LOCALLAB_COLORSCOPE;Scope (color tools) +!TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +!TP_LOCALLAB_COLOR_CIE;Color curve +!TP_LOCALLAB_COLOR_TOOLNAME;Color & Light +!TP_LOCALLAB_COL_NAME;Name +!TP_LOCALLAB_COL_VIS;Status +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRAST;Contrast +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CONTTHR;Contrast Threshold +!TP_LOCALLAB_CONTWFRA;Local contrast +!TP_LOCALLAB_CSTHRESHOLD;Wavelet levels +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve +!TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DEHAFRA;Dehaze +!TP_LOCALLAB_DEHAZ;Strength +!TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. +!TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_EXP;Denoise +!TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. +!TP_LOCALLAB_DEPTH;Depth +!TP_LOCALLAB_DETAIL;Local contrast +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILSH;Details +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_DUPLSPOTNAME;Copy +!TP_LOCALLAB_EDGFRA;Edge sharpness +!TP_LOCALLAB_EDGSHOW;Show all tools +!TP_LOCALLAB_ELI;Ellipse +!TP_LOCALLAB_ENABLE_AFTER_MASK;Use Tone Mapping +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EPSBL;Detail +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EV_NVIS;Hide +!TP_LOCALLAB_EV_NVIS_ALL;Hide all +!TP_LOCALLAB_EV_VIS;Show +!TP_LOCALLAB_EV_VIS_ALL;Show all +!TP_LOCALLAB_EXCLUF;Excluding +!TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +!TP_LOCALLAB_EXCLUTYPE;Spot method +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXECLU;Excluding spot +!TP_LOCALLAB_EXFULL;Full image +!TP_LOCALLAB_EXNORM;Normal spot +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA;Chroma compensation +!TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. +!TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust color, lightness, contrast and correct small defects such as red-eye, sensor dust etc. +!TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ +!TP_LOCALLAB_EXPCOMPINV;Exposure compensation +!TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPCURV;Curves +!TP_LOCALLAB_EXPGRAD;Graduated Filter +!TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_EXPTOOL;Exposure Tools +!TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure +!TP_LOCALLAB_FATAMOUNT;Amount +!TP_LOCALLAB_FATANCHOR;Anchor +!TP_LOCALLAB_FATDETAIL;Detail +!TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). +!TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform +!TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform +!TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAM;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMFRA;Tone response curve (TRC) +!TP_LOCALLAB_GAMM;Gamma +!TP_LOCALLAB_GAMMASKCOL;Gamma +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMSH;Gamma +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADANG;Gradient angle +!TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. +!TP_LOCALLAB_GRADFRA;Graduated Filter Mask +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance +!TP_LOCALLAB_GRADSTR;Gradient strength +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRADSTRLUM;Luma gradient strength +!TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +!TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +!TP_LOCALLAB_GRIDONE;Color Toning +!TP_LOCALLAB_GRIDTWO;Direct +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER;Guided filter radius +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. +!TP_LOCALLAB_INVERS;Inverse +!TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_ISOGR;Distribution (ISO) +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLIGHT;Brightness +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSAT;Saturation +!TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABBLURM;Blur Mask +!TP_LOCALLAB_LABEL;Local Adjustments +!TP_LOCALLAB_LABGRID;Color correction grid +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV;Wavelet levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTNESS;Lightness +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LIGHTRETI;Lightness +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_NAME;Add tool to current spot... +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRAST;Local Contrast & Wavelets +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOG;Log Encoding +!TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments +!TP_LOCALLAB_LOG2FRA;Viewing Conditions +!TP_LOCALLAB_LOGAUTO;Automatic +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +!TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. +!TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGEXP;All tools +!TP_LOCALLAB_LOGFRA;Scene Conditions +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode). +!TP_LOCALLAB_LOGLIGHTL;Lightness (J) +!TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration. +!TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART;Overall strength +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LOG_TOOLNAME;Log Encoding +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMADARKEST;Darkest +!TP_LOCALLAB_LUMASK;Background color/luma mask +!TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). +!TP_LOCALLAB_LUMAWHITESEST;Lightest +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASK;Curves +!TP_LOCALLAB_MASK2;Contrast curve +!TP_LOCALLAB_MASKCOM;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDDECAY;Decay strength +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. +!TP_LOCALLAB_MASKRECOTHRES;Recovery threshold +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERCOL;Color +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOR;Color Dodge +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHI;Color Burn +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MODE_EXPERT;Advanced +!TP_LOCALLAB_MODE_NORMAL;Standard +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MRONE;None +!TP_LOCALLAB_MRTHR;Original Image +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NEIGH;Radius +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLDET;Detail recovery +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NLLUM;Strength +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NOISEMETH;Denoise +!TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. +!TP_LOCALLAB_NONENOISE;None +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_OFFS;Offset +!TP_LOCALLAB_OFFSETWAV;Offset +!TP_LOCALLAB_OPACOL;Opacity +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PASTELS2;Vibrance +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_PREVHIDE;Hide additional settings +!TP_LOCALLAB_PREVIEW;Preview ΔE +!TP_LOCALLAB_PREVSHOW;Show additional settings +!TP_LOCALLAB_PROXI;ΔE decay +!TP_LOCALLAB_QUAAGRES;Aggressive +!TP_LOCALLAB_QUACONSER;Conservative +!TP_LOCALLAB_QUALCURV_METHOD;Curve type +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS;Radius +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RECT;Rectangle +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name +!TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot +!TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESID;Residual Image +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RESIDHI;Highlights +!TP_LOCALLAB_RESIDHITHR;Highlights threshold +!TP_LOCALLAB_RESIDSHA;Shadows +!TP_LOCALLAB_RESIDSHATHR;Shadows threshold +!TP_LOCALLAB_RETI;Dehaze & Retinex +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex +!TP_LOCALLAB_REWEI;Reweighting iterates +!TP_LOCALLAB_RGB;RGB Tone Curve +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_ROW_NVIS;Not visible +!TP_LOCALLAB_ROW_VIS;Visible +!TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. +!TP_LOCALLAB_SATUR;Saturation +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSI;Scope +!TP_LOCALLAB_SENSIEXCLU;Scope +!TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +!TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +!TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. +!TP_LOCALLAB_SETTINGS;Settings +!TP_LOCALLAB_SH1;Shadows Highlights +!TP_LOCALLAB_SH2;Equalizer +!TP_LOCALLAB_SHADEX;Shadows +!TP_LOCALLAB_SHADEXCOMP;Shadow compression +!TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHAMASKCOL;Shadows +!TP_LOCALLAB_SHAPETYPE;RT-spot shape +!TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +!TP_LOCALLAB_SHARAMOUNT;Amount +!TP_LOCALLAB_SHARBLUR;Blur radius +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHARITER;Iterations +!TP_LOCALLAB_SHARP;Sharpening +!TP_LOCALLAB_SHARP_TOOLNAME;Sharpening +!TP_LOCALLAB_SHARRADIUS;Radius +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASK;Show mask +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise +!TP_LOCALLAB_SHOWMASKTYP2;Denoise +!TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWREF;Preview ΔE +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMAWAV;Attenuation response +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTM;Soft Light +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SOURCE_ABS;Absolute luminance +!TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_SPOTNAME;New Spot +!TP_LOCALLAB_STD;Standard +!TP_LOCALLAB_STR;Strength +!TP_LOCALLAB_STRBL;Strength +!TP_LOCALLAB_STREN;Compression strength +!TP_LOCALLAB_STRENG;Strength +!TP_LOCALLAB_STRENGR;Strength +!TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). +!TP_LOCALLAB_STRENGTH;Noise +!TP_LOCALLAB_STRGRID;Strength +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_TARGET_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM;Tone Mapping +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSIT;Transition Gradient +!TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY +!TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. +!TP_LOCALLAB_TRANSITVALUE;Transition value +!TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) +!TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WARM;Warm/Cool & Color artifacts +!TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the color temperature of the selected area warmer or cooler.\nIt can also reduce color artifacts in some cases. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAV;Local contrast +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVDEN;Luminance denoise +!TP_LOCALLAB_WAVE;Wavelets +!TP_LOCALLAB_WAVEDG;Local contrast +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK;Local contrast +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. +!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor +!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length +!TP_PERSPECTIVE_CAMERA_FRAME;Correction +!TP_PERSPECTIVE_CAMERA_PITCH;Vertical +!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_CAMERA_YAW;Horizontal +!TP_PERSPECTIVE_CONTROL_LINES;Control lines +!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +!TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. +!TP_PERSPECTIVE_METHOD;Method +!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based +!TP_PERSPECTIVE_METHOD_SIMPLE;Simple +!TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment +!TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +!TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +!TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +!TP_PERSPECTIVE_RECOVERY_FRAME;Recovery +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear +!TP_RAW_DCBBILINEAR;DCB+Bilinear +!TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. +!TP_RAW_RCDBILINEAR;RCD+Bilinear +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge +!TP_SPOT_COUNTLABEL;%1 point(s) +!TP_SPOT_DEFAULT_SIZE;Default spot size +!TP_SPOT_ENTRYCHANGED;Point changed +!TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its center then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. +!TP_SPOT_LABEL;Spot Removal +!TP_WAVELET_COMPEXPERT;Advanced +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. +!TP_WAVELET_COMPNORMAL;Standard +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENOISEHUE;Denoise hue equalizer +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_STREND;Strength +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold diff --git a/rtdata/languages/Dansk b/rtdata/languages/Dansk new file mode 100644 index 000000000..2cfbf4e27 --- /dev/null +++ b/rtdata/languages/Dansk @@ -0,0 +1,4073 @@ +#01 2022-04-21 mogensjaeger (github), initial danish translation + +ABOUT_TAB_BUILD;Version +ABOUT_TAB_CREDITS;Credits +ABOUT_TAB_LICENSE;Licens +ABOUT_TAB_RELEASENOTES;Udgivelses noter +ABOUT_TAB_SPLASH;Splash +ADJUSTER_RESET_TO_DEFAULT;Click - nulstil til standardværdier.\nCtrl+click - nulstil til startværdier. +BATCH_PROCESSING;Batch redigering +CURVEEDITOR_AXIS_IN;I: +CURVEEDITOR_AXIS_LEFT_TAN;LT: +CURVEEDITOR_AXIS_OUT;O: +CURVEEDITOR_AXIS_RIGHT_TAN;RT: +CURVEEDITOR_CATMULLROM;Fleksibel +CURVEEDITOR_CURVE;Kurve +CURVEEDITOR_CUSTOM;Standard +CURVEEDITOR_DARKS;Mørke +CURVEEDITOR_EDITPOINT_HINT;Aktivér redigering af node ind/ud værdier.\n\nHøjreklik på en node for at vælge den.\nHøjreklik på et tomt område for at fravælge noden. +CURVEEDITOR_HIGHLIGHTS;Højlys +CURVEEDITOR_Kurver;Kurver +CURVEEDITOR_LIGHTS;Lyse partier +CURVEEDITOR_LINEAR;Lineær +CURVEEDITOR_LOADDLGLABEL;Indlæs kurve... +CURVEEDITOR_MINMAXCPOINTS;Equalizer +CURVEEDITOR_NURBS;Control cage +CURVEEDITOR_PARAMETRIC;Parametrisk +CURVEEDITOR_SAVEDLGLABEL;Gem kurve... +CURVEEDITOR_SHADOWS;Mørke partier +CURVEEDITOR_TOOLTIPCOPY;Kopier nuværende kurve til udklipsholderen. +CURVEEDITOR_TOOLTIPLINEAR;Nulstil kurve til lineær. +CURVEEDITOR_TOOLTIPLOAD;Indlæs kurve fra fil. +CURVEEDITOR_TOOLTIPPASTE;Overfør kurve fra udklipsholderen. +CURVEEDITOR_TOOLTIPSAVE;Gem nuværende kurve. +CURVEEDITOR_TYPE;Type: +DIRBROWSER_FOLDERS;Mapper +DONT_SHOW_AGAIN;Vis ikke denne besked igen. +DYNPROFILEEDITOR_DELETE;Slet +DYNPROFILEEDITOR_EDIT;Redigér +DYNPROFILEEDITOR_EDIT_RULE;Redigér Dynamisk Profil Regel +DYNPROFILEEDITOR_ENTRY_TOOLTIP;Matchningen er ufølsom over for store og små bogstaver. \nBrug "re:" præfiks for at indtaste \net almindeligt udtryk. +DYNPROFILEEDITOR_IMGTYPE_ANY;Alle mulige +DYNPROFILEEDITOR_IMGTYPE_HDR;HDR +DYNPROFILEEDITOR_IMGTYPE_PS;Pixel Shift +DYNPROFILEEDITOR_IMGTYPE_STD;Standard +DYNPROFILEEDITOR_MOVE_DOWN;Flyt ned +DYNPROFILEEDITOR_MOVE_UP;Flyt op +DYNPROFILEEDITOR_NEW;Ny +DYNPROFILEEDITOR_NEW_RULE;Ny Dynamisk Profil Regel +DYNPROFILEEDITOR_PROFILE;Redigeringsprofil +EDITWINDOW_TITLE;Billede Redigér +EDIT_OBJECT_TOOLTIP;Viser en widget i forhåndsvisningsvinduet, som lader dig justere dette værktøj. +EDIT_PIPETTE_TOOLTIP;For at tilføje et justeringspunkt til kurven, skal du holde Ctrl-tasten nede, mens du venstreklikker på det ønskede sted i billedeksemplet. \nFor at justere punktet, hold Ctrl-tasten nede, mens du venstreklikker på det tilsvarende område i forhåndsvisningen, slip derefter Ctrl-tasten (medmindre du ønsker finkontrol), og mens du stadig holder venstre museknap nede, bevæges musen op eller ned for at flytte punktet op eller ned i kurven. +EXIFFILTER_APERTURE;Blænde +EXIFFILTER_CAMERA;Kamera +EXIFFILTER_EXPOSURECOMPENSATION;Eksponerings kompensation (EV) +EXIFFILTER_FILETYPE;Fil type +EXIFFILTER_FOCALLEN;Brændvidde +EXIFFILTER_IMAGETYPE;Billedtype +EXIFFILTER_ISO;ISO +EXIFFILTER_LENS;Objektiv +EXIFFILTER_METADATAFILTER;Aktivér metadatafiltre +EXIFFILTER_SHUTTER;Lukker +EXIFPANEL_ADDEDIT;Tilføj/Rediger +EXIFPANEL_ADDEDITHINT;Tilføj nyt mærkat eller rediger mærkat. +EXIFPANEL_ADDTAGDLG_ENTERVALUE;Indsæt værdi +EXIFPANEL_ADDTAGDLG_SELECTTAG;Vælg mærkat +EXIFPANEL_ADDTAGDLG_TITLE;Tilføj/Rediger Mærkat +EXIFPANEL_KEEP;Behold +EXIFPANEL_KEEPHINT;Behold de valgte mærkater, når du skriver outputfil. +EXIFPANEL_REMOVE;Fjern +EXIFPANEL_REMOVEHINT;Fjern de valgte mærkater, når du skriver outputfil. +EXIFPANEL_RESET;Nulstil +EXIFPANEL_RESETALL;Nulstil Alt +EXIFPANEL_RESETALLHINT;Nulstil alle mærkater til deres oprindelige værdier. +EXIFPANEL_RESETHINT;Nulstil alle valgte mærkater til deres oprindelige værdier. +EXIFPANEL_SHOWALL;Vis alt +EXIFPANEL_SUBDIRECTORY;Undermappe +EXPORT_BYPASS;Redigeringstrin der skal fravælges +EXPORT_BYPASS_ALL;Vælg / fravælg alt +EXPORT_BYPASS_DEFRINGE;Spring over Defringe +EXPORT_BYPASS_DIRPYRDENOISE;Spring over støjreduktion +EXPORT_BYPASS_DIRPYREQUALIZER;Spring over Kontrast ved Detalje Niveauer +EXPORT_BYPASS_EQUALIZER;Spring over Wavelet Niveauer +EXPORT_BYPASS_RAW_CA;Spring over [raw] Korrektion af Kromatisk Afvigelse +EXPORT_BYPASS_RAW_CCSTEPS;Spring over [raw] Undertrykkelse af Falsk Farve +EXPORT_BYPASS_RAW_DCB_ENHANCE;Spring over [raw] DCB Forbedrings Skridt +EXPORT_BYPASS_RAW_DCB_ITERATIONS;Spring over [raw] DCB Iterationer +EXPORT_BYPASS_RAW_DF;Spring over [raw] Mørk-ramme +EXPORT_BYPASS_RAW_FF;Spring over [raw] Fladt-Felt +EXPORT_BYPASS_RAW_GREENTHRESH;Spring over [raw] Grøn ligevægt +EXPORT_BYPASS_RAW_LINENOISE;Spring over [raw] Linie Støj Filter +EXPORT_BYPASS_RAW_LMMSE_ITERATIONS;Spring over [raw] LMMSE Forbedrings Skridt +EXPORT_BYPASS_SHARPENEDGE;Spring over Kantskærpning +EXPORT_BYPASS_SHARPENING;Spring over Skærpning +EXPORT_BYPASS_SHARPENMICRO;Spring over Mikrokontrast +EXPORT_FASTEXPORTOPTIONS;Hurtige Eksportmuligheder +EXPORT_INSTRUCTIONS;Hurtige eksportmuligheder giver tilsidesættelser for at omgå tids- og ressourcekrævende udviklingsindstillinger og for at køre kø-redigering ved at bruge de hurtige eksportindstillinger i stedet. Denne metode anbefales til hurtigere generering af billeder med lavere opløsning, når hastighed er en prioritet, eller når der ønskes ændret output for et eller mange billeder uden at foretage ændringer af deres gemte fremkaldelsesparametre. +EXPORT_MAXHEIGHT;Maksimal højde: +EXPORT_MAXWIDTH;Maksimal bredde: +EXPORT_PIPELINE;Redigeringspipeline +EXPORT_PUTTOQUEUEFAST; Sæt i kø for hurtig eksport +EXPORT_RAW_DMETHOD;Demosaisk metode +EXPORT_USE_FAST_PIPELINE;Dedikeret (fuld redigering på ændret billedstørrelse) +EXPORT_USE_FAST_PIPELINE_TOOLTIP;Brug en dedikeret redigeringspipeline til billeder i hurtig eksporttilstand, der bruger hastighed frem for kvalitet. Ændring af størrelsen på billedet udføres så tidligt som muligt, i stedet for at gøre det til sidst som i den normale pipeline. Hastighedsforbedringen kan være betydelig, men vær forberedt på at se artefakter, og en generel forringelse af outputkvaliteten. +EXPORT_USE_NORMAL_PIPELINE;Standard (spring over enkelte trin, ændre størrelse til sidst) +EXTPROGTARGET_1;raw +EXTPROGTARGET_2;kø-bearbejdet +FILEBROWSER_APPLYPROFILE;Anvend +FILEBROWSER_APPLYPROFILE_PARTIAL;Anvend - delvist +FILEBROWSER_AUTODARKFRAME;Automatisk mørk ramme +FILEBROWSER_AUTOFLATFIELD;Automatisk fladt-felt +FILEBROWSER_BROWSEPATHBUTTONHINT;Klik for at åbne den angivne sti, genindlæs mappen og anvend "find" nøgleord. +FILEBROWSER_BROWSEPATHHINT;Skriv en sti at navigere til.\n\nTastaturgenveje:\nCtrl-o for at fokusere på stiens tekstboks.\nEnter / Ctrl-Enter at gennemse der;\nEsc for at rydde ændringer.\nShift-Esc for at fjerne fokus.\n\nStigenveje:\n~ - brugers hjemmemappe.\n! - brugers billedmappe +FILEBROWSER_CACHE;Cache +FILEBROWSER_CACHECLEARFROMFULL;Ryd alt inklusive cachelagrede profiler +FILEBROWSER_CACHECLEARFROMPARTIAL;Ryd alt undtagen cachelagrede profiler +FILEBROWSER_CLEARPROFILE;Ryd +FILEBROWSER_COLORLABEL_TOOLTIP;Farvemærkat.\n\nBrug rullemenuen eller genveje:\nShift-Ctrl-0 Ingen farver\nShift-Ctrl-1 Rød\nShift-Ctrl-2 Gul\nShift-Ctrl-3 Grøn\nShift-Ctrl-4 Blå\nShift-Ctrl-5 Lilla +FILEBROWSER_COPYPROFILE;Kopiér +FILEBROWSER_CURRENT_NAME;Nuværende navn: +FILEBROWSER_DARKFRAME;Mørk ramme +FILEBROWSER_DELETEDIALOG_ALL;Er du sikker på, at du permanent vil slette alle %1 filer i papirkurven? +FILEBROWSER_DELETEDIALOG_HEADER;Bekræftelse af filsletning: +FILEBROWSER_DELETEDIALOG_SELECTED;Er du sikker på, at du permanent vil slette de valgte %1 filer? +FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Er du sikker på, at du permanent vil slette de valgte %1 filer, inklusive en købehandlet version? +FILEBROWSER_EMPTYTRASH;Tøm papirkurven +FILEBROWSER_EMPTYTRASHHINT;Permanent slet alle filer i papirkurven. +FILEBROWSER_EXTPROGMENU;Åben med +FILEBROWSER_FLATFIELD;Fladt-Felt +FILEBROWSER_MOVETODARKFDIR;Flyt til mappen med mørke-rammer +FILEBROWSER_MOVETOFLATFIELDDIR;Flyt til mappen med flade-felter +FILEBROWSER_NEW_NAME;Nyt navn: +FILEBROWSER_OPENDEFAULTVIEWER;Windows standard viser (kø-bearbejdet) +FILEBROWSER_PARTIALPASTEPROFILE;Sæt ind - partiel +FILEBROWSER_PASTEPROFILE;Sæt ind +FILEBROWSER_POPUPCANCELJOB;Annulér job +FILEBROWSER_POPUPCOLORLABEL;Farvemærkat +FILEBROWSER_POPUPCOLORLABEL0;Mærkat: Ingen +FILEBROWSER_POPUPCOLORLABEL1;Mærkat: Rød +FILEBROWSER_POPUPCOLORLABEL2;Mærkat: Gul +FILEBROWSER_POPUPCOLORLABEL3;Mærkat: Grøn +FILEBROWSER_POPUPCOLORLABEL4;Mærkat: Blå +FILEBROWSER_POPUPCOLORLABEL5;Mærkat: Lilla +FILEBROWSER_POPUPCOPYTO;Kopiér til... +FILEBROWSER_POPUPFILEOPERATIONS;Filhandlinger +FILEBROWSER_POPUPMOVEEND;Flyt til slutningen af køen +FILEBROWSER_POPUPMOVEHEAD;Flyt til begyndelsen af køen +FILEBROWSER_POPUPMOVETO;Flyt til... +FILEBROWSER_POPUPOPEN;Åbn +FILEBROWSER_POPUPOPENINEDITOR;Åbn i Redigering +FILEBROWSER_POPUPPROCESS;Sæt i kø +FILEBROWSER_POPUPPROCESSFAST;Sæt i kø (hurtig eksport) +FILEBROWSER_POPUPPROFILEOPERATIONS;Redigering af profiloperationer +FILEBROWSER_POPUPRANK;Rang +FILEBROWSER_POPUPRANK0;Ikke rangeret +FILEBROWSER_POPUPRANK1;Rang 1 * +FILEBROWSER_POPUPRANK2;Rang 2 ** +FILEBROWSER_POPUPRANK3;Rang 3 *** +FILEBROWSER_POPUPRANK4;Rang 4 **** +FILEBROWSER_POPUPRANK5;Rang 5 ***** +FILEBROWSER_POPUPREMOVE;Slet permanent +FILEBROWSER_POPUPREMOVEINCLPROC;Slet permanent, inklusive kø-bearbejdet version +FILEBROWSER_POPUPRENAME;Omdøb +FILEBROWSER_POPUPSELECTALL;Vælg alt +FILEBROWSER_POPUPTRASH;Flyt til papirkurv +FILEBROWSER_POPUPUNRANK;Slet rang +FILEBROWSER_POPUPUNTRASH;Flyt fra papirkurv +FILEBROWSER_QUERYBUTTONHINT;Ryd søgeforespørgslen +FILEBROWSER_QUERYHINT;Indtast filnavne til at søge efter. Understøtter delvise filnavne. Adskil søgetermerne ved hjælp af kommaer, f.eks.\n1001,1004,1199\n\nEkskluder søgetermer ved at sætte !=\nforan, f.eks.\n!=1001,1004,1199\n\nGenveje:\nCtrl-f - fokuser på søgefeltet,\nEnter - søg,\n Esc - ryd søgefeltet,\nShift-Esc - ufokuser søgefeltet. +FILEBROWSER_QUERYLABEL; Søg: +FILEBROWSER_RANK1_TOOLTIP;Rang 1 *\nGenvej: Shift-1 +FILEBROWSER_RANK2_TOOLTIP;Rang 2 *\nGenvej: Shift-2 +FILEBROWSER_RANK3_TOOLTIP;Rang 3 *\nGenvej: Shift-3 +FILEBROWSER_RANK4_TOOLTIP;Rang 4 *\nGenvej: Shift-4 +FILEBROWSER_RANK5_TOOLTIP;Rang 5 *\nGenvej: Shift-5 +FILEBROWSER_RENAMEDLGLABEL;Omdøb fil +FILEBROWSER_RESETDEFAULTPROFILE;Nulstil til standard +FILEBROWSER_SELECTDARKFRAME;Vælg mørk-ramme... +FILEBROWSER_SELECTFLATFIELD;Vælg fladt-felt... +FILEBROWSER_SHOWCOLORLABEL1HINT;Vis billeder mærket Rød.\nGenvej: Alt-1 +FILEBROWSER_SHOWCOLORLABEL2HINT;Vis billeder mærket Gul.\nGenvej: Alt-2 +FILEBROWSER_SHOWCOLORLABEL3HINT;Vis billeder mærket Grøn.\nGenvej: Alt-3 +FILEBROWSER_SHOWCOLORLABEL4HINT;Vis billeder mærket Blå.\nGenvej: Alt-4 +FILEBROWSER_SHOWCOLORLABEL5HINT;Vis billeder mærket Lilla.\nGenvej: Alt-5 +FILEBROWSER_SHOWDIRHINT;Ryd alle filtre.\nGenvej: d +FILEBROWSER_SHOWEDITEDHINT;Vis bearbejdede billeder.\nGenvej: 7 +FILEBROWSER_SHOWEDITEDNOTHINT;Vis ikke-bearbejdede billeder.\nGenvej: 6 +FILEBROWSER_SHOWEXIFINFO;Vis Exif info.\n\nGenveje:\ni - Tilstand med flere redigerings-faneblade,\nAlt-i - Tilstand med enkelt redigerings-faneblad. +FILEBROWSER_SHOWNOTTRASHHINT;Vis kun billeder, der ikke er i papirkurven. +FILEBROWSER_SHOWORIGINALHINT;Vis kun originale billeder.\n\nNår der findes flere billeder med det samme filnavn, men med forskellige suffikser, er den, der betragtes som original, den, hvis suffiks er nærmest øverst på listen over Fortolkede suffikser i Præferencer > Filbrowser > Fortolkede suffikser. +FILEBROWSER_SHOWRANK1HINT;Vis billeder rangeret som 1-stjernet.\nGenvej: 1 +FILEBROWSER_SHOWRANK2HINT;Vis billeder rangeret som 2-stjernet.\nGenvej: 2 +FILEBROWSER_SHOWRANK3HINT;Vis billeder rangeret som 3-stjernet.\nGenvej: 3 +FILEBROWSER_SHOWRANK4HINT;Vis billeder rangeret som 4-stjernet.\nGenvej: 4 +FILEBROWSER_SHOWRANK5HINT;Vis billeder rangeret som 5-stjernet.\nGenvej: 5 +FILEBROWSER_SHOWRECENTLYSAVEDHINT;Vis gemte billeder.\nGenvej: Alt-7 +FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Vis ikke-gemte billeder.\nGenvej: Alt-6 +FILEBROWSER_SHOWTRASHHINT;Vis indholdet af papirkurven.\nGenvej: Ctrl-t +FILEBROWSER_SHOWUNCOLORHINT;Vis billeder uden farvemærkat.\nGenvej: Alt-0 +FILEBROWSER_SHOWUNRANKHINT;Vis ikke-rangerede billeder.\nGenvej: 0 +FILEBROWSER_THUMBSIZE;Thumbnail størrelse +FILEBROWSER_UNRANK_TOOLTIP;Slet rang.\nGenvej: Shift-0 +FILEBROWSER_ZOOMINHINT;Øg thumbnail størrelse.\n\nGenveje:\n+ - Tilstand med flere redigerings-faneblade,\nAlt-+ - Tilstand med enkelt redigerings-faneblad. +FILEBROWSER_ZOOMOUTHINT;Formindsk thumbnail størrelse.\n\nGenveje:\n- - Tilstand med flere redigerings-faneblade,\nAlt-- - Tilstand med enkelt redigerings-faneblad. +FILECHOOSER_FILTER_ANY;Alle filer +FILECHOOSER_FILTER_COLPROF;Farve profiler (*.icc) +FILECHOOSER_FILTER_CURVE;Kurve filer +FILECHOOSER_FILTER_LCP;Objektivkorrektionsprofiler +FILECHOOSER_FILTER_PP;Redigeringsprofiler +FILECHOOSER_FILTER_SAME;Samme format som nuværende foto +FILECHOOSER_FILTER_TIFF;TIFF filer +GENERAL_ABOUT;Om +GENERAL_AFTER;Efter +GENERAL_APPLY;Tilføj +GENERAL_ASIMAGE;Som billede +GENERAL_AUTO;Automatisk +GENERAL_BEFORE;Før +GENERAL_CANCEL;Annulér +GENERAL_CLOSE;Luk +GENERAL_CURRENT;Nuværende +GENERAL_DISABLE;Deaktivér +GENERAL_DISABLED;Deaktiveret +GENERAL_ENABLE;Aktivér +GENERAL_ENABLED;Aktiveret +GENERAL_FILE;Fil +GENERAL_HELP;Hjælp +GENERAL_LANDSCAPE;Landskab +GENERAL_NA;N/A +GENERAL_NO;Nej +GENERAL_NONE;Ingen +GENERAL_OK;OK +GENERAL_OPEN;Åben +GENERAL_PORTRAIT;Portræt +GENERAL_RESET;Nulstil +GENERAL_SAVE;Gem +GENERAL_SAVE_AS;Gem som... +GENERAL_SLIDER;Skyder +GENERAL_UNCHANGED;(Uændret) +GENERAL_WARNING;Advarsel +GIMP_PLUGIN_INFO;Velkommen til RawTherapee’s GIMP-plugin!\nNår du er færdig med at bearbejde billedet, skal du blot lukke RawTherapees hovedvindue, og billedet importeres automatisk i GIMP. +HISTOGRAM_TOOLTIP_B;Vis/Skjul blåt histogram. +HISTOGRAM_TOOLTIP_BAR;Vis/Skjul RGB indikatorbjælke. +HISTOGRAM_TOOLTIP_CHRO;Vis/Skjul kromaticitet histogram. +HISTOGRAM_TOOLTIP_G;Vis/Skjul grøn histogram. +HISTOGRAM_TOOLTIP_L;Vis/Skjul CIELab luminans histogram. +HISTOGRAM_TOOLTIP_MODE;Skift mellem lineær, log-lineær og log-log-skalering af histogrammet. +HISTOGRAM_TOOLTIP_R;Vis/Skjul rødt histogram. +HISTORY_CHANGED;Ændret +HISTORY_CUSTOMCURVE;Standardkurve +HISTORY_FROMCLIPBOARD;Fra udklipsholder +HISTORY_LABEL;Historik +HISTORY_MSG_1;Foto indlæst +HISTORY_MSG_3;PP3 ændret +HISTORY_MSG_4;Historik browsing +HISTORY_MSG_5;Eksponering - Lyshed +HISTORY_MSG_6;Eksponering - Kontrast +HISTORY_MSG_7;Eksponering - Sort +HISTORY_MSG_8;Eksponering - Kompensation +HISTORY_MSG_9;Eksponering - Højlyskompression +HISTORY_MSG_10;Eksponering - Skyggekompression +HISTORY_MSG_11;Eksponering - Tonekurve 1 +HISTORY_MSG_12;Eksponering - Autoniveauer +HISTORY_MSG_13;Eksponering - Klip +HISTORY_MSG_14;L*a*b* - Lyshed +HISTORY_MSG_15;L*a*b* - Kontrast +HISTORY_MSG_19;L*a*b* - L* kurve +HISTORY_MSG_20;Skærpe +HISTORY_MSG_21;USM - Radius +HISTORY_MSG_22;USM - Mængde +HISTORY_MSG_23;USM - Tærskel +HISTORY_MSG_24;USM – Skærp kun kanter +HISTORY_MSG_25;USM - Kantdetekteringsradius +HISTORY_MSG_26;USM - Kanttolerance +HISTORY_MSG_27;USM - Glorie kontrol +HISTORY_MSG_28;USM - Glorie kontrol mængde +HISTORY_MSG_29;Skærpe - Metode +HISTORY_MSG_30;RLD - Radius +HISTORY_MSG_31;RLD - Mængde +HISTORY_MSG_32;RLD - Dæmpning +HISTORY_MSG_33;RLD - Gentagelser +HISTORY_MSG_34;Objektivkorrektion - Forvrængning +HISTORY_MSG_35;Objektivkorrektion - Vignetering +HISTORY_MSG_36;Objektivkorrektion - CA +HISTORY_MSG_37;Eksponering - Autoniveauer +HISTORY_MSG_38;Hvidbalance - Metode +HISTORY_MSG_39;WB - Temperatur +HISTORY_MSG_40;WB - Farvenuance +HISTORY_MSG_41;Eksponering - Tonekurve 1 mode +HISTORY_MSG_42;Eksponering - Tonekurve 2 +HISTORY_MSG_43;Eksponering - Tonekurve 2 mode +HISTORY_MSG_48;DCP - Tonekurve +HISTORY_MSG_49;DCP lyskilde +HISTORY_MSG_50;Skygger/Højlys +HISTORY_MSG_51;S/H - Højlys +HISTORY_MSG_52;S/H - Skygger +HISTORY_MSG_53;S/H – Højlysenes tonale bredde +HISTORY_MSG_54;S/H – Skyggernes tonale bredde +HISTORY_MSG_56;S/H - Radius +HISTORY_MSG_57;Grov rotation +HISTORY_MSG_58;Vandret vending +HISTORY_MSG_59;Lodret vending +HISTORY_MSG_60;Rotation +HISTORY_MSG_61;Auto-udfyldning +HISTORY_MSG_62;Forvrængningskorrektion +HISTORY_MSG_63;Snapshot valgt +HISTORY_MSG_64;Beskær +HISTORY_MSG_65;CA korrektion +HISTORY_MSG_66;Eksponering – Højlys rekonstruktion +HISTORY_MSG_68;Eksponering - HLR metode +HISTORY_MSG_69;Arbejdsfarverum +HISTORY_MSG_70;Output farverum +HISTORY_MSG_71;Input farverum +HISTORY_MSG_72;VC - Mængde +HISTORY_MSG_73;Kanal Mikser +HISTORY_MSG_74;Ændre størrelse - Skala +HISTORY_MSG_75;Ændre størrelse - Metode +HISTORY_MSG_76;Exif metadata +HISTORY_MSG_77;IPTC metadata +HISTORY_MSG_79;Ændre størrelse - Bredde +HISTORY_MSG_80;Ændre størrelse - Højde +HISTORY_MSG_81;Ændre størrelse +HISTORY_MSG_82;Profil ændret +HISTORY_MSG_84;Perspektivkorrektion +HISTORY_MSG_85;Objektivkorrektion - LCP fil +HISTORY_MSG_86;RGB Kurver - Luminanstilstand +HISTORY_MSG_87;Impuls støjreduktion +HISTORY_MSG_88;Impuls Støjreduktion tærskel +HISTORY_MSG_89;Støjreduktion +HISTORY_MSG_90;Støjreduktion - Luminans +HISTORY_MSG_91;Støjreduktion - Chrominance master +HISTORY_MSG_92;Støjreduktion - Gamma +HISTORY_MSG_93;KeDN - Værdi +HISTORY_MSG_94;Kontrast ved Detaljeniveauer +HISTORY_MSG_95;L*a*b* - Kromaticitet +HISTORY_MSG_96;L*a*b* - a* kurve +HISTORY_MSG_97;L*a*b* - b* kurve +HISTORY_MSG_98;Demosaiking metode +HISTORY_MSG_99;Varm-pixel filter +HISTORY_MSG_100;Eksponering - Mætning +HISTORY_MSG_101;HSV - Farvetone +HISTORY_MSG_102;HSV - Mætning +HISTORY_MSG_103;HSV - Værdi +HISTORY_MSG_104;HSV Equalizer +HISTORY_MSG_105;Defringe +HISTORY_MSG_106;Defringe - Radius +HISTORY_MSG_107;Defringe - Tærskel +HISTORY_MSG_108;Eksponering - HLC tærskel +HISTORY_MSG_109;Ændr størrelse - Afgrænsningsboks +HISTORY_MSG_110;Ændr størrelse - Gælder for +HISTORY_MSG_111;L*a*b* - Undgå farveforskydning +HISTORY_MSG_112;--ubrugt-- +HISTORY_MSG_113;L*a*b* - Rød/hud beskyt. +HISTORY_MSG_114;DCB gentagelser +HISTORY_MSG_115;Undertrykkelse af forkerte farver +HISTORY_MSG_116;DCB forbedring +HISTORY_MSG_117;Raw CA korrektion - Rød +HISTORY_MSG_118;Raw CA korrektion - Blå +HISTORY_MSG_119;Linje støjfilter +HISTORY_MSG_120;Grøn ligevægt +HISTORY_MSG_121;Raw CA Korrektion - Auto +HISTORY_MSG_122;Mørk-Ramme - Auto-udvælgelse +HISTORY_MSG_123;Mørk-Ramme - Fil +HISTORY_MSG_124;Hvidpunkts korrektion +HISTORY_MSG_126;Fladt-Felt - Fil +HISTORY_MSG_127;Fladt-Felt - Automatisk valg +HISTORY_MSG_128;Fladt-Felt - Sløringsradius +HISTORY_MSG_129;Fladt-Felt - Sløringstype +HISTORY_MSG_130;Automatisk forvrængningskorrektion +HISTORY_MSG_137;Sort niveau - Grøn 1 +HISTORY_MSG_138;Sort niveau - Rød +HISTORY_MSG_139;Sort niveau - Blå +HISTORY_MSG_140;Sort niveau - Grøn 2 +HISTORY_MSG_141;Sort niveau – Sammenkæd grønne +HISTORY_MSG_142;Skærpen kanter - Gentagelser +HISTORY_MSG_143;Skærpen kanter - Mængde +HISTORY_MSG_144;Mikrokontrast - Mængde +HISTORY_MSG_145;Mikrokontrast - Ensartethed +HISTORY_MSG_146;Kantskærpning +HISTORY_MSG_147;Skærpen kanter – Kun luminans +HISTORY_MSG_148;Mikrokontrast +HISTORY_MSG_149;Mikrokontrast - 3×3 matrix +HISTORY_MSG_150;Efter-demosaiking artefakt/støjreduktion +HISTORY_MSG_151;Vibrance +HISTORY_MSG_152;Vibrance - Pastel toner +HISTORY_MSG_153;Vibrance - Mættede toner +HISTORY_MSG_154;Vibrance - Beskyt hud-toner +HISTORY_MSG_155;Vibrance - Undgå farveforskydning +HISTORY_MSG_156;Vibrance - Sammenkæd pastel/mættet +HISTORY_MSG_157;Vibrance - P/S tærskel +HISTORY_MSG_158;Tonekortlægning - Styrke +HISTORY_MSG_159;Tonekortlægning - Kantstopper +HISTORY_MSG_160;Tonekortlægning - Vægt +HISTORY_MSG_161;Tonekortlægning - Genvægtning gentages +HISTORY_MSG_162;Tone Mapping +HISTORY_MSG_163;RGB Kurver - Rød +HISTORY_MSG_164;RGB Kurver - Grøn +HISTORY_MSG_165;RGB Kurver - Blå +HISTORY_MSG_166;Eksponering - Nulstil +HISTORY_MSG_167;Demosaikingmetode +HISTORY_MSG_168;L*a*b* - CC kurve +HISTORY_MSG_169;L*a*b* - CH kurve +HISTORY_MSG_170;Vibrance - HH kurve +HISTORY_MSG_171;L*a*b* - LC kurve +HISTORY_MSG_172;L*a*b* - Begræns LC +HISTORY_MSG_173;Støjreduktion - Detaljegendannelse +HISTORY_MSG_174;CIEFM02 +HISTORY_MSG_175;CIEFM02 - CAT02 tilpasning +HISTORY_MSG_176;CIEFM02 - Visning omgivende +HISTORY_MSG_177;CIEFM02 - Scene lysstyrke +HISTORY_MSG_178;CIEFM02 - Visers lysstyrke +HISTORY_MSG_179;CIEFM02 - Hvidpunkts model +HISTORY_MSG_180;CIEFM02 - Lyshed (J) +HISTORY_MSG_181;CIEFM02 - Kroma (C) +HISTORY_MSG_182;CIEFM02 - Automatisk CAT02 +HISTORY_MSG_183;CIEFM02 - Kontrast (J) +HISTORY_MSG_184;CIEFM02 - Scene omgivende +HISTORY_MSG_185;CIEFM02 - Farveskala kontrol +HISTORY_MSG_186;CIEFM02 - Algoritme +HISTORY_MSG_187;CIEFM02 - Rød/hud besk. +HISTORY_MSG_188;CIEFM02 - Lysstyrke (Q) +HISTORY_MSG_189;CIEFM02 - Kontrast (Q) +HISTORY_MSG_190;CIEFM02 - Mætning (S) +HISTORY_MSG_191;CIEFM02 - Farverighed (M) +HISTORY_MSG_192;CIEFM02 - Farvetone (h) +HISTORY_MSG_193;CIEFM02 - Tonekurve 1 +HISTORY_MSG_194;CIEFM02 - Tonekurve 2 +HISTORY_MSG_195;CIEFM02 - Tonekurve 1 +HISTORY_MSG_196;CIEFM02 - Tonekurve 2 +HISTORY_MSG_197;CIEFM02 – Farvekurve +HISTORY_MSG_198;CIEFM02 - Farvekurve +HISTORY_MSG_199;CIEFM02 - Output histogrammer +HISTORY_MSG_200;CIEFM02 - Tonekortlægning +HISTORY_MSG_201;Støjreduktion - Krominans - R&G +HISTORY_MSG_202;Støjreduktion - Krominans - B&Y +HISTORY_MSG_203;Støjreduktion - Farverum +HISTORY_MSG_204;LMMSE forbedringstrin +HISTORY_MSG_205;CIEFM02 - Varmt/dødt pixelfilter +HISTORY_MSG_206;CAT02 - Auto scene lysstyrke +HISTORY_MSG_207;Defringe - Farvetonekurve +HISTORY_MSG_208;WB - B/R equalizer +HISTORY_MSG_210;GF - Vinkel +HISTORY_MSG_211;Gradueret Filter +HISTORY_MSG_212;VF - Styrke +HISTORY_MSG_213;Vignette Filter +HISTORY_MSG_214;Sort-og-Hvid +HISTORY_MSG_215;S/H - CM - Rød +HISTORY_MSG_216;S/H - CM - Grøn +HISTORY_MSG_217;S/H - CM - Blå +HISTORY_MSG_218;S/H - Gamma - Rød +HISTORY_MSG_219;S/H - Gamma - Grøn +HISTORY_MSG_220;S/H - Gamma - Blå +HISTORY_MSG_221;S/H - Farvefilter +HISTORY_MSG_222;S/H - Forudindstillinger +HISTORY_MSG_223;S/H - CM - Orange +HISTORY_MSG_224;S/H - CM - Gul +HISTORY_MSG_225;S/H - CM - Cyan +HISTORY_MSG_226;S/H - CM - Magenta +HISTORY_MSG_227;S/H - CM - Lilla +HISTORY_MSG_228;S/H - Luminans equalizer +HISTORY_MSG_229;S/H - Luminans equalizer +HISTORY_MSG_230;S/H - Tilstand +HISTORY_MSG_231;S/H - 'Før' kurve +HISTORY_MSG_232;S/H - 'Før' kurvetype +HISTORY_MSG_233;S/H - 'Efter' kurve +HISTORY_MSG_234;S/H - 'Efter' kurvetype +HISTORY_MSG_235;S/H - CM - Auto +HISTORY_MSG_236;--unused-- +HISTORY_MSG_237;S/H - CM +HISTORY_MSG_238;GF - Fjer +HISTORY_MSG_239;GF - Styrke +HISTORY_MSG_240;GF - Centrum +HISTORY_MSG_241;VF - Fjer +HISTORY_MSG_242;VF - Rundhed +HISTORY_MSG_243;VC - Radius +HISTORY_MSG_244;VC - Styrke +HISTORY_MSG_245;VC - Centrum +HISTORY_MSG_246;L*a*b* - CL kurve +HISTORY_MSG_247;L*a*b* - LH kurve +HISTORY_MSG_248;L*a*b* - HH kurve +HISTORY_MSG_249;KeDN - Tærskel +HISTORY_MSG_251;S/H - Algoritme +HISTORY_MSG_252;KeDN – Beskyt hudfarvetoner +HISTORY_MSG_253;KeDN - Reducér artefakter +HISTORY_MSG_254;KeDN - Hud farvetone +HISTORY_MSG_255;Støjreduktion - Median filter +HISTORY_MSG_256;Støjreduktion - Median - Type +HISTORY_MSG_257;Farvetoning +HISTORY_MSG_258;Farvetoning - Farvekurve +HISTORY_MSG_259;Farvetoning - Opacitetskurve +HISTORY_MSG_260;Farvetoning - a*[b*] opacitet +HISTORY_MSG_261;Farvetoning - Metode +HISTORY_MSG_262;Farvetoning - b* opacitet +HISTORY_MSG_263;Farvetoning - Skygger - Rød +HISTORY_MSG_264;Farvetoning - Skygger - Grøn +HISTORY_MSG_265;Farvetoning - Skygger - Blå +HISTORY_MSG_266;Farvetoning - Mellem - Rød +HISTORY_MSG_267;Farvetoning - Mellem - Grøn +HISTORY_MSG_268;Farvetoning - Mellem - Blå +HISTORY_MSG_269;Farvetoning - Høj - Rød +HISTORY_MSG_270;Farvetoning - Høj - Grøn +HISTORY_MSG_271;Farvetoning - Høj - Blå +HISTORY_MSG_272;Farvetoning - Balance +HISTORY_MSG_273;Farvetoning - Farvebalance SMH +HISTORY_MSG_276;Farvetoning - Opacitet +HISTORY_MSG_277;--unused-- +HISTORY_MSG_278;Farvetoning - Bevar luminans +HISTORY_MSG_279;Farvetoning - Skygger +HISTORY_MSG_280;Farvetoning - Højlys +HISTORY_MSG_281;Farvetoning - Mættet styrke +HISTORY_MSG_282;Farvetoning - Mættet tærskel +HISTORY_MSG_283;Farvetoning - Styrke +HISTORY_MSG_284;Farvetoning - Auto mætningsbeskyttelse +HISTORY_MSG_285;Støjreduktion - Median - Metode +HISTORY_MSG_286;Støjreduktion - Median - Type +HISTORY_MSG_287;Støjreduktion - Median - Gentagelser +HISTORY_MSG_288;Fladt-Felt - Klipningskontrol +HISTORY_MSG_289;Fladt-Felt - Klipningskontrol - Auto +HISTORY_MSG_290;Sort Niveau - Rød +HISTORY_MSG_291;Sort Niveau - Grøn +HISTORY_MSG_292;Sort Niveau - Blå +HISTORY_MSG_293;Film Simulation +HISTORY_MSG_294;Film Simulation - Styrke +HISTORY_MSG_295;Film Simulation - Film +HISTORY_MSG_296;Støjreduktion – Luminanskurve +HISTORY_MSG_297;Støjreduktion - Tilstand +HISTORY_MSG_298;Død-pixel filter +HISTORY_MSG_299;Støjreduktion - Krominans kurve +HISTORY_MSG_301;Støjreduktion - Luma kontrol +HISTORY_MSG_302;Støjreduktion - Kroma metode +HISTORY_MSG_303;Støjreduktion - Kroma metode +HISTORY_MSG_304;Wavelet - Kontrastniveauer +HISTORY_MSG_305;Wavelet Niveauer +HISTORY_MSG_306;Wavelet - Proces +HISTORY_MSG_307;Wavelet - Proces +HISTORY_MSG_308;Wavelet – Proces retning +HISTORY_MSG_309;Wavelet - ES - Detail +HISTORY_MSG_310;Wavelet - Resterende – Himmelandel beskyttelse +HISTORY_MSG_311;Wavelet - Wavelet niveauer +HISTORY_MSG_312;Wavelet - Resterende - Skyggetærskel +HISTORY_MSG_313;Wavelet - Kroma - Mættet/pastel +HISTORY_MSG_314;Wavelet - Gamut - Reducér artefakter +HISTORY_MSG_315;Wavelet - Resterende - Kontrast +HISTORY_MSG_316;Wavelet - Gamut – Hudandel beskyttelse +HISTORY_MSG_317;Wavelet - Gamut - Hudfarvetone +HISTORY_MSG_318;Wavelet - Kontrast - Højlys niveauer +HISTORY_MSG_319;Wavelet - Kontrast - Højlys rækkevidde +HISTORY_MSG_320;Wavelet - Kontrast - Skygge rækkevidde +HISTORY_MSG_321;Wavelet - Kontrast - Skygge niveauer +HISTORY_MSG_322;Wavelet - Gamut - Undgå farveforskydning +HISTORY_MSG_323;Wavelet - ES - Localkontrast +HISTORY_MSG_324;Wavelet - Kroma - Pastel +HISTORY_MSG_325;Wavelet - Kroma - Mættet +HISTORY_MSG_326;Wavelet - Kroma - Metode +HISTORY_MSG_327;Wavelet - Kontrast - Tilføj til +HISTORY_MSG_328;Wavelet - Kroma - Sammenkædniongsstyrke +HISTORY_MSG_329;Wavelet - Toning - Opacitet RG +HISTORY_MSG_330;Wavelet - Toning - Opacitet BY +HISTORY_MSG_331;Wavelet - Kontrastniveauer - Ekstra +HISTORY_MSG_332;Wavelet - Fliseopdelingsmetode +HISTORY_MSG_333;Wavelet - Resterende - Skygger +HISTORY_MSG_334;Wavelet - Resterende - Kroma +HISTORY_MSG_335;Wavelet - Resterende - Højlys +HISTORY_MSG_336;Wavelet - Resterende - Højlystærskel +HISTORY_MSG_337;Wavelet - Resterende - Himmelfarvetone +HISTORY_MSG_338;Wavelet - ES - Radius +HISTORY_MSG_339;Wavelet - ES - Styrke +HISTORY_MSG_340;Wavelet - Styrke +HISTORY_MSG_341;Wavelet - Kantydelse +HISTORY_MSG_342;Wavelet - ES - Første niveau +HISTORY_MSG_343;Wavelet - Kroma niveauer +HISTORY_MSG_344;Wavelet - Meth kroma sl/cur +HISTORY_MSG_345;Wavelet - ES - Lokal kontrast +HISTORY_MSG_346;Wavelet - ES - Lokal kontrast metode +HISTORY_MSG_347;Wavelet - Støjfjernelse - Niveau 1 +HISTORY_MSG_348;Wavelet - Støjfjernelse - Niveau 2 +HISTORY_MSG_349;Wavelet - Støjfjernelse - Niveau 3 +HISTORY_MSG_350;Wavelet - ES - Kantgenkendelse +HISTORY_MSG_351;Wavelet - Resterende - HH kurve +HISTORY_MSG_352;Wavelet - Baggrund +HISTORY_MSG_353;Wavelet - ES - Gradient følsomhed +HISTORY_MSG_354;Wavelet - ES - Forbedret +HISTORY_MSG_355;Wavelet - ES - Tærskel lav +HISTORY_MSG_356;Wavelet - ES - Tærskel høj +HISTORY_MSG_357;Wavelet - Støjfjernelse - Link med ES +HISTORY_MSG_358;Wavelet - Gamut - CH +HISTORY_MSG_359;Varm/Død - Tærskel +HISTORY_MSG_360;Tonekortlægning - Gamma +HISTORY_MSG_361;Wavelet - Afsluttende - Kroma balance +HISTORY_MSG_362;Wavelet - Resterende - Kompression metode +HISTORY_MSG_363;Wavelet - Resterende - Kompression styrke +HISTORY_MSG_364;Wavelet - Afsluttende - Kontrast balance +HISTORY_MSG_365;Wavelet - Afsluttende - Delta balance +HISTORY_MSG_366;Wavelet - Resterende - Kompression gamma +HISTORY_MSG_367;Wavelet - Afsluttende - 'Efter' kontrast kurve +HISTORY_MSG_368;Wavelet - Afsluttende - Kontrast balance +HISTORY_MSG_369;Wavelet - Afsluttende - Balance metode +HISTORY_MSG_370;Wavelet - Afsluttende - Lokal kontrast kurve +HISTORY_MSG_371;Post-Resize Skærpe +HISTORY_MSG_372;PRS USM - Radius +HISTORY_MSG_373;PRS USM - Mængde +HISTORY_MSG_374;PRS USM - Tærskel +HISTORY_MSG_375;PRS USM - Skærp kun kanter +HISTORY_MSG_376;PRS USM - Kantfinding radius +HISTORY_MSG_377;PRS USM - Kanttolerance +HISTORY_MSG_378;PRS USM - Glorie kontrol +HISTORY_MSG_379;PRS USM - Glorie kontrolmængde +HISTORY_MSG_380;PRS - Metode +HISTORY_MSG_381;PRS RLD - Radius +HISTORY_MSG_382;PRS RLD - Mængde +HISTORY_MSG_383;PRS RLD - Dæmpning +HISTORY_MSG_384;PRS RLD - Gentagelser +HISTORY_MSG_385;Wavelet - Resterende - Farve Balance +HISTORY_MSG_386;Wavelet - Resterende - CB grøn høj +HISTORY_MSG_387;Wavelet - Resterende - CB blå høj +HISTORY_MSG_388;Wavelet - Resterende - CB grøn mellem +HISTORY_MSG_389;Wavelet - Resterende - CB blå mellem +HISTORY_MSG_390;Wavelet - Resterende - CB grøn lav +HISTORY_MSG_391;Wavelet - Resterende - CB blå lav +HISTORY_MSG_392;Wavelet - Resterende - Farve Balance +HISTORY_MSG_393;DCP - Look-tabel +HISTORY_MSG_394;DCP - Basisbelysning +HISTORY_MSG_395;DCP - Basistabel +HISTORY_MSG_396;Wavelet - Kontrast slutredigering +HISTORY_MSG_397;Wavelet - Kroma slutredigering +HISTORY_MSG_398;Wavelet - ES slutredigering +HISTORY_MSG_399;Wavelet - Resterende billede +HISTORY_MSG_400;Wavelet - Afsluttende redigering +HISTORY_MSG_401;Wavelet - Toning slutredigering +HISTORY_MSG_402;Wavelet - Støjfjernelse slutredigering +HISTORY_MSG_403;Wavelet - ES – Kantfølsomhed +HISTORY_MSG_404;Wavelet - ES - Base forstærkning +HISTORY_MSG_405;Wavelet - Støjfjernelse - Niveau 4 +HISTORY_MSG_406;Wavelet - ES - Nabo pixels +HISTORY_MSG_407;Retinex - Metode +HISTORY_MSG_408;Retinex - Radius +HISTORY_MSG_410;Retinex - Offset +HISTORY_MSG_411;Retinex - Styrke +HISTORY_MSG_412;Retinex - Gaussisk gradient +HISTORY_MSG_413;Retinex - Kontrast +HISTORY_MSG_414;Retinex - Histogram - Lab +HISTORY_MSG_415;Retinex - Transmission +HISTORY_MSG_416;Retinex +HISTORY_MSG_417;Retinex - Transmission median +HISTORY_MSG_418;Retinex - Tærskel +HISTORY_MSG_419;Retinex - Farverum +HISTORY_MSG_420;Retinex - Histogram - HSL +HISTORY_MSG_421;Retinex - Gamma +HISTORY_MSG_422;Retinex - Gamma +HISTORY_MSG_423;Retinex - Gamma hældning +HISTORY_MSG_424;Retinex - HL tærskel +HISTORY_MSG_425;Retinex - Log base +HISTORY_MSG_426;Retinex - Farvetone equalizer +HISTORY_MSG_427;Output - Ønsket gengivelse +HISTORY_MSG_428;Skærm - Ønsket gengivelse +HISTORY_MSG_429;Retinex - Gentagelser +HISTORY_MSG_430;Retinex - Transmission gradient +HISTORY_MSG_431;Retinex - Styrke gradient +HISTORY_MSG_432;Retinex - Maske - Højlys +HISTORY_MSG_433;Retinex - Maske - Højlys TB +HISTORY_MSG_434;Retinex - Maske - Skygger +HISTORY_MSG_435;Retinex - Maske - Skygger TB +HISTORY_MSG_436;Retinex - Maske - Radius +HISTORY_MSG_437;Retinex - Maske - Metode +HISTORY_MSG_438;Retinex - Maske - Equalizer +HISTORY_MSG_439;Retinex - Proces +HISTORY_MSG_440;KeDN - Metode +HISTORY_MSG_441;Retinex - Forstærk transmission +HISTORY_MSG_442;Retinex - Vægt +HISTORY_MSG_443;Output sortpunktskompensation +HISTORY_MSG_444;WB - Temp forskydning +HISTORY_MSG_445;Raw sub-image +HISTORY_MSG_449;PS - ISO tilpasning +HISTORY_MSG_452;PS - Vis bevægelse +HISTORY_MSG_453;PS - Vis kun maske +HISTORY_MSG_457;PS - Check rød/blå +HISTORY_MSG_462;PS - Check grøn +HISTORY_MSG_464;PS - Slør bevægelsesmaske +HISTORY_MSG_465;PS - Sløringsradius +HISTORY_MSG_468;PS – Udfyld huller +HISTORY_MSG_469;PS - Median +HISTORY_MSG_471;PS - Bevægelseskorrektion +HISTORY_MSG_472;PS - Bløde overgange +HISTORY_MSG_474;PS - Equalize +HISTORY_MSG_475;PS - Equalize kanal +HISTORY_MSG_476;CIEFM02 - Temp ud +HISTORY_MSG_477;CIEFM02 - Grøn ud +HISTORY_MSG_478;CIEFM02 - Yb ud +HISTORY_MSG_479;CIEFM02 - CAT02 adaptation ud +HISTORY_MSG_480;CIEFM02 - Automatic CAT02 ud +HISTORY_MSG_481;CIEFM02 - Temp scene +HISTORY_MSG_482;CIEFM02 - Grøn scene +HISTORY_MSG_483;CIEFM02 - Yb scene +HISTORY_MSG_484;CIEFM02 - Auto Yb scene +HISTORY_MSG_485;Objektivkorrektion +HISTORY_MSG_486;Objektivkorrektion - Kamera +HISTORY_MSG_487;Objektivkorrektion - Objektiv +HISTORY_MSG_488;Dynamisk Områdekomprimering +HISTORY_MSG_489;DO - Detalje +HISTORY_MSG_490;DO - Mængde +HISTORY_MSG_491;Hvidbalance +HISTORY_MSG_492;RGB Kurver +HISTORY_MSG_493;L*a*b* Justeringer +HISTORY_MSG_494;Input skærpning +HISTORY_MSG_CLAMPOOG;Klip farver uden for Gamut +HISTORY_MSG_COLORTONING_LABGRID_VALUE;Farvetoning - Farvekorrektion +HISTORY_MSG_COLORTONING_LABREGION_AB;Farvetoning - Farvekorrektion +HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;Farvetoning - Kanal +HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;Farvetoning - område C maske +HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;Farvetoning - H maske +HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;Farvetoning - Lyshed +HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;Farvetoning - L maske +HISTORY_MSG_COLORTONING_LABREGION_LIST;Farvetoning - Liste +HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;Farvetoning - område maske sløring +HISTORY_MSG_COLORTONING_LABREGION_OFFSET;Farvetoning - område offset +HISTORY_MSG_COLORTONING_LABREGION_POWER;Farvetoning - område styrke +HISTORY_MSG_COLORTONING_LABREGION_SATURATION;Farvetoning - Mætning +HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;Farvetoning - område vis maske +HISTORY_MSG_COLORTONING_LABREGION_SLOPE;Farvetoning – område hældning +HISTORY_MSG_DEHAZE_DEPTH;Fjern dis - Dybde +HISTORY_MSG_DEHAZE_ENABLED;Fjern dis +HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Fjern dis - Vis dybde kort +HISTORY_MSG_DEHAZE_STRENGTH;Fjern dis - Styrke +HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Dobbelt demosaik - Auto tærskel +HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Dobbelt demosaik - Kontrasttærskel +HISTORY_MSG_FILMNEGATIVE_ENABLED;Film-negativ +HISTORY_MSG_FILMNEGATIVE_VALUES;Film-negativ værdier +HISTORY_MSG_HISTMATCHING;Auto-matchet tone kurve +HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primære +HISTORY_MSG_ICM_OUTPUT_TEMP;Output - ICC-v4 lyskilde D +HISTORY_MSG_ICM_OUTPUT_TYPE;Output - Type +HISTORY_MSG_ICM_WORKING_GAMMA;Arbejdsprofil - Gamma +HISTORY_MSG_ICM_WORKING_SLOPE;Arbejdsprofil - Hældning +HISTORY_MSG_ICM_WORKING_TRC_METHOD;Arbejdsprofil - TRC metode +HISTORY_MSG_LOCALCONTRAST_AMOUNT;Lokal Kontrast - Mængde +HISTORY_MSG_LOCALCONTRAST_DARKNESS;Lokal Kontrast - Mørke +HISTORY_MSG_LOCALCONTRAST_ENABLED;Lokal Kontrast +HISTORY_MSG_LOCALCONTRAST_LIGHTNESS;Lokal Kontrast - Lyshed +HISTORY_MSG_LOCALCONTRAST_RADIUS;Lokal Kontrast - Radius +HISTORY_MSG_METADATA_MODE;Metadata kopieringstilstand +HISTORY_MSG_MICROCONTRAST_CONTRAST;Mikrokontrast - Kontrasttærskel +HISTORY_MSG_PDSHARPEN_AUTO_CONTRAST;CS - Auto tærskel +HISTORY_MSG_PDSHARPEN_AUTO_RADIUS;CS - Auto radius +HISTORY_MSG_PDSHARPEN_CHECKITER;CS - Auto begrænsning af iterationer +HISTORY_MSG_PDSHARPEN_CONTRAST;CS - Kontrasttærskel +HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Gentagelser +HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius +HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Forstærkning af hjørneradius +HISTORY_MSG_PIXELSHIFT_DEMOSAIC;PS - Demosaik metode til bevægelse +HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;Linje støjfilter retning +HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;PDAF linjer filter +HISTORY_MSG_PRSHARPEN_CONTRAST;PRS - Kontrasttærskel +HISTORY_MSG_RAWCACORR_AUTOIT;Raw CA Korrektion - Gentagelser +HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Korrektion - Undgå farveforskydning +HISTORY_MSG_RAW_BORDER;Billed kant +HISTORY_MSG_RESIZE_ALLOWUPSCALING;Tilpas størrelse - Tillad opskalering +HISTORY_MSG_SHARPENING_BLUR;Skærpe - Sløringsradius +HISTORY_MSG_SHARPENING_CONTRAST;Skærpe - Kontrasttærskel +HISTORY_MSG_SH_COLORSPACE;Farverum +HISTORY_MSG_SOFTLIGHT_ENABLED;Blødt lys +HISTORY_MSG_SOFTLIGHT_STRENGTH;Blødt lys - Styrke +HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anker +HISTORY_MSG_TRANS_Method;Geometri - Metode +HISTORY_NEWSNAPSHOT;Tilføj +HISTORY_NEWSNAPSHOT_TOOLTIP;Genvej: Alt-s +HISTORY_SNAPSHOT;Snapshot +HISTORY_SNAPSHOTS;Snapshots +ICCPROFCREATOR_COPYRIGHT;Ophavsret: +ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Nulstil til standardophavsretten, givet til "RawTherapee, CC0" +ICCPROFCREATOR_CUSTOM;Standard +ICCPROFCREATOR_DESCRIPTION;Beskrivelse: +ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Tilføj gamma- og hældningsværdier til beskrivelsen +ICCPROFCREATOR_DESCRIPTION_TOOLTIP;Lad stå tomt for at angive standardbeskrivelsen. +ICCPROFCREATOR_GAMMA;Gamma +ICCPROFCREATOR_ICCVERSION;ICC version: +ICCPROFCREATOR_ILL;Lyskilde: +ICCPROFCREATOR_ILL_41;D41 +ICCPROFCREATOR_ILL_50;D50 +ICCPROFCREATOR_ILL_55;D55 +ICCPROFCREATOR_ILL_60;D60 +ICCPROFCREATOR_ILL_65;D65 +ICCPROFCREATOR_ILL_80;D80 +ICCPROFCREATOR_ILL_DEF;Standard +ICCPROFCREATOR_ILL_INC;StdA 2856K +ICCPROFCREATOR_ILL_TOOLTIP;Du kan kun indstille lyskilden for ICC v4-profiler. +ICCPROFCREATOR_PRIMARIES;Primære: +ICCPROFCREATOR_PRIM_ACESP0;ACES AP0 +ICCPROFCREATOR_PRIM_ACESP1;ACES AP1 +ICCPROFCREATOR_PRIM_ADOBE;Adobe RGB (1998) +ICCPROFCREATOR_PRIM_BEST;BestRGB +ICCPROFCREATOR_PRIM_BETA;BetaRGB +ICCPROFCREATOR_PRIM_BLUX;Blå X +ICCPROFCREATOR_PRIM_BLUY;Blå Y +ICCPROFCREATOR_PRIM_BRUCE;BruceRGB +ICCPROFCREATOR_PRIM_GREX;Grøn X +ICCPROFCREATOR_PRIM_GREY;Grøn Y +ICCPROFCREATOR_PRIM_PROPH;Prophoto +ICCPROFCREATOR_PRIM_REC2020;Rec2020 +ICCPROFCREATOR_PRIM_REDX;Rød X +ICCPROFCREATOR_PRIM_REDY;Rød Y +ICCPROFCREATOR_PRIM_SRGB;sRGB +ICCPROFCREATOR_PRIM_TOOLTIP;Du kan kun indstille tilpassede primære for ICC v4-profiler. +ICCPROFCREATOR_PRIM_WIDEG;Bred farveskala +ICCPROFCREATOR_PROF_V2;ICC v2 +ICCPROFCREATOR_PROF_V4;ICC v4 +ICCPROFCREATOR_SAVEDIALOG_TITLE;Gem ICC-profil som... +ICCPROFCREATOR_SLOPE;Hældning +ICCPROFCREATOR_TRC_PRESET;Toneresponskurve: +IPTCPANEL_CATEGORY;Kategori +IPTCPANEL_CATEGORYHINT;Identificér billedets motiv efter bidragerens mening. +IPTCPANEL_CITY;By +IPTCPANEL_CITYHINT;Indtast navnet på byen på billedet. +IPTCPANEL_COPYHINT;Kopiér IPTC indstillinger til klippebordet. +IPTCPANEL_COPYRIGHT;Ophavsretsmeddelelse +IPTCPANEL_COPYRIGHTHINT;Indtast en meddelelse om den nuværende ejer af ophavsretten til dette billede, som f.eks. ©2008 Jane Doe. +IPTCPANEL_COUNTRY;Land +IPTCPANEL_COUNTRYHINT;Indtast navnet på landet på billedet. +IPTCPANEL_CREATOR;Skaber +IPTCPANEL_CREATORHINT;Indtast navnet på den person, der skabte dette billede. +IPTCPANEL_CREATORJOBTITLE;Skabers jobtitel +IPTCPANEL_CREATORJOBTITLEHINT;Indtast jobtitlen på den person, der er angivet i feltet ’Skaber’. +IPTCPANEL_CREDIT;Kredditerings linje +IPTCPANEL_CREDITHINT;Indtast, hvem der skal krediteres, når dette billede offentliggøres. +IPTCPANEL_DATECREATED;Dato oprettet +IPTCPANEL_DATECREATEDHINT;Indtast datoen, hvor billedet blev taget. +IPTCPANEL_DESCRIPTION;Beskrivelse +IPTCPANEL_DESCRIPTIONHINT;Indtast en "billedtekst", der beskriver hvem, hvad, hvorfor, og af hvad der sker på dette billede. Dette kan omfatte navne på personer og/eller deres rolle i den handling, der finder sted på billedet. +IPTCPANEL_DESCRIPTIONWRITER;Beskrivelse forfatter +IPTCPANEL_DESCRIPTIONWRITERHINT;Indtast navnet på den person, der er involveret i at skrive, redigere eller rette beskrivelsen af billedet. +IPTCPANEL_EMBEDDED;Indlejret +IPTCPANEL_EMBEDDEDHINT;Nulstil til IPTC-data, der er indlejret i billedfilen. +IPTCPANEL_HEADLINE;Overskrift +IPTCPANEL_HEADLINEHINT;Indtast en kort publicerbar synopsis eller et resumé af indholdet af billedet. +IPTCPANEL_INSTRUCTIONS;Instruktioner +IPTCPANEL_INSTRUCTIONSHINT;Indtast oplysninger om embargoer eller andre restriktioner, der ikke er dækket af Ophavsret-feltet. +IPTCPANEL_KEYWORDS;Nøgleord +IPTCPANEL_KEYWORDSHINT;Indtast et vilkårligt antal søgeord, termer eller sætninger, der bruges til at udtrykke emnet i billedet. +IPTCPANEL_PASTEHINT;Indsæt IPTC-indstillinger fra udklipsholder. +IPTCPANEL_PROVINCE;Provins eller stat +IPTCPANEL_PROVINCEHINT;Indtast navnet på provinsen eller staten afbildet på dette billede. +IPTCPANEL_RESET;Nulstil +IPTCPANEL_RESETHINT;Nulstil til standardprofil. +IPTCPANEL_SOURCE;Kilde +IPTCPANEL_SOURCEHINT;Indtast eller rediger navnet på en person eller enhed, der har en rolle i indholdsforsyningskæden, f.eks. en person eller enhed, som du modtog dette billede fra. +IPTCPANEL_SUPPCATEGORIES;Supplerende kategorier +IPTCPANEL_SUPPCATEGORIESHINT;Forfiner billedets emne yderligere. +IPTCPANEL_TITLE;Titel +IPTCPANEL_TITLEHINT;Indtast et kort verbalt og menneskeligt læsbart navn til billedet, dette kan være filnavnet. +IPTCPANEL_TRANSREFERENCE;Job ID +IPTCPANEL_TRANSREFERENCEHINT;Indtast et nummer eller en identifikator, der er nødvendig for workflowkontrol eller sporing. +MAIN_BUTTON_FULLSCREEN;Fuldskærm +MAIN_BUTTON_ICCPROFCREATOR;ICC-profilskaber +MAIN_BUTTON_NAVNEXT_TOOLTIP;Naviger til det næste billede i forhold til det billede, der er åbnet i editoren.\nGenvej: Shift-F4\n\nFor at navigere til det næste billede i forhold til det aktuelt valgte thumbnail i Filbrowseren eller filmstrimlen:\nGenvej: F4 +MAIN_BUTTON_NAVPREV_TOOLTIP;Naviger til det forrige billede i forhold til det billede, der er åbnet i editoren.\nGenvej: Shift-F3\n\nFor at navigere til det forrige billede i forhold til det aktuelt valgte thumbnail i Filbrowseren eller filmstrimlen:\nGenvej: F3 +MAIN_BUTTON_NAVSYNC_TOOLTIP;Synkroniser Filbrowseren eller Filmstrimlen med Editoren for at vise thumbnails fra det aktuelt åbnede billede, og ryd ethvert aktivt filter.\nGenvej: x\n\nSom ovenfor, men uden at rydde aktive filtre:\nGenvej: < b>y\n(Bemærk, at thumbnailet af det åbnede billede, ikke vil blive vist, hvis det filtreres fra). +MAIN_BUTTON_PREFERENCES;Præferencer +MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;Sæt det aktuelle billede i redigeringskøen.\nGenvej: Ctrl+b +MAIN_BUTTON_SAVE_TOOLTIP;Gem det aktuelle billede.\nGenvej: Ctrl+s\nGem den aktuelle profil (.pp3).\nGenvej: Ctrl+Shift+s +MAIN_BUTTON_SENDTOEDITOR;Redigér billede i ekstern editor. +MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;Redigér det aktuelle billede i ekstern editor.\nGenvej: Ctrl+e +MAIN_BUTTON_SHOWHIDESIDEPANELS_TOOLTIP;Vis/skjul alle sidepaneler.\nGenvej: m +MAIN_BUTTON_UNFULLSCREEN;Afslut fuldskærm +MAIN_FRAME_EDITOR;Redigering +MAIN_FRAME_EDITOR_TOOLTIP;Redigering.\nGenvej: Ctrl-F4 +MAIN_FRAME_FILEBROWSER;Fil Browser +MAIN_FRAME_FILEBROWSER_TOOLTIP;Fil browser.\nGenvej: Ctrl-F2 +MAIN_FRAME_PLACES;Steder +MAIN_FRAME_PLACES_ADD;Tilføj +MAIN_FRAME_PLACES_DEL;Fjern +MAIN_FRAME_QUEUE;Kø +MAIN_FRAME_QUEUE_TOOLTIP;Redigeringskø.\nGenvej: Ctrl-F3 +MAIN_FRAME_RECENT;Nylige mapper +MAIN_MSG_ALREADYEXISTS;Filen findes allerede. +MAIN_MSG_CANNOTLOAD;Kan ikke indlæse billede. +MAIN_MSG_CANNOTSAVE;Fillagringsfejl +MAIN_MSG_CANNOTSTARTEDITOR;Kan ikke starte editor. +MAIN_MSG_CANNOTSTARTEDITOR_SECONDARY;Indstil den korrekte sti i Præferencer. +MAIN_MSG_EMPTYFILENAME;Filnavn ikke specificeret! +MAIN_MSG_IMAGEUNPROCESSED;Denne kommando kræver, at alle valgte billeder behandles i kø først. +MAIN_MSG_NAVIGATOR;Navigator +MAIN_MSG_OPERATIONCANCELLED;Handling annulleret +MAIN_MSG_PATHDOESNTEXIST;Stien\n\n%1\n\neksisterer ikke. Indsæt en korrekt sti i Præferencer. +MAIN_MSG_QOVERWRITE;Vil du overskrive det? +MAIN_MSG_SETPATHFIRST;Du skal først angive en målsti i Præferencer for at bruge denne funktion! +MAIN_MSG_TOOMANYOPENEDITORS;For mange åbne editors.\nLuk en editor for at fortsætte +MAIN_MSG_WRITEFAILED;Kunne ikke gemme\n"%1"\n\nSørg for, at mappen eksisterer, og at du har skrivetilladelse til den. +MAIN_TAB_ADVANCED;Avanceret +MAIN_TAB_ADVANCED_TOOLTIP;Genvej: Alt-a +MAIN_TAB_COLOR;Farver +MAIN_TAB_COLOR_TOOLTIP;Genvej: Alt-c +MAIN_TAB_DETAIL;Detaljer +MAIN_TAB_DETAIL_TOOLTIP;Genvej: Alt-d +MAIN_TAB_DEVELOP; Batch Edit +MAIN_TAB_EXIF;Exif +MAIN_TAB_EXPORT; Hurtig eksport +MAIN_TAB_EXPOSURE;Eksponering +MAIN_TAB_EXPOSURE_TOOLTIP;Genvej: Alt-e +MAIN_TAB_FAVORITES;Favoritter +MAIN_TAB_FAVORITES_TOOLTIP;Genvej: Alt-u +MAIN_TAB_FILTER; Filtrér +MAIN_TAB_INSPECT; Inspicér +MAIN_TAB_IPTC;IPTC +MAIN_TAB_METADATA;Metadata +MAIN_TAB_METADATA_TOOLTIP;Genvej: Alt-m +MAIN_TAB_RAW;Raw +MAIN_TAB_RAW_TOOLTIP;Genvej: Alt-r +MAIN_TAB_TRANSFORM;Transformér +MAIN_TAB_TRANSFORM_TOOLTIP;Genvej: Alt-t +MAIN_TOOLTIP_BACKCOLOR0;Forhåndsvisningens baggrundsfarve: temabaseret\nGenvej: 9 +MAIN_TOOLTIP_BACKCOLOR1;Forhåndsvisningens baggrundsfarve: sort\nGenvej: 9 +MAIN_TOOLTIP_BACKCOLOR2;Forhåndsvisningens baggrundsfarve: hvid\nGenvej: 9 +MAIN_TOOLTIP_BACKCOLOR3;Forhåndsvisningens baggrundsfarve: mellemgrå\nGenvej: 9 +MAIN_TOOLTIP_BEFOREAFTERLOCK;Lås / Lås op visningen Før\n\nLås: behold Før visning uændret.\nNyttig til at evaluere den samlede effekt af flere værktøjer.\nDerudover kan sammenligninger foretages med enhver tilstand i historikken.\n\nLås op: Før visningen følger Efter-visningen et skridt bagud, og viser billedet før effekten af det aktuelt brugte værktøj. +MAIN_TOOLTIP_HIDEHP;Vis/Skjul venstre panel (inklusiv historik).\nGenvej: l +MAIN_TOOLTIP_INDCLIPPEDH;Klippet højlys indikation.\nGenvej: > +MAIN_TOOLTIP_INDCLIPPEDS;Klippet skygge indikation.\nGenvej: < +MAIN_TOOLTIP_PREVIEWB;Forhåndsvis den blå kanal.\nGenvej: b +MAIN_TOOLTIP_PREVIEWFOCUSMASK;Forhåndsvis fokusmasken.\nGenvej: Shift-f\n\nMere nøjagtig på billeder med lav dybdeskarphed, lav støj og ved højere zoomniveauer.\nZoom ud til 10-30 % for at forbedre detektionsnøjagtigheden på støjfyldte billeder. +MAIN_TOOLTIP_PREVIEWG;Forhåndsvis den grønne kanal.\nGenvej: g +MAIN_TOOLTIP_PREVIEWL;Forhåndsvis luminosity.\nGenvej: v\n\n0.299*R + 0.587*G + 0.114*B +MAIN_TOOLTIP_PREVIEWR;Forhåndsvis rød kanal.\nGenvej: r +MAIN_TOOLTIP_PREVIEWSHARPMASK;Forhåndsvis den skærpende kontrastmaske.\nGenvej: p\n\nVirker kun når skærpen er aktiveret og zoom >= 100%. +MAIN_TOOLTIP_QINFO;Hurtig info om billedet.\nGenvej: i +MAIN_TOOLTIP_SHOWHIDELP1;Vis/Skjul venstre panel.\nGenvej: l +MAIN_TOOLTIP_SHOWHIDERP1;Vis/Skjul højre panel.\nGenvej: Alt-l +MAIN_TOOLTIP_SHOWHIDETP1;Vis/Skjul top panel.\nGenvej: Shift-l +MAIN_TOOLTIP_THRESHOLD;Tærskel +MAIN_TOOLTIP_TOGGLE;Skift mellem Før/Efter visningen.\nGenvej: Shift-b +MONITOR_PROFILE_SYSTEM;Systemstandard +NAVIGATOR_B;B: +NAVIGATOR_G;G: +NAVIGATOR_H;H: +NAVIGATOR_LAB_A;a*: +NAVIGATOR_LAB_B;b*: +NAVIGATOR_LAB_L;L*: +NAVIGATOR_NA; -- +NAVIGATOR_R;R: +NAVIGATOR_S;S: +NAVIGATOR_V;V: +NAVIGATOR_XY_FULL;Bredde: %1, Højde: %2 +NAVIGATOR_XY_NA;x: --, y: -- +OPTIONS_BUNDLED_MISSING;Den medfølgende profil "%1" blev ikke fundet!\n\nDin installation kan være beskadiget.\n\nInterne standardværdier vil blive brugt i stedet. +OPTIONS_DEFIMG_MISSING;Standardprofilen for ikke-raw billeder kunne ikke findes eller er ikke sat.\n\nTjek dine profilers mappe, den kan mangle eller være beskadiget.\n\n"%1" vil blive brugt i stedet. +OPTIONS_DEFRAW_MISSING; Standardprofilen for raw billeder kunne ikke findes eller er ikke sat.\n\nTjek dine profilers mappe, den kan mangle eller være beskadiget.\n\n"%1" vil blive brugt i stedet. +PARTIALPASTE_ADVANCEDGROUP;Avancerede Indstillinger +PARTIALPASTE_BASICGROUP;Grundlæggende Indstillinger +PARTIALPASTE_CACORRECTION;Kromatisk afvigelse korrektion +PARTIALPASTE_CHANNELMIXER;Kanalmixer +PARTIALPASTE_CHANNELMIXERBW;S/H +PARTIALPASTE_COARSETRANS;Grov rotation/flipping +PARTIALPASTE_COLORAPP;CIEFM02 +PARTIALPASTE_COLORGROUP;Farverelaterede Indstillinger +PARTIALPASTE_COLORTONING;Farvetoning +PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto-udfyld +PARTIALPASTE_COMPOSITIONGROUP;Kompositions Indstillinger +PARTIALPASTE_CROP;Beskær +PARTIALPASTE_DARKFRAMEAUTOSELECT;Mørk ramme auto-selektion +PARTIALPASTE_DARKFRAMEFILE;Mørk ramme fil +PARTIALPASTE_DEFRINGE;Defringe +PARTIALPASTE_DEHAZE;Fjern dis +PARTIALPASTE_DETAILGROUP;Detail Indstillinger +PARTIALPASTE_DIALOGLABEL;Bearbejdningsprofil for delvist indsæt +PARTIALPASTE_DIRPYRDENOISE;Støjreduktion +PARTIALPASTE_DIRPYREQUALIZER;Kontrast ved detaljeniveauer +PARTIALPASTE_DISTORTION;Forvrængningskorrektion +PARTIALPASTE_EPD; +PARTIALPASTE_EQUALIZER;Wavelet niveauer +PARTIALPASTE_EVERYTHING;Alt +PARTIALPASTE_EXIFCHANGES;Exif +PARTIALPASTE_EXPOSURE;Eksponering +PARTIALPASTE_FILMNEGATIVE;Negativfilm +PARTIALPASTE_FILMSIMULATION;Film simulation +PARTIALPASTE_FLATFIELDAUTOSELECT;Flat-field Automatisk valg +PARTIALPASTE_FLATFIELDBLURRADIUS;Flat-field sløringsradius +PARTIALPASTE_FLATFIELDBLURTYPE;Flat-field sløringstype +PARTIALPASTE_FLATFIELDCLIPCONTROL;Flat-field klip kontrol +PARTIALPASTE_FLATFIELDFILE;Flat-field fil +PARTIALPASTE_GRADIENT;Gradueret filter +PARTIALPASTE_HSVEQUALIZER;HSV equalizer +PARTIALPASTE_ICMSETTINGS;Farvestyring indstillinger +PARTIALPASTE_IMPULSEDENOISE;Impuls støjreduktion +PARTIALPASTE_IPTCINFO;IPTC +PARTIALPASTE_LABCURVE;L*a*b* adjustments +PARTIALPASTE_LENSGROUP;Lens Related Indstillinger +PARTIALPASTE_LENSPROFILE;Profileret objektivkorrektion +PARTIALPASTE_LOCALCONTRAST;Lokal kontrast +PARTIALPASTE_METADATA;Metadata tilstand +PARTIALPASTE_METAGROUP;Metadata indstillinger +PARTIALPASTE_PCVIGNETTE;Vignette filter +PARTIALPASTE_PERSPECTIVE;Perspektiv +PARTIALPASTE_PREPROCESS_DEADPIXFILT;Død-pixel filter +PARTIALPASTE_PREPROCESS_GREENEQUIL;Grøn ligevægt +PARTIALPASTE_PREPROCESS_HOTPIXFILT;Varm-pixel filter +PARTIALPASTE_PREPROCESS_LINEDENOISE;Linje støjfilter +PARTIALPASTE_PREPROCESS_PDAFLINESFILTER;PDAF linjefilter +PARTIALPASTE_PRSHARPENING;Skærpning efter justering af størrelse +PARTIALPASTE_RAWCACORR_AUTO;CA auto-korrektion +PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;CA undgå farveskift +PARTIALPASTE_RAWCACORR_CAREDBLUE;CA rød & blå +PARTIALPASTE_RAWEXPOS_BLACK;Sort niveauer +PARTIALPASTE_RAWEXPOS_LINEAR;Hvidpunkts korrektion +PARTIALPASTE_RAWGROUP;Raw Indstillinger +PARTIALPASTE_RAW_BORDER;Raw kanter +PARTIALPASTE_RAW_DCBENHANCE;DCB forbedring +PARTIALPASTE_RAW_DCBITERATIONS;DCB iterationer +PARTIALPASTE_RAW_DMETHOD;Demosaik metode +PARTIALPASTE_RAW_FALSECOLOR;Undertrykkelse af falske farver +PARTIALPASTE_RAW_IMAGENUM;Underbillede +PARTIALPASTE_RAW_LMMSEITERATIONS;LMMSE forbedrings skridt +PARTIALPASTE_RAW_PIXELSHIFT;Pixel Shift +PARTIALPASTE_RESIZE;Ændr størrelse +PARTIALPASTE_RETINEX;Retinex +PARTIALPASTE_RGBCURVES;RGB kurver +PARTIALPASTE_ROTATION;Rotation +PARTIALPASTE_SHADOWSHIGHLIGHTS;Skygger/højlys +PARTIALPASTE_SHARPENEDGE;Skærpen kanter +PARTIALPASTE_SHARPENING;Skærpe (USM/RL) +PARTIALPASTE_SHARPENMICRO;Mikrokontrast +PARTIALPASTE_SOFTLIGHT;Blødt lys +PARTIALPASTE_TM_FATTAL;Dynamisk områdekompression +PARTIALPASTE_VIBRANCE;Vibrance +PARTIALPASTE_VIGNETTING;Vignetteringskorrektion +PARTIALPASTE_WHITEBALANCE;Hvidbalance +PREFERENCES_ADD;Tilføj +PREFERENCES_APPEARANCE;Udseende +PREFERENCES_APPEARANCE_COLORPICKERFONT;Farvevælgers skrifttype +PREFERENCES_APPEARANCE_CROPMASKCOLOR;Beskæringsmaskens farve +PREFERENCES_APPEARANCE_MAINFONT;Hovedskrifttype +PREFERENCES_APPEARANCE_NAVGUIDECOLOR;Navigeringsguide farve +PREFERENCES_APPEARANCE_PSEUDOHIDPI;Pseudo-HiDPI tilstand +PREFERENCES_APPEARANCE_THEME;Tema +PREFERENCES_APPLNEXTSTARTUP;genstart nødvendig +PREFERENCES_AUTOMONPROFILE;Brug operativsystemets hovedskærmfarveprofil +PREFERENCES_AUTOSAVE_TP_OPEN;Gem værktøjets foldet/udfoldet tilstand ved afslutning +PREFERENCES_BATCH_PROCESSING;Batch Redigering +PREFERENCES_BEHADDALL;Alt til 'Tilføj' +PREFERENCES_BEHADDALLHINT;Sæt alle parametre til Tilføj tilstanden.\nJusteringer af parametre i batchværktøjspanelet vil være deltaer til de lagrede værdier. +PREFERENCES_BEHAVIOR;Opførsel +PREFERENCES_BEHSETALL;Alt til 'Indstil' +PREFERENCES_BEHSETALLHINT;Sæt alle parametre til Indstil-tilstand.\nJusteringer af parametre i batchværktøjspanelet vil være absolutte, de faktiske værdier vil blive vist. +PREFERENCES_CACHECLEAR;Ryd +PREFERENCES_CACHECLEAR_ALL;Ryd alle cachelagrede filer: +PREFERENCES_CACHECLEAR_ALLBUTPROFILES;Ryd alle cachelagrede filer undtagen cachelagrede redigeringsprofiler: +PREFERENCES_CACHECLEAR_ONLYPROFILES;Ryd kun cachelagrede redigeringsprofiler: +PREFERENCES_CACHECLEAR_SAFETY;Kun filer i cachen ryddes. Redigeringsprofiler gemt sammen med kildebillederne berøres ikke. +PREFERENCES_CACHEMAXENTRIES;Maksimalt antal cacheposter +PREFERENCES_CACHEOPTS;Cacheindstillinger +PREFERENCES_CACHETHUMBHEIGHT;Maksimal thumbnail-højde +PREFERENCES_CHUNKSIZES;Fliser pr tråd +PREFERENCES_CHUNKSIZE_RAW_AMAZE;AMaZE demosaik +PREFERENCES_CHUNKSIZE_RAW_CA;Raw CA korrektion +PREFERENCES_CHUNKSIZE_RAW_RCD;RCD demosaik +PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans demosaik +PREFERENCES_CHUNKSIZE_RGB;RGB redigering +PREFERENCES_CLIPPINGIND;Indikation af klipning +PREFERENCES_CLUTSCACHE;HaldCLUT Cache +PREFERENCES_CLUTSCACHE_LABEL;Maksimalt antal cached CLUTs +PREFERENCES_CLUTSDIR;HaldCLUT mappe +PREFERENCES_CMMBPC;Sortpunkts kompensation +PREFERENCES_CROP;Beskæringsredigering +PREFERENCES_CROP_AUTO_FIT;Zoom automatisk for at passe til beskæringen +PREFERENCES_CROP_GUIDES;Hjælpelinjer vises, når beskæringen ikke redigeres +PREFERENCES_CROP_GUIDES_FRAME;Ramme +PREFERENCES_CROP_GUIDES_FULL;Original +PREFERENCES_CROP_GUIDES_NONE;Ingen +PREFERENCES_CURVEBBOXPOS;Placering af kurve kopiér & indsæt knapper +PREFERENCES_CURVEBBOXPOS_ABOVE;Over +PREFERENCES_CURVEBBOXPOS_BELOW;Under +PREFERENCES_CURVEBBOXPOS_LEFT;Venstre +PREFERENCES_CURVEBBOXPOS_RIGHT;Højre +PREFERENCES_CUSTPROFBUILD;Standard Bearbejnings Profilbygger +PREFERENCES_CUSTPROFBUILDHINT;Eksekverbar (eller script) fil der kaldes, når en ny indledende redigeringsprofil skal genereres for et billede.\n\nStien til kommunikationsfilen (*.ini-stil, også kaldet "Keyfile") tilføjes som en kommandolinjeparameter. Den indeholder forskellige parametre, der kræves til scripts og billede Exif for at tillade generering af en regelbaseret redigeringsprofil.\n\nADVARSEL: Du er ansvarlig for at bruge dobbelte anførselstegn, hvor det er nødvendigt, hvis du bruger stier, der indeholder mellemrum. +PREFERENCES_CUSTPROFBUILDKEYFORMAT;Keys format +PREFERENCES_CUSTPROFBUILDKEYFORMAT_NAME;Navn +PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID +PREFERENCES_CUSTPROFBUILDPATH;Eksekverbar sti +PREFERENCES_DARKFRAMEFOUND;Fundet +PREFERENCES_DARKFRAMESHOTS;skud +PREFERENCES_DARKFRAMETEMPLATES;skabeloner +PREFERENCES_DATEFORMAT;Datoformat +PREFERENCES_DATEFORMATHINT;Du kan bruge følgende formateringsstrenge:\n%y - år\n%m - måned\n%d - dag\n\ nFor eksempel dikterer ISO 8601-standarden datoformatet som følger:\n%y-%m-%d +PREFERENCES_DIRDARKFRAMES;Mørke-rammer mappe +PREFERENCES_DIRECTORIES;Mapper +PREFERENCES_DIRHOME;Hjemmemappe +PREFERENCES_DIRLAST;Sidst brugte mappe +PREFERENCES_DIROTHER;Andre +PREFERENCES_DIRSELECTDLG;Vælg Billedmappe ved start... +PREFERENCES_DIRSOFTWARE;Installationsmappe +PREFERENCES_EDITORCMDLINE;Brugerdefineret kommandolinje +PREFERENCES_EDITORLAYOUT;Editor layout +PREFERENCES_EXTERNALEDITOR;Ekstern Editor +PREFERENCES_FBROWSEROPTS;Filbrowser/Thumbnail Indstillinger +PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Kompakte værktøjslinjer i filbrowseren +PREFERENCES_FLATFIELDFOUND;Fundet +PREFERENCES_FLATFIELDSDIR;Flat-fields mappe +PREFERENCES_FLATFIELDSHOTS;shots +PREFERENCES_FLATFIELDTEMPLATES;skabeloner +PREFERENCES_FORIMAGE;Til ikke-raw billeder +PREFERENCES_FORRAW;Til raw billeder +PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Samme thumbnail-højde i filmstrimlen og filbrowseren +PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;At have forskellig thumbnail-størrelser vil kræve mere redigeringstid, hver gang du skifter mellem den enkelte Editor-fane og filbrowseren. +PREFERENCES_GIMPPATH;GIMP installationsmappe +PREFERENCES_HISTOGRAMPOSITIONLEFT;Histogram i venstre panel +PREFERENCES_HISTOGRAM_TOOLTIP;Hvis den er aktiveret, bruges arbejdsprofilen til at gengive hovedhistogrammet og Navigator-panelet, ellers bruges den gammakorrigerede outputprofil. +PREFERENCES_HLTHRESHOLD;Tærskel for klippede højlys +PREFERENCES_ICCDIR;Mappe der indeholder farveprofiler +PREFERENCES_IMPROCPARAMS;Standardredigeringsprofil +PREFERENCES_INSPECT_LABEL;Inspicér +PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maksimalt antal cachelagrede billeder +PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Sæt det maksimale antal billeder gemt i cachen, når du holder musemarkøren over dem i filbrowseren; systemer med lidt RAM (2GB) bør holde denne værdi indstillet til 1 eller 2. +PREFERENCES_INTENT_ABSOLUTE;Absolut kolorimetrisk +PREFERENCES_INTENT_PERCEPTUAL;Som opfattet +PREFERENCES_INTENT_RELATIVE;Relativ kolorimetrisk +PREFERENCES_INTENT_SATURATION;Mætning +PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Vis indlejret JPEG-thumbnail, hvis raw er uredigeret +PREFERENCES_LANG;Sprog +PREFERENCES_LANGAUTODETECT;Brug systemsprog +PREFERENCES_MAXRECENTFOLDERS;Maksimalt antal seneste mapper +PREFERENCES_MENUGROUPEXTPROGS;Gruppe "Åbn med" +PREFERENCES_MENUGROUPFILEOPERATIONS;Gruppe "Filhandlinger" +PREFERENCES_MENUGROUPLABEL;Gruppe "Farvemærkat" +PREFERENCES_MENUGROUPPROFILEOPERATIONS;Gruppe "Redigerer profilhandlinger" +PREFERENCES_MENUGROUPRANK;Gruppe "Rank" +PREFERENCES_MENUOPTIONS;Indstillinger for kontekstmenu +PREFERENCES_MONINTENT;Standard gengivelseshensigt +PREFERENCES_MONITOR;Skærm +PREFERENCES_MONPROFILE;Standard farveprofil +PREFERENCES_MONPROFILE_WARNOSX;På grund af MacOS-begrænsninger understøttes kun sRGB. +PREFERENCES_MULTITAB;Tilstand med flere redigerings-faneblade +PREFERENCES_MULTITABDUALMON;Tilstand med flere redigerings-faneblade i eget vindue +PREFERENCES_NAVIGATIONFRAME;Navigation +PREFERENCES_OVERLAY_FILENAMES;Overlejr filnavne på thumbnails i filbrowseren +PREFERENCES_OVERLAY_FILENAMES_FILMSTRIP;Overlejr filnavne på thumbnails i redigeringspanelet +PREFERENCES_OVERWRITEOUTPUTFILE;Overskriv eksisterende outputfiler +PREFERENCES_PANFACTORLABEL;Pan rate forstærkning +PREFERENCES_PARSEDEXT;Fortolkede Suffikser +PREFERENCES_PARSEDEXTADD;Tilføj suffiks +PREFERENCES_PARSEDEXTADDHINT;Tilføj indtastet suffiks til listen. +PREFERENCES_PARSEDEXTDELHINT;Slet valgte suffiks fra listen. +PREFERENCES_PARSEDEXTDOWNHINT;Flyt det valgte suffiks ned på listen. +PREFERENCES_PARSEDEXTUPHINT;Flyt det valgte suffiks op på listen. +PREFERENCES_PERFORMANCE_MEASURE;Mål +PREFERENCES_PERFORMANCE_MEASURE_HINT;Logger redigeringstider i konsollen +PREFERENCES_PERFORMANCE_THREADS;Tråde +PREFERENCES_PERFORMANCE_THREADS_LABEL;Maksimalt antal tråde til Støjreduktion og Wavelet Niveauer (0 = Automatisk) +PREFERENCES_PREVDEMO;Forhåndsvisning Demosaiking Metode +PREFERENCES_PREVDEMO_FAST;Hurtig +PREFERENCES_PREVDEMO_LABEL;Demosaiking metode brugt til forhåndsvisningen ved <100% zoom: +PREFERENCES_PREVDEMO_SIDECAR;Som i PP3 +PREFERENCES_PRINTER;Printer (Soft-Proofing) +PREFERENCES_PROFILEHANDLING;Redigeringsprofil Håndtering +PREFERENCES_PROFILELOADPR;Behandler profilindlæsningsprioritet +PREFERENCES_PROFILEPRCACHE;Profil i cache +PREFERENCES_PROFILEPRFILE;Profil ved siden af inputfilen +PREFERENCES_PROFILESAVEBOTH;Gem redigeringsprofil både i cachen og ved siden af inputfilen +PREFERENCES_PROFILESAVECACHE;Gem redigeringsprofil i cachen +PREFERENCES_PROFILESAVEINPUT;Gem redigeringsprofil ved siden af inputfilen +PREFERENCES_PROFILESAVELOCATION;Redigeringsprofilen gemmes +PREFERENCES_PROFILE_NONE;Ingen +PREFERENCES_PROPERTY;Egenskab +PREFERENCES_PRTINTENT;Hensigt med gengivelse +PREFERENCES_PRTPROFILE;Farveprofil +PREFERENCES_PSPATH;Adobe Photoshop installationsmappe +PREFERENCES_REMEMBERZOOMPAN;Husk zoom % og panoreringsforskydning +PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Husk zoom % og panoreringsforskydning af det aktuelle billede, når du åbner et nyt billede.\n\nDenne mulighed virker kun i "Tilstand med enkelt redigerings-faneblad" og når "Demosaiking metode brugt til forhåndsvisningen ved <100% zoom" er indstillet til "Som i PP3". +PREFERENCES_SAVE_TP_OPEN_NOW;Gem værktøjets foldet/udfoldet tilstand nu +PREFERENCES_SELECTLANG;Vælg sprog +PREFERENCES_SERIALIZE_TIFF_READ;TIFF Læs Indstillinger +PREFERENCES_SERIALIZE_TIFF_READ_LABEL;Serialiser læsning af TIFF-filer +PREFERENCES_SERIALIZE_TIFF_READ_TOOLTIP;Aktivering af denne indstilling, når du arbejder med mapper, der indeholder ikke-komprimerede TIFF-filer, kan øge ydeevnen af thumbnail-generering. +PREFERENCES_SET;Sæt +PREFERENCES_SHOWBASICEXIF;Vis basis Exif info +PREFERENCES_SHOWDATETIME;Vis dato og tid +PREFERENCES_SHOWEXPOSURECOMPENSATION;Tilføj eksponeringskompensation +PREFERENCES_SHOWFILMSTRIPTOOLBAR;Vis Filmstrip værktøjslinje +PREFERENCES_SHTHRESHOLD;Tærskel for klippede skygger +PREFERENCES_SINGLETAB;Tilstand med enkelt redigerings-faneblad +PREFERENCES_SINGLETABVERTAB;Tilstand med enkelt redigerings-faneblad, Lodret Tabs +PREFERENCES_SND_HELP;Indtast en fuld filsti for at indstille en lyd, eller lad den stå tom for ingen lyd.\nFor systemlyde på Windows, brug "SystemStandard", "SystemAsterisk" osv., og på Linux brug "complete", "window-attention" osv. +PREFERENCES_SND_LNGEDITPROCDONE;Redigering færdig +PREFERENCES_SND_QUEUEDONE;Kø-redigering færdig +PREFERENCES_SND_THRESHOLDSECS;Efter sekunder +PREFERENCES_STARTUPIMDIR;Billedmappe ved start +PREFERENCES_TAB_BROWSER;Filbrowser +PREFERENCES_TAB_COLORMGR;Farvestyring +PREFERENCES_TAB_DYNAMICPROFILE;Dynamiske profilregler +PREFERENCES_TAB_GENERAL;Generel +PREFERENCES_TAB_IMPROC;Billedredigering +PREFERENCES_TAB_PERFORMANCE;Ydeevne +PREFERENCES_TAB_SOUND;Lyde +PREFERENCES_THUMBNAIL_INSPECTOR_JPEG;Indlejret JPEG forhåndsvisning +PREFERENCES_THUMBNAIL_INSPECTOR_MODE;Billede til visning +PREFERENCES_THUMBNAIL_INSPECTOR_RAW;Neutral raw gengivelse +PREFERENCES_THUMBNAIL_INSPECTOR_RAW_IF_NO_JPEG_FULLSIZE;Indlejret JPEG hvis fuld størrelse, ellers neutral raw +PREFERENCES_TP_LABEL;Værktøjspanel: +PREFERENCES_TP_VSCROLLBAR;Gem lodret rullebjælke +PREFERENCES_USEBUNDLEDPROFILES;Brug medfølgende profiler +PREFERENCES_WORKFLOW;Layout +PROFILEPANEL_COPYPPASTE;Parametre til kopiér +PROFILEPANEL_GLOBALPROFILES;Medfølgende profiler +PROFILEPANEL_LABEL;Redigeringsprofiler +PROFILEPANEL_LOADDLGLABEL;Indlæs redigeringsparametre... +PROFILEPANEL_LOADPPASTE;Parametre til indlæsning +PROFILEPANEL_MODE_TOOLTIP;Behandler profiludfyldningstilstand.\n\nKnap trykket: delvise profiler vil blive konverteret til hele profiler; de manglende værdier vil blive erstattet med hårdtkodede standarder.\n\nKnap frigivet: profiler vil blive anvendt, som de er, og ændrer kun de værdier, som de indeholder. +PROFILEPANEL_MYPROFILES;Mine profiler +PROFILEPANEL_PASTEPPASTE;Parametre der skal indsættes +PROFILEPANEL_PCUSTOM;Standard +PROFILEPANEL_PDYNAMIC;Dynamisk +PROFILEPANEL_PFILE;Fra fil +PROFILEPANEL_PINTERNAL;Neutral +PROFILEPANEL_PLASTSAVED;Sidst gemt +PROFILEPANEL_SAVEDLGLABEL;Gem redigeringsparametre... +PROFILEPANEL_SAVEPPASTE;Parametre der skal gemmes +PROFILEPANEL_TOOLTIPCOPY;Kopiér nuværende redigeringsprofil til udklipsholder.\nCtrl-klik for at vælge parametre til kopiering. +PROFILEPANEL_TOOLTIPLOAD;Indlæs en profil fra fil.\nCtrl-klik for at vælge de parametre, der skal indlæses. +PROFILEPANEL_TOOLTIPPASTE;Indsæt profil fra udklipsholder.\nCtrl-klik for at vælge de parametre, der skal indsættes. +PROFILEPANEL_TOOLTIPSAVE;Gem den aktuelle profil.\nCtrl-klik for at vælge de parametre, der skal gemmes. +PROGRESSBAR_DECODING;Afkodning... +PROGRESSBAR_GREENEQUIL;Grøn ligevægt... +PROGRESSBAR_HLREC;Højlys rekonstruktion... +PROGRESSBAR_HOTDEADPIXELFILTER;Varmt/dødt pixel filter... +PROGRESSBAR_LINEDENOISE;Linje støjfilter... +PROGRESSBAR_LOADING;Indlæser billede... +PROGRESSBAR_LOADINGTHUMBS;Indlæser thumbnails... +PROGRESSBAR_LOADJPEG; Indlæser JPEG fil... +PROGRESSBAR_LOADPNG; Indlæser PNG fil... +PROGRESSBAR_LOADTIFF;Indlæser TIFF fil... +PROGRESSBAR_NOIMAGES;Ingen billeder fundet +PROGRESSBAR_PROCESSING;Bearbejder billede... +PROGRESSBAR_PROCESSING_PROFILESAVED;Redigeringsprofil gemt +PROGRESSBAR_RAWCACORR;Raw CA korrektion... +PROGRESSBAR_READY;Parat +PROGRESSBAR_SAVEJPEG;Gemmer JPEG fil... +PROGRESSBAR_SAVEPNG;Gemmer PNG fil... +PROGRESSBAR_SAVETIFF;Gemmer TIFF fil... +PROGRESSBAR_SNAPSHOT_ADDED;Snapshot tilføjet +PROGRESSDLG_PROFILECHANGEDINBROWSER;Behandlerprofil ændret i browser +QINFO_FRAMECOUNT;%2 rammer +QINFO_HDR;HDR / %2 ramme(r) +QINFO_ISO;ISO +QINFO_NOEXIF;Exif-data ikke tilgængelige. +QINFO_PIXELSHIFT;Pixel Shift / %2 ramme(r) +QUEUE_AUTOSTART;Auto-start +QUEUE_AUTOSTART_TOOLTIP;Begynd redigering automatisk, når et nyt job ankommer. +QUEUE_DESTFILENAME;Sti og filnavn +QUEUE_FORMAT_TITLE;Filformat +QUEUE_LOCATION_FOLDER;Gem til mappe +QUEUE_LOCATION_TEMPLATE;Brug skabelon +QUEUE_LOCATION_TEMPLATE_TOOLTIP;Angiv outputplaceringen baseret på kildebilledets placering, rang, papirkurvsstatus eller position i køen.\n\nBrug følgende stinavn som eksempel:\n/home/tom/photos/2010-10-31/photo1.raw\nbetydningen af formateringsstrengene er:\n%d4 = home\n%d3 = tom\n%d2 = photos\n%d1 = 2010-10-31\n%f = photo1\n%p1 = /home/tom/photos/2010-10-31/\n%p2 = /home/tom/photos/\n%p3 = /home/tom/\n%p4 = /home/\n\n%r vil blive erstattet af billedets rang. Hvis billedet ikke er rangordnet, bruges '0'. Hvis billedet er i skraldespanden, bruges 'x'.\n\n%s1, ..., %s9 erstattes af billedets startposition i køen på det tidspunkt, hvor køen startes. Nummeret angiver polstringen, f.eks. %s3 resulterer i '001'.\n\nHvis du vil gemme outputbilledet sammen med kildebilledet, skriv:\n%p1/%f\n\nHvis du vil gemme outputbilledet i en mappe med navnet 'converted', der er placeret i kildebilledets mappe, skal du skrive:\n%p1/converted/%f\n\nHvis du vil gemme outputbilledet i\n'/home/tom/photos/converted/2010-10-31', skriv:\n%p2/converted/%d1/ %f +QUEUE_LOCATION_TITLE;Output sted +QUEUE_STARTSTOP_TOOLTIP;Start eller stop redigeringen af billederne i køen.\n\nGenvej: Ctrl+s +SAMPLEFORMAT_0;Ukendt dataformat +SAMPLEFORMAT_1;8-bit usigneret +SAMPLEFORMAT_2;16-bit usigneret +SAMPLEFORMAT_4;24-bit LogLuv +SAMPLEFORMAT_8;32-bit LogLuv +SAMPLEFORMAT_16;16-bit floating-point +SAMPLEFORMAT_32;24-bit floating-point +SAMPLEFORMAT_64;32-bit floating-point +SAVEDLG_AUTOSUFFIX;Tilføj automatisk et suffiks hvis filen allerede findes +SAVEDLG_FILEFORMAT;Filformat +SAVEDLG_FILEFORMAT_FLOAT; floating-point +SAVEDLG_FORCEFORMATOPTS;Gennemtving gemmemuligheder +SAVEDLG_JPEGQUAL;JPEG kvalitet +SAVEDLG_PUTTOQUEUE;Sæt i redigeringskø +SAVEDLG_PUTTOQUEUEHEAD;Sæt i toppen af redigeringskøen +SAVEDLG_PUTTOQUEUETAIL;Sæt til slutningen af redigeringskøen +SAVEDLG_SAVEIMMEDIATELY;Gem straks +SAVEDLG_SAVESPP;Gem redigeringsparametre med billedet +SAVEDLG_SUBSAMP;Delprøvetagning +SAVEDLG_SUBSAMP_1;Kraftigste kompression +SAVEDLG_SUBSAMP_2;Balanceret +SAVEDLG_SUBSAMP_3;Bedste kvalitet +SAVEDLG_SUBSAMP_TOOLTIP;Bedste komprimering:\nJ:a:b 4:2:0\nh/v 2/2\nKroma halveret vandret og lodret.\n\nBalanceret:\nJ:a:b 4:2:2\nh/v 2/ 1\nKroma halveret vandret.\n\nBedste kvalitet:\nJ:a:b 4:4:4\nh/v 1/1\nIngen Kroma-delprøvetagning. +SAVEDLG_TIFFUNCOMPRESSED;Ikke-komprimeret TIFF +SAVEDLG_WARNFILENAME;Filen vil blive navngivet +SHCSELECTOR_TOOLTIP;Klik på højre museknap for at nulstille placeringen af disse 3 skydere. +SOFTPROOF_GAMUTCHECK_TOOLTIP;Højlys-pixels med farver uden for farveskalaen med hensyn til:\n- printerprofilen, hvis en er valgt og soft-proofing er aktiveret,\n- outputprofilen, hvis en printerprofil ikke er indstillet og soft-proofing er aktiveret,\n- skærmprofilen, hvis soft-proofing er deaktiveret. +SOFTPROOF_TOOLTIP;Soft-proofing simulerer billedets udseende:\n- når det udskrives, hvis en printerprofil er indstillet i Præferencer > Farvestyring,\n- når det vises på et display, der bruger den aktuelle outputprofil, hvis der ikke er angivet en printerprofil. +THRESHOLDSELECTOR_B;Bund +THRESHOLDSELECTOR_BL;Bund-venstre +THRESHOLDSELECTOR_BR;Bund-højre +THRESHOLDSELECTOR_HINT;Hold tasten Skift nede for at flytte individuelle kontrolpunkter. +THRESHOLDSELECTOR_T;Top +THRESHOLDSELECTOR_TL;Top-venstre +THRESHOLDSELECTOR_TR;Top-højre +TOOLBAR_TOOLTIP_COLORPICKER;Låsbar farvevælger\n\nNår værktøjet er aktivt:\n- Tilføj en vælger: venstre-klik.\n- Træk en vælger: venstre-klik og træk. \n- Slet en vælger: højreklik.\n- Slet alle vælgere: Ctrl+Shift+højreklik< /b>.\n- Vend tilbage til håndværktøj: højreklik uden for en hvilken som helst vælger. +TOOLBAR_TOOLTIP_CROP;Beskær det valgte.\nGenvej: c\nFlyt beskæringen med Shift+træk med musen. +TOOLBAR_TOOLTIP_HAND;Håndværktøj.\nGenvej: h +TOOLBAR_TOOLTIP_STRAIGHTEN;Ret ud / fin rotation.\nGenvej: s\n\nIndikér lodret eller vandret ved at tegne en hjælpelinje over billedet. Rotationsvinkel vil blive vist ved siden af ledelinjen. Rotationscentrum er billedets geometriske centrum. +TOOLBAR_TOOLTIP_WB;Spot hvidbalance.\nGenvej: w +TP_BWMIX_ALGO;Algoritme OYCPM +TP_BWMIX_ALGO_LI;Lineær +TP_BWMIX_ALGO_SP;Special-effekter +TP_BWMIX_ALGO_TOOLTIP;Lineær:vil producere en normal lineær respons.\nSpecial-effekter: vil producere specielle effekter ved at blande kanaler ikke-lineært. +TP_BWMIX_AUTOCH;Auto +TP_BWMIX_CC_ENABLED;Justér komplementære farver +TP_BWMIX_CC_TOOLTIP;Aktivér for at tillade automatisk justering af komplementære farver i ROYGCBPM-tilstand. +TP_BWMIX_CHANNEL;Luminans equalizer +TP_BWMIX_CURVEEDITOR1;'Før' kurve +TP_BWMIX_CURVEEDITOR2;'Efter' kurve +TP_BWMIX_CURVEEDITOR_AFTER_TOOLTIP;Tone kurve, efter S/H konvertering, ved afslutningen af behandlingen. +TP_BWMIX_CURVEEDITOR_BEFORE_TOOLTIP;Tone kurve,lige før S/H konvertering.\nKan tage højde for farvekomponenterne. +TP_BWMIX_CURVEEDITOR_LH_TOOLTIP;Luminans i henhold til farvetone L=f(H).\nVær opmærksom på ekstreme værdier, da de kan forårsage artefakter. +TP_BWMIX_FILTER;Farve Filter +TP_BWMIX_FILTER_BLUE;Blå +TP_BWMIX_FILTER_BLUEGREEN;Blå-Grøn +TP_BWMIX_FILTER_GREEN;Grøn +TP_BWMIX_FILTER_GREENYELLOW;Grøn-Gul +TP_BWMIX_FILTER_NONE;Ingen +TP_BWMIX_FILTER_PURPLE;Lilla +TP_BWMIX_FILTER_RED;Rød +TP_BWMIX_FILTER_REDYELLOW;Rød-Gul +TP_BWMIX_FILTER_TOOLTIP;Farvefilteret simulerer billeder taget med et farvet filter placeret foran objektivet. Farvede filtre reducerer transmissionen af specifikke farveområder og påvirker derfor deres lyshed. F. eks. et rød-filter giver mørkere blå himmel. +TP_BWMIX_FILTER_YELLOW;Gul +TP_BWMIX_GAMMA;Gamma Korrektion +TP_BWMIX_GAM_TOOLTIP;Korrigér gamma for hver RGB-kanal. +TP_BWMIX_LABEL;Sort-og-Hvid +TP_BWMIX_MET;Metode +TP_BWMIX_MET_CHANMIX;Kanalmikser +TP_BWMIX_MET_DESAT;Afmætning +TP_BWMIX_MET_LUMEQUAL;Luminans Equalizer +TP_BWMIX_MIXC;Kanalmikser +TP_BWMIX_NEUTRAL;Nulstil +TP_BWMIX_RGBLABEL;R: %1%% G: %2%% B: %3%% Total: %4%% +TP_BWMIX_RGBLABEL_HINT;Sluttelige RGB-faktorer, der tager sig af alle miksermulighederne.\n"Total" viser summen af RGB-værdierne:\n- altid 100 % i relativ tilstand\n- højere (lysere) eller lavere (mørkere) end 100 % i absolut tilstand. +TP_BWMIX_RGB_TOOLTIP;Bland RGB-kanalerne. Brug forudindstillinger som vejledning.\nVær opmærksom på negative værdier, der kan forårsage artefakter eller uberegnelig adfærd. +TP_BWMIX_SETTING;Forudindstillinger +TP_BWMIX_SETTING_TOOLTIP;Forskellige forudindstillinger (film, landskab osv.) eller manuelle kanalmixerindstillinger. +TP_BWMIX_SET_HIGHCONTAST;Høj kontrast +TP_BWMIX_SET_HIGHSENSIT;Høj følsomhed +TP_BWMIX_SET_HYPERPANCHRO;Hyper Pankromatisk +TP_BWMIX_SET_INFRARED;Infrarød +TP_BWMIX_SET_LANDSCAPE;Landskab +TP_BWMIX_SET_LOWSENSIT;Lav følsomhed +TP_BWMIX_SET_LUMINANCE;Luminans +TP_BWMIX_SET_NORMCONTAST;Normal Kontrast +TP_BWMIX_SET_ORTHOCHRO;Ortokromatisk +TP_BWMIX_SET_PANCHRO;Pankromatisk +TP_BWMIX_SET_PORTRAIT;Portræt +TP_BWMIX_SET_RGBABS;Absolut RGB +TP_BWMIX_SET_RGBREL;Relativ RGB +TP_BWMIX_SET_ROYGCBPMABS;Absolut ROYGCBPM +TP_BWMIX_SET_ROYGCBPMREL;Relativ ROYGCBPM +TP_BWMIX_TCMODE_FILMLIKE;S/H Film-agtigt +TP_BWMIX_TCMODE_SATANDVALBLENDING;S/H mætning og værdiblanding +TP_BWMIX_TCMODE_STANDARD;S/H Standard +TP_BWMIX_TCMODE_WEIGHTEDSTD;S/H Vægtet Standard +TP_BWMIX_VAL;L +TP_CACORRECTION_BLUE;Blå +TP_CACORRECTION_LABEL;Kromatisk Afvigelse Korrektion +TP_CACORRECTION_RED;Rød +TP_CBDL_AFT;Efter Sort-og-Hvid +TP_CBDL_BEF;Før Sort-og-Hvid +TP_CBDL_METHOD;Processen er lokaliseret +TP_CBDL_METHOD_TOOLTIP;Vælg, om værktøjet Kontrast ved detaljeniveauer skal placeres efter Sort-og-Hvid-værktøjet, som får det til at fungere i L*a*b*-rummet, eller før det, som får det til at fungere i RGB-rummet. +TP_CHMIXER_BLUE;Blå kanal +TP_CHMIXER_GREEN;Grøn kanal +TP_CHMIXER_LABEL;Kanalmikser +TP_CHMIXER_RED;Rød kanal +TP_COARSETRAF_TOOLTIP_HFLIP;Vend vandret. +TP_COARSETRAF_TOOLTIP_ROTLEFT;Rotér til venstre.\n\nGenveje:\n[ - Tilstand med flere redigerings-faneblade,\nAlt-[ - Tilstand med enkelt redigerings-faneblad. +TP_COARSETRAF_TOOLTIP_ROTRIGHT;Rotér til højre.\n\nGenveje:\n] - Tilstand med flere redigerings-faneblade,\nAlt-] - Tilstand med enkelt redigerings-faneblad. +TP_COARSETRAF_TOOLTIP_VFLIP;Vend lodret. +TP_COLORAPP_ABSOLUTELUMINANCE;Absolut luminans +TP_COLORAPP_ALGO;Algoritme +TP_COLORAPP_ALGO_ALL;Alt +TP_COLORAPP_ALGO_JC;Lyshed + Kroma (JC) +TP_COLORAPP_ALGO_JS;Lyshed + Mættet (JS) +TP_COLORAPP_ALGO_QM;Lysstyrke + Farverighed (QM) +TP_COLORAPP_ALGO_TOOLTIP;Giver dig mulighed for at vælge mellem parameter undersæt eller alle parametre. +TP_COLORAPP_BADPIXSL;Varmt/dødt pixelfilter +TP_COLORAPP_BADPIXSL_TOOLTIP;Undertrykkelse af varme/døde (meget lyst farvede) pixels.\n0 = Ingen effekt\n1 = Mellem\n2 = Gaussisk.\nAlternativt, justér billedet for at undgå meget mørke skygger.\n\nDisse artefakter skyldes begrænsninger i CIEFM02. +TP_COLORAPP_BRIGHT;Lysstyrke (Q) +TP_COLORAPP_BRIGHT_TOOLTIP;Lysstyrke i CIEFM02 tager højde for luminansen i hvid, og adskiller sig fra L*a*b* og RGB lysstyrke. +TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;Ved manuel indstilling anbefales værdier over 65. +TP_COLORAPP_CHROMA;Kroma (C) +TP_COLORAPP_CHROMA_M;Farverighed (M) +TP_COLORAPP_CHROMA_M_TOOLTIP;Farverighed i CIEFM02 adskiller sig fra L*a*b* og RGB farverighed. +TP_COLORAPP_CHROMA_S;Mætning (S) +TP_COLORAPP_CHROMA_S_TOOLTIP;Mætning i CIEFM02 adskiller sig fra L*a*b* og RGB-mætning. +TP_COLORAPP_CHROMA_TOOLTIP;Kroma i CIEFM02 adskiller sig fra L*a*b* og RGB Kroma. +TP_COLORAPP_CIECAT_DEGREE;CAT02 tilpasning +TP_COLORAPP_CONTRAST;Kontrast (J) +TP_COLORAPP_CONTRAST_Q;Kontrast (Q) +TP_COLORAPP_CONTRAST_Q_TOOLTIP;Afviger fra L*a*b* og RGB kontrast. +TP_COLORAPP_CONTRAST_TOOLTIP;Afviger fra L*a*b* og RGB kontrast. +TP_COLORAPP_CURVEEDITOR1;Tonekurve 1 +TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Viser histogrammet for L* (L*a*b*) før CIEFM02.\nHvis afkrydsningsfeltet "Vis CIEFM02-outputhistogrammer i kurver" er aktiveret, vises histogrammet for J eller Q, efter CIEFM02.\n\nJ og Q er ikke vist i hovedhistogrampanelet.\n\nFor endelig output henvises til hovedhistogrampanelet. +TP_COLORAPP_CURVEEDITOR2;Tonekurve 2 +TP_COLORAPP_CURVEEDITOR2_TOOLTIP;Samme brug som med anden eksponeringstonekurve. +TP_COLORAPP_CURVEEDITOR3;Farvekurve +TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Justér enten Kroma, mætning eller farverighed.\n\nViser histogrammet for kromaticitet (L*a*b*) før CIEFM02.\nHvis afkrydsningsfeltet "Vis CIEFM02 output histogrammer i kurver" er aktiveret, vises histogrammet for C, s eller M, efter CIEFM02.\n\nC, s og M vises ikke i hovedhistogrampanelet.\nFor sluttelig output henvises til hovedhistogrampanelet. +TP_COLORAPP_DATACIE;CIEFM02 output histogrammer i kurver +TP_COLORAPP_DATACIE_TOOLTIP;Når det er aktiveret, viser histogrammer i CIEFM02-kurver omtrentlige værdier/intervaller for J eller Q, og C, s eller M efter CIEFM02-justeringerne.\nDette valg påvirker ikke hovedhistogrampanelet.\n\nNår de er deaktiveret, viser histogrammer i CIEFM02-kurverne L*a*b*-værdier før CIEFM02-justeringer. +TP_COLORAPP_FREE;Fri temp+grøn + CAT02 + [output] +TP_COLORAPP_GAMUT;Farveskalakontrol (L*a*b*) +TP_COLORAPP_HUE;Farvetone (h) +TP_COLORAPP_HUE_TOOLTIP;Farvetone (h) - vinkel mellem 0° og 360°. +TP_COLORAPP_LABEL;CIE Farveudseende Model 2002 +TP_COLORAPP_LABEL_CAM02;Billedjusteringer +TP_COLORAPP_LABEL_SCENE;Sceneforhold +TP_COLORAPP_LABEL_VIEWING;Visningsforhold +TP_COLORAPP_LIGHT;Lyshed (J) +TP_COLORAPP_LIGHT_TOOLTIP;Lyshed i CIEFM02 adskiller sig fra L*a*b* og RGB lyshed. +TP_COLORAPP_MEANLUMINANCE;Gennemsnitlig luminans (Yb%) +TP_COLORAPP_MODEL;Hvidpunktsmodel +TP_COLORAPP_MODEL_TOOLTIP;Hvidpunktsmodel.\n\nWB [RT] + [output]: RTs hvidbalance bruges til scenen, CIEFM02 er sat til D50, og outputenhedens hvidbalance er indstillet i visningsbetingelser.\n \nWB [RT+CAT02] + [output]: RTs hvidbalance-indstillinger bruges af CAT02, og output-enhedens hvidbalance er indstillet i visningsbetingelser.\n\nFri temp+grøn + CAT02 + [output]: temp og grøn vælges af brugeren, outputenhedens hvidbalance indstilles i Visningsbetingelser. +TP_COLORAPP_NEUTRAL;Nulstil +TP_COLORAPP_NEUTRAL_TOOLTIP;Nulstil alle skydere i afkrydsningsfeltet og kurverne til deres standardværdier +TP_COLORAPP_RSTPRO;Rød- & hud-toner beskyttelse +TP_COLORAPP_RSTPRO_TOOLTIP;Rød- & hud-toner; hudtone beskyttelse påvirker både skydere og kurver. +TP_COLORAPP_SURROUND;Efter omgivelserne +TP_COLORAPP_SURROUND_AVER;Gennemsnitligt +TP_COLORAPP_SURROUND_DARK;Dæmpet +TP_COLORAPP_SURROUND_DIM;Mørkt +TP_COLORAPP_SURROUND_EXDARK;Ekstremt mørkt (mørklægnings-gardin/plade) +TP_COLORAPP_SURROUND_TOOLTIP;Ændrer toner og farver for at tage højde for visningsforholdene for outputenheden.\n\nGennemsnit: Gennemsnitligt lysmiljø (standard). Billedet ændres ikke.\n\nDæmpet: Dæmpet miljø (TV). Billedet bliver lidt mørkt.\n\nMørkt: Mørkt miljø (projektor). Billedet bliver mere mørkt.\n\nEkstremt mørkt: Ekstremt mørke omgivelser (mørklægnings-gardin/plade). Billedet bliver meget mørkt. +TP_COLORAPP_TCMODE_BRIGHTNESS;Lysstyrke +TP_COLORAPP_TCMODE_CHROMA;Kroma +TP_COLORAPP_TCMODE_COLORF;Farverighed +TP_COLORAPP_TCMODE_LABEL1;Kurvetilstand 1 +TP_COLORAPP_TCMODE_LABEL2;Kurvetilstand 2 +TP_COLORAPP_TCMODE_LABEL3;Kurve kroma mode +TP_COLORAPP_TCMODE_LIGHTNESS;Lyshed +TP_COLORAPP_TCMODE_SATUR;Mætning +TP_COLORAPP_TEMP_TOOLTIP;For at vælge en lyskilde skal du altid indstille Farvetone=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504 +TP_COLORAPP_TONECIE; bruger CIEFM02 +TP_COLORAPP_TONECIE_TOOLTIP;Hvis denne indstilling er deaktiveret, udføres tonetilknytning i L*a*b* farverum.\nAktiveret, udføres tonetilknytning ved hjælp af CIEFM02.\nTonetilknytnings-værktøjet skal være aktiveret for at denne indstilling kan træde i kraft. +TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP;Absolut luminans af visningsmiljøet\n(normalt 16 cd/m²). +TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output] +TP_COLORAPP_WBRT;WB [RT] + [output] +TP_COLORTONING_AB;o C/L +TP_COLORTONING_AUTOSAT;Automatisk +TP_COLORTONING_BALANCE;Balance +TP_COLORTONING_BY;o C/L +TP_COLORTONING_CHROMAC;Opacitet +TP_COLORTONING_COLOR;Farve +TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Kroma opacitet som en funktion af luminans oC=f(L) +TP_COLORTONING_HIGHLIGHT;Højlys +TP_COLORTONING_HUE;Farvetone +TP_COLORTONING_LAB;L*a*b* blanding +TP_COLORTONING_LABEL;Farvetoning +TP_COLORTONING_LABGRID;L*a*b* farvekorrektionsgitter +TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4 +TP_COLORTONING_LABREGIONS;Farvekorrektionsområder +TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2 +TP_COLORTONING_LABREGION_CHANNEL;Kanal +TP_COLORTONING_LABREGION_CHANNEL_ALL;Alle +TP_COLORTONING_LABREGION_CHANNEL_B;Blå +TP_COLORTONING_LABREGION_CHANNEL_G;Grøn +TP_COLORTONING_LABREGION_CHANNEL_R;Rød +TP_COLORTONING_LABREGION_CHROMATICITYMASK;C +TP_COLORTONING_LABREGION_HUEMASK;H +TP_COLORTONING_LABREGION_LIGHTNESS;Lyshed +TP_COLORTONING_LABREGION_LIGHTNESSMASK;L +TP_COLORTONING_LABREGION_LIST_TITLE;Rettelse +TP_COLORTONING_LABREGION_MASK;Maske +TP_COLORTONING_LABREGION_MASKBLUR;Maskesløring +TP_COLORTONING_LABREGION_OFFSET;Offset +TP_COLORTONING_LABREGION_POWER;Power +TP_COLORTONING_LABREGION_SATURATION;Mætning +TP_COLORTONING_LABREGION_SHOWMASK;Vis maske +TP_COLORTONING_LABREGION_SLOPE;Hældning +TP_COLORTONING_LUMA;Luminans +TP_COLORTONING_LUMAMODE;Bevar luminansen +TP_COLORTONING_LUMAMODE_TOOLTIP;Hvis aktiveret, når du skifter farve (rød, grøn, cyan, blå osv.), bevares luminansen af hver pixel. +TP_COLORTONING_METHOD;Metode +TP_COLORTONING_METHOD_TOOLTIP;"L*a*b*-blanding", "RGB-skydere" og "RGB-kurver" bruger interpoleret farveblanding.\n"Farvebalance (Skygger/Mellemtoner/Højlys)" og "Mætning 2 farver" bruger direkte farver.\n\ nSort-og-Hvid-værktøjet kan aktiveres, når du bruger enhver farvetonemetode, som giver mulighed for farvetoning. +TP_COLORTONING_MIDTONES;Mellemtoner +TP_COLORTONING_NEUTRAL;Nulstil skydere +TP_COLORTONING_NEUTRAL_TOOLTIP;Nulstil alle værdier (Skygger, Mellemtoner, Højlys) til standard. +TP_COLORTONING_OPACITY;Opacitet +TP_COLORTONING_RGBCURVES;RGB - Kurver +TP_COLORTONING_RGBSLIDERS;RGB - Skydere +TP_COLORTONING_SA;Mætningsbeskyttelse +TP_COLORTONING_SATURATEDOPACITY;Styrke +TP_COLORTONING_SATURATIONTHRESHOLD;Tærskel +TP_COLORTONING_SHADOWS;Skygger +TP_COLORTONING_SPLITCO;Skygger/Mellemtoner/Højlys +TP_COLORTONING_SPLITCOCO;Farvebalance Skygger/Mellemtoner/Højlys +TP_COLORTONING_SPLITLR;Mætning 2 farver +TP_COLORTONING_STR;Styrke +TP_COLORTONING_STRENGTH;Styrke +TP_COLORTONING_TWO2;Speciel kroma '2 farver' +TP_COLORTONING_TWOALL;Speciel kroma +TP_COLORTONING_TWOBY;Speciel a* og b* +TP_COLORTONING_TWOCOLOR_TOOLTIP;Standard kroma:\nLineær respons, a* = b*.\n\nSpeciel kroma:\nLineær respons, a* = b*, men ikke-bundet - prøv under diagonalen.\n\nSpeciel a* og b*:\nLineær respons ikke-bundet med seperate kurver for a* og b*. Beregnet til specielle effekter.\n\nSpeciel kroma 2 farver:\nMere forudsigelig. +TP_COLORTONING_TWOSTD;Standard kroma +TP_CROP_FIXRATIO;Låseforhold +TP_CROP_GTDIAGONALS;Diagonalernes regel +TP_CROP_GTEPASSPORT;Biometrisk pas +TP_CROP_GTFRAME;Ramme +TP_CROP_GTGRID;Gitter +TP_CROP_GTHARMMEANS;Harmoniske midler +TP_CROP_GTNONE;Ingen +TP_CROP_GTRULETHIRDS;Tredjedelsregelen +TP_CROP_GTTRIANGLE1;Gyldne trekanter 1 +TP_CROP_GTTRIANGLE2;Gyldne trekanter 2 +TP_CROP_GUIDETYPE;Guide type: +TP_CROP_H;Højde +TP_CROP_LABEL;Beskær +TP_CROP_PPI;PPI +TP_CROP_RESETCROP;Nulstil +TP_CROP_SELECTCROP;Vælg +TP_CROP_W;Bredde +TP_CROP_X;Venstre +TP_CROP_Y;Top +TP_DARKFRAME_AUTOSELECT;Automatisk valg +TP_DARKFRAME_LABEL;Mørk-Ramme +TP_DEFRINGE_LABEL;Defringe +TP_DEFRINGE_RADIUS;Radius +TP_DEFRINGE_THRESHOLD;Tærskel +TP_DEHAZE_DEPTH;Dybde +TP_DEHAZE_LABEL;Fjernelse af dis +TP_DEHAZE_SHOW_DEPTH_MAP;Vis dybdekort +TP_DEHAZE_STRENGTH;Styrke +TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Auto multi-zoner +TP_DIRPYRDENOISE_CHROMINANCE_AUTOGLOBAL;Automatisk global +TP_DIRPYRDENOISE_CHROMINANCE_BLUEYELLOW;Krominans - Blå-Gul +TP_DIRPYRDENOISE_CHROMINANCE_CURVE;Krominans kurve +TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;Forøg (multiplicer) værdien af alle krominansskydere.\nDenne kurve lader dig justere styrken af kromatisk støjreduktion som funktion af kromaticitet, for eksempel for at øge handlingen i områder med lav mætning og for at mindske den i områder med høj mætning. +TP_DIRPYRDENOISE_CHROMINANCE_FRAME;Krominans +TP_DIRPYRDENOISE_CHROMINANCE_MANUAL;Manuel +TP_DIRPYRDENOISE_CHROMINANCE_MASTER;Krominans - Master +TP_DIRPYRDENOISE_CHROMINANCE_METHOD;Metode +TP_DIRPYRDENOISE_CHROMINANCE_METHODADVANCED_TOOLTIP;Manuel\nVirker på det fulde billede.\nDu styrer indstillingerne for støjreduktion manuelt.\n\nAutomatisk global\nVirker på det fulde billede.\n9 zoner bruges til at beregne en global krominans-støjreduktionsindstilling.\n\nForhåndsvisning virker på hele billedet.\nDen del af billedet, der er synlig i forhåndsvisningen, bruges til at beregne globale krominans støjreduktionsindstillinger. +TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manuel\nVirker på det fulde billede.\nDu styrer indstillingerne for støjreduktion manuelt.\n\nAutomatisk global\nVirker på det fulde billede.\n9 zoner bruges til at beregne en global krominans-støjreduktionsindstilling.\n\nAutomatiske multizoner \nIngen forhåndsvisning - virker kun under lagring, men ved at bruge "Forhånsvisning"-metoden ved at matche flisestørrelsen og midten, til forhåndsvisningsstørrelsen og midten, kan du få en idé om de forventede resultater.\nBilledet er opdelt i fliser (ca. 10 til 70 afhængigt af billedstørrelsen), og hver flise modtager sine egne indstillinger for krominansstøjreduktion.\n\nForhånsvisning\nVirkerer på hele billedet.\nDen del af billedet, der er synlig i forhåndsvisningen, bruges til at beregne globale indstillinger for krominansstøjreduktion. +TP_DIRPYRDENOISE_CHROMINANCE_PMZ;Forhånsvisning multi-zoner +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW;Forhånsvisning +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Viser de resterende støjniveauer for den del af billedet, der er synlig i forhåndsvisningen efter wavelet.\n\n>300 Meget støjende\n100-300 Støjende\n50-100 Lidt støjende\n<50 Meget lav støj\n\nPas på, værdierne vil variere mellem RGB- og L*a*b*-tilstandene. RGB-værdierne er mindre nøjagtige, fordi RGB-tilstanden ikke adskiller luminans og krominans fuldstændigt. +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_INFO;Forhånsvisning størrelse=%1, Midte: Px=%2 Py=%3 +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_NOISEINFO;Forhånsvisning støj: Middel=%1 Høj=%2 +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_NOISEINFO_EMPTY;Forhånsvisning støj: Middel= - Høj= - +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_TILEINFO;Flisestørrelse=%1, Midte: Tx=%2 Ty=%3 +TP_DIRPYRDENOISE_CHROMINANCE_REDGREEN;Krominans - Rød-Grøn +TP_DIRPYRDENOISE_LABEL;Støjreduktion +TP_DIRPYRDENOISE_LUMINANCE_CONTROL;Luminans kontrol +TP_DIRPYRDENOISE_LUMINANCE_CURVE;Luminans kurve +TP_DIRPYRDENOISE_LUMINANCE_DETAIL;Detaljegendannelse +TP_DIRPYRDENOISE_LUMINANCE_FRAME;Luminans +TP_DIRPYRDENOISE_LUMINANCE_SMOOTHING;Luminans +TP_DIRPYRDENOISE_MAIN_COLORSPACE;Farverum +TP_DIRPYRDENOISE_MAIN_COLORSPACE_LAB;L*a*b* +TP_DIRPYRDENOISE_MAIN_COLORSPACE_RGB;RGB +TP_DIRPYRDENOISE_MAIN_COLORSPACE_TOOLTIP;Til raw-billeder kan enten RGB- eller L*a*b*-metoder bruges.\n\nTil ikke-raw-billeder vil L*a*b*-metoden blive brugt, uanset valget. +TP_DIRPYRDENOISE_MAIN_GAMMA;Gamma +TP_DIRPYRDENOISE_MAIN_GAMMA_TOOLTIP;Gamma varierer støjreduktionsstyrken på tværs af toneområdet. Mindre værdier vil målrette skygger, mens større værdier vil strække effekten til de lysere toner. +TP_DIRPYRDENOISE_MAIN_MODE;Mode +TP_DIRPYRDENOISE_MAIN_MODE_AGGRESSIVE;Aggressiv +TP_DIRPYRDENOISE_MAIN_MODE_CONSERVATIVE;Konservativ +TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;"Konservativ" bevarer lavfrekvente kroma-mønstre, mens "aggressiv" udsletter dem. +TP_DIRPYRDENOISE_MEDIAN_METHOD;Median metode +TP_DIRPYRDENOISE_MEDIAN_METHOD_CHROMINANCE;Kun kroma +TP_DIRPYRDENOISE_MEDIAN_METHOD_LAB;L*a*b* +TP_DIRPYRDENOISE_MEDIAN_METHOD_LABEL;Median Filter +TP_DIRPYRDENOISE_MEDIAN_METHOD_LUMINANCE;Kun luminans +TP_DIRPYRDENOISE_MEDIAN_METHOD_RGB;RGB +TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;Når du bruger metoderne "Kun luminans" og "L*a*b*", vil medianfiltrering blive udført lige efter wavelet-trinnet i støjreduktionspipelinen.\nNår du bruger "RGB"-tilstanden, udføres den ved afslutningen af støjreduktionspipelinen. +TP_DIRPYRDENOISE_MEDIAN_METHOD_WEIGHTED;Vægtet L* (lille) + a*b* (normal) +TP_DIRPYRDENOISE_MEDIAN_PASSES;Median iterationer +TP_DIRPYRDENOISE_MEDIAN_PASSES_TOOLTIP;Anvendelse af tre median filteriterationer med en 3×3 vinduesstørrelse fører ofte til bedre resultater end ved at bruge en median filteriteration med en 7×7 vinduesstørrelse. +TP_DIRPYRDENOISE_MEDIAN_TYPE;Median type +TP_DIRPYRDENOISE_MEDIAN_TYPE_TOOLTIP;Tilføj et medianfilter af den ønskede vinduesstørrelse. Jo større vinduet er, jo længere tid tager det.\n\n3×3 blød: behandler 5 pixels i et 3×3 pixels vindue.\n3×3: behandler 9 pixels i et 3×3 pixels vindue.\n5×5 blød: behandler 13 pixels i et 5×5 pixel vindue.\n5×5: behandler 25 pixels i et 5×5 pixel vindue.\n7×7: behandler 49 pixels i et 7×7 pixel vindue.\n9×9: behandler 81 pixels i et 9×9 pixel vindue.\n\nNogle gange er det muligt at opnå højere kvalitet ved at køre flere iterationer med en mindre vinduesstørrelse end én iteration med et større vindue. +TP_DIRPYRDENOISE_TYPE_3X3;3×3 +TP_DIRPYRDENOISE_TYPE_3X3SOFT;3×3 blød +TP_DIRPYRDENOISE_TYPE_5X5;5×5 +TP_DIRPYRDENOISE_TYPE_5X5SOFT;5×5 blød +TP_DIRPYRDENOISE_TYPE_7X7;7×7 +TP_DIRPYRDENOISE_TYPE_9X9;9×9 +TP_DIRPYREQUALIZER_ALGO;Hudfarveområde +TP_DIRPYREQUALIZER_ALGO_TOOLTIP;Fint: tættere på hudens farver, minimerer virkningen på andre farver\nStor: undgår flere artefakter. +TP_DIRPYREQUALIZER_ARTIF;Reducér artefakter +TP_DIRPYREQUALIZER_HUESKIN;Hudfarve +TP_DIRPYREQUALIZER_HUESKIN_TOOLTIP;Denne pyramide er for den øverste del, så vidt algoritmen har sin maksimale effektivitet.\nTil den nederste del, overgangszonerne.\nHvis du har brug for at flytte området væsentligt til venstre eller højre - eller hvis der er artefakter: hvidbalancen er forkert\nDu kan reducere zonen lidt for at forhindre, at resten af billedet påvirkes. +TP_DIRPYREQUALIZER_LABEL;Kontrast efter Detalje Niveauer +TP_DIRPYREQUALIZER_LUMACOARSEST;Groveste +TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Kontrast - +TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Kontrast + +TP_DIRPYREQUALIZER_LUMAFINEST;Finest +TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral +TP_DIRPYREQUALIZER_SKIN;Hudmålretning/beskyttelse +TP_DIRPYREQUALIZER_SKIN_TOOLTIP;Ved -100 bliver hudtoner angrebet.\nVed 0 behandles alle toner ens.\nVed +100 bliver hudtoner beskyttet, mens alle andre toner påvirkes. +TP_DIRPYREQUALIZER_THRESHOLD;Tærskel +TP_DIRPYREQUALIZER_TOOLTIP;Forsøger at reducere artefakter i overgangene mellem hudfarver (nuance, kroma, luma) og resten af billedet. +TP_DISTORTION_AMOUNT;Mængde +TP_DISTORTION_AUTO_TOOLTIP;Korrigerer automatisk objektivforvrængning i raw filer ved at matche dem med det indlejrede JPEG-billede, hvis et sådant findes og har fået dets objektivforvrængning automatisk korrigeret af kameraet. +TP_DISTORTION_LABEL;Forvrængningskorrektion +TP_EPD_EDGESTOPPING;Kantstopper +TP_EPD_GAMMA;Gamma +TP_EPD_LABEL;Tonekortlægning +TP_EPD_REWEIGHTINGITERATES;Genvægtning gentages +TP_EPD_SCALE;Vægt +TP_EPD_STRENGTH;Styrke +TP_EXPOSURE_AUTOLEVELS;Auto Niveauer +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Skifter udførelse af Auto Niveauer til automatisk at indstille Eksponeringsskyderværdier baseret på en billedanalyse.\nAktivér Højlys Rekonstruktion om nødvendigt. +TP_EXPOSURE_BLACKLEVEL;Sort +TP_EXPOSURE_BRIGHTNESS;Lyshed +TP_EXPOSURE_CLAMPOOG;Klip udenfor-farveskala farver +TP_EXPOSURE_CLIP;Klip % +TP_EXPOSURE_CLIP_TOOLTIP;Den del af pixels, der skal klippes i Auto Niveauer-indstilling. +TP_EXPOSURE_COMPRHIGHLIGHTS;Højlys kompression +TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Tærskel for højlys kompression +TP_EXPOSURE_COMPRSHADOWS;Skygge kompression +TP_EXPOSURE_CONTRAST;Kontrast +TP_EXPOSURE_CURVEEDITOR1;Tone kurve 1 +TP_EXPOSURE_CURVEEDITOR2;Tone kurve 2 +TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Se venligst RawPedia-artiklen "Eksponering > Tonekurver" for at lære, hvordan du opnår de bedste resultater ved at bruge to tonekurver. +TP_EXPOSURE_EXPCOMP;Eksponeringskompensation +TP_EXPOSURE_HISTMATCHING;Auto-matchet tonekurve +TP_EXPOSURE_HISTMATCHING_TOOLTIP;Justér automatisk skydere og kurver (undtagen eksponeringskompensation) for at matche udseendet af den indlejrede JPEG thumbnail. +TP_EXPOSURE_LABEL;Eksponering +TP_EXPOSURE_SATURATION;Mætning +TP_EXPOSURE_TCMODE_FILMLIKE;Film-like +TP_EXPOSURE_TCMODE_LABEL1;Kurvetilstand 1 +TP_EXPOSURE_TCMODE_LABEL2;Kurvetilstand 2 +TP_EXPOSURE_TCMODE_LUMINANCE;Luminans +TP_EXPOSURE_TCMODE_PERCEPTUAL;Perceptuel +TP_EXPOSURE_TCMODE_SATANDVALBLENDING;Mætning og værdiblanding +TP_EXPOSURE_TCMODE_STANDARD;Standard +TP_EXPOSURE_TCMODE_WEIGHTEDSTD;Vægtet Standard +TP_EXPOS_BLACKPOINT_LABEL;Raw Sort-punkter +TP_EXPOS_WHITEPOINT_LABEL;Raw Hvid-punkter +TP_FILMNEGATIVE_BLUE;Blå forhold +TP_FILMNEGATIVE_GREEN;Referenceeksponent (kontrast) +TP_FILMNEGATIVE_GUESS_TOOLTIP;Indstil automatisk rødt- og blåt-forholdet ved at vælge to felter, som havde en neutral farvetone (ingen farve) i den originale scene. Feltrene bør afvige i lysstyrke. Indstil hvidbalancen bagefter. +TP_FILMNEGATIVE_LABEL;Film Negativ +TP_FILMNEGATIVE_PICK;Vælg neutrale felter +TP_FILMNEGATIVE_RED;Rødt-forholdet +TP_FILMSIMULATION_LABEL;Film Simulation +TP_FILMSIMULATION_SLOWPARSEDIR;RawTherapee er konfigureret til at søge efter Hald CLUT-billeder, som bruges til filmsimuleringsværktøjet, i en mappe, der tager for lang tid at indlæse.\nGå til Præferencer > Billedredigering > Filmsimulering\nfor at se, hvilken mappe der bruges. Du bør enten vise RawTherapee hen til en mappe, der kun indeholder Hald CLUT-billeder og intet andet, eller til en tom mappe, hvis du ikke vil bruge værktøjet Filmsimulering.\n\nLæs artiklen Filmsimulering i RawPedia for mere information. \n\nVil du annullere scanningen nu? +TP_FILMSIMULATION_STRENGTH;Styrke +TP_FILMSIMULATION_ZEROCLUTSFOUND;Sæt HaldCLUT mappe i Præferencer +TP_FLATFIELD_AUTOSELECT;Auto-selektion +TP_FLATFIELD_BLURRADIUS;Sløringsradius +TP_FLATFIELD_BLURTYPE;Sløringstype +TP_FLATFIELD_BT_AREA;Område +TP_FLATFIELD_BT_HORIZONTAL;Vandret +TP_FLATFIELD_BT_VERTHORIZ;Lodret + Vandret +TP_FLATFIELD_BT_VERTICAL;Lodret +TP_FLATFIELD_CLIPCONTROL;Klipkontrol +TP_FLATFIELD_CLIPCONTROL_TOOLTIP;Klipkontrol undgår klippede højlys forårsaget af anvendelse af det flade felt. Hvis der allerede er klippede højlys, før det flade felt anvendes, bruges værdien 0. +TP_FLATFIELD_LABEL;Fladt-Felt +TP_GENERAL_11SCALE_TOOLTIP;Effekterne af dette værktøj er kun synlige, eller kun nøjagtige i en forhåndsvisningsskala på 1:1. +TP_GRADIENT_CENTER;Center +TP_GRADIENT_CENTER_X;Center X +TP_GRADIENT_CENTER_X_TOOLTIP;Flyt gradient til venstre (negative værdier) eller højre (positive værdier). +TP_GRADIENT_CENTER_Y;Center Y +TP_GRADIENT_CENTER_Y_TOOLTIP;Flyt gradient op (negative værdier) eller ned (positive værdier). +TP_GRADIENT_DEGREE;Vinkel +TP_GRADIENT_DEGREE_TOOLTIP;Rotationsvinkel i grader. +TP_GRADIENT_FEATHER;Fjer +TP_GRADIENT_FEATHER_TOOLTIP;Gradientbredde i procent af billeddiagonal. +TP_GRADIENT_LABEL;Gradueret Filter +TP_GRADIENT_STRENGTH;Styrke +TP_GRADIENT_STRENGTH_TOOLTIP;Filterstyrke i stop. +TP_HLREC_BLEND;Miks +TP_HLREC_CIELAB;CIELab Miksning +TP_HLREC_COLOR;Farveudbredelse +TP_HLREC_ENA_TOOLTIP;Kunne aktiveres af Auto Niveauer. +TP_HLREC_LABEL;Højlys rekonstruktion +TP_HLREC_LUMINANCE;Luminansgendannelse +TP_HLREC_METHOD;Metode: +TP_HSVEQUALIZER_CHANNEL;Kanal +TP_HSVEQUALIZER_HUE;H +TP_HSVEQUALIZER_LABEL;HSV Equalizer +TP_HSVEQUALIZER_SAT;S +TP_HSVEQUALIZER_VAL;V +TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline eksponering +TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Anvend den indlejrede DCP-baseline eksponeringsoffset. Indstillingen er kun tilgængelig, hvis den valgte DCP har en. +TP_ICM_APPLYHUESATMAP;Basistabel +TP_ICM_APPLYHUESATMAP_TOOLTIP;Anvend den indlejrede DCP-basistabel (FarvetoneSatMap). Indstillingen er kun tilgængelig, hvis den valgte DCP har en. +TP_ICM_APPLYLOOKTABLE;Look tabel +TP_ICM_APPLYLOOKTABLE_TOOLTIP;Brug den indlejrede DCP-looktabel. Indstillingen er kun tilgængelig, hvis den valgte DCP har en. +TP_ICM_BPC;Sortpunkts kompensation +TP_ICM_DCPILLUMINANT;Lyskilde +TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpoleret +TP_ICM_DCPILLUMINANT_TOOLTIP;Vælg hvilken indlejret DCP-lyskilde, der skal bruges. Standard er "interpoleret", hvilket er en blanding mellem de to baseret på hvidbalance. Indstillingen er kun tilgængelig, hvis en dual-illuminant DCP med interpolationsunderstøttelse er valgt. +TP_ICM_INPUTCAMERA;Kamera standard +TP_ICM_INPUTCAMERAICC;Automatisk matchet kameraprofil +TP_ICM_INPUTCAMERAICC_TOOLTIP;Brug RawTherapees kameraspecifikke DCP- eller ICC-inputfarveprofiler. Disse profiler er mere præcise end simplere matrixprofiler. De er ikke tilgængelige for alle kameraer. Disse profiler gemmes i mapperne /iccprofiles/input og /dcpprofiles og hentes automatisk baseret på et filnavn, der matcher kameraets nøjagtige modelnavn. +TP_ICM_INPUTCAMERA_TOOLTIP;Brug en simpel farvematrix fra dcraw, en forbedret RawTherapee-version (afhængig af hvilken der er tilgængelig baseret på kameramodel) eller en integreret i DNG. +TP_ICM_INPUTCUSTOM;Standard +TP_ICM_INPUTCUSTOM_TOOLTIP;Vælg din egen DCP/ICC farveprofil-fil til kameraet. +TP_ICM_INPUTDLGLABEL;Vælg Input DCP/ICC profil... +TP_ICM_INPUTEMBEDDED;Brug indlejret, hvis muligt +TP_ICM_INPUTEMBEDDED_TOOLTIP;Brug farveprofil, der er indlejret i ikke-raw filer. +TP_ICM_INPUTNONE;Ingen profil +TP_ICM_INPUTNONE_TOOLTIP;Brug ingen inputfarveprofil overhovedet.\nBrug kun i særlige tilfælde. +TP_ICM_INPUTPROFILE;Input Profil +TP_ICM_LABEL;Farvestyring +TP_ICM_NOICM;No ICM: sRGB Output +TP_ICM_OUTPUTPROFILE;Output Profil +TP_ICM_PROFILEINTENT;Ønsket gengivelse +TP_ICM_SAVEREFERENCE;Gem referencebillede +TP_ICM_SAVEREFERENCE_APPLYWB;Tilføj hvidbalance +TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Generelt, tilføj hvidbalance når du gemmer billeder for at oprette ICC-profiler, og undlad at tilføje hvidbalance for at oprette DCP-profiler. +TP_ICM_SAVEREFERENCE_TOOLTIP;Gem det lineære TIFF-billede, før inputprofilen tilføjes. Resultatet kan bruges til kalibreringsformål og generering af en kameraprofil. +TP_ICM_TONECURVE;Tonekurve +TP_ICM_TONECURVE_TOOLTIP;Anvend den indlejrede DCP-tonekurve. Indstillingen er kun tilgængelig, hvis den valgte DCP har en tonekurve. +TP_ICM_WORKINGPROFILE;Arbejdsprofil +TP_ICM_WORKING_TRC;Toneresponskurve: +TP_ICM_WORKING_TRC_CUSTOM;Standard +TP_ICM_WORKING_TRC_GAMMA;Gamma +TP_ICM_WORKING_TRC_NONE;Ingen +TP_ICM_WORKING_TRC_SLOPE;Hældning +TP_ICM_WORKING_TRC_TOOLTIP;Kun til indbyggede profiler. +TP_IMPULSEDENOISE_LABEL;Impuls støjreduktion +TP_IMPULSEDENOISE_THRESH;Tærskel +TP_LABCURVE_AVOIDCOLORSHIFT;Undgå farveforskydning +TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP;Tilpas farver til farveskalaen af arbejdsfarverum og tilføj Munsell korrektion. +TP_LABCURVE_BRIGHTNESS;Lyshed +TP_LABCURVE_CHROMATICITY;Kromaticitet +TP_LABCURVE_CHROMA_TOOLTIP;Indstil kromacitet til -100 for at anvende S/H toning. +TP_LABCURVE_CONTRAST;Kontrast +TP_LABCURVE_CURVEEDITOR;Luminans kurve +TP_LABCURVE_CURVEEDITOR_A_RANGE1;Grøn Mættet +TP_LABCURVE_CURVEEDITOR_A_RANGE2;Grøn Pastel +TP_LABCURVE_CURVEEDITOR_A_RANGE3;Rød Pastel +TP_LABCURVE_CURVEEDITOR_A_RANGE4;Rød Mættet +TP_LABCURVE_CURVEEDITOR_B_RANGE1;Blå Mættet +TP_LABCURVE_CURVEEDITOR_B_RANGE2;Blå Pastel +TP_LABCURVE_CURVEEDITOR_B_RANGE3;Gul Pastel +TP_LABCURVE_CURVEEDITOR_B_RANGE4;Gul Mættet +TP_LABCURVE_CURVEEDITOR_CC;CC +TP_LABCURVE_CURVEEDITOR_CC_RANGE1;Neutral +TP_LABCURVE_CURVEEDITOR_CC_RANGE2;Kedelig +TP_LABCURVE_CURVEEDITOR_CC_RANGE3;Pastel +TP_LABCURVE_CURVEEDITOR_CC_RANGE4;Mættet +TP_LABCURVE_CURVEEDITOR_CC_TOOLTIP;Kromaticitet i forhold til kromaticitet C=f(C) +TP_LABCURVE_CURVEEDITOR_CH;CH +TP_LABCURVE_CURVEEDITOR_CH_TOOLTIP;Kromaticitet i forhold til farvetone C=f(H) +TP_LABCURVE_CURVEEDITOR_CL;CL +TP_LABCURVE_CURVEEDITOR_CL_TOOLTIP;Kromaticitet i forhold til luminans C=f(L) +TP_LABCURVE_CURVEEDITOR_HH;HH +TP_LABCURVE_CURVEEDITOR_HH_TOOLTIP;Farvetone i forhold til farvetone H=f(H) +TP_LABCURVE_CURVEEDITOR_LC;LC +TP_LABCURVE_CURVEEDITOR_LC_TOOLTIP;Luminans i forhold til kromaticitet L=f(C) +TP_LABCURVE_CURVEEDITOR_LH;LH +TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminans i forhold til farvetone L=f(H) +TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminans i forhold til luminans L=f(L) +TP_LABCURVE_LABEL;L*a*b* Justeringer +TP_LABCURVE_LCREDSK;Begræns LC til rød og hudtoner +TP_LABCURVE_LCREDSK_TOOLTIP;Hvis den er aktiveret, påvirker LC-kurven kun rød og hudtoner.\nHvis den er deaktiveret, gælder den for alle toner. +TP_LABCURVE_RSTPROTECTION;Rød og hudtone beskyttelse +TP_LABCURVE_RSTPRO_TOOLTIP;Virker på Kromaticitet-skyderen og CC-kurven. TP_LENSGEOM_AUTOCROP;Auto-beskæring +TP_LENSGEOM_FILL;Auto-udfyld +TP_LENSGEOM_LABEL;Objektiv/Geometri +TP_LENSGEOM_LIN;Lineær +TP_LENSGEOM_LOG;Logaritmisk +TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatisk valgt +TP_LENSPROFILE_CORRECTION_LCPFILE;LCP fil +TP_LENSPROFILE_CORRECTION_MANUAL;Manuelt valgt +TP_LENSPROFILE_LABEL;Profileret objektivkorrektion +TP_LENSPROFILE_LENS_WARNING;Advarsel: Beskæringsfaktoren, der bruges til objektivprofilering, er større end beskæringsfaktoren for kameraet, resultaterne kan være forkerte. +TP_LENSPROFILE_MODE_HEADER;Objektiv Profil +TP_LENSPROFILE_USE_CA;Kromatisk afvigelse +TP_LENSPROFILE_USE_GEOMETRIC;Geometrisk forvrængning +TP_LENSPROFILE_USE_HEADER;Korrekt +TP_LENSPROFILE_USE_VIGNETTING;Vignettering +TP_LOCALCONTRAST_AMOUNT;Mængde +TP_LOCALCONTRAST_DARKNESS;Mørk-niveau +TP_LOCALCONTRAST_LABEL;Lokal Kontrast +TP_LOCALCONTRAST_LIGHTNESS;Lys-niveau +TP_LOCALCONTRAST_RADIUS;Radius +TP_METADATA_EDIT;Tilføj modifikationer +TP_METADATA_MODE;Metadata kopiér mode +TP_METADATA_STRIP;Fjern alle metadata +TP_METADATA_TUNNEL;Kopiér uændret +TP_NEUTRAL;Nulstil +TP_NEUTRAL_TOOLTIP;Nulstiller eksponeringsskyderne til neutrale værdier.\nGælder for de samme kontroller, som Auto Niveauer gælder for, uanset om du har brugt Auto Niveauer eller ej. +TP_PCVIGNETTE_FEATHER;Fjer +TP_PCVIGNETTE_FEATHER_TOOLTIP;Fler(blødgøring):\n0 = kun hjørner,\n50 = halvvejs til center,\n100 = til center. +TP_PCVIGNETTE_LABEL;Vignetteringsfilter +TP_PCVIGNETTE_ROUNDNESS;Rundhed +TP_PCVIGNETTE_ROUNDNESS_TOOLTIP;Rundhed:\n0 = rektangel,\n50 = tilpasset ellipse,\n100 = cirkel. +TP_PCVIGNETTE_STRENGTH;Styrke +TP_PCVIGNETTE_STRENGTH_TOOLTIP;Filterstyrke i stop (nået i hjørner). +TP_PDSHARPENING_LABEL;Input skærpning +TP_PERSPECTIVE_HORIZONTAL;Vandret +TP_PERSPECTIVE_LABEL;Perspektiv +TP_PERSPECTIVE_VERTICAL;Lodret +TP_PFCURVE_CURVEEDITOR_CH;Farvetone +TP_PFCURVE_CURVEEDITOR_CH_TOOLTIP;Styrer defringe styrke efter farve.\nHøjere = mere,\nLavere = mindre. +TP_PREPROCESS_DEADPIXFILT;Døde-pixels filter +TP_PREPROCESS_DEADPIXFILT_TOOLTIP;Forsøger at undertrykke døde pixels. +TP_PREPROCESS_GREENEQUIL;Grøn ligevægt +TP_PREPROCESS_HOTPIXFILT;Varme-pixels filter +TP_PREPROCESS_HOTPIXFILT_TOOLTIP;Forsøger at undertrykke varme pixels. +TP_PREPROCESS_LABEL;Forbehandling +TP_PREPROCESS_LINEDENOISE;Linje støjfilter +TP_PREPROCESS_LINEDENOISE_DIRECTION;Retning +TP_PREPROCESS_LINEDENOISE_DIRECTION_BOTH;Begge +TP_PREPROCESS_LINEDENOISE_DIRECTION_HORIZONTAL;Vandret +TP_PREPROCESS_LINEDENOISE_DIRECTION_PDAF_LINES;Vandret kun på PDAF rækker +TP_PREPROCESS_LINEDENOISE_DIRECTION_VERTICAL;Lodret +TP_PREPROCESS_NO_FOUND;Ingen fundet +TP_PREPROCESS_PDAFLINESFILTER;PDAF linjefilter +TP_PRSHARPENING_LABEL;Skærpning efter ændring af størrelse +TP_PRSHARPENING_TOOLTIP;Gør billedet skarpere efter ændring af størrelse. Virker kun, når "Lanczos"-størrelsesændringdsmetoden bruges. Det er umuligt at forhåndsvise virkningerne af dette værktøj. Se RawPedia for brugsinstruktioner. +TP_RAWCACORR_AUTO;Auto-korrektion +TP_RAWCACORR_AUTOIT;Gentagelser +TP_RAWCACORR_AUTOIT_TOOLTIP;Denne indstilling er tilgængelig, når "Autokorrektion" er markeret.\nAutokorrektion er konservativ, hvilket betyder, at den ofte ikke retter alle kromatiske afvigelser.\nFor at rette den resterende kromatisk afvigelse kan du bruge op til fem iterationer af automatisk kromatisk afvigelseskorrektion.\nHver iteration vil reducere den resterende kromatisk afvigelse fra sidste iteration, på bekostning af yderligere behandlingstid. +TP_RAWCACORR_AVOIDCOLORSHIFT;Undgå farveforskydning +TP_RAWCACORR_CABLUE;Blå +TP_RAWCACORR_CARED;Rød +TP_RAWCACORR_LABEL;Kromatisk Afvigelse Korrektion +TP_RAWEXPOS_BLACK_0;Grøn 1 (master) +TP_RAWEXPOS_BLACK_1;Rød +TP_RAWEXPOS_BLACK_2;Blå +TP_RAWEXPOS_BLACK_3;Grøn 2 +TP_RAWEXPOS_BLACK_BLUE;Blå +TP_RAWEXPOS_BLACK_GREEN;Grøn +TP_RAWEXPOS_BLACK_RED;Rød +TP_RAWEXPOS_LINEAR;Hvidpunkts korrektion +TP_RAWEXPOS_RGB;Rød, Grøn, Blå +TP_RAWEXPOS_TWOGREEN;Kæd grønne sammen +TP_RAW_1PASSMEDIUM;1-pass (Markesteijn) +TP_RAW_2PASS;1-pass+fast +TP_RAW_3PASSBEST;3-pass (Markesteijn) +TP_RAW_4PASS;3-pass+fast +TP_RAW_AHD;AHD +TP_RAW_AMAZE;AMaZE +TP_RAW_AMAZEVNG4;AMaZE+VNG4 +TP_RAW_BORDER;Billedkant +TP_RAW_DCB;DCB +TP_RAW_DCBENHANCE;DCB forbedring +TP_RAW_DCBITERATIONS;Antal DCB-iterationer +TP_RAW_DCBVNG4;DCB+VNG4 +TP_RAW_DMETHOD;Metode +TP_RAW_DMETHOD_PROGRESSBAR;%1 demosaiking... +TP_RAW_DMETHOD_PROGRESSBAR_REFINE;Demosaik forfining... +TP_RAW_DMETHOD_TOOLTIP;Bemærk: IGV og LMMSE er dedikeret til billeder med høj ISO for at hjælpe med støjreduktion uden at det fører til labyrintmønstre, posterisering eller et udvasket udseende.\nPixel Shift er til Pentax/Sony Pixel Shift-filer. Det falder tilbage til AMaZE for ikke-Pixel Shift-filer. +TP_RAW_DUALDEMOSAICAUTOCONTRAST;Auto tærskel +TP_RAW_DUALDEMOSAICAUTOCONTRAST_TOOLTIP;Hvis afkrydsningsfeltet er markeret (anbefales), beregner RawTherapee en optimal værdi baseret på flade områder i billedet.\nHvis der ikke er et fladt område i billedet, eller billedet er for støjfyldt, indstilles værdien til 0.\nFor at indstille værdien manuelt, fjern markeringen i afkrydsningsfeltet først (rimelige værdier afhænger af billedet). +TP_RAW_DUALDEMOSAICCONTRAST;Kontrasttærskel +TP_RAW_EAHD;EAHD +TP_RAW_FALSECOLOR;Trin til undertrykkelse af forkerte farver +TP_RAW_FAST;Hurtig +TP_RAW_HD;Tærskel +TP_RAW_HD_TOOLTIP;Lavere værdier gør detektion af varme/døde pixels mere aggressiv, men falske positiver kan føre til artefakter. Hvis du bemærker, at der opstår artefakter, når du aktiverer Varm/Død Pixel-filtrene, skal du gradvist øge tærskelværdien, indtil de forsvinder. +TP_RAW_HPHD;HPHD +TP_RAW_IGV;IGV +TP_RAW_IMAGENUM;Under-billede +TP_RAW_IMAGENUM_SN;SN tilstand +TP_RAW_IMAGENUM_TOOLTIP;Nogle raw-filer består af flere underbilleder (Pentax/Sony Pixel Shift, Pentax 3-i-1 HDR, Canon Dual Pixel, Fuji EXR).\n\nNår du bruger en anden demosaiking metode end Pixel Shift, vælger dette hvilket under-billede der bruges.\n\nNår du bruger Pixel Shift demosaiking metoden på et Pixel Shift raw, bruges alle underbilleder, og dette vælger hvilket underbillede der skal bruges til bevægelige dele. +TP_RAW_LABEL;Demosaiking +TP_RAW_LMMSE;LMMSE +TP_RAW_LMMSEITERATIONS;LMMSE forbedringstrin +TP_RAW_LMMSE_TOOLTIP;Tilføjer gamma (trin 1), median (trin 2-4) og forfining (trin 5-6) for at reducere artefakter og forbedre signal-til-støj-forholdet. +TP_RAW_MONO;Mono +TP_RAW_NONE;Ingen (Viser sensor mønster) +TP_RAW_PIXELSHIFT;Pixel Shift +TP_RAW_PIXELSHIFTBLUR;Slør bevægelsesmaske +TP_RAW_PIXELSHIFTDMETHOD;Demosaisk metode til bevægelse +TP_RAW_PIXELSHIFTEPERISO;Følsomhed +TP_RAW_PIXELSHIFTEPERISO_TOOLTIP;Standardværdien på 0 burde fungere fint for basis ISO.\nHøjere værdier øger følsomheden af bevægelsesregistrering.\nSkift i små trin, og se bevægelsesmasken, mens du skifter.\nForøg følsomheden for undereksponerede eller høj-ISO billeder. +TP_RAW_PIXELSHIFTEQUALBRIGHT;Udligne lysstyrke af rammer +TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL;Udlign pr. kanal +TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL_TOOLTIP;Aktiveret: Udlign RGB-kanalerne individuelt.\nDeaktiveret: Brug samme udligningsfaktor for alle kanaler. +TP_RAW_PIXELSHIFTEQUALBRIGHT_TOOLTIP;Udlign lysstyrken af rammerne til lysstyrken for den valgte ramme.\nHvis der er overeksponerede områder i rammerne, skal du vælge den mest lysstærke ramme for at undgå magentafarver i overeksponerede områder, eller aktivere bevægelseskorrektion. +TP_RAW_PIXELSHIFTGREEN;Tjek grøn kanal for bevægelse +TP_RAW_PIXELSHIFTHOLEFILL;Fyld huller i bevægelsesmasken +TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fyld huller i bevægelsesmasken +TP_RAW_PIXELSHIFTMEDIAN;Brug median til bevægelige dele +TP_RAW_PIXELSHIFTMEDIAN_TOOLTIP;Brug medianen af alle rammer i stedet for den valgte ramme for områder med bevægelse.\nFjerner objekter, der er på forskellige steder i alle rammer.\nGiver bevægelseseffekt på objekter, der bevæger sig langsomt (overlappende). +TP_RAW_PIXELSHIFTMM_AUTO;Automatisk +TP_RAW_PIXELSHIFTMM_CUSTOM;Standard +TP_RAW_PIXELSHIFTMM_OFF;Fra +TP_RAW_PIXELSHIFTMOTIONMETHOD;Bevægelseskorrektion +TP_RAW_PIXELSHIFTNONGREENCROSS;Tjek rød/blå kanaler for bevægelse +TP_RAW_PIXELSHIFTSHOWMOTION;Vis bevægelsesmaske +TP_RAW_PIXELSHIFTSHOWMOTIONMASKONLY;Vis kun bevægelsesmaske +TP_RAW_PIXELSHIFTSHOWMOTIONMASKONLY_TOOLTIP;Viser bevægelsesmasken uden billedet. +TP_RAW_PIXELSHIFTSHOWMOTION_TOOLTIP;Overlejrer billedet med en grøn maske, der viser områderne med bevægelse. +TP_RAW_PIXELSHIFTSIGMA;Sløringsradius +TP_RAW_PIXELSHIFTSIGMA_TOOLTIP;Standardradius på 1,0 passer normalt godt til basis ISO.\nForøg værdien for billeder med høj ISO, 5,0 er et godt udgangspunkt.\nSe bevægelsesmasken, mens du ændrer værdien. +TP_RAW_PIXELSHIFTSMOOTH;Glatte overgange +TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Glatte overgange mellem områder med bevægelse og områder uden.\nSæt til 0 for at deaktivere overgangsudjævning.\nSæt til 1 for enten at få AmaZE/LMMSE resultatet af den valgte frame (afhængigt af om "Brug LMMSE" er valgt), eller medianen af alle fire rammer, hvis "Brug median" er valgt. +TP_RAW_RCD;RCD +TP_RAW_RCDVNG4;RCD+VNG4 +TP_RAW_SENSOR_BAYER_LABEL;Sensor med Bayer Matrix +TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass giver de bedste resultater (anbefales til billeder med lav ISO).\n1-pass kan næsten ikke skelnes fra 3-pass for billeder med høj ISO og er hurtigere.\n+hurtig giver færre artefakter i flade områder +TP_RAW_SENSOR_XTRANS_LABEL;Sensor med X-Trans Matrix +TP_RAW_VNG4;VNG4 +TP_RAW_XTRANS;X-Trans +TP_RAW_XTRANSFAST;Hurtig X-Trans +TP_RESIZE_ALLOW_UPSCALING;Tillad opskalering +TP_RESIZE_APPLIESTO;Gælder for: +TP_RESIZE_CROPPEDAREA;Beskåret område +TP_RESIZE_FITBOX;Afgrænsningskasse +TP_RESIZE_FULLIMAGE;Fuldt billede +TP_RESIZE_H;Højde: +TP_RESIZE_HEIGHT;Højde +TP_RESIZE_LABEL;Ændr størrelse +TP_RESIZE_LANCZOS;Lanczos +TP_RESIZE_METHOD;Metode: +TP_RESIZE_NEAREST;Nærmeste +TP_RESIZE_SCALE;Vægt +TP_RESIZE_SPECIFY;Specificér: +TP_RESIZE_W;Bredde: +TP_RESIZE_WIDTH;Bredde +TP_RETINEX_CONTEDIT_HSL;HSL histogram +TP_RETINEX_CONTEDIT_LAB;L*a*b* histogram +TP_RETINEX_CONTEDIT_LH;Farvetone +TP_RETINEX_CONTEDIT_MAP;Equalizer +TP_RETINEX_CURVEEDITOR_CD;L=f(L) +TP_RETINEX_CURVEEDITOR_CD_TOOLTIP;Luminans i henhold til luminans L=f(L)\nKorrigér raw data for at reducere glorier og artefakter. +TP_RETINEX_CURVEEDITOR_LH;Styrke=f(H) +TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Styrke i henhold til farvetone Styrke=f(H)\nDenne kurve virker også på kroma ved brug af "Højlys" retinex-metoden. +TP_RETINEX_CURVEEDITOR_MAP;L=f(L) +TP_RETINEX_CURVEEDITOR_MAP_TOOLTIP;Denne kurve kan påføres alene eller med en gaussisk maske eller wavelet-maske.\nPas på - artefakter! +TP_RETINEX_EQUAL;Equalizer +TP_RETINEX_FREEGAMMA;Fri gamma +TP_RETINEX_GAIN;Forstærk +TP_RETINEX_GAINOFFS;Forstærk og Offset (lysstyrke) +TP_RETINEX_GAINTRANSMISSION;Forstærk transmission +TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Forstærk eller reducér transmissionskortet for at opnå den ønskede luminans.\nX-aksen er transmissionen.\nY-aksen er forstærkningen. +TP_RETINEX_GAMMA;Gamma +TP_RETINEX_GAMMA_FREE;Fri +TP_RETINEX_GAMMA_HIGH;Høj +TP_RETINEX_GAMMA_LOW;Lav +TP_RETINEX_GAMMA_MID;Mellem +TP_RETINEX_GAMMA_NONE;Ingen +TP_RETINEX_GAMMA_TOOLTIP;Gendan toner ved at påføre gamma før og efter Retinex. Forskelligt fra Retinex-kurver eller andre kurver (Lab, Eksponering osv.). +TP_RETINEX_GRAD;Transmissionsgradient +TP_RETINEX_GRADS;Styrke gradient +TP_RETINEX_GRADS_TOOLTIP;Hvis skyderen står på 0, er alle iterationer identiske.\nHvis > 0 Styrken reduceres, når iterationerne øges, og omvendt. +TP_RETINEX_GRAD_TOOLTIP;Hvis skyderen står på 0, er alle iterationer identiske.\nHvis > 0 Varians og Tærskel reduceres, når iterationer øges, og omvendt. +TP_RETINEX_HIGH;Høj +TP_RETINEX_HIGHLIG;Højlys +TP_RETINEX_HIGHLIGHT;Højlys tærskel +TP_RETINEX_HIGHLIGHT_TOOLTIP;Forøg handlingen af Høj-algoritmen.\nKan kræve, at du genjusterer "Nabopixels" og øger "Hvidpunkts korrektion" på fanen Raw -> Raw hvide punkter. +TP_RETINEX_HSLSPACE_LIN;HSL-lineær +TP_RETINEX_HSLSPACE_LOG;HSL-Logaritmisk +TP_RETINEX_ITER;Gentagelser (Tone-mapping) +TP_RETINEX_ITERF; +TP_RETINEX_ITER_TOOLTIP;Simulér en tone-mapping-operator.\nHøje værdier øger behandlingstiden. +TP_RETINEX_LABEL;Retinex +TP_RETINEX_LABEL_MASK;Maske +TP_RETINEX_LABSPACE;L*a*b* +TP_RETINEX_LOW;Lav +TP_RETINEX_MAP;Metode +TP_RETINEX_MAP_GAUS;Gaussisk maske +TP_RETINEX_MAP_MAPP;Skarp maske (wavelet partiel) +TP_RETINEX_MAP_MAPT;Skarp maske (wavelet total) +TP_RETINEX_MAP_METHOD_TOOLTIP;Brug masken genereret af Gaussisk-funktionen ovenfor (Radius, Metode) til at reducere glorier og artefakter.\n\nKun kurve: tilføj en diagonal kontrastkurve på masken.\nPas på artefakter!\n\nGaussisk maske: generér og brug en Gaussisk sløring af den originale maske.\nHurtig.\n\nSkarp maske: generér og brug en wavelet på den originale maske.\nLangsom. +TP_RETINEX_MAP_NONE;Ingen +TP_RETINEX_MEDIAN;Transmission median filter +TP_RETINEX_METHOD;Metode +TP_RETINEX_METHOD_TOOLTIP;Lav = Forstærk svagt lys.\nEnsartet = Equalize handling.\nHøj = Forstærk højlys.\nHøjlys = Fjern magenta i højlys. +TP_RETINEX_MLABEL;Gendannet dis-fri Min=%1 Max=%2 +TP_RETINEX_MLABEL_TOOLTIP;Bør være tæt på min=0 max=32768\nGendannet billede uden blanding. +TP_RETINEX_NEIGHBOR;Radius +TP_RETINEX_NEUTRAL;Nulstil +TP_RETINEX_NEUTRAL_TOOLTIP;Nulstil alle skydere og kurver til deres standardværdier. +TP_RETINEX_OFFSET;Offset (lysstyrke) +TP_RETINEX_SCALES;Gaussian gradient +TP_RETINEX_SCALES_TOOLTIP;Hvis skyderen står på 0, er alle iterationer identiske.\nHvis > 0 Vægt og radius reduceres, når iterationer øges, og omvendt. +TP_RETINEX_SETTINGS;Indstillinger +TP_RETINEX_SKAL;Vægt +TP_RETINEX_SLOPE;Fri gamma hældning +TP_RETINEX_STRENGTH;Styrke +TP_RETINEX_THRESHOLD;Tærskel +TP_RETINEX_THRESHOLD_TOOLTIP;Begrænser ind/ud.\nInd = billedkilde,\nUd = billede gauss. +TP_RETINEX_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sigma=%4 +TP_RETINEX_TLABEL2;TM Tm=%1 TM=%2 +TP_RETINEX_TLABEL_TOOLTIP;Transmissionskortresultat.\Min og Max bruges af Variance.\Mean og Sigma.\nTm=Min TM=Maks af transmissionskort. +TP_RETINEX_TRANF;Transmission +TP_RETINEX_TRANSMISSION;Transmissionskort +TP_RETINEX_TRANSMISSION_TOOLTIP;Transmission i henhold til transmission.\nVandret akse: transmission fra negative værdier (min), middelværdier og positive værdier (maks.).\nLodret akse: forstærkning eller reduktion. +TP_RETINEX_UNIFORM;Ensartet +TP_RETINEX_VARIANCE;Kontrast +TP_RETINEX_VARIANCE_TOOLTIP;Lav varians øger lokal kontrast og mætning, men kan føre til artefakter. +TP_RETINEX_VIEW;Proces +TP_RETINEX_VIEW_MASK;Mask +TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal visning.\nMaske - Viser masken.\nUskarp maske - Viser billedet med en uskarp maske med høj radius.\nTransmission - Auto/Fixet - Viser transmissionskortet før enhver handling på kontrast og lysstyrke.\n \nBemærk: masken svarer ikke til virkeligheden, men er forstærket for at gøre den mere synlig. +TP_RETINEX_VIEW_NONE;Standard +TP_RETINEX_VIEW_TRAN;Transmission - Auto +TP_RETINEX_VIEW_TRAN2;Transmission - Fixed +TP_RETINEX_VIEW_UNSHARP;Uskarp maske +TP_RGBCURVES_BLUE;B +TP_RGBCURVES_CHANNEL;Kanal +TP_RGBCURVES_GREEN;G +TP_RGBCURVES_LABEL;RGB Kurver +TP_RGBCURVES_LUMAMODE;Luminanstilstand +TP_RGBCURVES_LUMAMODE_TOOLTIP;Luminanstilstand gør det muligt at variere bidraget fra R-, G- og B-kanaler til billedets luminans uden at ændre billedfarven. +TP_RGBCURVES_RED;R +TP_ROTATE_DEGREE;Grad +TP_ROTATE_LABEL;Rotér +TP_ROTATE_SELECTLINE;Vælg lige linje +TP_SAVEDIALOG_OK_TOOLTIP;Genvej: Ctrl-Enter +TP_SHADOWSHLIGHTS_HIGHLIGHTS;Højlys +TP_SHADOWSHLIGHTS_HLTONALW;Højlys tonal bredde +TP_SHADOWSHLIGHTS_LABEL;Skygger/Højlys +TP_SHADOWSHLIGHTS_RADIUS;Radius +TP_SHADOWSHLIGHTS_SHADOWS;Skygger +TP_SHADOWSHLIGHTS_SHTONALW;Skygger tonal bredde +TP_SHARPENEDGE_AMOUNT;Mængde +TP_SHARPENEDGE_LABEL;Skærpen kanter +TP_SHARPENEDGE_PASSES;Gentagelser +TP_SHARPENEDGE_THREE;Kun luminans +TP_SHARPENING_AMOUNT;Mængde +TP_SHARPENING_BLUR;Sløringsradius +TP_SHARPENING_CONTRAST;Kontrasttærskel +TP_SHARPENING_EDRADIUS;Radius +TP_SHARPENING_EDTOLERANCE;Kanttolerance +TP_SHARPENING_HALOCONTROL;Gloriekontrol +TP_SHARPENING_HCAMOUNT;Mængde +TP_SHARPENING_ITERCHECK;Autobegræns gentagelser +TP_SHARPENING_LABEL;Skærpe +TP_SHARPENING_METHOD;Metode +TP_SHARPENING_ONLYEDGES;Skærp kun kanter +TP_SHARPENING_RADIUS;Radius +TP_SHARPENING_RADIUS_BOOST;Forstærkning af hjørneradius +TP_SHARPENING_RLD;RL Dekonvolution +TP_SHARPENING_RLD_AMOUNT;Mængde +TP_SHARPENING_RLD_DAMPING;Dæmpning +TP_SHARPENING_RLD_ITERATIONS;Gentagelser +TP_SHARPENING_THRESHOLD;Tærskel +TP_SHARPENING_USM;Uskarp maske +TP_SHARPENMICRO_AMOUNT;Mængde +TP_SHARPENMICRO_CONTRAST;Kontrasttærskel +TP_SHARPENMICRO_LABEL;Mikrokontrast +TP_SHARPENMICRO_MATRIX;3×3 matrix i stedet for 5×5 +TP_SHARPENMICRO_UNIFORMITY;Ensartethed +TP_SOFTLIGHT_LABEL;Blødt lys +TP_SOFTLIGHT_STRENGTH;Styrke +TP_TM_FATTAL_AMOUNT;Mængde +TP_TM_FATTAL_ANCHOR;Anker +TP_TM_FATTAL_LABEL;Dynamisk områdekomprimering +TP_TM_FATTAL_THRESHOLD;Detalje +TP_VIBRANCE_AVOIDCOLORSHIFT;Undgå farveforskydning +TP_VIBRANCE_CURVEEDITOR_SKINTONES;HH +TP_VIBRANCE_CURVEEDITOR_SKINTONES_LABEL;Hudtoner +TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE1;Rød/Lilla +TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE2;Rød +TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE3;Rød/Gul +TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE4;Gul +TP_VIBRANCE_CURVEEDITOR_SKINTONES_TOOLTIP;Farvetone i henhold til farvetone H=f(H) +TP_VIBRANCE_LABEL;Vibrance +TP_VIBRANCE_PASTELS;Pastel Toner +TP_VIBRANCE_PASTSATTOG;Knyt pastel og mættede toner sammen +TP_VIBRANCE_PROTECTSKINS;Beskyt hudtoner +TP_VIBRANCE_PSTHRESHOLD;Pastel/mættede toners tærskel +TP_VIBRANCE_PSTHRESHOLD_SATTHRESH;Mætningstærskel +TP_VIBRANCE_PSTHRESHOLD_TOOLTIP;Den lodrette akse repræsenterer pastel toner i bunden og mættede toner i toppen.\nDen vandrette akse repræsenterer mætningsområdet. +TP_VIBRANCE_PSTHRESHOLD_WEIGTHING;Pastel/mættet overgangsvægtning +TP_VIBRANCE_SATURATED;Mættede Toner +TP_VIGNETTING_AMOUNT;Mængde +TP_VIGNETTING_CENTER;Center +TP_VIGNETTING_CENTER_X;Center X +TP_VIGNETTING_CENTER_Y;Center Y +TP_VIGNETTING_LABEL;Vignettekorrektion +TP_VIGNETTING_RADIUS;Radius +TP_VIGNETTING_STRENGTH;Styrke +TP_WAVELET_1;Niveau 1 +TP_WAVELET_2;Niveau 2 +TP_WAVELET_3;Niveau 3 +TP_WAVELET_4;Niveau 4 +TP_WAVELET_5;Niveau 5 +TP_WAVELET_6;Niveau 6 +TP_WAVELET_7;Niveau 7 +TP_WAVELET_8;Niveau 8 +TP_WAVELET_9;Niveau 9 +TP_WAVELET_APPLYTO;Tilføj Til +TP_WAVELET_AVOID;Undgå farveskift +TP_WAVELET_B0;Sort +TP_WAVELET_B1;Grå +TP_WAVELET_B2;Resterende +TP_WAVELET_BACKGROUND;Baggrund +TP_WAVELET_BACUR;Kurve +TP_WAVELET_BALANCE;Kontrastbalance d/v-h +TP_WAVELET_BALANCE_TOOLTIP;Ændrer balancen mellem wavelet-retningerne: lodret-vandret og diagonal.\nHvis kontrast-, kroma- eller resttonemapping er aktiveret, er effekten på basis af balance forstærket. +TP_WAVELET_BALCHRO;Kroma balance +TP_WAVELET_BALCHRO_TOOLTIP;Hvis aktiveret, ændrer 'Kontrastbalance'-kurven eller -skyderen også kroma-balancen. +TP_WAVELET_BANONE;Ingen +TP_WAVELET_BASLI;Skyder +TP_WAVELET_BATYPE;Kontrastbalance metode +TP_WAVELET_CBENAB;Toning og Farveballance +TP_WAVELET_CB_TOOLTIP;For stærke værdier - produktfarvetoning ved at kombinere det eller ej med niveauer dekomponering 'toning'\nFor lave værdier kan du ændre hvidbalancen af baggrunden (himmel, ...) uden at ændre den for frontplanet, generelt mere kontrasteret +TP_WAVELET_CCURVE;Lokal kontrast +TP_WAVELET_CH1;Hele kroma området +TP_WAVELET_CH2;Mættet/pastel +TP_WAVELET_CH3;Sammenkæd kontrast niveauer +TP_WAVELET_CHCU;Kurve +TP_WAVELET_CHR;Kroma-kontrast sammenkæd styrke +TP_WAVELET_CHRO;Mættet/pastel tærskel +TP_WAVELET_CHRO_TOOLTIP;Sætter det wavelet niveau, som vil være tærskelværdien mellem mættede og pastel farver.\n1-x: mættet\nx-9: pastel\n\nHvis værdien overstiger mængden af wavelet niveauer du bruger, vil det blive ignoreret. +TP_WAVELET_CHR_TOOLTIP;Justerer kroma som en funktion af "contrast niveauer" og "kroma-kontrast sammenkæd styrke" +TP_WAVELET_CHSL;Skydere +TP_WAVELET_CHTYPE;Krominans metode +TP_WAVELET_COLORT;Opacitet Rød-Grøn +TP_WAVELET_COMPCONT;Kontrast +TP_WAVELET_COMPGAMMA;Kompressions gamma +TP_WAVELET_COMPGAMMA_TOOLTIP;Justering af gamma for det resterende billede giver dig mulighed for at afbalancere dataene og histogrammet. +TP_WAVELET_COMPTM; +TP_WAVELET_CONTEDIT;'efter' kontrast Kurve +TP_WAVELET_CONTR;Farveskala +TP_WAVELET_CONTRA;Kontrast +TP_WAVELET_CONTRAST_MINUS;Kontrast - +TP_WAVELET_CONTRAST_PLUS;Kontrast + +TP_WAVELET_CONTRA_TOOLTIP;Ændrer kontrast i det resterende billede. +TP_WAVELET_CTYPE;Krominans kontrol +TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;Modificerer lokal kontrast som en funktion af den oprindelige lokale kontrast (vandret akse).\nLave værdier på vandret akse repræsenterer lille lokal kontrast (reelle værdier omkring 10..20).\n50% på vandret akse repræsenterer gennemsnitlig lokal kontrast (virkelig værdi omkring 100..300).\n66% på vandret akse repræsenterer standard afvigelse af lokal kontrast (virkelig værdi ca. 300..800).\n100% på vandret akse repræsenterer maksimal lokal kontrast (virkelig værdi ca. 3000..8000). +TP_WAVELET_CURVEEDITOR_CH;Kontrastniveauer=f(Farvetone) +TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Ændrer hvert niveaus kontrast som en funktion af nuance.\nPas på ikke at overskrive ændringer foretaget med Farveskala-underværktøjets farvetonekontroller.\nKurven vil kun have en effekt, når wavelet-kontrastniveau-skydere er ikke-nul. +TP_WAVELET_CURVEEDITOR_CL;L +TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Påfører en endelig kontrastluminanskurve i slutningen af wavelet-behandlingen. +TP_WAVELET_CURVEEDITOR_HH;HH +TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Ændrer det resterende billedes farvetone som en funktion af farvetonen. +TP_WAVELET_DALL;Alle retninger +TP_WAVELET_DAUB;Kant ydeevne +TP_WAVELET_DAUB2;D2 - lav +TP_WAVELET_DAUB4;D4 - standard +TP_WAVELET_DAUB6;D6 - standard plus +TP_WAVELET_DAUB10;D10 - medium +TP_WAVELET_DAUB14;D14 - høj +TP_WAVELET_DAUB_TOOLTIP;Ændrer Daubechies-koefficienter:\nD4 = Standard,\nD14 = Ofte bedste ydeevne, 10% mere tidskrævende.\n\nPåvirker kantgenkendelse såvel som den generelle kvalitet af første niveauer. Kvaliteten er dog ikke strengt relateret til denne koefficient og kan variere med billeder og anvendelser. +TP_WAVELET_DONE;Lodret +TP_WAVELET_DTHR;Diagonal +TP_WAVELET_DTWO;Vandret +TP_WAVELET_EDCU;Kurve +TP_WAVELET_EDGCONT;Lokal kontrast +TP_WAVELET_EDGCONT_TOOLTIP;Justering af punkterne til venstre mindsker kontrasten, og til højre øges den.\nNederst til venstre, øverst til venstre, øverst til højre og nederst til højre repræsenterer henholdsvis lokal kontrast for lave værdier, middelværdi, middel+stdev og maksima. +TP_WAVELET_EDGE;Kantskarphed +TP_WAVELET_EDGEAMPLI;Basisforstærkning +TP_WAVELET_EDGEDETECT;Gradient følsomhed +TP_WAVELET_EDGEDETECTTHR;Tærskel lav (støj) +TP_WAVELET_EDGEDETECTTHR2;Tærskel høj (genkendelse) +TP_WAVELET_EDGEDETECTTHR_TOOLTIP;Denne skyder lader dig målrette kantgenkendelse for f. eks. at undgå at anvende kantskarphed på fine detaljer, såsom støj i himlen. +TP_WAVELET_EDGEDETECT_TOOLTIP;Flytning af skyderen til højre øger kantfølsomheden. Dette påvirker lokal kontrast, kantindstillinger og støj. +TP_WAVELET_EDGESENSI;Kantfølsomhed +TP_WAVELET_EDGREINF_TOOLTIP;Forstærk eller reducér virkningen af det første niveau, gør det modsatte af det andet niveau, og lad resten være uændret. +TP_WAVELET_EDGTHRESH;Detalje +TP_WAVELET_EDGTHRESH_TOOLTIP;Ændr opdelingen mellem det første niveau og de andre. Jo højere tærskel der er, desto mere er handlingen centreret på det første niveau. Vær forsigtig med negative værdier, de øger virkningen af høje niveauer og kan introducere artefakter. +TP_WAVELET_EDRAD;Radius +TP_WAVELET_EDRAD_TOOLTIP;Denne radiusjustering er meget forskellig fra dem i andre skærpeværktøjer. Dens værdi sammenlignes med hvert niveau gennem en kompleks funktion. I den forstand, at en værdi på nul stadig har effekt. +TP_WAVELET_EDSL;Tærskel Skydere +TP_WAVELET_EDTYPE;Lokalkontrast metode +TP_WAVELET_EDVAL;Styrke +TP_WAVELET_FINAL;Afsluttende Redigering +TP_WAVELET_FINEST;Fineste +TP_WAVELET_HIGHLIGHT;Højlys luminanceområde +TP_WAVELET_HS1;Hele luminansområdet +TP_WAVELET_HS2;Skygge/Højlys +TP_WAVELET_HUESKIN;Hudfarvenuance +TP_WAVELET_HUESKIN_TOOLTIP;De nederste punkter angiver begyndelsen af overgangszonen, og de øverste peger på slutningen af den, hvor effekten er maksimal.\n\nHvis du har brug for at flytte området betydeligt, eller hvis der er artefakter, er hvidbalance forkert. +TP_WAVELET_HUESKY;Himmelfarvenuance +TP_WAVELET_HUESKY_TOOLTIP;De nederste punkter angiver begyndelsen af overgangszonen, og de øverste peger på slutningen af den, hvor effekten er maksimal.\n\nHvis du har brug for at flytte området betydeligt, eller hvis der er artefakter, er hvidbalance forkert. +TP_WAVELET_ITER;Delta balance niveauer +TP_WAVELET_ITER_TOOLTIP;Venstre: øg lavt niveau og sænk højt niveauer,\nHøjre: sænk lavt niveau og øg højt niveau. +TP_WAVELET_LABEL;Wavelet Niveauer +TP_WAVELET_LARGEST;Grovste +TP_WAVELET_LEVCH;Kroma +TP_WAVELET_LEVDIR_ALL;Alle niveauer i alle retninger +TP_WAVELET_LEVDIR_INF;Under eller lig med niveauet +TP_WAVELET_LEVDIR_ONE;Et niveau +TP_WAVELET_LEVDIR_SUP;Over niveauet +TP_WAVELET_LEVELS;Wavelet niveauer +TP_WAVELET_LEVELS_TOOLTIP;Vælg antal detaljniveauer billedet skal dekomponeres til. Flere niveauer kræver mere RAM og kræver længere behandlingstid. +TP_WAVELET_LEVF;Kontrast +TP_WAVELET_LEVLABEL;Forhåndsvis maksimalt mulig niveauer = %1 +TP_WAVELET_LEVONE;Niveau 2 +TP_WAVELET_LEVTHRE;Niveau 4 +TP_WAVELET_LEVTWO;Niveau 3 +TP_WAVELET_LEVZERO;Niveau 1 +TP_WAVELET_LINKEDG;Sammenkæd med Kantskarpheds Styrke +TP_WAVELET_LIPST;Forbedret algoritme +TP_WAVELET_LOWLIGHT;Skyggeluminansområde +TP_WAVELET_MEDGREINF;Første niveau +TP_WAVELET_MEDI;Formindsk artefakter på blå himmel +TP_WAVELET_MEDILEV;Kantgenkendelse +TP_WAVELET_MEDILEV_TOOLTIP;Når du aktiverer Kantgenkendelse, anbefales det:\n- at deaktivere lavkontrastniveauer for at undgå artefakter,\n- at bruge høje værdier af gradientfølsomhed.\n\nDu kan modulere styrken med 'forfining' fra Støjfjernelse og Forfining. +TP_WAVELET_NEUTRAL;Neutral +TP_WAVELET_NOIS;Støjfjernelse +TP_WAVELET_NOISE;Støjfjernelse og raffinér +TP_WAVELET_NPHIGH;Høj +TP_WAVELET_NPLOW;Lav +TP_WAVELET_NPNONE;Ingen +TP_WAVELET_NPTYPE;Nabo pixels +TP_WAVELET_NPTYPE_TOOLTIP;Denne algoritme bruger nærheden af en pixel og otte af dens naboer. Hvis der er mindre forskel, forstærkes kanter. +TP_WAVELET_OPACITY;Opacitet Blå-Gul +TP_WAVELET_OPACITYW;Kontrast balance d/v-h kurve +TP_WAVELET_OPACITYWL;Endelig lokalkontrast +TP_WAVELET_OPACITYWL_TOOLTIP;Forandr den endelige lokalkontrast i slutningen af wavelet-redigeringen.\in\Venstre side repræsenterer den mindste lokalkontrast, gående til den højeste lokalkontrast i højre side. +TP_WAVELET_PASTEL;Pastel kroma +TP_WAVELET_PROC;Proces +TP_WAVELET_RE1;Forstærket +TP_WAVELET_RE2;Uændret +TP_WAVELET_RE3;Reduceret +TP_WAVELET_RESCHRO;Kroma +TP_WAVELET_RESCON;Skygger +TP_WAVELET_RESCONH;Højlys +TP_WAVELET_RESID;Resterende billede +TP_WAVELET_SAT;Mættet kroma +TP_WAVELET_SETTINGS;Wavelet Indstillinger +TP_WAVELET_SKIN;Hud målretning/beskyttelse +TP_WAVELET_SKIN_TOOLTIP;Ved -100 bliver hudtoner angrebet.\nVed 0 behandles alle toner ens.\nVed +100 er hudtoner beskyttet, mens alle andre toner påvirkes. +TP_WAVELET_SKY;Himmel målretning/beskyttelse +TP_WAVELET_SKY_TOOLTIP;Ved -100 angribes himmeltoner.\nVed 0 behandles alle toner ens.\nVed +100 er himmeltoner beskyttet, mens alle andre toner påvirkes. +TP_WAVELET_STREN;Styrke +TP_WAVELET_STRENGTH;Styrke +TP_WAVELET_SUPE;Ekstra +TP_WAVELET_THR;Skygge tærskel +TP_WAVELET_THRESHOLD;Højlys niveauer +TP_WAVELET_THRESHOLD2;Skygge niveauer +TP_WAVELET_THRESHOLD2_TOOLTIP;Kun niveauer mellem 9 og minus-9 værdien vil blive påvirket af skygge luminansområdet. Andre niveauer vil blive behandlet fuldt ud. Det højest mulige niveau er begrænset af højlysniveauværdien (minus-9 højlysniveauværdi). +TP_WAVELET_THRESHOLD_TOOLTIP;Kun niveauer ud over den valgte værdi vil blive påvirket af højlys luminansområdet. Andre niveauer vil blive behandlet fuldt ud. Den valgte værdi her begrænser den højest mulige værdi af skyggeniveauerne. +TP_WAVELET_THRH;Højlys tærskel +TP_WAVELET_TILESBIG;Store fliser +TP_WAVELET_TILESFULL;Fuldt billede +TP_WAVELET_TILESIZE;Fliseopdelingsmetode +TP_WAVELET_TILES_TOOLTIP;Redigering af det fulde billede fører til bedre kvalitet og er den anbefalede metode, mens brug af fliser er en nødløsning for brugere med lidt RAM. Se RawPedia for hukommelseskrav. +TP_WAVELET_TMSTRENGTH;Kompressionsstyrke +TP_WAVELET_TMSTRENGTH_TOOLTIP;Kontrolér styrken af tonemapping eller kontrastkomprimering af det resterende billede. Når værdien er forskellig fra 0, bliver skyderne Styrke og Gamma i Tone Mapping-værktøjet på fanen Eksponering grået-ud. +TP_WAVELET_TMTYPE;Kompressions metode +TP_WAVELET_TON;Toning +TP_WBALANCE_AUTO;Auto +TP_WBALANCE_CAMERA;Kamera +TP_WBALANCE_CLOUDY;Overskyet +TP_WBALANCE_CUSTOM;Bruger +TP_WBALANCE_DAYLIGHT;Dagslys (solrig) +TP_WBALANCE_EQBLUERED;Blå/Rød equalizer +TP_WBALANCE_EQBLUERED_TOOLTIP;Giver mulighed for at afvige fra den normale opførsel af "hvidbalance" ved at modulere blå/rød-balancen.\nDette kan være nyttigt, når optageforholdene:\na: er meget forskellige fra standardlyskilden (f.eks. under vand),\nb: hvor kalibrering blev udført,\nc: hvor matricerne eller ICC-profilerne er uegnede. +TP_WBALANCE_FLASH55;Leica +TP_WBALANCE_FLASH60;Standard, Canon, Pentax, Olympus +TP_WBALANCE_FLASH65;Nikon, Panasonic, Sony, Minolta +TP_WBALANCE_FLASH_HEADER;Flash +TP_WBALANCE_FLUO1;F1 - Dagslys +TP_WBALANCE_FLUO2;F2 – Kold hvid +TP_WBALANCE_FLUO3;F3 - Hvid +TP_WBALANCE_FLUO4;F4 - Varm hvid +TP_WBALANCE_FLUO5;F5 - Dagslys +TP_WBALANCE_FLUO6;F6 – Let hvid +TP_WBALANCE_FLUO7;F7 - D65 Dagslyssimulering +TP_WBALANCE_FLUO8;F8 - D50/Sylvania F40 Design +TP_WBALANCE_FLUO9;F9 – Kold hvid Deluxe +TP_WBALANCE_FLUO10;F10 - Philips TL85 +TP_WBALANCE_FLUO11;F11 - Philips TL84 +TP_WBALANCE_FLUO12;F12 - Philips TL83 +TP_WBALANCE_FLUO_HEADER;Fluorescent +TP_WBALANCE_GREEN;Farvenuance +TP_WBALANCE_GTI;GTI +TP_WBALANCE_HMI;HMI +TP_WBALANCE_JUDGEIII;JudgeIII +TP_WBALANCE_LABEL;Hvidbalance +TP_WBALANCE_LAMP_HEADER;Lampe +TP_WBALANCE_LED_CRS;CRS SP12 WWMR16 +TP_WBALANCE_LED_HEADER;LED +TP_WBALANCE_LED_LSI;LSI Lumelex 2040 +TP_WBALANCE_METHOD;Metode +TP_WBALANCE_PICKER;Pipette +TP_WBALANCE_SHADE;Skygge +TP_WBALANCE_SIZE;Størrelse: +TP_WBALANCE_SOLUX35;Solux 3500K +TP_WBALANCE_SOLUX41;Solux 4100K +TP_WBALANCE_SOLUX47;Solux 4700K (leverandør) +TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Galleri) +TP_WBALANCE_SPOTWB;Brug pipetten til at vælge hvidbalancen fra et egnet område, f.eks. hvidt/gråt/sort område i forhåndsvisningen. +TP_WBALANCE_TEMPBIAS;Automatisk hvidballance temperatur forskydning +TP_WBALANCE_TEMPBIAS_TOOLTIP;Kan kun bruges med "Metode" valgt til: "Auto"\n Ændrer beregningen af "auto hvidbalance" ved at forskyde den mod\nvarmere eller køligere temperaturer.\nForskydningen er udtrykt som en procentdel af den beregnede temperatur,\nså resultatet er givet ved "BeregnetTemp + BeregnetTemp * Forskydning". +TP_WBALANCE_TEMPERATURE;Temperatur +TP_WBALANCE_TUNGSTEN;Tungsten +TP_WBALANCE_WATER1;UnderVands 1 +TP_WBALANCE_WATER2;UnderVands 2 +TP_WBALANCE_WATER_HEADER;UnderVands +ZOOMPANEL_100;(100%) +ZOOMPANEL_NEWCROPWINDOW;Åbn (nyt) detaljevindue +ZOOMPANEL_ZOOM100;Zoom til 100%\nGenvej: z +ZOOMPANEL_ZOOMFITCROPSCREEN;Tilpas beskæring til skærmen\nGenvej: f +ZOOMPANEL_ZOOMFITSCREEN;Tilpas hele billedet til skærmen\nGenvej: Alt-f +ZOOMPANEL_ZOOMIN;Zoom Ind\nGenvej: + +ZOOMPANEL_ZOOMOUT;Zoom Ud\nGenvej: - + +!!!!!!!!!!!!!!!!!!!!!!!!! +! Untranslated keys follow; remove the ! prefix after an entry is translated. +!!!!!!!!!!!!!!!!!!!!!!!!! + +!CURVEEDITOR_CURVES;Curves +!FILEBROWSER_POPUPINSPECT;Inspect +!GENERAL_DELETE_ALL;Delete all +!GENERAL_EDIT;Edit +!HISTOGRAM_TOOLTIP_CROSSHAIR;Show/Hide indicator crosshair. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_470;--unused-- +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_507;Local Spot center +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_516;Local - Color and light +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_527;Local - Color Inverse +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_542;Local - Vib avoid colorshift +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_591;Local - Avoid color shift +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_607;Local - Color Mask C +!HISTORY_MSG_608;Local - Color Mask L +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_611;Local - Color Mask H +!HISTORY_MSG_612;Local - Color Structure +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_615;Local - Blend color +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_618;Local - Use Color Mask +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_624;Local - Color correction grid +!HISTORY_MSG_625;Local - Color correction strength +!HISTORY_MSG_626;Local - Color correction Method +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_634;Local - radius color +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_650;Local - Color mask chroma +!HISTORY_MSG_651;Local - Color mask gamma +!HISTORY_MSG_652;Local - Color mask slope +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_656;Local - Color soft radius +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_760;Local - Color Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_770;Local - Color Mask contrast curve +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_779;Local - Color Mask local contrast curve +!HISTORY_MSG_780;Local - Color Mask shadows +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_783;Local - Color Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_799;Local - Color RGB ToneCurve +!HISTORY_MSG_800;Local - Color ToneCurve Method +!HISTORY_MSG_801;Local - Color ToneCurve Special +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_803;Local - Color Merge +!HISTORY_MSG_804;Local - Color mask Structure +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_806;Local - Color mask Structure as tool +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_808;Local - Color mask curve H(H) +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_821;Local - color grid background +!HISTORY_MSG_822;Local - color background merge +!HISTORY_MSG_823;Local - color background luminance +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_830;Local - Color gradient strength L +!HISTORY_MSG_831;Local - Color gradient angle +!HISTORY_MSG_832;Local - Color gradient strength C +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_834;Local - Color gradient strength H +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_894;Local - Color Preview dE +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_925;Local - Scope color tools +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_928;Local - Common color mask +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_996;Local - Color recovery threshold +!HISTORY_MSG_997;Local - Color threshold mask low +!HISTORY_MSG_998;Local - Color threshold mask high +!HISTORY_MSG_999;Local - Color decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1070;Local - CIECAM colorfullness +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1107;Local - CIECAM Color method +!HISTORY_MSG_1108;Local - CIECAM Color curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_BLSHAPE;Blur by level +!HISTORY_MSG_BLURCWAV;Blur chroma +!HISTORY_MSG_BLURWAV;Blur luminance +!HISTORY_MSG_BLUWAV;Attenuation response +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation +!HISTORY_MSG_EDGEFFECT;Edge Attenuation response +!HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output +!HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space +!HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input +!HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average +!HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode +!HISTORY_MSG_PROTAB;Protection +!HISTORY_MSG_RANGEAB;Range ab +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge +!HISTORY_MSG_SIGMACOL;Chroma Attenuation response +!HISTORY_MSG_SIGMADIR;Dir Attenuation response +!HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response +!HISTORY_MSG_SIGMATON;Toning Attenuation response +!HISTORY_MSG_SPOT;Spot removal +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. +!HISTORY_MSG_TEMPOUT;CAM02 automatic temperature +!HISTORY_MSG_THRESWAV;Balance threshold +!HISTORY_MSG_TRANS_METHOD;Geometry - Method +!HISTORY_MSG_WAVBALCHROM;Equalizer chrominance +!HISTORY_MSG_WAVBALLUM;Equalizer luminance +!HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVCHROMCO;Chroma coarse +!HISTORY_MSG_WAVCHROMFI;Chroma fine +!HISTORY_MSG_WAVCLARI;Clarity +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVEDGS;Edge stopping +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVLOWTHR;Threshold low contrast +!HISTORY_MSG_WAVMERGEC;Merge C +!HISTORY_MSG_WAVMERGEL;Merge L +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVOFFSET;Offset +!HISTORY_MSG_WAVOLDSH;Old algorithm +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVRADIUS;Radius shadows-highlights +!HISTORY_MSG_WAVSCALE;Scale +!HISTORY_MSG_WAVSHOWMASK;Show wavelet mask +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSIGMA;Attenuation response +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSOFTRAD;Soft radius clarity +!HISTORY_MSG_WAVSOFTRADEND;Soft radius final +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!HISTORY_MSG_WAVUSHAMET;Clarity method +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 +!INSPECTOR_WINDOW_TITLE;Inspector +!MAIN_TAB_LOCALLAB;Local +!MAIN_TAB_LOCALLAB_TOOLTIP;Shortcut: Alt-o +!PARTIALPASTE_LOCALLAB;Local Adjustments +!PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings +!PARTIALPASTE_PREPROCWB;Preprocess White Balance +!PARTIALPASTE_SPOT;Spot removal +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output +!PREFERENCES_INSPECTORWINDOW;Open inspector in own window or fullscreen +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. +!TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. +!TP_COLORAPP_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_GEN;Settings +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. +!TP_COLORAPP_IL41;D41 +!TP_COLORAPP_IL50;D50 +!TP_COLORAPP_IL55;D55 +!TP_COLORAPP_IL60;D60 +!TP_COLORAPP_IL65;D65 +!TP_COLORAPP_IL75;D75 +!TP_COLORAPP_ILA;Incandescent StdA 2856K +!TP_COLORAPP_ILFREE;Free +!TP_COLORAPP_ILLUM;Illuminant +!TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. +!TP_COLORAPP_SURROUNDSRC;Surround +!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. +!TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_CROP_GTCENTEREDSQUARE;Centered square +!TP_DEHAZE_SATURATION;Saturation +!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm +!TP_FILMNEGATIVE_COLORSPACE;Inversion color space: +!TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space +!TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. +!TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space +!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green +!TP_FILMNEGATIVE_OUT_LEVEL;Output level +!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. +!TP_HLREC_HLBLUR;Blur +!TP_ICM_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 +!TP_ICM_REDFRAME;Custom Primaries +!TP_ICM_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 +!TP_ICM_WORKING_TRC_LIN;Linear g=1 +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 +!TP_LENSGEOM_AUTOCROP;Auto-Crop +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ACTIVSPOT;Enable Spot +!TP_LOCALLAB_ADJ;Equalizer Color +!TP_LOCALLAB_AMOUNT;Amount +!TP_LOCALLAB_ARTIF;Shape detection +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOID;Avoid color shift +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALAN;ab-L balance (ΔE) +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALANH;C-H balance (ΔE) +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLCO;Chrominance only +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLINV;Inverse +!TP_LOCALLAB_BLLC;Luminance & Chrominance +!TP_LOCALLAB_BLLO;Luminance only +!TP_LOCALLAB_BLMED;Median +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNOI_EXP;Blur & Noise +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUFR;Blur/Grain & Denoise +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain +!TP_LOCALLAB_BLURCOL;Radius +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURDE;Blur shape detection +!TP_LOCALLAB_BLURLC;Luminance only +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +!TP_LOCALLAB_BUTTON_ADD;Add +!TP_LOCALLAB_BUTTON_DEL;Delete +!TP_LOCALLAB_BUTTON_DUPL;Duplicate +!TP_LOCALLAB_BUTTON_REN;Rename +!TP_LOCALLAB_BUTTON_VIS;Show/Hide +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +!TP_LOCALLAB_CAMMODE;CAM model +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CBDL;Contrast by Detail Levels +!TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. +!TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. +!TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. +!TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels +!TP_LOCALLAB_CENTER_X;Center X +!TP_LOCALLAB_CENTER_Y;Center Y +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMA;Chrominance +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACBDL;Chroma +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASKCOL;Chroma +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_CHRRT;Chroma +!TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIEC;Use Ciecam environment parameters +!TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +!TP_LOCALLAB_CIECOLORFRA;Color +!TP_LOCALLAB_CIECONTFRA;Contrast +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE;Change tool position +!TP_LOCALLAB_CIEMODE_COM;Default +!TP_LOCALLAB_CIEMODE_DR;Dynamic Range +!TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIEMODE_WAV;Wavelet +!TP_LOCALLAB_CIETOOLEXP;Curves +!TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIRCRADIUS;Spot size +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COFR;Color & Light +!TP_LOCALLAB_COLORDE;ΔE preview color - intensity +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +!TP_LOCALLAB_COLORSCOPE;Scope (color tools) +!TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +!TP_LOCALLAB_COLOR_CIE;Color curve +!TP_LOCALLAB_COLOR_TOOLNAME;Color & Light +!TP_LOCALLAB_COL_NAME;Name +!TP_LOCALLAB_COL_VIS;Status +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRAST;Contrast +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CONTTHR;Contrast Threshold +!TP_LOCALLAB_CONTWFRA;Local contrast +!TP_LOCALLAB_CSTHRESHOLD;Wavelet levels +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve +!TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DEHAFRA;Dehaze +!TP_LOCALLAB_DEHAZ;Strength +!TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. +!TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_EXP;Denoise +!TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. +!TP_LOCALLAB_DEPTH;Depth +!TP_LOCALLAB_DETAIL;Local contrast +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILSH;Details +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_DUPLSPOTNAME;Copy +!TP_LOCALLAB_EDGFRA;Edge sharpness +!TP_LOCALLAB_EDGSHOW;Show all tools +!TP_LOCALLAB_ELI;Ellipse +!TP_LOCALLAB_ENABLE_AFTER_MASK;Use Tone Mapping +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EPSBL;Detail +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EV_NVIS;Hide +!TP_LOCALLAB_EV_NVIS_ALL;Hide all +!TP_LOCALLAB_EV_VIS;Show +!TP_LOCALLAB_EV_VIS_ALL;Show all +!TP_LOCALLAB_EXCLUF;Excluding +!TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +!TP_LOCALLAB_EXCLUTYPE;Spot method +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXECLU;Excluding spot +!TP_LOCALLAB_EXFULL;Full image +!TP_LOCALLAB_EXNORM;Normal spot +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA;Chroma compensation +!TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. +!TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust color, lightness, contrast and correct small defects such as red-eye, sensor dust etc. +!TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ +!TP_LOCALLAB_EXPCOMPINV;Exposure compensation +!TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPCURV;Curves +!TP_LOCALLAB_EXPGRAD;Graduated Filter +!TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_EXPTOOL;Exposure Tools +!TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure +!TP_LOCALLAB_FATAMOUNT;Amount +!TP_LOCALLAB_FATANCHOR;Anchor +!TP_LOCALLAB_FATDETAIL;Detail +!TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). +!TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform +!TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform +!TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAM;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMFRA;Tone response curve (TRC) +!TP_LOCALLAB_GAMM;Gamma +!TP_LOCALLAB_GAMMASKCOL;Gamma +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMSH;Gamma +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADANG;Gradient angle +!TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. +!TP_LOCALLAB_GRADFRA;Graduated Filter Mask +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance +!TP_LOCALLAB_GRADSTR;Gradient strength +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRADSTRLUM;Luma gradient strength +!TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +!TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +!TP_LOCALLAB_GRIDONE;Color Toning +!TP_LOCALLAB_GRIDTWO;Direct +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER;Guided filter radius +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. +!TP_LOCALLAB_INVERS;Inverse +!TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_ISOGR;Distribution (ISO) +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLIGHT;Brightness +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSAT;Saturation +!TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABBLURM;Blur Mask +!TP_LOCALLAB_LABEL;Local Adjustments +!TP_LOCALLAB_LABGRID;Color correction grid +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV;Wavelet levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTNESS;Lightness +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LIGHTRETI;Lightness +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_NAME;Add tool to current spot... +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRAST;Local Contrast & Wavelets +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOG;Log Encoding +!TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments +!TP_LOCALLAB_LOG2FRA;Viewing Conditions +!TP_LOCALLAB_LOGAUTO;Automatic +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +!TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. +!TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGEXP;All tools +!TP_LOCALLAB_LOGFRA;Scene Conditions +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode). +!TP_LOCALLAB_LOGLIGHTL;Lightness (J) +!TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration. +!TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART;Overall strength +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LOG_TOOLNAME;Log Encoding +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMADARKEST;Darkest +!TP_LOCALLAB_LUMASK;Background color/luma mask +!TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). +!TP_LOCALLAB_LUMAWHITESEST;Lightest +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASK;Curves +!TP_LOCALLAB_MASK2;Contrast curve +!TP_LOCALLAB_MASKCOM;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDDECAY;Decay strength +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. +!TP_LOCALLAB_MASKRECOTHRES;Recovery threshold +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERCOL;Color +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOR;Color Dodge +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHI;Color Burn +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MODE_EXPERT;Advanced +!TP_LOCALLAB_MODE_NORMAL;Standard +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MRONE;None +!TP_LOCALLAB_MRTHR;Original Image +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NEIGH;Radius +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLDET;Detail recovery +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NLLUM;Strength +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NOISEMETH;Denoise +!TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. +!TP_LOCALLAB_NONENOISE;None +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_OFFS;Offset +!TP_LOCALLAB_OFFSETWAV;Offset +!TP_LOCALLAB_OPACOL;Opacity +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PASTELS2;Vibrance +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_PREVHIDE;Hide additional settings +!TP_LOCALLAB_PREVIEW;Preview ΔE +!TP_LOCALLAB_PREVSHOW;Show additional settings +!TP_LOCALLAB_PROXI;ΔE decay +!TP_LOCALLAB_QUAAGRES;Aggressive +!TP_LOCALLAB_QUACONSER;Conservative +!TP_LOCALLAB_QUALCURV_METHOD;Curve type +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS;Radius +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RECT;Rectangle +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name +!TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot +!TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESID;Residual Image +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RESIDHI;Highlights +!TP_LOCALLAB_RESIDHITHR;Highlights threshold +!TP_LOCALLAB_RESIDSHA;Shadows +!TP_LOCALLAB_RESIDSHATHR;Shadows threshold +!TP_LOCALLAB_RETI;Dehaze & Retinex +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex +!TP_LOCALLAB_REWEI;Reweighting iterates +!TP_LOCALLAB_RGB;RGB Tone Curve +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_ROW_NVIS;Not visible +!TP_LOCALLAB_ROW_VIS;Visible +!TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. +!TP_LOCALLAB_SATUR;Saturation +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSI;Scope +!TP_LOCALLAB_SENSIEXCLU;Scope +!TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +!TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +!TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. +!TP_LOCALLAB_SETTINGS;Settings +!TP_LOCALLAB_SH1;Shadows Highlights +!TP_LOCALLAB_SH2;Equalizer +!TP_LOCALLAB_SHADEX;Shadows +!TP_LOCALLAB_SHADEXCOMP;Shadow compression +!TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHAMASKCOL;Shadows +!TP_LOCALLAB_SHAPETYPE;RT-spot shape +!TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +!TP_LOCALLAB_SHARAMOUNT;Amount +!TP_LOCALLAB_SHARBLUR;Blur radius +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHARITER;Iterations +!TP_LOCALLAB_SHARP;Sharpening +!TP_LOCALLAB_SHARP_TOOLNAME;Sharpening +!TP_LOCALLAB_SHARRADIUS;Radius +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASK;Show mask +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise +!TP_LOCALLAB_SHOWMASKTYP2;Denoise +!TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWREF;Preview ΔE +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMAWAV;Attenuation response +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTM;Soft Light +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SOURCE_ABS;Absolute luminance +!TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_SPOTNAME;New Spot +!TP_LOCALLAB_STD;Standard +!TP_LOCALLAB_STR;Strength +!TP_LOCALLAB_STRBL;Strength +!TP_LOCALLAB_STREN;Compression strength +!TP_LOCALLAB_STRENG;Strength +!TP_LOCALLAB_STRENGR;Strength +!TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). +!TP_LOCALLAB_STRENGTH;Noise +!TP_LOCALLAB_STRGRID;Strength +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_TARGET_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM;Tone Mapping +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSIT;Transition Gradient +!TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY +!TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. +!TP_LOCALLAB_TRANSITVALUE;Transition value +!TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) +!TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WARM;Warm/Cool & Color artifacts +!TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the color temperature of the selected area warmer or cooler.\nIt can also reduce color artifacts in some cases. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAV;Local contrast +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVDEN;Luminance denoise +!TP_LOCALLAB_WAVE;Wavelets +!TP_LOCALLAB_WAVEDG;Local contrast +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK;Local contrast +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. +!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor +!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length +!TP_PERSPECTIVE_CAMERA_FRAME;Correction +!TP_PERSPECTIVE_CAMERA_PITCH;Vertical +!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_CAMERA_YAW;Horizontal +!TP_PERSPECTIVE_CONTROL_LINES;Control lines +!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +!TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. +!TP_PERSPECTIVE_METHOD;Method +!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based +!TP_PERSPECTIVE_METHOD_SIMPLE;Simple +!TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment +!TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +!TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +!TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +!TP_PERSPECTIVE_RECOVERY_FRAME;Recovery +!TP_PREPROCWB_LABEL;Preprocess White Balance +!TP_PREPROCWB_MODE;Mode +!TP_PREPROCWB_MODE_AUTO;Auto +!TP_PREPROCWB_MODE_CAMERA;Camera +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear +!TP_RAW_DCBBILINEAR;DCB+Bilinear +!TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. +!TP_RAW_RCDBILINEAR;RCD+Bilinear +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge +!TP_SPOT_COUNTLABEL;%1 point(s) +!TP_SPOT_DEFAULT_SIZE;Default spot size +!TP_SPOT_ENTRYCHANGED;Point changed +!TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its center then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. +!TP_SPOT_LABEL;Spot Removal +!TP_WAVELET_BALCHROM;Equalizer Color +!TP_WAVELET_BALLUM;Denoise equalizer White-Black +!TP_WAVELET_BL;Blur levels +!TP_WAVELET_BLCURVE;Blur by levels +!TP_WAVELET_BLURFRAME;Blur +!TP_WAVELET_BLUWAV;Attenuation response +!TP_WAVELET_CHROFRAME;Denoise chrominance +!TP_WAVELET_CHROMAFRAME;Chroma +!TP_WAVELET_CHROMCO;Chrominance Coarse +!TP_WAVELET_CHROMFI;Chrominance Fine +!TP_WAVELET_CHRWAV;Blur chroma +!TP_WAVELET_CLA;Clarity +!TP_WAVELET_CLARI;Sharp-mask and Clarity +!TP_WAVELET_COMPEXPERT;Advanced +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. +!TP_WAVELET_COMPNORMAL;Standard +!TP_WAVELET_CONTFRAME;Contrast - Compression +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENOISEHUE;Denoise hue equalizer +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_DIRFRAME;Directional contrast +!TP_WAVELET_EDEFFECT;Attenuation response +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. +!TP_WAVELET_FINCFRAME;Final local contrast +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. +!TP_WAVELET_MERGEC;Merge chroma +!TP_WAVELET_MERGEL;Merge luma +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise +!TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. +!TP_WAVELET_OLDSH;Algorithm using negatives values +!TP_WAVELET_PROTAB;Protection +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_RADIUS;Radius shadows - highlight +!TP_WAVELET_RANGEAB;Range a and b % +!TP_WAVELET_RESBLUR;Blur luminance +!TP_WAVELET_RESBLURC;Blur chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. +!TP_WAVELET_SHA;Sharp mask +!TP_WAVELET_SHFRAME;Shadows/Highlights +!TP_WAVELET_SHOWMASK;Show wavelet 'mask' +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_SIGMA;Attenuation response +!TP_WAVELET_SIGMAFIN;Attenuation response +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_WAVELET_SOFTRAD;Soft radius +!TP_WAVELET_STREND;Strength +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_TMEDGS;Edge stopping +!TP_WAVELET_TMSCALE;Scale +!TP_WAVELET_TONFRAME;Excluded colors +!TP_WAVELET_USH;None +!TP_WAVELET_USHARP;Clarity method +!TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. +!TP_WAVELET_WAVLOWTHR;Low contrast threshold +!TP_WAVELET_WAVOFFSET;Offset +!TP_WBALANCE_AUTOITCGREEN;Temperature correlation +!TP_WBALANCE_AUTOOLD;RGB grey +!TP_WBALANCE_AUTO_HEADER;Automatic +!TP_WBALANCE_STUDLABEL;Correlation factor: %1 +!TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. diff --git a/rtdata/languages/Deutsch b/rtdata/languages/Deutsch index 99835591a..3a2c2999c 100644 --- a/rtdata/languages/Deutsch +++ b/rtdata/languages/Deutsch @@ -84,6 +84,7 @@ #83 06.07.2019 Erweiterung (TooWaBoo) RT 5.6 #84 06.10.2019 Erweiterung (TooWaBoo) RT 5.7 #84 18.07.2019 Erweiterung (TooWaBoo) RT 5.6 +#85 29.07.2022 Erweiterung (marter, mozzihh) RT 5.9 ABOUT_TAB_BUILD;Version ABOUT_TAB_CREDITS;Danksagungen @@ -122,7 +123,7 @@ DONT_SHOW_AGAIN;Meldung nicht mehr anzeigen. DYNPROFILEEDITOR_DELETE;Löschen DYNPROFILEEDITOR_EDIT;Ändern DYNPROFILEEDITOR_EDIT_RULE;Profilregel ändern -DYNPROFILEEDITOR_ENTRY_TOOLTIP;Groß-/Kleinschreibung wird NICHT berücksichtigt.\nFür einen regulären Ausdruck benutzen Sie bitte\n"re:" als Prefix. +DYNPROFILEEDITOR_ENTRY_TOOLTIP;Groß-/Kleinschreibung wird NICHT berücksichtigt.\nFür einen regulären Ausdruck benutzen Sie bitte 're:' als Prefix. DYNPROFILEEDITOR_IMGTYPE_ANY;Alle DYNPROFILEEDITOR_IMGTYPE_HDR;HDR DYNPROFILEEDITOR_IMGTYPE_PS;Pixel-Shift @@ -133,7 +134,7 @@ DYNPROFILEEDITOR_NEW;Neu DYNPROFILEEDITOR_NEW_RULE;Profilregel erstellen DYNPROFILEEDITOR_PROFILE;Profil EDITWINDOW_TITLE;Bildbearbeitung -EDIT_OBJECT_TOOLTIP;Schaltet das Einstellungswerkzeug\nim Vorschaubild ein/aus. +EDIT_OBJECT_TOOLTIP;Schaltet das Einstellungswerkzeug im Vorschaubild ein/aus. EDIT_PIPETTE_TOOLTIP;Um einen Punkt der Kurve hinzuzufügen, halten Sie die Strg-Taste gedrückt und klicken mit der linke Maustaste auf die gewünschte Stelle in der Vorschau.\nUm den Punkt anzupassen, halten Sie die Strg-Taste gedrückt und klicken Sie mit der linken Maustaste auf den entsprechenden Bereich in der Vorschau. Dann lassen Sie die Strg-Taste los (es sei denn, Sie möchten eine Feineinstellung vornehmen) und bewegen die Maus bei gedrückter linker Maustaste nach oben oder unten, um den Punkt auf der Kurve zu bewegen. EXIFFILTER_APERTURE;Blende EXIFFILTER_CAMERA;Kamera @@ -165,11 +166,11 @@ EXPORT_BYPASS_ALL;Alle/Keine auswählen EXPORT_BYPASS_DEFRINGE;Farbsaum entfernen überspringen EXPORT_BYPASS_DIRPYRDENOISE;Rauschreduzierung überspringen EXPORT_BYPASS_DIRPYREQUALIZER;Detailebenenkontrast überspringen -EXPORT_BYPASS_EQUALIZER;Waveletebenen überspringen +EXPORT_BYPASS_EQUALIZER;Wavelet-Ebenen überspringen EXPORT_BYPASS_RAW_CA;CA-Korrektur überspringen EXPORT_BYPASS_RAW_CCSTEPS;Falschfarbenreduzierung überspringen EXPORT_BYPASS_RAW_DCB_ENHANCE;DCB-Verbesserungsstufen überspringen -EXPORT_BYPASS_RAW_DCB_ITERATIONS;DCB-Interationen überspringen +EXPORT_BYPASS_RAW_DCB_ITERATIONS;DCB-Iterationen überspringen EXPORT_BYPASS_RAW_DF;Dunkelbild überspringen EXPORT_BYPASS_RAW_FF;Weißbild überspringen EXPORT_BYPASS_RAW_GREENTHRESH;Grün-Ausgleich überspringen @@ -179,23 +180,23 @@ EXPORT_BYPASS_SHARPENEDGE;Kantenschärfung überspringen EXPORT_BYPASS_SHARPENING;Schärfung überspringen EXPORT_BYPASS_SHARPENMICRO;Mikrokontrast überspringen EXPORT_FASTEXPORTOPTIONS;Schnell-Export - Einstellungen -EXPORT_INSTRUCTIONS;Die Einstellungen zum schnellen Export\nerlauben es, zeit- und ressourcenintensive\nEntwicklungsschritte zu überspringen und dafür\ndie Warteschlangenverarbeitung mit\nschnellen Export-Einstellungen auszuführen.\nDieses Vorgehen wird zur schnelleren\nGenerierung von gering aufgelösten Bildern\nempfohlen, falls es auf die Geschwindigkeit\nankommt oder für ein oder mehrere Bilder\nandere Ausgabegrößen gewünscht werden,\nohne Änderungen an deren gespeicherten\nParameter vornehmen zu müssen. +EXPORT_INSTRUCTIONS;Die Einstellungen zum schnellen Export erlauben es, zeit- und ressourcenintensive Entwicklungsschritte zu überspringen und dafür die Warteschlangenverarbeitung mit schnellen Export-Einstellungen auszuführen.\nDieses Vorgehen wird zur schnelleren Generierung von gering aufgelösten Bildern empfohlen, falls es auf die Geschwindigkeit ankommt oder für ein oder mehrere Bilder andere Ausgabegrößen gewünscht werden, ohne Änderungen an deren gespeicherten Parameter vornehmen zu müssen. EXPORT_MAXHEIGHT;Maximale Höhe: EXPORT_MAXWIDTH;Maximale Breite: EXPORT_PIPELINE;Verarbeitungspipeline -EXPORT_PUTTOQUEUEFAST; Zur Warteschlange “Schneller Export“ hinzufügen +EXPORT_PUTTOQUEUEFAST;Zur Warteschlange 'Schneller Export' hinzufügen EXPORT_RAW_DMETHOD;Demosaikmethode EXPORT_USE_FAST_PIPELINE;Priorität Geschwindigkeit -EXPORT_USE_FAST_PIPELINE_TIP;Wendet alle Bearbeitungsschritte, im Gegensatz\nzu „Standard“, auf das bereits skalierte Bild an.\nDadurch steigt die Verarbeitungsgeschwindigkeit\nauf Kosten der Qualität. -EXPORT_USE_NORMAL_PIPELINE;Standard +EXPORT_USE_FAST_PIPELINE_TOOLTIP;Wendet alle Bearbeitungsschritte, im Gegensatz zu 'Standard', auf das bereits skalierte Bild an.\nDadurch steigt die Verarbeitungsgeschwindigkeit auf Kosten der Qualität. +EXPORT_USE_NORMAL_PIPELINE;Standard (überspringt einige Schritte, Skalieren zuletzt) EXTPROGTARGET_1;RAW EXTPROGTARGET_2;Stapelverarbeitung beendet FILEBROWSER_APPLYPROFILE;Profil anwenden FILEBROWSER_APPLYPROFILE_PARTIAL;Profil selektiv anwenden FILEBROWSER_AUTODARKFRAME;Automatisches Dunkelbild FILEBROWSER_AUTOFLATFIELD;Automatisches Weißbild -FILEBROWSER_BROWSEPATHBUTTONHINT;Klicken Sie hier, um den angegebenen Pfad zu öffnen, den Ordner\nneu zu laden und das Suchkriterium anzuwenden. -FILEBROWSER_BROWSEPATHHINT;Einen Pfad eingeben:\nTaste:\nStrg + o Setzt den Cursor in das Eingabefeld\nEnter Öffnet den Pfad\nEsc Änderungen verwerfen\nUmschalt + Esc Eingabefeld verlassen\n\nSchnellnavigation:\nTaste:\n~ “Home“-Verzeichnis des Benutzers\n! Bilder-Verzeichnis des Benutzers +FILEBROWSER_BROWSEPATHBUTTONHINT;Klicken Sie hier, um den angegebenen Pfad zu öffnen, den Ordner neu zu laden und das Suchkriterium anzuwenden. +FILEBROWSER_BROWSEPATHHINT;Einen Pfad eingeben:\nTaste:\nStrg-o Setzt den Cursor in das Eingabefeld\nEnter Öffnet den Pfad\nEsc Änderungen verwerfen\nUmschalt-Esc Eingabefeld verlassen\n\nSchnellnavigation:\nTaste:\n~ 'Home'-Verzeichnis des Benutzers\n! Bilder-Verzeichnis des Benutzers FILEBROWSER_CACHE;Festplatten-Cache FILEBROWSER_CACHECLEARFROMFULL;Alle zwischengespeicherte Profile löschen FILEBROWSER_CACHECLEARFROMPARTIAL;Alle NICHT zwischengespeicherte Profile löschen @@ -209,13 +210,13 @@ FILEBROWSER_DELETEDIALOG_HEADER;Dateien löschen FILEBROWSER_DELETEDIALOG_SELECTED;Möchten Sie wirklich %1 Datei(en) unwiderruflich löschen? FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Möchten Sie wirklich %1 Datei(en) unwiderruflich löschen, mit allen aus der Stapelverarbeitung resultierenden zugehörigen Ausgabedateien? FILEBROWSER_EMPTYTRASH;Papierkorb leeren -FILEBROWSER_EMPTYTRASHHINT;Alle Dateien im Papierkorb\nunwiderruflich löschen. +FILEBROWSER_EMPTYTRASHHINT;Alle Dateien im Papierkorb\nunwiderruflich löschen. FILEBROWSER_EXTPROGMENU;Öffnen mit FILEBROWSER_FLATFIELD;Weißbild FILEBROWSER_MOVETODARKFDIR;In Dunkelbild-Verzeichnis verschieben FILEBROWSER_MOVETOFLATFIELDDIR;In Weißbild-Verzeichnis verschieben FILEBROWSER_NEW_NAME;Neuer Name: -FILEBROWSER_OPENDEFAULTVIEWER;Windows Standard-Betracher (stapelverarbeitet) +FILEBROWSER_OPENDEFAULTVIEWER;Windows Standard-Betrachter (stapelverarbeitet) FILEBROWSER_PARTIALPASTEPROFILE;Profil selektiv einfügen FILEBROWSER_PASTEPROFILE;Profil einfügen FILEBROWSER_POPUPCANCELJOB;Job abbrechen @@ -228,6 +229,7 @@ FILEBROWSER_POPUPCOLORLABEL4;Markierung: Blau FILEBROWSER_POPUPCOLORLABEL5;Markierung: Violett FILEBROWSER_POPUPCOPYTO;Kopieren nach... FILEBROWSER_POPUPFILEOPERATIONS;Dateioperationen +FILEBROWSER_POPUPINSPECT;Inspektor FILEBROWSER_POPUPMOVEEND;An das Ende der Warteschlange verschieben FILEBROWSER_POPUPMOVEHEAD;An den Anfang der Warteschlange verschieben FILEBROWSER_POPUPMOVETO;Verschieben nach... @@ -244,7 +246,7 @@ FILEBROWSER_POPUPRANK3;Bewertung 3 *** FILEBROWSER_POPUPRANK4;Bewertung 4 **** FILEBROWSER_POPUPRANK5;Bewertung 5 ***** FILEBROWSER_POPUPREMOVE;Unwiderruflich löschen -FILEBROWSER_POPUPREMOVEINCLPROC;Unwiderruflich löschen\n(einschl. aller Dateien der Stabelverarbeitung) +FILEBROWSER_POPUPREMOVEINCLPROC;Unwiderruflich löschen\n(einschl. aller Dateien der Stapelverarbeitung) FILEBROWSER_POPUPRENAME;Umbenennen FILEBROWSER_POPUPSELECTALL;Alle auswählen FILEBROWSER_POPUPTRASH;In den Papierkorb verschieben @@ -252,7 +254,7 @@ FILEBROWSER_POPUPUNRANK;Bewertung entfernen FILEBROWSER_POPUPUNTRASH;Aus dem Papierkorb wiederherstellen FILEBROWSER_QUERYBUTTONHINT;Suchfilter zurücksetzen. FILEBROWSER_QUERYHINT;Nur Dateien anzeigen, deren Namen die angegebene Zeichenkette beinhalten.\n\nTaste:\nStrg + f Setzt den Cursor in das Suchfeld\nEnter Suche starten\nEsc Suchfeld löschen\nUmschalt + Esc Suchfeldfeld verlassen -FILEBROWSER_QUERYLABEL; Suche: +FILEBROWSER_QUERYLABEL;Suche: FILEBROWSER_RANK1_TOOLTIP;Bewertung 1 *\nTaste: Umschalt + 1 FILEBROWSER_RANK2_TOOLTIP;Bewertung 2 **\nTaste: Umschalt + 2 FILEBROWSER_RANK3_TOOLTIP;Bewertung 3 ***\nTaste: Umschalt + 3 @@ -270,9 +272,9 @@ FILEBROWSER_SHOWCOLORLABEL5HINT;Nur violett markierte Bilder anzeigen.\nTaste: < FILEBROWSER_SHOWDIRHINT;Alle Filter zurücksetzen.\nTaste: d FILEBROWSER_SHOWEDITEDHINT;Nur bearbeitete Bilder anzeigen.\nTaste: 7 FILEBROWSER_SHOWEDITEDNOTHINT;Nur unbearbeitete Bilder anzeigen.\nTaste: 6 -FILEBROWSER_SHOWEXIFINFO;Bildinformationen ein-/ausblenden.\n\nIm Multi-Reitermodus:\nTaste: i\nIm Ein-Reitermodus:\nTaste: Alt + i +FILEBROWSER_SHOWEXIFINFO;Bildinformationen ein-/ausblenden.\n\nIm Multi-Reitermodus:\nTaste: i\nIm Ein-Reitermodus:\nTaste: Alt + i FILEBROWSER_SHOWNOTTRASHHINT;Nur Bilder außerhalb des Papierkorbs anzeigen. -FILEBROWSER_SHOWORIGINALHINT;Zeige nur das Originalbild.\n\nWenn mehrere Bilder mit dem gleichen Dateinamen und unterschiedlichen Dateitypen existieren, ist das Originalbild das Bild, welches in der Liste "Dateitypen anzeigen" unter Einstellungen > Dateiverwaltung als erstes gefunden wird. +FILEBROWSER_SHOWORIGINALHINT;Zeige nur das Originalbild.\n\nWenn mehrere Bilder mit dem gleichen Dateinamen und unterschiedlichen Dateitypen existieren, ist das Originalbild das Bild, welches in der Liste 'Dateitypen anzeigen' unter Einstellungen > Dateiverwaltung als erstes gefunden wird. FILEBROWSER_SHOWRANK1HINT;Nur mit 1 Stern bewertete Bilder anzeigen.\nTaste: 1 FILEBROWSER_SHOWRANK2HINT;Nur mit 2 Sternen bewertete Bilder anzeigen.\nTaste: 2 FILEBROWSER_SHOWRANK3HINT;Nur mit 3 Sternen bewertete Bilder anzeigen.\nTaste: 3 @@ -285,14 +287,14 @@ FILEBROWSER_SHOWUNCOLORHINT;Nur unmarkierte Bilder anzeigen.\nTaste: Alt FILEBROWSER_SHOWUNRANKHINT;Nur unbewertete Bilder anzeigen.\nTaste: 0 FILEBROWSER_THUMBSIZE;Miniaturbildgröße FILEBROWSER_UNRANK_TOOLTIP;Bewertung entfernen.\nTaste: Umschalt + 0 -FILEBROWSER_ZOOMINHINT;Miniaturbilder vergrößern.\n\nIm Multi-Reitermodus:\nTaste: +\nIm Ein-Reitermodus:\nTaste: Alt + -FILEBROWSER_ZOOMOUTHINT;Miniaturbilder verkleinern.\n\nIm Multi-Reitermodus:\nTaste: -\nIm Ein-Reitermodus:\nTaste: Alt - +FILEBROWSER_ZOOMINHINT;Miniaturbilder vergrößern.\n\nIm Multi-Reitermodus:\nTaste: +\nIm Ein-Reitermodus:\nTaste: Alt + +FILEBROWSER_ZOOMOUTHINT;Miniaturbilder verkleinern.\n\nIm Multi-Reitermodus:\nTaste: -\nIm Ein-Reitermodus:\nTaste: Alt - FILECHOOSER_FILTER_ANY;Alle Dateien FILECHOOSER_FILTER_COLPROF;Farbprofile FILECHOOSER_FILTER_CURVE;Kurvendateien FILECHOOSER_FILTER_LCP;Objektivkorrekturprofile FILECHOOSER_FILTER_PP;Verarbeitungsprofile -FILECHOOSER_FILTER_SAME;Gleiche Format wie aktuelles Bild +FILECHOOSER_FILTER_SAME;Gleiches Format wie aktuelles Bild FILECHOOSER_FILTER_TIFF;TIFF-Dateien GENERAL_ABOUT;Über GENERAL_AFTER;Nachher @@ -303,11 +305,14 @@ GENERAL_BEFORE;Vorher GENERAL_CANCEL;Abbrechen GENERAL_CLOSE;Schließen GENERAL_CURRENT;Aktuell +GENERAL_DELETE_ALL;Alle löschen GENERAL_DISABLE;Deaktivieren GENERAL_DISABLED;Deaktiviert +GENERAL_EDIT;Editieren GENERAL_ENABLE;Aktivieren GENERAL_ENABLED;Aktiviert GENERAL_FILE;Datei: +GENERAL_HELP;Hilfe GENERAL_LANDSCAPE;Landschaft GENERAL_NA;n/a GENERAL_NO;Nein @@ -321,555 +326,1283 @@ GENERAL_SAVE_AS;Speichern GENERAL_SLIDER;Regler GENERAL_UNCHANGED;(Unverändert) GENERAL_WARNING;Warnung -GIMP_PLUGIN_INFO;Willkommen zum RawTherapee GIMP-Plugin!\nNach den Änderungen bitte das RawTherapee-Fenster schließen.\nDas Bild wird dann automatisch in GIMP importiert. +GIMP_PLUGIN_INFO;Willkommen beim RawTherapee GIMP-Plugin!\nNach den Änderungen bitte das RawTherapee-Fenster schließen.\nDas Bild wird dann automatisch in GIMP importiert. HISTOGRAM_TOOLTIP_B;Blau-Histogramm ein-/ausblenden. HISTOGRAM_TOOLTIP_BAR;RGB-Anzeigeleiste ein-/ausblenden. HISTOGRAM_TOOLTIP_CHRO;Chromatizität-Histogramm ein/ausblenden. +HISTOGRAM_TOOLTIP_CROSSHAIR;Fadenkreuz ein-/ ausblenden HISTOGRAM_TOOLTIP_G;Grün-Histogramm ein-/ausblenden. HISTOGRAM_TOOLTIP_L;CIELab-Luminanz-Histogramm ein-/ausblenden. -HISTOGRAM_TOOLTIP_MODE;Schaltet zwischen linearer, logarithmischer-linearer und\nlogarithmischer-logarithmischer Skalierung um. +HISTOGRAM_TOOLTIP_MODE;Schaltet zwischen linearer, logarithmisch-linearer und\nlogarithmisch-logarithmischer Skalierung um. HISTOGRAM_TOOLTIP_R;Rot-Histogramm ein-/ausblenden. -HISTOGRAM_TOOLTIP_RAW;Zwischen normalen Histogrammen und\nRAW-Histogrammen umschalten. +HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Histogrammoptionen ein-/ ausschalten +HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Helligkeitsbereich anpassen +HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogramm +HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw-Histogramm +HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB-Parade +HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Vektorskop Farbton-Chroma +HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS; Vektorskop Farbton-Sättigung +HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Wellenform HISTORY_CHANGED;Geändert HISTORY_CUSTOMCURVE;Benutzerdefiniert HISTORY_FROMCLIPBOARD;Aus der Zwischenablage HISTORY_LABEL;Historie HISTORY_MSG_1;(Bild geladen) -HISTORY_MSG_2;(Profil geladen) HISTORY_MSG_3;(Profil geändert) HISTORY_MSG_4;(Historie durchsuchen) -HISTORY_MSG_5;(Belichtung) - Helligkeit -HISTORY_MSG_6;(Belichtung) - Kontrast +HISTORY_MSG_5;(Belichtung)\nHelligkeit +HISTORY_MSG_6;(Belichtung)\nKontrast HISTORY_MSG_7;(Belichtung)\nSchwarzwert HISTORY_MSG_8;(Belichtung)\nBelichtungskorrektur HISTORY_MSG_9;(Belichtung)\nLichterkompression HISTORY_MSG_10;(Belichtung)\nSchattenkompression HISTORY_MSG_11;(Belichtung)\nTonwertkurve 1 -HISTORY_MSG_12;(Belichtung) - Auto -HISTORY_MSG_13;(Belichtung) - Clip-Faktor -HISTORY_MSG_14;(L*a*b*) - Helligkeit -HISTORY_MSG_15;(L*a*b*) - Kontrast -HISTORY_MSG_16;- -HISTORY_MSG_17;- -HISTORY_MSG_18;- -HISTORY_MSG_19;(L*a*b*) - L-Kurve -HISTORY_MSG_20;(Schärfung) -HISTORY_MSG_21;(Schärfung) - USM\nRadius -HISTORY_MSG_22;(Schärfung) - USM\nIntensität -HISTORY_MSG_23;(Schärfung) - USM\nSchwelle -HISTORY_MSG_24;(Schärfung) - USM\nNur Kanten schärfen -HISTORY_MSG_25;(Schärfung) - USM\nKantenschärfung\nRadius -HISTORY_MSG_26;(Schärfung) - USM\nKantenschärfung\nKantentoleranz -HISTORY_MSG_27;(Schärfung) - USM\nHalokontrolle -HISTORY_MSG_28;(Schärfung) - USM\nHalokontrolle - Intensität -HISTORY_MSG_29;(Schärfung) - Methode -HISTORY_MSG_30;(Schärfung) - RLD\nRadius -HISTORY_MSG_31;(Schärfung) - RLD\nIntensität -HISTORY_MSG_32;(Schärfung) - RLD\nDämpfung -HISTORY_MSG_33;(Schärfung) - RLD\nIterationen -HISTORY_MSG_34;(Objektivkorrektur)\nProfil - Verzeichnung -HISTORY_MSG_35;(Objektivkorrektur)\nProfil - Vignettierung -HISTORY_MSG_36;(Objektivkorrektur)\nProfil - CA -HISTORY_MSG_37;(Belichtung) - Auto -HISTORY_MSG_38;(Weißabgleich) - Methode -HISTORY_MSG_39;(Weißabgleich)\nFarbtemperatur -HISTORY_MSG_40;(Weißabgleich) - Tönung +HISTORY_MSG_12;(Belichtung)\nAutomatisch +HISTORY_MSG_13;(Belichtung)\nClip-Faktor +HISTORY_MSG_14;(Belichtung - L*a*b*) - Helligkeit +HISTORY_MSG_15;(Belichtung - L*a*b*) - Kontrast +HISTORY_MSG_19;(Belichtung - L*a*b*) - L-Kurve +HISTORY_MSG_20;(Details - Schärfung) +HISTORY_MSG_21;(Details - Schärfung)\nUSM - Radius +HISTORY_MSG_22;(Details - Schärfung)\nUSM - Intensität +HISTORY_MSG_23;(Details - Schärfung)\nUSM - Schwelle +HISTORY_MSG_24;(Details - Schärfung)\nUSM - Nur Kanten schärfen +HISTORY_MSG_25;(Details - Schärfung)\nUSM - Kantenschärfung\nRadius +HISTORY_MSG_26;(Details - Schärfung)\nUSM - Kantenschärfung\nKantentoleranz +HISTORY_MSG_27;(Details - Schärfung)\nUSM - Halokontrolle +HISTORY_MSG_28;(Details - Schärfung)\nUSM - Halokontrolle - Intensität +HISTORY_MSG_29;(Details - Schärfung)\nMethode +HISTORY_MSG_30;(Details - Schärfung)\nRLD - Radius +HISTORY_MSG_31;(Details - Schärfung)\nRLD - Intensität +HISTORY_MSG_32;(Details - Schärfung)\nRLD - Dämpfung +HISTORY_MSG_33;(Details - Schärfung)\nRLD - Iterationen +HISTORY_MSG_34;(Transformieren - Objektivkorrektur)\nProfil - Verzeichnung +HISTORY_MSG_35;(Transformieren - Objektivkorrektur)\nProfil - Vignettierung +HISTORY_MSG_36;(Transformieren - Objektivkorrektur)\nProfil - CA +HISTORY_MSG_37;(Belichtung)\nAutomatisch +HISTORY_MSG_38;(Farbe - Weißabgleich)\nMethode +HISTORY_MSG_39;(Farbe - Weißabgleich)\nFarbtemperatur +HISTORY_MSG_40;(Farbe - Weißabgleich)\nTönung HISTORY_MSG_41;(Belichtung)\nTonwertkurve 1 - Modus HISTORY_MSG_42;(Belichtung)\nTonwertkurve 2 HISTORY_MSG_43;(Belichtung)\nTonwertkurve 2 - Modus -HISTORY_MSG_44;(Luminanz-Rauschfilter)\nRadius -HISTORY_MSG_45;(Luminanz-Rauschfilter)\nKantentoleranz -HISTORY_MSG_46;(Farb-Rauschfilter) -HISTORY_MSG_47;(ICC Lichter aus Matrix\nüberlagern) -HISTORY_MSG_48;(Farbmanagement)\nEingangsfarbprofil\nDCP - Tonwertkurve -HISTORY_MSG_49;(Farbmanagement)\nEingangsfarbprofil\nDCP - Illumination -HISTORY_MSG_50;(Schatten/Lichter) -HISTORY_MSG_51;(Schatten/Lichter)\nLichter -HISTORY_MSG_52;(Schatten/Lichter)\nSchatten -HISTORY_MSG_53;(Schatten/Lichter)\nTonwertbreite Lichter -HISTORY_MSG_54;(Schatten/Lichter)\nTonwertbreite Schatten -HISTORY_MSG_55;(Schatten/Lichter)\nLokaler Kontrast -HISTORY_MSG_56;(Schatten/Lichter)\nRadius +HISTORY_MSG_48;(Farbe - Farbmanagement)\nEingangsfarbprofil\nDCP - Tonwertkurve +HISTORY_MSG_49;(Farbe - Farbmanagement)\nEingangsfarbprofil\nDCP - Illumination +HISTORY_MSG_50;(Belichtung - Schatten/Lichter) +HISTORY_MSG_51;(Belichtung - Schatten/Lichter)\nLichter +HISTORY_MSG_52;(Belichtung - Schatten/Lichter)\nSchatten +HISTORY_MSG_53;(Belichtung - Schatten/Lichter)\nTonwertbreite Lichter +HISTORY_MSG_54;(Belichtung - Schatten/Lichter)\nTonwertbreite Schatten +HISTORY_MSG_56;(Belichtung - Schatten/Lichter)\nRadius HISTORY_MSG_57;(Grobe Drehung) HISTORY_MSG_58;(Horizontal spiegeln) HISTORY_MSG_59;(Vertikal spiegeln) -HISTORY_MSG_60;(Objektivkorrektur)\nDrehen - Winkel -HISTORY_MSG_61;(Objektivkorrektur)\nAuto-Füllen -HISTORY_MSG_62;(Objektivkorrektur)\nVerzeichnung -HISTORY_MSG_63;(Schnappschuss\nausgewählt) -HISTORY_MSG_64;(Ausschnitt) -HISTORY_MSG_65;(Objektivkorrektur)\nFarbsaum entfernen +HISTORY_MSG_60;(Transformieren - Objektivkorrektur)\nDrehen - Winkel +HISTORY_MSG_61;(Transformieren - Objektivkorrektur)\nAuto-Füllen +HISTORY_MSG_62;(Transformieren - Objektivkorrektur)\nVerzeichnung +HISTORY_MSG_63;Schnappschuss ausgewählt +HISTORY_MSG_64;(Transformieren - Ausschnitt) +HISTORY_MSG_65;(Transformieren - Objektivkorrektur)\nFarbsaum entfernen HISTORY_MSG_66;(Belichtung)\nLichter rekonstruieren -HISTORY_MSG_67;(Belichtung)\nLichterkompression\nUmfang HISTORY_MSG_68;(Belichtung)\nLichterkompression\nMethode -HISTORY_MSG_69;(Farbmanagement)\nArbeitsfarbraum -HISTORY_MSG_70;(Farbmanagement)\nAusgabeprofil -HISTORY_MSG_71;(Farbmanagement)\nEingangsfarbprofil -HISTORY_MSG_72;(Objektivkorrektur)\nVignettierung - Intensität -HISTORY_MSG_73;(RGB-Kanalmixer) -HISTORY_MSG_74;(Skalieren) - Maßstab -HISTORY_MSG_75;(Skalieren) - Methode +HISTORY_MSG_69;(Farbe - Farbmanagement)\nArbeitsfarbraum +HISTORY_MSG_70;(Farbe - Farbmanagement)\nAusgabeprofil +HISTORY_MSG_71;(Farbe - Farbmanagement)\nEingangsfarbprofil +HISTORY_MSG_72;(Transformieren - Objektivkorrektur)\nVignettierung - Intensität +HISTORY_MSG_73;(Farbe - RGB-Kanalmixer) +HISTORY_MSG_74;(Transformieren - Skalieren)\nMaßstab +HISTORY_MSG_75;(Transformieren - Skalieren)\nMethode HISTORY_MSG_76;(Exif Metadaten) HISTORY_MSG_77;(IPTC Metadaten) -HISTORY_MSG_78;- -HISTORY_MSG_79;(Skalieren) - Breite -HISTORY_MSG_80;(Skalieren) - Höhe -HISTORY_MSG_81;(Skalieren) +HISTORY_MSG_79;(Transformieren - Skalieren)\nBreite +HISTORY_MSG_80;(Transformieren - Skalieren)\nHöhe +HISTORY_MSG_81;(Transformieren - Skalieren) HISTORY_MSG_82;(Profil geändert) -HISTORY_MSG_83;(Schatten/Lichter)\nSchärfemaske -HISTORY_MSG_84;(Objektivkorrektur)\nPerspektive -HISTORY_MSG_85;(Objektivkorrektur)\nProfil -HISTORY_MSG_86;(RGB-Kurven)\nHelligkeitsmodus -HISTORY_MSG_87;(Impulsrauschred.) -HISTORY_MSG_88;(Impulsrauschred.)\nSchwelle -HISTORY_MSG_89;(Rauschreduzierung) -HISTORY_MSG_90;(Rauschreduzierung)\nLuminanz -HISTORY_MSG_91;(Rauschreduzierung)\nChrominanz (Master) -HISTORY_MSG_92;(Rauschreduzierung)\nChrominanz - Gamma -HISTORY_MSG_93;(Detailebenenkontrast)\nWert -HISTORY_MSG_94;(Detailebenenkontrast) -HISTORY_MSG_95;(L*a*b*) - Chromatizität -HISTORY_MSG_96;(L*a*b*) - a-Kurve -HISTORY_MSG_97;(L*a*b*) - b-Kurve -HISTORY_MSG_98;(Sensor-Matrix)\nFarbinterpolation\nMethode -HISTORY_MSG_99;(Vorverarbeitung)\nHot-Pixel-Filter -HISTORY_MSG_100;(Belichtung) - Sättigung -HISTORY_MSG_101;(HSV) - Farbton (H) -HISTORY_MSG_102;(HSV) - Sättigung (S) -HISTORY_MSG_103;(HSV) - Dynamik (V) -HISTORY_MSG_104;(HSV) -HISTORY_MSG_105;(Farbsaum entfernen) -HISTORY_MSG_106;(Farbsaum entfernen)\nRadius -HISTORY_MSG_107;(Farbsaum entfernen)\nSchwelle +HISTORY_MSG_84;(Transformieren - Objektivkorrektur)\nPerspektive +HISTORY_MSG_85;(Transformieren - Objektivkorrektur)\nProfil +HISTORY_MSG_86;(Farbe - RGB-Kurven)\nHelligkeitsmodus +HISTORY_MSG_87;(Details - Impulsrauschred.) +HISTORY_MSG_88;(Details - Impulsrauschred.)\nSchwelle +HISTORY_MSG_89;(Details - Rauschreduzierung) +HISTORY_MSG_90;(Details - Rauschreduzierung)\nLuminanz +HISTORY_MSG_91;(Details - Rauschreduzierung)\nChrominanz (Master) +HISTORY_MSG_92;(Details - Rauschreduzierung)\nGamma +HISTORY_MSG_93;(Details - Detailebenenkontrast)\nWert +HISTORY_MSG_94;(Details - Detailebenenkontrast) +HISTORY_MSG_95;(Belichtung - L*a*b*)\nChromatizität +HISTORY_MSG_96;(Belichtung - L*a*b*)\na-Kurve +HISTORY_MSG_97;(Belichtung - L*a*b*)\nb-Kurve +HISTORY_MSG_98;(RAW - Sensor-Matrix)\nFarbinterpolation\nMethode +HISTORY_MSG_99;(RAW - Vorverarbeitung)\nHot-Pixel-Filter +HISTORY_MSG_100;(Belichtung)\nSättigung +HISTORY_MSG_101;(Farbe - HSV)\nFarbton (H) +HISTORY_MSG_102;(Farbe - HSV)\nSättigung (S) +HISTORY_MSG_103;(Farbe - HSV)\nDynamik (V) +HISTORY_MSG_104;(Farbe - HSV) +HISTORY_MSG_105;(Details - Farbsaum entfernen) +HISTORY_MSG_106;(Details - Farbsaum entfernen)\nRadius +HISTORY_MSG_107;(Details - Farbsaum entfernen)\nSchwelle HISTORY_MSG_108;(Belichtung)\nLichterkompression\nSchwelle -HISTORY_MSG_109;(Skalieren) - Begrenzungsrahmen -HISTORY_MSG_110;(Skalieren) - Anwenden auf: -HISTORY_MSG_111;(L*a*b*) - Farbverschiebung\nvermeiden -HISTORY_MSG_112;--unused-- -HISTORY_MSG_113;(L*a*b*) - Hautfarbtöne\nschützen -HISTORY_MSG_114;(Sensor-Matrix)\nFarbinterpolation\nDCB-Iterationen -HISTORY_MSG_115;(Sensor-Matrix)\nFarbinterpolation\nFalschfarbenreduzierung -HISTORY_MSG_116;(Sensor-Matrix)\nFarbinterpolation\nDCB-Verbesserung -HISTORY_MSG_117;(Sensor-Matrix)\nChromatische Aberration\nRot -HISTORY_MSG_118;(Sensor-Matrix)\nChromatische Aberration\nBlau -HISTORY_MSG_119;(Sensor-Matrix)\nVorverarbeitung\nZeilenrauschfilter -HISTORY_MSG_120;(Sensor-Matrix)\nVorverarbeitung\nGrün-Ausgleich -HISTORY_MSG_121;(Sensor-Matrix)\nChromatische Aberration\nAutomatische Korrektur -HISTORY_MSG_122;(Dunkelbild)\nAutomatische Auswahl -HISTORY_MSG_123;(Dunkelbild) - Datei -HISTORY_MSG_124;(Weißpunkt)\nKorrekturfaktor -HISTORY_MSG_126;(Weißbild) - Datei -HISTORY_MSG_127;(Weißbild)\nAutomatische Auswahl -HISTORY_MSG_128;(Weißbild)\nUnschärferadius -HISTORY_MSG_129;(Weißbild) - Unschärfetyp +HISTORY_MSG_109;(Transformieren - Skalieren)\nBegrenzungsrahmen +HISTORY_MSG_110;(Transformieren - Skalieren)\nAnwenden auf: +HISTORY_MSG_111;(Belichtung - L*a*b*)\nFarbverschiebung vermeiden +HISTORY_MSG_112;--nicht verwendet-- +HISTORY_MSG_113;(Belichtung - L*a*b*)\nHautfarbtöne schützen +HISTORY_MSG_114;(RAW - Sensor-Matrix)\nFarbinterpolation\nDCB-Iterationen +HISTORY_MSG_115;(RAW - Sensor-Matrix)\nFarbinterpolation\nFalschfarbenreduzierung +HISTORY_MSG_116;(RAW - Sensor-Matrix)\nFarbinterpolation\nDCB-Verbesserung +HISTORY_MSG_117;(RAW - Sensor-Matrix)\nChromatische Aberration\nRot/Grün +HISTORY_MSG_118;(RAW - Sensor-Matrix)\nChromatische Aberration\nBlau/Gelb +HISTORY_MSG_119;(RAW - Sensor-Matrix)\nVorverarbeitung\nZeilenrauschfilter +HISTORY_MSG_120;(RAW - Sensor-Matrix)\nVorverarbeitung\nGrün-Ausgleich +HISTORY_MSG_121;(RAW - Sensor-Matrix)\nChromatische Aberration\nAutomatische Korrektur +HISTORY_MSG_122;(RAW - Dunkelbild)\nAutomatische Auswahl +HISTORY_MSG_123;(RAW - Dunkelbild)\nDatei +HISTORY_MSG_124;(RAW - Weißpunkt)\nKorrekturfaktor +HISTORY_MSG_126;(RAW - Weißbild)\nDatei +HISTORY_MSG_127;(RAW - Weißbild)\nAutomatische Auswahl +HISTORY_MSG_128;(RAW - Weißbild)\nUnschärferadius +HISTORY_MSG_129;(RAW - Weißbild)\nUnschärfetyp HISTORY_MSG_130;(Autom. Verzeichnung) -HISTORY_MSG_131;(Rauschreduzierung)\nLuminanz -HISTORY_MSG_132;(Rauschreduzierung)\nChrominanz -HISTORY_MSG_133;(Farbmanagement)\nAusgabeprofil\nAusgabe-Gamma -HISTORY_MSG_134;(Farbmanagement)\nAusgabeprofil\nGamma -HISTORY_MSG_135;(Farbmanagement)\nAusgabeprofil\nFreies Gamma -HISTORY_MSG_136;(Farbmanagement)\nAusgabeprofil\nGradient (linear) -HISTORY_MSG_137;(Sensor-Matrix)\nSchwarzpunkt - Grün 1 -HISTORY_MSG_138;(Sensor-Matrix)\nSchwarzpunkt - Rot -HISTORY_MSG_139;(Sensor-Matrix)\nSchwarzpunkt - Blau -HISTORY_MSG_140;(Sensor-Matrix)\nSchwarzpunkt - Grün 2 -HISTORY_MSG_141;(Sensor-Matrix)\nSchwarzpunkt\nGrün-Werte angleichen -HISTORY_MSG_142;(Kantenschärfung)\nIterationen -HISTORY_MSG_143;(Kantenschärfung)\nIntensität -HISTORY_MSG_144;(Mikrokontrast)\nIntensität -HISTORY_MSG_145;(Mikrokontrast)\nGleichmäßigkeit -HISTORY_MSG_146;(Kantenschärfung) -HISTORY_MSG_147;(Kantenschärfung)\nNur Luminanz -HISTORY_MSG_148;(Mikrokontrast) -HISTORY_MSG_149;(Mikrokontrast)\n3×3-Matrix -HISTORY_MSG_150;(Artefakt-/Rauschred.\nnach Farbinterpolation) -HISTORY_MSG_151;(Dynamik) -HISTORY_MSG_152;(Dynamik) - Pastelltöne -HISTORY_MSG_153;(Dynamik)\nGesättigte Töne -HISTORY_MSG_154;(Dynamik)\nHautfarbtöne schützen -HISTORY_MSG_155;(Dynamik)\nFarbverschiebungen\nvermeiden -HISTORY_MSG_156;(Dynamik)\nPastell und gesättigte\nTöne koppeln -HISTORY_MSG_157;(Dynamik)\nPastell/gesättigte Töne\nSchwelle -HISTORY_MSG_158;(Tonwertkorrektur)\nIntensität -HISTORY_MSG_159;(Tonwertkorrektur)\nKantenschutz -HISTORY_MSG_160;(Tonwertkorrektur)\nFaktor -HISTORY_MSG_161;(Tonwertkorrektur)\nIterationen -HISTORY_MSG_162;(Tonwertkorrektur) -HISTORY_MSG_163;(RGB-Kurven) - Rot -HISTORY_MSG_164;(RGB-Kurven) - Grün -HISTORY_MSG_165;(RGB-Kurven) - Blau -HISTORY_MSG_166;(Belichtung) - Zurücksetzen -HISTORY_MSG_167;(Sensor-Matrix)\nFarbinterpolation\nMethode -HISTORY_MSG_168;(L*a*b*) - CC-Kurve -HISTORY_MSG_169;(L*a*b*) - CH-Kurve -HISTORY_MSG_170;(Dynamik) - HH-Kurve -HISTORY_MSG_171;(L*a*b*) - LC-Kurve -HISTORY_MSG_172;(L*a*b*) - LC-Kurve\nbeschränken -HISTORY_MSG_173;(Rauschreduzierung)\nLuminanzdetails -HISTORY_MSG_174;(CIECAM02) -HISTORY_MSG_175;(CIECAM02) - Szene\nCAT02-Adaptation -HISTORY_MSG_176;(CIECAM02)\nBetrachtungsbed.\nUmgebung -HISTORY_MSG_177;(CIECAM02) - Szene\nLuminanz -HISTORY_MSG_178;(CIECAM02)\nBetrachtungsbed.\nLuminanz -HISTORY_MSG_179;(CIECAM02) - Szene\nWeißpunktmodell -HISTORY_MSG_180;(CIECAM02) - Helligkeit (J) -HISTORY_MSG_181;(CIECAM02) - Buntheit (H) -HISTORY_MSG_182;(CIECAM02) - Szene\nCAT02-Automatisch -HISTORY_MSG_183;(CIECAM02) - Kontrast (J) -HISTORY_MSG_184;(CIECAM02) - Szene\nDunkle Umgebung -HISTORY_MSG_185;(CIECAM02)\nBetrachtungsbed.\nGamutkontrolle -HISTORY_MSG_186;(CIECAM02) - Algorithmus -HISTORY_MSG_187;(CIECAM02) - Hautfarbtöne\nschützen -HISTORY_MSG_188;(CIECAM02) - Helligkeit (Q) -HISTORY_MSG_189;(CIECAM02) - Kontrast (Q) -HISTORY_MSG_190;(CIECAM02) - Sättigung (S) -HISTORY_MSG_191;(CIECAM02) - Farbigkeit (M) -HISTORY_MSG_192;(CIECAM02) - Farbton (H) -HISTORY_MSG_193;(CIECAM02)\nTonwertkurve 1 -HISTORY_MSG_194;(CIECAM02)\nTonwertkurve 2 -HISTORY_MSG_195;(CIECAM02)\nTonwertkurve 1 - Modus -HISTORY_MSG_196;(CIECAM02)\nTonwertkurve 2 - Modus -HISTORY_MSG_197;(CIECAM02) - Farbkurve -HISTORY_MSG_198;(CIECAM02) - Farbkurve\nModus -HISTORY_MSG_199;(CIECAM02) - Ausgabe-\nHistogramm anzeigen -HISTORY_MSG_200;(CIECAM02)\nDynamikkompression -HISTORY_MSG_201;(Rauschreduzierung)\nDelta-Chrominanz\nRot / Grün -HISTORY_MSG_202;(Rauschreduzierung)\nDelta-Chrominanz\nBlau / Gelb -HISTORY_MSG_203;(Rauschreduzierung)\nFarbraum -HISTORY_MSG_204;(Sensor-Matrix)\nFarbinterpolation\nLMMSE-Verbesserung -HISTORY_MSG_205;(CIECAM02)\nBetrachtungsbed.\nHot / Bad-Pixelfilter -HISTORY_MSG_206;(CIECAM02) - Szene\nAuto-Luminanz -HISTORY_MSG_207;(Farbsaum entfernen)\nFarbtonkurve -HISTORY_MSG_208;(Weißabgleich)\nBlau / Rot-Korrektur -HISTORY_MSG_210;(Grauverlaufsfilter)\nRotationswinkel -HISTORY_MSG_211;(Grauverlaufsfilter) -HISTORY_MSG_212;(Vignettierungsfilter)\nIntensität -HISTORY_MSG_213;(Vignettierungsfilter) -HISTORY_MSG_214;(Schwarz/Weiß) -HISTORY_MSG_215;(Schwarz/Weiß) - Rot -HISTORY_MSG_216;(Schwarz/Weiß) - Grün -HISTORY_MSG_217;(Schwarz/Weiß) - Blau -HISTORY_MSG_218;(Schwarz/Weiß)\nGamma - Rot -HISTORY_MSG_219;(Schwarz/Weiß)\nGamma - Grün -HISTORY_MSG_220;(Schwarz/Weiß)\nGamma - Blau -HISTORY_MSG_221;(Schwarz/Weiß)\nFarbfilter -HISTORY_MSG_222;(Schwarz/Weiß)\nVorgaben -HISTORY_MSG_223;(Schwarz/Weiß) - Orange -HISTORY_MSG_224;(Schwarz/Weiß) - Gelb -HISTORY_MSG_225;(Schwarz/Weiß) - Cyan -HISTORY_MSG_226;(Schwarz/Weiß) - Magenta -HISTORY_MSG_227;(Schwarz/Weiß) - Violett -HISTORY_MSG_228;(Schwarz/Weiß)\nLuminanzequalizer -HISTORY_MSG_229;(Schwarz/Weiß)\nLuminanzequalizer -HISTORY_MSG_230;(Schwarz/Weiß) - Modus -HISTORY_MSG_231;(Schwarz/Weiß)\n“Bevor“-Kurve -HISTORY_MSG_232;(Schwarz/Weiß)\n“Bevor“-Kurventyp -HISTORY_MSG_233;(Schwarz/Weiß)\n“Danach“-Kurve -HISTORY_MSG_234;(Schwarz/Weiß)\n“Danach“-Kurventyp -HISTORY_MSG_235;(Schwarz/Weiß)\nAuto-Kanalmixer -HISTORY_MSG_236;--unused-- -HISTORY_MSG_237;(Schwarz/Weiß) - Mixer -HISTORY_MSG_238;(Grauverlaufsfilter)\nBereich -HISTORY_MSG_239;(Grauverlaufsfilter)\nIntensität -HISTORY_MSG_240;(Grauverlaufsfilter)\nRotationsachsen -HISTORY_MSG_241;(Vignettierungsfilter)\nBereich -HISTORY_MSG_242;(Vignettierungsfilter)\nForm -HISTORY_MSG_243;(Objektivkorrektur)\nVignettierung - Radius -HISTORY_MSG_244;(Objektivkorrektur)\nVignettierung - Faktor -HISTORY_MSG_245;(Objektivkorrektur)\nVignettierung - Zentrum -HISTORY_MSG_246;(L*a*b*) - CL-Kurve -HISTORY_MSG_247;(L*a*b*) - LH-Kurve -HISTORY_MSG_248;(L*a*b*) - HH-Kurve -HISTORY_MSG_249;(Detailebenenkontrast)\nSchwelle -HISTORY_MSG_250;(Rauschreduzierung)\nVerbesserung -HISTORY_MSG_251;(Schwarz/Weiß)\nAlgorithmus -HISTORY_MSG_252;(Detailebenenkontrast)\nHautfarbtöne schützen -HISTORY_MSG_253;(Detailebenenkontrast)\nArtefakte reduzieren -HISTORY_MSG_254;(Detailebenenkontrast)\nHautfarbton -HISTORY_MSG_255;(Rauschreduzierung)\nMedianfilter -HISTORY_MSG_256;(Rauschreduzierung)\nMedianfilter - Mediantyp -HISTORY_MSG_257;(Farbanpassungen) -HISTORY_MSG_258;(Farbanpassungen)\nFarbkurve -HISTORY_MSG_259;(Farbanpassungen)\nDeckkraftkurve -HISTORY_MSG_260;(Farbanpassungen)\na*[b*]-Transparenz -HISTORY_MSG_261;(Farbanpassungen)\nMethode -HISTORY_MSG_262;(Farbanpassungen)\nb*-Transparenz -HISTORY_MSG_263;(Farbanpassungen)\nSchatten - Blau / Rot -HISTORY_MSG_264;(Farbanpassungen)\nSchatten - Cyan / Grün -HISTORY_MSG_265;(Farbanpassungen)\nSchatten - Gelb / Blau -HISTORY_MSG_266;(Farbanpassungen)\nMitten - Blau / Rot -HISTORY_MSG_267;(Farbanpassungen)\nMitten - Cyan / Grün -HISTORY_MSG_268;(Farbanpassungen)\nMitten - Gelb / Blau -HISTORY_MSG_269;(Farbanpassungen)\nLichter - Blau / Rot -HISTORY_MSG_270;(Farbanpassungen)\nLichter - Cyan / Grün -HISTORY_MSG_271;(Farbanpassungen)\nLichter - Gelb / Blau -HISTORY_MSG_272;(Farbanpassungen)\nFarbausgleich -HISTORY_MSG_273;(Farbanpassungen)\nFarbausgleich\nRegler zurücksetzen -HISTORY_MSG_274;(Farbanpassungen)\nSättigung Schatten -HISTORY_MSG_275;(Farbanpassungen)\nSättigung Lichter -HISTORY_MSG_276;(Farbanpassungen)\nDeckkraft -HISTORY_MSG_277;--unused-- -HISTORY_MSG_278;(Farbanpassungen)\nLuminanz schützen -HISTORY_MSG_279;(Farbanpassungen)\nSchatten -HISTORY_MSG_280;(Farbanpassungen)\nLichter -HISTORY_MSG_281;(Farbanpassungen)\nSättigung schützen\nIntensität -HISTORY_MSG_282;(Farbanpassungen)\nSättigung schützen\nSchwelle -HISTORY_MSG_283;(Farbanpassungen)\nIntensität -HISTORY_MSG_284;(Farbanpassungen)\nSättigung schützen\nAutomatisch -HISTORY_MSG_285;(Rauschreduzierung)\nMedianfilter - Methode -HISTORY_MSG_286;(Rauschreduzierung)\nMediantyp -HISTORY_MSG_287;(Rauschreduzierung)\nMedianfilter - Iterationen -HISTORY_MSG_288;(Weißbild)\nKontrolle zu heller Bereiche -HISTORY_MSG_289;(Weißbild)\nAuto-Kontrolle zu\nheller Bereiche -HISTORY_MSG_290;(Sensor-Matrix)\nSchwarzpunkt - Rot -HISTORY_MSG_291;(Sensor-Matrix)\nSchwarzpunkt - Grün -HISTORY_MSG_292;(Sensor-Matrix)\nSchwarzpunkt - Blau -HISTORY_MSG_293;(Filmsimulation) -HISTORY_MSG_294;(Filmsimulation)\nIntensität -HISTORY_MSG_295;(Filmsimulation) - Film -HISTORY_MSG_296;(Rauschreduzierung)\nLuminanzkurve -HISTORY_MSG_297;(Rauschreduzierung)\nModus -HISTORY_MSG_298;(Vorverarbeitung)\nDead-Pixel-Filter -HISTORY_MSG_299;(Rauschreduzierung)\nChrominanzkurve -HISTORY_MSG_300;- -HISTORY_MSG_301;(Rauschreduzierung)\nLuminanzkontrolle -HISTORY_MSG_302;(Rauschreduzierung)\nChrominanz - Methode -HISTORY_MSG_303;(Rauschreduzierung)\nChrominanz - Methode -HISTORY_MSG_304;(Wavelet)\nKontrastebenen -HISTORY_MSG_305;(Wavelet) -HISTORY_MSG_306;(Wavelet) - Einstellungen\nVerarbeitungsebene -HISTORY_MSG_307;(Wavelet) - Einstellungen\nVerarbeitung -HISTORY_MSG_308;(Wavelet) - Einstellungen\nVerarbeitungsrichtung -HISTORY_MSG_309;(Wavelet)\nKantenschärfung\nDetails -HISTORY_MSG_310;(Wavelet) - Restbild\nHimmelsfarbtöne\nschützen -HISTORY_MSG_311;(Wavelet) - Einstellungen\nAnzahl der Ebenen -HISTORY_MSG_312;(Wavelet) - Restbild\nSchatten Schwelle -HISTORY_MSG_313;(Wavelet) - Farbe\nEbenengrenze -HISTORY_MSG_314;(Wavelet) - Gamut\nArtefakte reduzieren -HISTORY_MSG_315;(Wavelet) - Restbild\nKontrast -HISTORY_MSG_316;(Wavelet) - Gamut\nHautfarbtöne schützen -HISTORY_MSG_317;(Wavelet) - Gamut\nHautfarbton -HISTORY_MSG_318;(Wavelet) - Kontrast\nLichterebenen -HISTORY_MSG_319;(Wavelet) - Kontrast\nLichter-Luminanzbereich -HISTORY_MSG_320;(Wavelet) - Kontrast\nSchatten-Luminanzbereich -HISTORY_MSG_321;(Wavelet) - Kontrast\nSchattenebenen -HISTORY_MSG_322;(Wavelet) - Gamut\nFarbverschiebungen\nvermeiden -HISTORY_MSG_323;(Wavelet)\nKantenschärfung\nLokale Kontrastkurve -HISTORY_MSG_324;(Wavelet) - Farbe\nPastellfarben -HISTORY_MSG_325;(Wavelet) - Farbe\nGesättigte Farben -HISTORY_MSG_326;(Wavelet) - Farbe\nChrominanzethode -HISTORY_MSG_327;(Wavelet) - Kontrast\nAnwenden auf -HISTORY_MSG_328;(Wavelet) - Farbe\nFarb-Kontrast-\nVerknüpfung -HISTORY_MSG_329;(Wavelet) - Tönung\nDeckkraft Rot / Grün -HISTORY_MSG_330;(Wavelet) - Tönung\nDeckkraft Blau / Gelb -HISTORY_MSG_331;(Wavelet)\nKontrastebenen\nExtra -HISTORY_MSG_332;(Wavelet)- -Einstellungen\nKachelgröße -HISTORY_MSG_333;(Wavelet) - Restbild\nSchatten -HISTORY_MSG_334;(Wavelet) - Restbild\nBuntheit -HISTORY_MSG_335;(Wavelet) - Restbild\nLichter -HISTORY_MSG_336;(Wavelet) - Restbild\nLichter Schwelle -HISTORY_MSG_337;(Wavelet) - Restbild\nHimmelsfarbton -HISTORY_MSG_338;(Wavelet)\nKantenschärfung\nRadius -HISTORY_MSG_339;(Wavelet)\nKantenschärfung\nIntensität -HISTORY_MSG_340;(Wavelet) - Einstellungen\nIntensität -HISTORY_MSG_341;(Wavelet) - Einstellungen\nKantenperformance -HISTORY_MSG_342;(Wavelet)\nKantenschärfung\nErste Ebene -HISTORY_MSG_343;(Wavelet) - Farbe\nFarbebenen -HISTORY_MSG_344;(Wavelet)\nFarbmethode\nRegler/Kurve -HISTORY_MSG_345;(Wavelet)\nKantenschärfung\nLokaler Kontrast -HISTORY_MSG_346;(Wavelet)\nKantenschärfung\nLokale Kontrastmethode -HISTORY_MSG_347;(Wavelet)\nRauschreduzierung\nEbene 1 -HISTORY_MSG_348;(Wavelet)\nRauschreduzierung\nEbene 2 -HISTORY_MSG_349;(Wavelet)\nRauschreduzierung\nEbene 3 -HISTORY_MSG_350;(Wavelet)\nKantenschärfung\nKantenerkennung -HISTORY_MSG_351;(Wavelet) - Restbild\nHH-Kurve -HISTORY_MSG_352;(Wavelet) - Einstellungen\nHintergrund -HISTORY_MSG_353;(Wavelet)\nKantenschärfung\nGradientenempfindlichkeit -HISTORY_MSG_354;(Wavelet)\nKantenschärfung\nErweiterter Algorithmus -HISTORY_MSG_355;(Wavelet)\nKantenschärfung\nSchwelle niedrig -HISTORY_MSG_356;(Wavelet)\nKantenschärfung\nSchwelle hoch -HISTORY_MSG_357;(Wavelet)\nRauschreduzierung\nSchärfung verknüpfen -HISTORY_MSG_358;(Wavelet) - Gamut\nKontrastkurve -HISTORY_MSG_359;(Vorverarbeitung)\nHot / Dead-Pixel-Filter\nSchwelle -HISTORY_MSG_360;(Tonwertkorrektur)\nGamma -HISTORY_MSG_361;(Wavelet) - Endretusche\nFarbausgleich -HISTORY_MSG_362;(Wavelet) - Restbild\nKompression -HISTORY_MSG_363;(Wavelet) - Restbild\nKompression - Intensität -HISTORY_MSG_364;(Wavelet) - Endretusche\nKontrastausgleich -HISTORY_MSG_365;(Wavelet) - Endretusche\nDelta-Kontrastausgleich -HISTORY_MSG_366;(Wavelet) - Restbild\nGammakompression -HISTORY_MSG_367;(Wavelet) - Endretusche\n"Danach"-Kontrastkurve -HISTORY_MSG_368;(Wavelet) - Endretusche\nKontrastausgleichskurve -HISTORY_MSG_369;(Wavelet) - Endretusche\nKontrastmethode -HISTORY_MSG_370;(Wavelet) - Endretusche\nLokale Kontrastkurve -HISTORY_MSG_371;(Skalieren) - Schärfen -HISTORY_MSG_372;(Skalieren) - Schärfen\nUSM - Radius -HISTORY_MSG_373;(Skalieren) - Schärfen\nUSM - Intensität -HISTORY_MSG_374;(Skalieren) - Schärfen\nUSM - Schwelle -HISTORY_MSG_375;(Skalieren) - Schärfen\nUSM - Nur Kanten\nschärfen -HISTORY_MSG_376;(Skalieren) - Schärfen\nUSM - Kantenschärfung\nRadius -HISTORY_MSG_377;(Skalieren) - Schärfen\nUSM - Kantentoleranz -HISTORY_MSG_378;(Skalieren) - Schärfen\nUSM - Halokontrolle -HISTORY_MSG_379;(Skalieren) - Schärfen\nUSM - Halokontrolle\nIntensität -HISTORY_MSG_380;(Skalieren) - Schärfen\nMethode -HISTORY_MSG_381;(Skalieren) - Schärfen\nRLD - Radius -HISTORY_MSG_382;(Skalieren) - Schärfen\nRLD - Intensität -HISTORY_MSG_383;(Skalieren) - Schärfen\nRLD - Dämpfung -HISTORY_MSG_384;(Skalieren) - Schärfen\nRLD - Iterationen -HISTORY_MSG_385;(Wavelet) - Restbild\nFarbausgleich -HISTORY_MSG_386;(Wavelet) - Restbild\nFarbausgleich\nLichter Grün / Cyan -HISTORY_MSG_387;(Wavelet) - Restbild\nFarbausgleich\nLichter Blau / Gelb -HISTORY_MSG_388;(Wavelet) - Restbild\nFarbausgleich\nMitten Grün / Cyan -HISTORY_MSG_389;(Wavelet) - Restbild\nFarbausgleich\nMitten Blau / Gelb -HISTORY_MSG_390;(Wavelet) - Restbild\nFarbausgleich\nSchatten Grün / Cyan -HISTORY_MSG_391;(Wavelet) - Restbild\nFarbausgleich\nSchatten Blau / Gelb -HISTORY_MSG_392;(Wavelet) - Restbild\nFarbausgleich -HISTORY_MSG_393;(Farbmanagement)\nEingangsfarbprofil\nDCP - Look-Tabelle -HISTORY_MSG_394;(Farbmanagement)\nEingangsfarbprofil\nDCP - Basisbelichtung -HISTORY_MSG_395;(Farbmanagement)\nEingangsfarbprofil\nDCP - Basistabelle -HISTORY_MSG_396;(Wavelet) - Kontrast -HISTORY_MSG_397;(Wavelet) - Farbe -HISTORY_MSG_398;(Wavelet)\nKantenschärfung -HISTORY_MSG_399;(Wavelet) - Restbild -HISTORY_MSG_400;(Wavelet) - Endretusche -HISTORY_MSG_401;(Wavelet) - Tönung -HISTORY_MSG_402;(Wavelet)\nRauschreduzierung -HISTORY_MSG_403;(Wavelet)\nKantenschärfung\nKantenempfindlichkeit -HISTORY_MSG_404;(Wavelet)\nKantenschärfung\nGrundverstärkung -HISTORY_MSG_405;(Wavelet)\nRauschreduzierung\nEbene 4 -HISTORY_MSG_406;(Wavelet)\nKantenschärfung\nBenachbarte Pixel -HISTORY_MSG_407;(Retinex) - Methode -HISTORY_MSG_408;(Retinex) - Radius -HISTORY_MSG_409;(Retinex) - Einstellungen\nKontrast -HISTORY_MSG_410;(Retinex) - Einstellungen\nVerstärkung und Ausgleich\nAusgleich -HISTORY_MSG_411;(Retinex) - Intensität -HISTORY_MSG_412;(Retinex) - Einstellungen\nDynamikkompression\nGaußscher Gradient -HISTORY_MSG_413;(Retinex) - Kontrast -HISTORY_MSG_414;(Retinex) - Einstellungen\nKorrekturen\nLuminanz(L) - L*a*b* -HISTORY_MSG_415;(Retinex) - Einstellungen\nTransmission\nTransmissionskurve -HISTORY_MSG_416;(Retinex) -HISTORY_MSG_417;(Retinex) - Einstellungen\nTransmission\nMedianfilter -HISTORY_MSG_418;(Retinex) - Einstellungen\nTransmission\nSchwelle -HISTORY_MSG_419;(Retinex) - Farbraum -HISTORY_MSG_420;(Retinex) - Einstellungen\nHSL-Kurve -HISTORY_MSG_421;(Retinex) - Einstellungen\nKorrekturen\nGammakorrektur -HISTORY_MSG_422;(Retinex) - Einstellungen\nGamma -HISTORY_MSG_423;(Retinex) - Einstellungen\nGammasteigung -HISTORY_MSG_424;(Retinex) - Einstellungen\nHL-Schwelle -HISTORY_MSG_425;(Retinex) - Einstellungen\nBasis-Logarithmus -HISTORY_MSG_426;(Retinex) - Einstellungen\nKorrekturen - Farbton (H) -HISTORY_MSG_427;(Farbmanagement)\nAusgabeprofil\nRendering-Intent -HISTORY_MSG_428;Monitor-Rendering-Intent -HISTORY_MSG_429;(Retinex) - Einstellungen\nDynamikkompression\nIterationen -HISTORY_MSG_430;(Retinex) - Einstellungen\nDynamikkompression\nTransmission Gradient -HISTORY_MSG_431;(Retinex) - Einstellungen\nDynamikkompression\nIntensität Gradient -HISTORY_MSG_432;(Retinex) - Maske\nLichter -HISTORY_MSG_433;(Retinex) - Maske\nTonwertbreite Lichter -HISTORY_MSG_434;(Retinex) - Maske\nSchatten -HISTORY_MSG_435;(Retinex) - Maske\nTonwertbreite Schatten -HISTORY_MSG_436;(Retinex) - Maske\nRadius -HISTORY_MSG_437;(Retinex) - Maske\nMethode -HISTORY_MSG_438;(Retinex) - Maske\nKurve -HISTORY_MSG_439;(Retinex) - Vorschau -HISTORY_MSG_440;(Detailebenenkontrast)\nProzessreihenfolge -HISTORY_MSG_441;(Retinex) - Einstellungen\nVerstärkung und Ausgleich\nTransmissionsverstärkung -HISTORY_MSG_442;(Retinex) - Einstellungen\nTransmission - Skalierung -HISTORY_MSG_443;(Farbmanagement)\nAusgabeprofil\nSchwarzpunkt-Kompensation -HISTORY_MSG_444;(Weißabgleich)\nAWB-Temperatur-Korrektur -HISTORY_MSG_445;(Sensor-Matrix)\nFarbinterpolation\nUnterbild -HISTORY_MSG_449;(Sensor-Matrix)\nFarbinterpolation - PS\nISO-Anpassung -HISTORY_MSG_452;(Sensor-Matrix)\nFarbinterpolation - PS\nBewegungsmaske\nanzeigen -HISTORY_MSG_453;(Sensor-Matrix)\nFarbinterpolation - PS\nNur Maske anzeigen -HISTORY_MSG_457;(Sensor-Matrix)\nFarbinterpolation - PS\nBewegung im Rot/Blau-\nKanal erkennen -HISTORY_MSG_462;(Sensor-Matrix)\nFarbinterpolation - PS\nBewegung im Grün-\nKanal erkennen -HISTORY_MSG_464;(Sensor-Matrix)\nFarbinterpolation - PS\nUnschärfebewegungsmaske -HISTORY_MSG_465;(Sensor-Matrix)\nFarbinterpolation - PS\nUnschärferadius -HISTORY_MSG_468;(Sensor-Matrix)\nFarbinterpolation - PS\nLücken in der Bewegungs-\nmaske erkennen -HISTORY_MSG_469;(Sensor-Matrix)\nFarbinterpolation - PS\nMedian -HISTORY_MSG_471;(Sensor-Matrix)\nFarbinterpolation - PS\nBewegungskorrektur -HISTORY_MSG_472;(Sensor-Matrix)\nFarbinterpolation - PS\nWeicher Übergang -HISTORY_MSG_473;(Sensor-Matrix)\nFarbinterpolation - PS\nLMMSE für Bewegungs-\nteile verwenden -HISTORY_MSG_474;(Sensor-Matrix)\nFarbinterpolation - PS\nFrame-Helligkeit angleichen -HISTORY_MSG_475;(Sensor-Matrix)\nFarbinterpolation - PS\nAusgleich pro Kanal -HISTORY_MSG_476;(CIECAM02)\nBetrachtungsbed.\nFarbtemperatur -HISTORY_MSG_477;(CIECAM02)\nBetrachtungsbed.\nTönung -HISTORY_MSG_478;(CIECAM02)\nBetrachtungsbed.\nYb% (Ø Luminanz) -HISTORY_MSG_479;(CIECAM02)\nBetrachtungsbed.\nCAT02 Adaptation -HISTORY_MSG_480;(CIECAM02)\nBetrachtungsbed.\nAuto CAT02 Adaptation -HISTORY_MSG_481;(CIECAM02) - Szene\nFarbtemperatur -HISTORY_MSG_482;(CIECAM02) - Szene\nTönung -HISTORY_MSG_483;(CIECAM02) - Szene\nYb% (Ø Luminanz) -HISTORY_MSG_484;(CIECAM02) - Szene\nAuto Yb% -HISTORY_MSG_485;(Objektivkorrektur)\nProfil -HISTORY_MSG_486;(Objektivkorrektur)\nProfil - Kamera -HISTORY_MSG_487;(Objektivkorrektur)\nProfil - Objektiv -HISTORY_MSG_488;(Dynamikkompression) -HISTORY_MSG_489;(Dynamikkompression)\nDetails -HISTORY_MSG_490;(Dynamikkompression)\nIntensität -HISTORY_MSG_491;(Weißabgleich) -HISTORY_MSG_492;(RGB-Kurven) -HISTORY_MSG_493;(L*a*b*) -HISTORY_MSG_494;(Eingangsschärfung) -HISTORY_MSG_CLAMPOOG;(Belichtung) - Farben\nauf Farbraum beschränken -HISTORY_MSG_COLORTONING_LABGRID_VALUE;(Farbanpassungen)\nL*a*b*-Farbkorrektur -HISTORY_MSG_COLORTONING_LABREGION_AB;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich -HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Kanal -HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - C-Maske -HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - H-Maske -HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Helligkeit -HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - L-Maske -HISTORY_MSG_COLORTONING_LABREGION_LIST;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Liste -HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Maskenunschärfe -HISTORY_MSG_COLORTONING_LABREGION_OFFSET;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Versatz -HISTORY_MSG_COLORTONING_LABREGION_POWER;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Verstärkung -HISTORY_MSG_COLORTONING_LABREGION_SATURATION;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Sättigung -HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Maske anzeigen -HISTORY_MSG_COLORTONING_LABREGION_SLOPE;(Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Steigung -HISTORY_MSG_DEHAZE_DEPTH;(Bildschleier entfernen)\nTiefe -HISTORY_MSG_DEHAZE_ENABLED;(Bildschleier entfernen) -HISTORY_MSG_DEHAZE_LUMINANCE;(Bildschleier entfernen)\nNur Luminanz -HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;(Bildschleier entfernen)\nMaske anzeigen -HISTORY_MSG_DEHAZE_STRENGTH;(Bildschleier entfernen)\nIntensität +HISTORY_MSG_137;(RAW - Sensor-Matrix)\nSchwarzpunkt - Grün 1 +HISTORY_MSG_138;(RAW - Sensor-Matrix)\nSchwarzpunkt - Rot +HISTORY_MSG_139;(RAW - Sensor-Matrix)\nSchwarzpunkt - Blau +HISTORY_MSG_140;(RAW - Sensor-Matrix)\nSchwarzpunkt - Grün 2 +HISTORY_MSG_141;(RAW - Sensor-Matrix)\nSchwarzpunkt\nGrün-Werte angleichen +HISTORY_MSG_142;(Details - Kantenschärfung)\nIterationen +HISTORY_MSG_143;(Details - Kantenschärfung)\nIntensität +HISTORY_MSG_144;(Details - Mikrokontrast)\nIntensität +HISTORY_MSG_145;(Details - Mikrokontrast)\nGleichmäßigkeit +HISTORY_MSG_146;(Details - Kantenschärfung) +HISTORY_MSG_147;(Details - Kantenschärfung)\nNur Luminanz +HISTORY_MSG_148;(Details - Mikrokontrast) +HISTORY_MSG_149;(Details - Mikrokontrast)\n3×3-Matrix +HISTORY_MSG_150;Artefakt-/Rauschred.\nNach Farbinterpolation +HISTORY_MSG_151;(Farbe - Dynamik) +HISTORY_MSG_152;(Farbe - Dynamik)\nPastelltöne +HISTORY_MSG_153;(Farbe - Dynamik)\nGesättigte Töne +HISTORY_MSG_154;(Farbe - Dynamik)\nHautfarbtöne schützen +HISTORY_MSG_155;(Farbe - Dynamik)\nFarbverschiebungen vermeiden +HISTORY_MSG_156;(Farbe - Dynamik)\nPastell- und gesättigte Töne koppeln +HISTORY_MSG_157;(Farbe - Dynamik)\nSchwelle: Pastell- / gesättigte Töne +HISTORY_MSG_158;(Belichtung - Tonwertkorrektur)\nIntensität +HISTORY_MSG_159;(Belichtung - Tonwertkorrektur)\nKantenschutz +HISTORY_MSG_160;(Belichtung - Tonwertkorrektur)\nFaktor +HISTORY_MSG_161;(Belichtung - Tonwertkorrektur)\nIterationen +HISTORY_MSG_162;(Belichtung - Tonwertkorrektur) +HISTORY_MSG_163;(Farbe - RGB-Kurven)\nRot +HISTORY_MSG_164;(Farbe - RGB-Kurven)\nGrün +HISTORY_MSG_165;(Farbe - RGB-Kurven)\nBlau +HISTORY_MSG_166;(Belichtung)\nZurücksetzen +HISTORY_MSG_167;(RAW - Sensor-Matrix)\nFarbinterpolation\nMethode +HISTORY_MSG_168;(Belichtung - L*a*b*)\nCC-Kurve +HISTORY_MSG_169;(Belichtung - L*a*b*)\nCH-Kurve +HISTORY_MSG_170;(Farbe - Dynamik)\nHH-Kurve +HISTORY_MSG_171;(Belichtung - L*a*b*)\nLC-Kurve +HISTORY_MSG_172;(Belichtung - L*a*b*)\nLC-Kurve beschränken +HISTORY_MSG_173;(Details - Rauschreduzierung)\nLuminanzdetails +HISTORY_MSG_174;(Erweitert - Farberscheinung und Beleuchtung) +HISTORY_MSG_175;(Erweitert - FuB)\nSzene\nAdaptation +HISTORY_MSG_176;(Erweitert - FuB)\nBetrachtungsbed.\nUmgebung +HISTORY_MSG_177;(Erweitert - FuB)\nSzene\nabsolute Leuchtdichte +HISTORY_MSG_178;(Erweitert - FuB)\nBetrachtungsbed.\nabsolute Leuchtdichte +HISTORY_MSG_179;(Erweitert - FuB)\nSzene\nWeißpunktmodell +HISTORY_MSG_180;(Erweitert - FuB)\nBildanpassungen\nHelligkeit (J) +HISTORY_MSG_181;(Erweitert - FuB)\nBildanpassungen\nBuntheit (C) +HISTORY_MSG_182;(Erweitert - FuB)\nSzene\nAutomatisch +HISTORY_MSG_183;(Erweitert - FuB)\nBildanpassungen\nKontrast (J) +HISTORY_MSG_184;(Erweitert - FuB)\nSzene\nUmgebung +HISTORY_MSG_185;(Erweitert - FuB)\nBetrachtungsbed.\nGamutkontrolle +HISTORY_MSG_186;(Erweitert - FuB)\nBildanpassungen\nAlgorithmus +HISTORY_MSG_187;(Erweitert - FuB)\nBildanpassungen\nHautfarbtöne schützen +HISTORY_MSG_188;(Erweitert - FuB)\nBildanpassungen\nHelligkeit (Q) +HISTORY_MSG_189;(Erweitert - FuB)\nBildanpassungen\nKontrast (Q) +HISTORY_MSG_190;(Erweitert - FuB)\nBildanpassungen\nSättigung (S) +HISTORY_MSG_191;(Erweitert - FuB)\nBildanpassungen\nFarbigkeit (M) +HISTORY_MSG_192;(Erweitert - FuB)\nBildanpassungen\nFarbton (H) +HISTORY_MSG_193;(Erweitert - FuB)\nBildanpassungen\nTonwertkurve 1 +HISTORY_MSG_194;(Erweitert - FuB)\nBildanpassungen\nTonwertkurve 2 +HISTORY_MSG_195;(Erweitert - FuB)\nBildanpassungen\nTonwertkurve 1 - Modus +HISTORY_MSG_196;(Erweitert - FuB)\nBildanpassungen\nTonwertkurve 2 - Modus +HISTORY_MSG_197;(Erweitert - FuB)\nBildanpassungen\nFarbkurve +HISTORY_MSG_198;(Erweitert - FuB)\nBildanpassungen\nFarbkurve\nModus +HISTORY_MSG_199;(Erweitert - FuB)\nBildanpassungen\nFarberscheinung für Histogramm-Ausgabe verwenden +HISTORY_MSG_200;(Erweitert - FuB)\nBildanpassungen\nFarberscheinung für Tonwertkorrektur anwenden +HISTORY_MSG_201;(Details - Rauschreduzierung)\nDelta-Chrominanz\nRot/Grün +HISTORY_MSG_202;(Details - Rauschreduzierung)\nDelta-Chrominanz\nBlau/Gelb +HISTORY_MSG_203;(Details - Rauschreduzierung)\nFarbraum +HISTORY_MSG_204;(RAW - Sensor-Matrix)\nFarbinterpolation\nLMMSE-Verbesserung +HISTORY_MSG_205;(Erweitert - FuB)\nHot-/Bad-Pixelfilter +HISTORY_MSG_206;(Erweitert - FuB)\nSzene\nAuto absolute Luminanz +HISTORY_MSG_207;(Details - Farbsaum entfernen)\nFarbtonkurve +HISTORY_MSG_208;(Farbe - Weißabgleich)\nBlau/Rot-Korrektur +HISTORY_MSG_210;(Belichtung - Grauverlaufsfilter)\nRotationswinkel +HISTORY_MSG_211;(Belichtung - Grauverlaufsfilter) +HISTORY_MSG_212;(Belichtung - Vignettierungsfilter)\nIntensität +HISTORY_MSG_213;(Belichtung - Vignettierungsfilter) +HISTORY_MSG_214;(Farbe - Schwarz/Weiß) +HISTORY_MSG_215;(Farbe - Schwarz/Weiß)\nKanalmixer -Rot +HISTORY_MSG_216;(Farbe - Schwarz/Weiß)\nKanalmixer - Grün +HISTORY_MSG_217;(Farbe - Schwarz/Weiß)\nKanalmixer - Blau +HISTORY_MSG_218;(Farbe - Schwarz/Weiß)\nGamma - Rot +HISTORY_MSG_219;(Farbe - Schwarz/Weiß)\nGamma - Grün +HISTORY_MSG_220;(Farbe - Schwarz/Weiß)\nGamma - Blau +HISTORY_MSG_221;(Farbe - Schwarz/Weiß)\nFarbfilter +HISTORY_MSG_222;(Farbe - Schwarz/Weiß)\nVoreinstellung +HISTORY_MSG_223;(Farbe - Schwarz/Weiß)\nKanalmixer - Orange +HISTORY_MSG_224;(Farbe - Schwarz/Weiß)\nKanalmixer - Gelb +HISTORY_MSG_225;(Farbe - Schwarz/Weiß)\nKanalmixer - Cyan +HISTORY_MSG_226;(Farbe - Schwarz/Weiß)\nKanalmixer - Magenta +HISTORY_MSG_227;(Farbe - Schwarz/Weiß)\nKanalmixer - Violett +HISTORY_MSG_228;(Farbe - Schwarz/Weiß)\nLuminanz-Equalizer +HISTORY_MSG_229;(Farbe - Schwarz/Weiß)\nLuminanz-Equalizer +HISTORY_MSG_230;(Farbe - Schwarz/Weiß)\nMethode +HISTORY_MSG_231;(Farbe - Schwarz/Weiß)\n'Bevor'-Kurve +HISTORY_MSG_232;(Farbe - Schwarz/Weiß)\n'Bevor'-Kurventyp +HISTORY_MSG_233;(Farbe - Schwarz/Weiß)\n'Danach'-Kurve +HISTORY_MSG_234;(Farbe - Schwarz/Weiß)\n'Danach'-Kurventyp +HISTORY_MSG_235;(Farbe - Schwarz/Weiß)\nKanalmixer Automatisch +HISTORY_MSG_236;--nicht verwendet-- +HISTORY_MSG_237;(Farbe - Schwarz/Weiß)\nKanalmixer +HISTORY_MSG_238;(Belichtung - Grauverlaufsfilter)\nBereich +HISTORY_MSG_239;(Belichtung - Grauverlaufsfilter)\nIntensität +HISTORY_MSG_240;(Belichtung - Grauverlaufsfilter)\nRotationsachsen +HISTORY_MSG_241;(Belichtung - Vignettierungsfilter)\nBereich +HISTORY_MSG_242;(Belichtung - Vignettierungsfilter)\nForm +HISTORY_MSG_243;(Transformieren - Objektivkorrektur)\nVignettierung - Radius +HISTORY_MSG_244;(Transformieren - Objektivkorrektur)\nVignettierung - Faktor +HISTORY_MSG_245;(Transformieren - Objektivkorrektur)\nVignettierung - Zentrum +HISTORY_MSG_246;(Belichtung - L*a*b*)\nCL-Kurve +HISTORY_MSG_247;(Belichtung - L*a*b*)\nLH-Kurve +HISTORY_MSG_248;(Belichtung - L*a*b*)\nHH-Kurve +HISTORY_MSG_249;(Details - Detailebenenkontrast)\nSchwelle +HISTORY_MSG_251;(Farbe - Schwarz/Weiß)\nAlgorithmus +HISTORY_MSG_252;(Details - Detailebenenkontrast)\nHautfarbtöne schützen +HISTORY_MSG_253;(Details - Detailebenenkontrast)\nArtefakte reduzieren +HISTORY_MSG_254;(Details - Detailebenenkontrast)\nHautfarbton +HISTORY_MSG_255;(Details - Rauschreduzierung)\nMedianfilter +HISTORY_MSG_256;(Details - Rauschreduzierung)\nMedianfilter - Mediantyp +HISTORY_MSG_257;(Farbe - Farbanpassungen) +HISTORY_MSG_258;(Farbe - Farbanpassungen)\nFarbkurve +HISTORY_MSG_259;(Farbe - Farbanpassungen)\nDeckkraftkurve +HISTORY_MSG_260;(Farbe - Farbanpassungen)\na*[b*]-Transparenz +HISTORY_MSG_261;(Farbe - Farbanpassungen)\nMethode +HISTORY_MSG_262;(Farbe - Farbanpassungen)\nb*-Transparenz +HISTORY_MSG_263;(Farbe - Farbanpassungen)\nSchatten - Blau/Rot +HISTORY_MSG_264;(Farbe - Farbanpassungen)\nSchatten - Cyan/Grün +HISTORY_MSG_265;(Farbe - Farbanpassungen)\nSchatten - Gelb/Blau +HISTORY_MSG_266;(Farbe - Farbanpassungen)\nMitten - Blau / Rot +HISTORY_MSG_267;(Farbe - Farbanpassungen)\nMitten - Cyan/Grün +HISTORY_MSG_268;(Farbe - Farbanpassungen)\nMitten - Gelb/Blau +HISTORY_MSG_269;(Farbe - Farbanpassungen)\nLichter - Blau/Rot +HISTORY_MSG_270;(Farbe - Farbanpassungen)\nLichter - Cyan/Grün +HISTORY_MSG_271;(Farbe - Farbanpassungen)\nLichter - Gelb/Blau +HISTORY_MSG_272;(Farbe - Farbanpassungen)\nFarbausgleich +HISTORY_MSG_273;(Farbe - Farbanpassungen)\nFarbausgleich\nRegler zurücksetzen +HISTORY_MSG_276;(Farbe - Farbanpassungen)\nDeckkraft +HISTORY_MSG_277;--nicht verwendet-- +HISTORY_MSG_278;(Farbe - Farbanpassungen)\nLuminanz schützen +HISTORY_MSG_279;(Farbe - Farbanpassungen)\nSchatten +HISTORY_MSG_280;(Farbe - Farbanpassungen)\nLichter +HISTORY_MSG_281;(Farbe - Farbanpassungen)\nSättigung schützen\nIntensität +HISTORY_MSG_282;(Farbe - Farbanpassungen)\nSättigung schützen\nSchwelle +HISTORY_MSG_283;(Farbe - Farbanpassungen)\nIntensität +HISTORY_MSG_284;(Farbe - Farbanpassungen)\nSättigung schützen\nAutomatisch +HISTORY_MSG_285;(Details - Rauschreduzierung)\nMedianfilter - Methode +HISTORY_MSG_286;(Details - Rauschreduzierung)\nMediantyp +HISTORY_MSG_287;(Details - Rauschreduzierung)\nMedianfilter - Iterationen +HISTORY_MSG_288;(RAW - Weißbild)\nKontrolle zu heller Bereiche +HISTORY_MSG_289;(RAW - Weißbild)\nAuto-Kontrolle zu heller Bereiche +HISTORY_MSG_290;(RAW - Sensor-Matrix)\nSchwarzpunkt - Rot +HISTORY_MSG_291;(RAW - Sensor-Matrix)\nSchwarzpunkt - Grün +HISTORY_MSG_292;(RAW - Sensor-Matrix)\nSchwarzpunkt - Blau +HISTORY_MSG_293;(Farbe - Filmsimulation) +HISTORY_MSG_294;(Farbe - Filmsimulation)\nIntensität +HISTORY_MSG_295;(Farbe - Filmsimulation) - Film +HISTORY_MSG_296;(Details - Rauschreduzierung)\nLuminanzkurve +HISTORY_MSG_297;(Details - Rauschreduzierung)\nModus +HISTORY_MSG_298;(RAW - Vorverarbeitung)\nDead-Pixel-Filter +HISTORY_MSG_299;(Details - Rauschreduzierung)\nChrominanzkurve +HISTORY_MSG_301;(Details - Rauschreduzierung)\nLuminanzkontrolle +HISTORY_MSG_302;(Details - Rauschreduzierung)\nChrominanz - Methode +HISTORY_MSG_303;(Details - Rauschreduzierung)\nChrominanz - Methode +HISTORY_MSG_304;(Erweitert - Wavelet)\nKontrastebenen +HISTORY_MSG_305;(Erweitert - Wavelet) +HISTORY_MSG_306;(Erweitert - Wavelet)\nEinstellungen\nVerarbeitungsebene +HISTORY_MSG_307;(Erweitert - Wavelet)\nEinstellungen\nVerarbeitung +HISTORY_MSG_308;(Erweitert - Wavelet)\nEinstellungen\nVerarbeitungsrichtung +HISTORY_MSG_309;(Erweitert - Wavelet)\nKantenschärfung\nDetails +HISTORY_MSG_310;(Erweitert - Wavelet)\nRestbild - Chroma\nHimmelsfarbtöne schützen +HISTORY_MSG_311;(Erweitert - Wavelet)\nEinstellungen\nAnzahl der Ebenen +HISTORY_MSG_312;(Erweitert - Wavelet)\nRestbild - Schatten/Lichter\nSchwelle Schatten +HISTORY_MSG_313;(Erweitert - Wavelet)\nFarbe\nEbenengrenze +HISTORY_MSG_314;(Erweitert - Wavelet)\nGamut\nArtefakte reduzieren +HISTORY_MSG_315;(Erweitert - Wavelet)\nRestbild - Kompression\nKontrast +HISTORY_MSG_316;(Erweitert - Wavelet)\nGamut\nHautfarbtöne schützen +HISTORY_MSG_317;(Erweitert - Wavelet)\nGamut\nHautfarbton +HISTORY_MSG_318;(Erweitert - Wavelet)\nKontrast\nLichterebenen +HISTORY_MSG_319;(Erweitert - Wavelet)\nKontrast\nLichter-Luminanzbereich +HISTORY_MSG_320;(Erweitert - Wavelet)\nKontrast\nSchatten-Luminanzbereich +HISTORY_MSG_321;(Erweitert - Wavelet)\nKontrast\nSchattenebenen +HISTORY_MSG_322;(Erweitert - Wavelet)\nGamut\nFarbverschiebungen vermeiden +HISTORY_MSG_323;(Erweitert - Wavelet)\nKantenschärfung\nLokale Kontrastkurve +HISTORY_MSG_324;(Erweitert - Wavelet)\nFarbe\nPastellfarben +HISTORY_MSG_325;(Erweitert - Wavelet)\nFarbe\nGesättigte Farben +HISTORY_MSG_326;(Erweitert - Wavelet)\nFarbe\nChrominanzmethode +HISTORY_MSG_327;(Erweitert - Wavelet)\nKontrast\nAnwenden auf +HISTORY_MSG_328;(Erweitert - Wavelet)\nFarbe\nFarb-Kontrast-\nVerknüpfung +HISTORY_MSG_329;(Erweitert - Wavelet)\nTönung\nDeckkraft Rot/Grün +HISTORY_MSG_330;(Erweitert - Wavelet)\nTönung\nDeckkraft Blau/Gelb +HISTORY_MSG_331;(Erweitert - Wavelet)\nKontrastebenen +HISTORY_MSG_332;(Erweitert - Wavelet)\nEinstellungen\nKachelgröße +HISTORY_MSG_333;(Erweitert - Wavelet)\nRestbild - Schatten/Lichter\nSchatten +HISTORY_MSG_334;(Erweitert - Wavelet)\nRestbild - Chroma\nBuntheit +HISTORY_MSG_335;(Erweitert - Wavelet)\nRestbild - Schatten/Lichter\nLichter +HISTORY_MSG_336;(Erweitert - Wavelet)\nRestbild - Schatten/Lichter\nSchwelle Lichter +HISTORY_MSG_337;(Erweitert - Wavelet)\nRestbild - Chroma\nHimmelsfarbton +HISTORY_MSG_338;(Erweitert - Wavelet)\nKantenschärfung\nRadius +HISTORY_MSG_339;(Erweitert - Wavelet)\nKantenschärfung\nIntensität +HISTORY_MSG_340;(Erweitert - Wavelet)\nEinstellungen\nIntensität +HISTORY_MSG_341;(Erweitert - Wavelet)\nEinstellungen\nKantenperformance +HISTORY_MSG_342;(Erweitert - Wavelet)\nKantenschärfung\nErste Ebene +HISTORY_MSG_343;(Erweitert - Wavelet)\nFarbe\nFarbebenen +HISTORY_MSG_344;(Erweitert - Wavelet)\nFarbmethode\nRegler/Kurve +HISTORY_MSG_345;(Erweitert - Wavelet)\nKantenschärfung\nLokaler Kontrast +HISTORY_MSG_346;(Erweitert - Wavelet)\nKantenschärfung\nLokale Kontrastmethode +HISTORY_MSG_347;(Erweitert - Wavelet)\nRauschreduzierung\nEbene 1 +HISTORY_MSG_348;(Erweitert - Wavelet)\nRauschreduzierung\nEbene 2 +HISTORY_MSG_349;(Erweitert - Wavelet)\nRauschreduzierung\nEbene 3 +HISTORY_MSG_350;(Erweitert - Wavelet)\nKantenschärfung\nKantenerkennung +HISTORY_MSG_351;(Erweitert - Wavelet)\nRestbild\nHH-Kurve +HISTORY_MSG_352;(Erweitert - Wavelet)\nEinstellungen\nHintergrund +HISTORY_MSG_353;(Erweitert - Wavelet)\nKantenschärfung\nVerlaufsempfindlichkeit +HISTORY_MSG_354;(Erweitert - Wavelet)\nKantenschärfung\nErweiterter Algorithmus +HISTORY_MSG_355;(Erweitert - Wavelet)\nKantenschärfung\nSchwelle niedrig +HISTORY_MSG_356;(Erweitert - Wavelet)\nKantenschärfung\nSchwelle hoch +HISTORY_MSG_357;(Erweitert - Wavelet)\nRauschreduzierung\nMit K-Schärfe verbinden +HISTORY_MSG_358;(Erweitert - Wavelet)\nGamut\nKontrastkurve +HISTORY_MSG_359;(RAW - Vorverarbeitung)\nHot-/Dead-Pixel-Filter\nSchwelle +HISTORY_MSG_360;(Belichtung - Tonwertkorrektur)\nGamma +HISTORY_MSG_361;(Erweitert - Wavelet)\nEndretusche - Direktionaler Kontrast\nFarbausgleich +HISTORY_MSG_362;(Erweitert - Wavelet)\nRestbild\nKompression +HISTORY_MSG_363;(Erweitert - Wavelet)\nRestbild - Kompression\nIntensität +HISTORY_MSG_364;(Erweitert - Wavelet)\nEndretusche - Direktionaler Kontrast\nKontrastausgleich +HISTORY_MSG_365;(Erweitert - Wavelet)\nEndretusche - Direktionaler Kontrast\nDelta-Kontrastausgleich +HISTORY_MSG_366;(Erweitert - Wavelet)\nRestbild - Kompression\nGamma +HISTORY_MSG_367;(Erweitert - Wavelet)\nEndretusche - finaler lokaler Kontrast\n'Danach'-Kontrastkurve +HISTORY_MSG_368;(Erweitert - Wavelet)\nEndretusche\nKontrastausgleichskurve +HISTORY_MSG_369;(Erweitert - Wavelet)\nEndretusche\nKontrastmethode +HISTORY_MSG_370;(Erweitert - Wavelet)\nEndretusche\nLokale Kontrastkurve +HISTORY_MSG_371;(Transformieren - Skalieren)\nSchärfen +HISTORY_MSG_372;(Transformieren - Skalieren)\nSchärfen\nUSM - Radius +HISTORY_MSG_373;(Transformieren - Skalieren)\nSchärfen\nUSM - Intensität +HISTORY_MSG_374;(Transformieren - Skalieren)\nSchärfen\nUSM - Schwelle +HISTORY_MSG_375;(Transformieren - Skalieren)\nSchärfen\nUSM - Nur Kanten schärfen +HISTORY_MSG_376;(Transformieren - Skalieren)\nSchärfen\nUSM - Kantenschärfung\nRadius +HISTORY_MSG_377;(Transformieren - Skalieren)\nSchärfen\nUSM - Kantentoleranz +HISTORY_MSG_378;(Transformieren - Skalieren)\nSchärfen\nUSM - Halokontrolle +HISTORY_MSG_379;(Transformieren - Skalieren)\nSchärfen\nUSM - Halokontrolle\nIntensität +HISTORY_MSG_380;(Transformieren - Skalieren)\nSchärfen\nMethode +HISTORY_MSG_381;(Transformieren - Skalieren)\nSchärfen\nRLD - Radius +HISTORY_MSG_382;(Transformieren - Skalieren)\nSchärfen\nRLD - Intensität +HISTORY_MSG_383;(Transformieren - Skalieren)\nSchärfen\nRLD - Dämpfung +HISTORY_MSG_384;(Transformieren - Skalieren)\nSchärfen\nRLD - Iterationen +HISTORY_MSG_385;(Erweitert - Wavelet)\nRestbild - Farbausgleich +HISTORY_MSG_386;(Erweitert - Wavelet)\nRestbild - Farbausgleich\nLichter Grün/Cyan +HISTORY_MSG_387;(Erweitert - Wavelet)\nRestbild - Farbausgleich\nLichter Blau/Gelb +HISTORY_MSG_388;(Erweitert - Wavelet)\nRestbild - Farbausgleich\nMitten Grün/Cyan +HISTORY_MSG_389;(Erweitert - Wavelet)\nRestbild - Farbausgleich\nMitten Blau/Gelb +HISTORY_MSG_390;(Erweitert - Wavelet)\nRestbild - Farbausgleich\nSchatten Grün/Cyan +HISTORY_MSG_391;(Erweitert - Wavelet)\nRestbild - Farbausgleich\nSchatten Blau/Gelb +HISTORY_MSG_392;(Erweitert - Wavelet)\nRestbild - Farbausgleich +HISTORY_MSG_393;(Farbe - Farbmanagement)\nEingangsfarbprofil\nDCP - Look-Tabelle +HISTORY_MSG_394;(Farbe - Farbmanagement)\nEingangsfarbprofil\nDCP - Basisbelichtung +HISTORY_MSG_395;(Farbe - Farbmanagement)\nEingangsfarbprofil\nDCP - Basistabelle +HISTORY_MSG_396;(Erweitert - Wavelet)\nKontrast +HISTORY_MSG_397;(Erweitert - Wavelet)\nFarbe +HISTORY_MSG_398;(Erweitert - Wavelet)\nKantenschärfung +HISTORY_MSG_399;(Erweitert - Wavelet)\nRestbild +HISTORY_MSG_400;(Erweitert - Wavelet)\nEndretusche +HISTORY_MSG_401;(Erweitert - Wavelet)\nTönung +HISTORY_MSG_402;(Erweitert - Wavelet)\nRauschreduzierung +HISTORY_MSG_403;(Erweitert - Wavelet)\nKantenschärfung\nKantenempfindlichkeit +HISTORY_MSG_404;(Erweitert - Wavelet)\nKantenschärfung\nGrundverstärkung +HISTORY_MSG_405;(Erweitert - Wavelet)\nRauschreduzierung\nEbene 4 +HISTORY_MSG_406;(Erweitert - Wavelet)\nKantenschärfung\nBenachbarte Pixel +HISTORY_MSG_407;(Erweitert - Retinex)\nMethode +HISTORY_MSG_408;(Erweitert - Retinex)\nRadius +HISTORY_MSG_410;(Erweitert - Retinex)\nEinstellungen\nVerstärkung und Versatz\nVersatz +HISTORY_MSG_411;(Erweitert - Retinex)\nIntensität +HISTORY_MSG_412;(Erweitert - Retinex)\nEinstellungen\nDynamikkompression\nGauß'scher Gradient +HISTORY_MSG_413;(Erweitert - Retinex)\nKontrast +HISTORY_MSG_414;(Erweitert - Retinex)\nEinstellungen\nKorrekturen\nLuminanz(L) - L*a*b* +HISTORY_MSG_415;(Erweitert - Retinex)\nEinstellungen\nÜbertragung\nÜbertragungskurve +HISTORY_MSG_416;(Erweitert - Retinex) +HISTORY_MSG_417;(Erweitert - Retinex)\nEinstellungen\nÜbertragung\nMedianfilter +HISTORY_MSG_418;(Erweitert - Retinex)\nEinstellungen\nÜbertragung\nSchwelle +HISTORY_MSG_419;(Erweitert - Retinex)\nFarbraum +HISTORY_MSG_420;(Erweitert - Retinex)\nEinstellungen\nHSL-Kurve +HISTORY_MSG_421;(Erweitert - Retinex)\nEinstellungen\nKorrekturen\nGammakorrektur +HISTORY_MSG_422;(Erweitert - Retinex)\nEinstellungen\nGamma +HISTORY_MSG_423;(Erweitert - Retinex)\nEinstellungen\nGammasteigung +HISTORY_MSG_424;(Erweitert - Retinex)\nEinstellungen\nHL-Schwelle +HISTORY_MSG_425;--nicht verwendet-- +HISTORY_MSG_426;(Erweitert - Retinex)\nEinstellungen\nKorrekturen - Farbton (H) +HISTORY_MSG_427;(Farbe - Farbmanagement)\nAusgabeprofil\nArt der Wiedergabe +HISTORY_MSG_428;Monitorbasierte Wiedergabe +HISTORY_MSG_429;(Erweitert - Retinex)\nEinstellungen\nDynamikkompression\nIterationen +HISTORY_MSG_430;(Erweitert - Retinex)\nEinstellungen\nDynamikkompression\nÜbertragungsgradient +HISTORY_MSG_431;(Erweitert - Retinex)\nEinstellungen\nDynamikkompression\nVerlaufsintensität +HISTORY_MSG_432;(Erweitert - Retinex)\nMaske\nLichter +HISTORY_MSG_433;(Erweitert - Retinex)\nMaske\nTonwertbreite Lichter +HISTORY_MSG_434;(Erweitert - Retinex)\nMaske\nSchatten +HISTORY_MSG_435;(Erweitert - Retinex)\nMaske\nTonwertbreite Schatten +HISTORY_MSG_436;(Erweitert - Retinex)\nMaske\nRadius +HISTORY_MSG_437;(Erweitert - Retinex)\nMaske\nMethode +HISTORY_MSG_438;(Erweitert - Retinex)\nMaske\nKurve +HISTORY_MSG_439;(Erweitert - Retinex)\nVorschau +HISTORY_MSG_440;(Details - Detailebenenkontrast)\nProzessreihenfolge +HISTORY_MSG_441;(Erweitert - Retinex)\nEinstellungen\nVerstärkung und Versatz\nÜbertragungsverstärkung +HISTORY_MSG_442;(Erweitert - Retinex)\nEinstellungen\nÜbertragung - Skalierung +HISTORY_MSG_443;(Farbe - Farbmanagement)\nAusgabeprofil\nSchwarzpunkt-Kompensation +HISTORY_MSG_444;(Farbe - Weißabgleich)\nAWB-Temperatur-Korrektur +HISTORY_MSG_445;(RAW - Sensor-Matrix)\nFarbinterpolation\nUnterbild +HISTORY_MSG_446;--nicht verwendet-- +HISTORY_MSG_447;--nicht verwendet-- +HISTORY_MSG_448;--nicht verwendet-- +HISTORY_MSG_449;(RAW - Sensor-Matrix)\nFarbinterpolation - PS\nISO-Anpassung +HISTORY_MSG_450;--nicht verwendet-- +HISTORY_MSG_451;--nicht verwendet-- +HISTORY_MSG_452;(RAW - Sensor-Matrix)\nFarbinterpolation - PS\nBewegungsmaske anzeigen +HISTORY_MSG_453;(RAW - Sensor-Matrix)\nFarbinterpolation - PS\nNur Maske anzeigen +HISTORY_MSG_454;--nicht verwendet-- +HISTORY_MSG_455;--nicht verwendet-- +HISTORY_MSG_456;--nicht verwendet-- +HISTORY_MSG_457;(RAW - Sensor-Matrix)\nFarbinterpolation - PS\nBewegung im Rot/Blau-Kanal erkennen +HISTORY_MSG_458;--nicht verwendet-- +HISTORY_MSG_459;--nicht verwendet-- +HISTORY_MSG_460;--nicht verwendet-- +HISTORY_MSG_461;--nicht verwendet-- +HISTORY_MSG_462;(RAW - Sensor-Matrix)\nFarbinterpolation - PS\nBewegung im Grün-Kanal erkennen +HISTORY_MSG_463;--nicht verwendet-- +HISTORY_MSG_464;(RAW - Sensor-Matrix)\nFarbinterpolation - PS\nUnschärfebewegungsmaske +HISTORY_MSG_465;(RAW - Sensor-Matrix)\nFarbinterpolation - PS\nUnschärferadius +HISTORY_MSG_466;--nicht verwendet-- +HISTORY_MSG_467;--nicht verwendet-- +HISTORY_MSG_468;(RAW - Sensor-Matrix)\nFarbinterpolation - PS\nLücken in der Bewegungsmaske erkennen +HISTORY_MSG_469;(RAW - Sensor-Matrix)\nFarbinterpolation - PS\nMedian +HISTORY_MSG_470;--nicht verwendet-- +HISTORY_MSG_471;(RAW - Sensor-Matrix)\nFarbinterpolation - PS\nBewegungskorrektur +HISTORY_MSG_472;(RAW - Sensor-Matrix)\nFarbinterpolation - PS\nWeicher Übergang +HISTORY_MSG_474;(RAW - Sensor-Matrix)\nFarbinterpolation - PS\nFrame-Helligkeit angleichen +HISTORY_MSG_475;(RAW - Sensor-Matrix)\nFarbinterpolation - PS\nAusgleich pro Kanal +HISTORY_MSG_476;(Erweitert - FuB)\nBetrachtungsbed.\nFarbtemperatur +HISTORY_MSG_477;(Erweitert - FuB)\nBetrachtungsbed.\nTönung +HISTORY_MSG_478;(Erweitert - FuB)\nBetrachtungsbed.\nmittlere Leuchtdichte +HISTORY_MSG_479;(Erweitert - FuB)\nBetrachtungsbed.\nAdaptation +HISTORY_MSG_480;(Erweitert - FuB)\nBetrachtungsbed.\nAuto-Adaptation +HISTORY_MSG_481;(Erweitert - FuB)\nSzene\nFarbtemperatur +HISTORY_MSG_482;(Erweitert - FuB)\nSzene\nTönung +HISTORY_MSG_483;(Erweitert - FuB)\nSzene\nmittlere Leuchtdichte +HISTORY_MSG_484;(Erweitert - FuB)\nSzene\nAuto mittlere Leuchtdichte +HISTORY_MSG_485;(Transformieren - Objektivkorrektur)\nProfil +HISTORY_MSG_486;(Transformieren - Objektivkorrektur)\nProfil - Kamera +HISTORY_MSG_487;(Transformieren - Objektivkorrektur)\nProfil - Objektiv +HISTORY_MSG_488;(Belichtung - Dynamikkompression) +HISTORY_MSG_489;(Belichtung - Dynamikkompression)\nDetails +HISTORY_MSG_490;(Belichtung - Dynamikkompression)\nIntensität +HISTORY_MSG_491;(Farbe - Weißabgleich) +HISTORY_MSG_492;(Farbe - RGB-Kurven) +HISTORY_MSG_493;(Belichtung - L*a*b*) +HISTORY_MSG_494;(RAW - Eingangsschärfung) +HISTORY_MSG_496;(Lokal - Spot)\nGelöscht +HISTORY_MSG_497;(Lokal - Spot)\nAusgewählt +HISTORY_MSG_498;(Lokal - Spot)\nName +HISTORY_MSG_499;(Lokal - Spot)\nSichtbarkeit +HISTORY_MSG_500;(Lokal - Spot)\nForm +HISTORY_MSG_501;(Lokal - Spot)\nMethode +HISTORY_MSG_502;(Lokal - Spot)\nForm-Methode +HISTORY_MSG_503;(Lokal - Spot)\nPos X-rechts +HISTORY_MSG_504;(Lokal - Spot)\nPos X-links +HISTORY_MSG_505;(Lokal - Spot)\nPos Y-unten +HISTORY_MSG_506;(Lokal - Spot)\nPos Y-oben +HISTORY_MSG_507;(Lokal - Spot)\nMitte +HISTORY_MSG_508;(Lokal - Spot)\nSpotgröße +HISTORY_MSG_509;(Lokal - Spot)\nQualitäts-Methode +HISTORY_MSG_510;(Lokal - Spot)\nÜbergangsgradient\nIntensität +HISTORY_MSG_511;(Lokal - Spot)\nKantenerkennung\nSchwellenwert +HISTORY_MSG_512;(Lokal - Spot)\nKantenerkennung\nΔE Zerfall +HISTORY_MSG_513;(Lokal - Spot)\nBereich +HISTORY_MSG_514;(Lokal - Spot)\nStruktur +HISTORY_MSG_515;(Lokal - Lokale Anpassungen) +HISTORY_MSG_516;(Lokal - Farbe-Licht) +HISTORY_MSG_517;(Lokal) - Super aktivieren +HISTORY_MSG_518;(Lokal - Farbe-Licht)\nHelligkeit +HISTORY_MSG_519;(Lokal - Farbe-Licht)\nKontrast +HISTORY_MSG_520;(Lokal - Farbe-Licht)\nChrominanz +HISTORY_MSG_521;(Lokal) - Umfang +HISTORY_MSG_522;(Lokal - Farbe-Licht)\nKurventyp +HISTORY_MSG_523;(Lokal - Farbe-Licht)\nLL-Kurve +HISTORY_MSG_524;(Lokal - Farbe-Licht)\nCC-Kurve +HISTORY_MSG_525;(Lokal - Farbe-Licht)\nLH-Kurve +HISTORY_MSG_526;(Lokal - Farbe-Licht)\nHH-Kurve +HISTORY_MSG_527;(Lokal - Farbe-Licht)\nInvertieren +HISTORY_MSG_528;(Lokal - Dynamik u. Belichtung) +HISTORY_MSG_529;(Lokal - Dynamik u. Belichtung)\nKompression +HISTORY_MSG_530;(Lokal - Dynamik u. Belichtung)\nLichterkompression +HISTORY_MSG_531;(Lokal - Dynamik u. Belichtung)\nLichterkompression\nSchwellenwert +HISTORY_MSG_532;(Lokal - Dynamik u. Belichtung)\nSchwarzwert +HISTORY_MSG_533;(Lokal - Dynamik u. Belichtung)\nSchattenkompression +HISTORY_MSG_534;(Lokal - Farbtemperatur)\nTönung +HISTORY_MSG_535;(Lokal - Dynamik u. Belichtung)\nIntensität +HISTORY_MSG_536;(Lokal - Dynamik u. Belichtung)\nKontrastkurve +HISTORY_MSG_537;(Lokal - Farbtemperatur) +HISTORY_MSG_538;(Lokal - Farbtemperatur)\nGesättigte Töne +HISTORY_MSG_539;(Lokal - Farbtemperatur)\nPastelltöne +HISTORY_MSG_540;(Lokal - Farbtemperatur)\nSchwellenwert +HISTORY_MSG_541;(Lokal - Farbtemperatur)\nHauttöne schützen +HISTORY_MSG_542;(Lokal - Farbtemperatur)\nFarbverschiebung vermeiden +HISTORY_MSG_543;(Lokal - Farbtemperatur)\nPastell- und gesättigte Farbtöne koppeln +HISTORY_MSG_544;(Lokal - Farbtemperatur)\nBereich +HISTORY_MSG_545;(Lokal - Farbtemperatur)\nH-Kurve +HISTORY_MSG_546;(Lokal - Unschärfe)\nUnschärfe und Rauschen +HISTORY_MSG_547;(Lokal - Unschärfe)\nRadius +HISTORY_MSG_548;(Lokal - Unschärfe)\nRauschen +HISTORY_MSG_549;(Lokal - Unschärfe)\nIntensität +HISTORY_MSG_550;(Lokal - Unschärfe)\nMethode +HISTORY_MSG_551;(Lokal - Unschärfe)\nNur Luminanz +HISTORY_MSG_552;(Lokal - Tonwert) +HISTORY_MSG_553;(Lokal - Tonwert)\nKompressionsintensität +HISTORY_MSG_554;(Lokal - Tonwert)\nGamma +HISTORY_MSG_555;(Lokal - Tonwert)\nKantenempfindlichkeit +HISTORY_MSG_556;(Lokal - Tonwert)\nSkalieren +HISTORY_MSG_557;(Lokal - Tonwert)\nGewichtung +HISTORY_MSG_558;(Lokal - Tonwert)\nIntensität +HISTORY_MSG_559;(Lokal - Retinex) +HISTORY_MSG_560;(Lokal - Retinex)\nMethode +HISTORY_MSG_561;(Lokal - Retinex)\nIntensität +HISTORY_MSG_562;(Lokal - Retinex)\nChroma +HISTORY_MSG_563;(Lokal - Retinex)\nRadius +HISTORY_MSG_564;(Lokal - Retinex)\nKontrast +HISTORY_MSG_565;(Lokal) - Umfang +HISTORY_MSG_566;(Lokal - Retinex)\nVerstärkungskurve +HISTORY_MSG_567;(Lokal - Retinex)\nInvertieren +HISTORY_MSG_568;(Lokal - Schärfen) +HISTORY_MSG_569;(Lokal - Schärfen)\nRadius +HISTORY_MSG_570;(Lokal - Schärfen)\nIntensität +HISTORY_MSG_571;(Lokal - Schärfen)\nDämpfung +HISTORY_MSG_572;(Lokal - Schärfen)\nIterationen +HISTORY_MSG_573;(Lokal - Schärfen)\nUmfang +HISTORY_MSG_574;(Lokal - Schärfen)\nInvertieren +HISTORY_MSG_575;(Lokal - Detailebenen) +HISTORY_MSG_576;(Lokal - Detailebenen)\nMulti +HISTORY_MSG_577;(Lokal - Detailebenen)\nChroma +HISTORY_MSG_578;(Lokal - Detailebenen)\nSchwelle +HISTORY_MSG_579;(Lokal - Detailebenen)\nUmfang +HISTORY_MSG_580;--nicht verwendet-- +HISTORY_MSG_581;(Lokal - Rauschminderung)\nLuminanz f 1 +HISTORY_MSG_582;(Lokal - Rauschminderung)\nLuminanz c +HISTORY_MSG_583;(Lokal - Rauschminderung)\nLuminanz Detailwiederherstellung +HISTORY_MSG_584;(Lokal - Rauschminderung)\nEqualizer Weiß -Schwarz +HISTORY_MSG_585;(Lokal - Rauschminderung)\nFeine Chrominanz +HISTORY_MSG_586;(Lokal - Rauschminderung)\nGrobe Chrominanz +HISTORY_MSG_587;(Lokal - Rauschminderung)\nFarbintensität Detailwiederherstellung +HISTORY_MSG_588;(Lokal - Rauschminderung)\nEqualizer Blau/Rot +HISTORY_MSG_589;(Lokal - Rauschminderung)\nImpulsrauschen +HISTORY_MSG_590;(Lokal - Rauschminderung)\nIntensität +HISTORY_MSG_591;(Lokal - Spot)\nSpeziell\nFarbverschiebungen vermeiden +HISTORY_MSG_592;(Lokal - Schärfen)\nKontrastschwelle +HISTORY_MSG_593;(Lokal - Lokaler Kontrast) +HISTORY_MSG_594;(Lokal - Lokaler Kontrast)\nRadius +HISTORY_MSG_595;(Lokal - Lokaler Kontrast)\nIntensität +HISTORY_MSG_596;(Lokal - Lokaler Kontrast)\nDunkel +HISTORY_MSG_597;(Lokal - Lokaler Kontrast)\nHell +HISTORY_MSG_598;(Lokal - Lokaler Kontrast)\nUmfang +HISTORY_MSG_599;(Lokal - Dunst entfernen)\nIntensität +HISTORY_MSG_600;(Lokal - weiches Licht)\nAktiviert +HISTORY_MSG_601;(Lokal - weiches Licht)\nIntensität +HISTORY_MSG_602;(Lokal - weiches Licht)\nBereich +HISTORY_MSG_603;(Lokal - Schärfen)\nUnschärferadius +HISTORY_MSG_605;(Lokal) - Auswahl Maskenvorschau +HISTORY_MSG_606;Lokalen Spot ausgewählt +HISTORY_MSG_607;(Lokal - Farbe-Licht)\nMaske\nKurve C +HISTORY_MSG_608;(Lokal - Farbe-Licht)\nMaske\nKurve L +HISTORY_MSG_609;(Lokal - Dynamik u. Belichtung)\nMaske\nKurve C +HISTORY_MSG_610;(Lokal - Dynamik u. Belichtung)\nMaske\nKurve L +HISTORY_MSG_611;(Lokal - Farbe-Licht)\nMaske\nKurve LC(H) +HISTORY_MSG_612;(Lokal - Farbe-Licht)\nSpot-Struktur +HISTORY_MSG_613;(Lokal - Dynamik u. Belichtung)\nSpot-Struktur +HISTORY_MSG_614;(Lokal - Dynamik u. Belichtung)\nMaske\nKurve LC(H) +HISTORY_MSG_615;(Lokal - Farbe-Licht)\nMaske\nÜberlagerung +HISTORY_MSG_616;(Lokal - Dynamik u. Belichtung)\nMaske\nÜberlagerung +HISTORY_MSG_617;(Lokal - Dynamik u. Belichtung)\nUnschärfe Kantenerkennung +HISTORY_MSG_618;(Lokal - Farbe-Licht)\nMaske +HISTORY_MSG_619;(Lokal - Dynamik u. Belichtung)\nMaske +HISTORY_MSG_620;(Lokal - Farbe-Licht)\nUnschärfe Kantenerkennung +HISTORY_MSG_621;(Lokal - Dynamik u. Belichtung)\nInvertieren +HISTORY_MSG_622;(Lokal - Spot)\nAusschließende Spot-Struktur +HISTORY_MSG_623;(Lokal - Dynamik u. Belichtung)\nKompensation Farbsättigung +HISTORY_MSG_624;(Lokal - Farbe-Licht)\nFarbkorrektur +HISTORY_MSG_625;(Lokal - Farbe-Licht)\nIntensität Farbkorrektur +HISTORY_MSG_626;(Lokal - Farbe-Licht)\nMethode +HISTORY_MSG_627;(Lokal - Schatten/Lichter) +HISTORY_MSG_628;(Lokal - Schatten/Lichter)\nLichter +HISTORY_MSG_629;(Lokal - Schatten/Lichter)\nTonwertbreite Lichter +HISTORY_MSG_630;(Lokal - Schatten/Lichter)\nSchatten +HISTORY_MSG_631;(Lokal - Schatten/Lichter)\nTonwertbreite Schatten +HISTORY_MSG_632;(Lokal - Schatten/Lichter)\nRadius +HISTORY_MSG_633;(Lokal - Schatten/Lichter)\nUmfang +HISTORY_MSG_634;(Lokal - Farbe-Licht)\nMaske\nRadius +HISTORY_MSG_635;(Lokal - Dynamik u. Belichtung)\nMaske\nRadius +HISTORY_MSG_636;(Lokal)\nWerkzeug hinzugefügt +HISTORY_MSG_637;(Lokal - Schatten/Lichter)\nMaske\nKurve C +HISTORY_MSG_638;(Lokal - Schatten/Lichter)\nMaske\nKurve L +HISTORY_MSG_639;(Lokal - Schatten/Lichter)\nMaske\nKurve LC(H) +HISTORY_MSG_640;(Lokal - Schatten/Lichter)\nMaske\nÜberlagerung +HISTORY_MSG_641;(Lokal - Schatten/Lichter)\nMaske +HISTORY_MSG_642;(Lokal - Schatten/Lichter)\nMaske\nRadius +HISTORY_MSG_643;(Lokal - Schatten/Lichter)\nUnschärfe Kantenerkennung +HISTORY_MSG_644;(Lokal - Schatten/Lichter)\nInvertieren +HISTORY_MSG_645;(Lokal - Spot)\nKantenerkennung\nBalance ab-L (ΔE) +HISTORY_MSG_646;(Lokal - Dynamik u. Belichtung)\nMaske\nFarbintensität +HISTORY_MSG_647;(Lokal - Dynamik u. Belichtung)\nMaske\nGamma +HISTORY_MSG_648;(Lokal - Dynamik u. Belichtung)\nMaske\nSteigung +HISTORY_MSG_649;(Lokal - Dynamik u. Belichtung)\nVerlaufsfilter\nRadius +HISTORY_MSG_650;(Lokal - Farbe-Licht)\nMaske\nFarbintensität +HISTORY_MSG_651;(Lokal - Farbe-Licht)\nMaske\nGamma +HISTORY_MSG_652;(Lokal - Farbe-Licht)\nMaske\nSteigung +HISTORY_MSG_653;(Lokal - Schatten/Lichter)\nMaske\nFarbintensität +HISTORY_MSG_654;(Lokal - Schatten/Lichter)\nMaske\nGamma +HISTORY_MSG_655;(Lokal - Schatten/Lichter)\nMaske\nSteigung +HISTORY_MSG_656;(Lokal - Farbe-Licht)\nRadius +HISTORY_MSG_657;(Lokal - Retinex)\nArtefakte reduzieren +HISTORY_MSG_658;(Lokal - Detailebenen)\nRadius +HISTORY_MSG_659;(Lokal - Spot)\nÜbergangsgradient\nÜbergangszerfall +HISTORY_MSG_660;(Lokal - Detailebenen)\nKlarheit +HISTORY_MSG_661;(Lokal - Detailebenen)\nVerbleibend +HISTORY_MSG_662;(Lokal - Rauschminderung)\nLuminanz f 0 +HISTORY_MSG_663;(Lokal - Rauschminderung)\nLuminanz f 2 +HISTORY_MSG_664;--nicht verwendet-- +HISTORY_MSG_665;(Lokal - Detailebenen)\nMaske\nÜberlagerung +HISTORY_MSG_666;(Lokal - Detailebenen)\nMaske\nRadius +HISTORY_MSG_667;(Lokal - Detailebenen)\nMaske\nFarbintensität +HISTORY_MSG_668;(Lokal - Detailebenen)\nMaske\nGamma +HISTORY_MSG_669;(Lokal - Detailebenen)\nMaske\nSteigung +HISTORY_MSG_670;(Lokal - Detailebenen)\nMaske C +HISTORY_MSG_671;(Lokal - Detailebenen)\nMaske L +HISTORY_MSG_672;(Lokal - Detailebenen)\nMaske CL +HISTORY_MSG_673;(Lokal - Detailebenen)\nMaske anwenden +HISTORY_MSG_674;(Lokal)\nWerkzeug entfernt +HISTORY_MSG_675;(Lokal - Tonwert)\nRadius +HISTORY_MSG_676;(Lokal - Spot)\nÜbergangsgradient\nUnterschied XY +HISTORY_MSG_677;(Lokal - Tonwert)\nIntensität +HISTORY_MSG_678;(Lokal - Tonwert)\nSättigung +HISTORY_MSG_679;(Lokal - Retinex)\nMaske C +HISTORY_MSG_680;(Lokal - Retinex)\nMaske L +HISTORY_MSG_681;(Lokal - Retinex)\nMaske CL +HISTORY_MSG_682;(Lokal - Retinex) Maske +HISTORY_MSG_683;(Lokal - Retinex)\nMaske\nÜberlagerung +HISTORY_MSG_684;(Lokal - Retinex)\nMaske\nRadius +HISTORY_MSG_685;(Lokal - Retinex)\nMaske\nFarbintensität +HISTORY_MSG_686;(Lokal - Retinex)\nMaske\nGamma +HISTORY_MSG_687;(Lokal - Retinex)\nMaske\nSteigung +HISTORY_MSG_688;(Lokal)\nWerkzeug entfernt +HISTORY_MSG_689;(Lokal - Retinex) Maske\nÜbertragungszuordnung +HISTORY_MSG_690;(Lokal - Retinex)\nSkalieren +HISTORY_MSG_691;(Lokal - Retinex)\nDunkel +HISTORY_MSG_692;(Lokal - Retinex)\nHell +HISTORY_MSG_693;(Lokal - Retinex)\nSchwelle +HISTORY_MSG_694;(Lokal - Retinex)\nSchwelle Laplace +HISTORY_MSG_695;(Lokal - weiches Licht)\nMethode +HISTORY_MSG_696;(Lokal - Retinex)\nLuminanz normalisieren +HISTORY_MSG_697;(Lokal - Tonwert)\nLuminanz normalisieren +HISTORY_MSG_698;(Lokal - Lokaler Kontrast)\nSchnelle Fouriertransformation +HISTORY_MSG_699;(Lokal - Retinex)\nSchnelle Fouriertransformation +HISTORY_MSG_701;(Lokal - Dynamik u. Belichtung)\nSchatten +HISTORY_MSG_702;(Lokal - Dynamik u. Belichtung)\nMethode +HISTORY_MSG_703;(Lokal - Dynamik u. Belichtung)\nSchwellenwert Laplace +HISTORY_MSG_704;(Lokal - Dynamik u. Belichtung)\nLaplace Balance +HISTORY_MSG_705;(Lokal - Dynamik u. Belichtung)\nLinearität +HISTORY_MSG_706;(Lokal - Tonwert)\nMaske\nKurve C +HISTORY_MSG_707;(Lokal - Tonwert)\nMaske\nKurve L +HISTORY_MSG_708;(Lokal - Tonwert)\nMaske\nKurve LC(h) +HISTORY_MSG_709;(Lokal - Tonwert)\nMaske +HISTORY_MSG_710;(Lokal - Tonwert)\nMaske überlagern +HISTORY_MSG_711;(Lokal - Tonwert)\nMaske Radius +HISTORY_MSG_712;(Lokal - Tonwert)\nMaske Farbintensität +HISTORY_MSG_713;(Lokal - Tonwert)\nMaske Gamma +HISTORY_MSG_714;(Lokal - Tonwert)\nMaske Steigung +HISTORY_MSG_716;(Lokal) - lokale Methode +HISTORY_MSG_717;(Lokal - Wavelet)\nKontrastkurve +HISTORY_MSG_718;(Lokal) - lokale Kontrastebenen +HISTORY_MSG_719;(Lokal - Wavelet)\nVerbleibende L +HISTORY_MSG_720;(Lokal - Unschärfe)\nLuminanzmaske\nKurve C +HISTORY_MSG_721;(Lokal - Unschärfe)\nLuminanzmaske\nKurve L +HISTORY_MSG_722;(Lokal - Unschärfe)\nLuminanzmaske\nKurve LC(h) +HISTORY_MSG_723;(Lokal - Unschärfe)\nMaske +HISTORY_MSG_725;(Lokal - Unschärfe)\nMaske\nÜberlagerung +HISTORY_MSG_726;(Lokal - Unschärfe)\nMaske\nRadius +HISTORY_MSG_727;(Lokal - Unschärfe)\nMaske\nFarbintensität +HISTORY_MSG_728;(Lokal - Unschärfe)\nMaske\nGamma +HISTORY_MSG_729;(Lokal - Unschärfe)\nMaske\nSteigung +HISTORY_MSG_730;(Lokal - Unschärfe)\nMethode +HISTORY_MSG_731;(Lokal - Unschärfe)\nMethode Median\nMedianwert +HISTORY_MSG_732;(Lokal - Unschärfe)\nMethode Median\nIterationen +HISTORY_MSG_733;(Lokal - Unschärfe)\nAnpassbarer Filter\nRadius +HISTORY_MSG_734;(Lokal - Unschärfe)\nAnpassbarer Filter\nDetail +HISTORY_MSG_738;(Lokal - Wavelet)\nRestbild\nLuma zusammenführen +HISTORY_MSG_739;(Lokal - Wavelet)\nRestbild\nRadius +HISTORY_MSG_740;(Lokal - Wavelet)\nRestbild\nChroma zusammenführen +HISTORY_MSG_741;(Lokal - Wavelet)\nVerbleibende C +HISTORY_MSG_742;(Lokal - Dynamik u. Belichtung)\nKontrastdämpfung\nGamma +HISTORY_MSG_743;(Lokal - Dynamik u. Belichtung)\nDynamikkompression\nIntensität +HISTORY_MSG_744;(Lokal - Dynamik u. Belichtung)\nDynamikkompression\nDetail +HISTORY_MSG_745;(Lokal - Dynamik u. Belichtung)\nDynamikkompression\nVersatz +HISTORY_MSG_746;(Lokal - Dynamik u. Belichtung)\nDynamikkompression\nSigma +HISTORY_MSG_747;(Lokal - Einstellungen)\nSpot erstellt +HISTORY_MSG_748;(Lokal - Dynamik u. Belichtung)\nMethode Rauschreduzierung +HISTORY_MSG_749;(Lokal - Dunst entfernen)\nTiefe +HISTORY_MSG_750;(Lokal - Retinex)\nModus logarithmisch +HISTORY_MSG_751;(Lokal - Dunst entfernen)\nSättigung +HISTORY_MSG_752;(Lokal - Retinex)\nVersatz +HISTORY_MSG_753;(Lokal - Retinex)\nÜbertragungszuordnung +HISTORY_MSG_754;(Lokal - Retinex)\nBeschneiden +HISTORY_MSG_755;(Lokal - Tonwert)\nTonwertkorrektur maskieren +HISTORY_MSG_756;(Lokal - Dynamik u. Belichtung)\nVerwende Algo-Belichtungsmaske +HISTORY_MSG_757;(Lokal - Dynamik u. Belichtung)\nMaske\nSchwelle Laplace +HISTORY_MSG_758;(Lokal - Retinex)\nMaske\nSchwelle Laplace +HISTORY_MSG_759;(Lokal - Dynamik u. Belichtung)\nMaske\nSchwelle Laplace +HISTORY_MSG_760;(Lokal - Farbe-Licht)\nMaske\nSchwelle Laplace +HISTORY_MSG_761;(Lokal - Schatten/Lichter)\nMaske\nSchwelle Laplace +HISTORY_MSG_762;(Lokal - Kontrastebenen)\nMaske\nSchwelle Laplace +HISTORY_MSG_763;(Lokal - Unschärfe)\nMaske\nSchwelle Laplace +HISTORY_MSG_764;(Lokal) - Auflösung PDE Laplace-Maske +HISTORY_MSG_765;(Lokal - Rauschminderung)\nLuminanzmaske\nSchwellenwert +HISTORY_MSG_766;(Lokal - Unschärfe)\nSchnelle Fouriertransformation +HISTORY_MSG_767;(Lokal - Unschärfe)\nISO Körnung Verteilung +HISTORY_MSG_768;(Lokal - Unschärfe)\nISO Körnung Intensität +HISTORY_MSG_769;(Lokal - Unschärfe)\nISO Korngröße +HISTORY_MSG_770;(Lokal - Farbe-Licht)\nMaske\nKontrastkurve +HISTORY_MSG_771;(Lokal - Dynamik u. Belichtung)\nMaske\nKontrastkurve +HISTORY_MSG_772;(Lokal - Schärfen)\nMaske\nKontrastkurve +HISTORY_MSG_773;(Lokal - Tonwert)\nMaske\nKontrastkurve +HISTORY_MSG_774;(Lokal - Retinex)\nMaske\nKontrastkurve +HISTORY_MSG_775;(Lokal - Detailebenen)\nMaske\nKontrastkurve +HISTORY_MSG_776;(Lokal - Unschärfe)\nMaske\nKontrastkurve +HISTORY_MSG_777;(Lokal - Unschärfe)\nMaske\nWavelet\nKontrastkurve +HISTORY_MSG_778;(Lokal - Unschärfe)\nMaske\nLichter +HISTORY_MSG_779;(Lokal - Farbe-Licht)\nMaske\nLokale Kontrastkurve +HISTORY_MSG_780;(Lokal - Farbe-Licht)\nMaske\nSchatten +HISTORY_MSG_781;(Lokal - Wavelet)\nWavelet Ebenen +HISTORY_MSG_782;(Lokal - Unschärfe)\nMaske\nWavelet Ebenen +HISTORY_MSG_783;(Lokal - Farbe-Licht)\nWavelet Ebenenauswahl +HISTORY_MSG_784;(Lokal - Spot)\nMaskieren\nΔE Bildmaske +HISTORY_MSG_785;(Lokal - Spot)\nMaskieren\nBereich ΔE-Bildmaske +HISTORY_MSG_786;(Lokal - Schatten/Lichter)\nMethode +HISTORY_MSG_787;(Lokal - Schatten/Lichter)\nEqualizer Regler +HISTORY_MSG_788;(Lokal - Schatten/Lichter)\nEqualizer Details +HISTORY_MSG_789;(Lokal - Schatten/Lichter)\nMaske\nIntensität +HISTORY_MSG_790;(Lokal - Schatten/Lichter)\nMaske Ankerpunkt +HISTORY_MSG_791;(Lokal - Maske)\nShort L-Kurve +HISTORY_MSG_792;(Lokal - Spot)\nMaskieren\nHintergrundfarbe Luminanzmaske +HISTORY_MSG_793;(Lokal - Schatten/Lichter)\nGamma Farbtonkennlinie +HISTORY_MSG_794;(Lokal - Schatten/Lichter)\nSteigung Farbtonkennlinie +HISTORY_MSG_795;(Lokal - Maske)\nSichern wiederhergestelltes Bild +HISTORY_MSG_796;(Lokal - Spot)\nSpeziell\nReferenzen rekursiv +HISTORY_MSG_797;(Lokal - Farbe-Licht)\nZusammenführen\nMethode +HISTORY_MSG_798;(Lokal - Farbe-Licht)\nZusammenführen\nDeckkraft +HISTORY_MSG_799;(Lokal - Farbe-Licht)\nRGB-Kurve +HISTORY_MSG_800;(Lokal - Farbe-Licht)\nMethode RGB-Kurven +HISTORY_MSG_801;(Lokal - Farbe-Licht)\nSpezielle Verwendung RGB-Kurven +HISTORY_MSG_802;(Lokal - Farbe-Licht)\nZusammenführen\nSchwellenwert Kontrast +HISTORY_MSG_803;(Lokal - Farbe-Licht)\nZusammenführen +HISTORY_MSG_804;(Lokal - Farbe-Licht)\nIntensität Strukturmaske +HISTORY_MSG_805;(Lokal - Unschärfe)\nIntensität Strukturmaske +HISTORY_MSG_806;(Lokal - Farbe-Licht)\nStrukturmaske als Werkzeug +HISTORY_MSG_807;(Lokal - Unschärfe)\nStrukturmaske als Werkzeug +HISTORY_MSG_808;(Lokal - Farbe-Licht)\nMaske\nKurve H(H) +HISTORY_MSG_809;(Lokal - Farbtemperatur)\nMaske\nKurve C +HISTORY_MSG_810;(Lokal - Farbtemperatur)\nMaske\nKurve L +HISTORY_MSG_811;(Lokal - Farbtemperatur)\nMaske\nKurve LC(h) +HISTORY_MSG_813;(Lokal - Farbtemperatur)\nMaske +HISTORY_MSG_814;(Lokal - Farbtemperatur)\nMaske\nÜberlagerung +HISTORY_MSG_815;(Lokal - Farbtemperatur)\nMaske\nRadius +HISTORY_MSG_816;(Lokal - Farbtemperatur)\nMaske\nFarbintensität +HISTORY_MSG_817;(Lokal - Farbtemperatur)\nMaske\nGamma +HISTORY_MSG_818;(Lokal - Farbtemperatur)\nMaske\nSteigung +HISTORY_MSG_819;(Lokal - Farbtemperatur)\nMaske\nSchwellenwert Laplace +HISTORY_MSG_820;(Lokal - Farbtemperatur)\nMaske\nKontrastkurve +HISTORY_MSG_821;(Lokal - Farbe-Licht)\nHintergrundgitter +HISTORY_MSG_822;(Lokal - Farbe-Licht)\nHintergrund zusammenführen +HISTORY_MSG_823;(Lokal - Farbe-Licht)\nLuminanz Hintergrund +HISTORY_MSG_824;(Lokal - Dynamik u. Belichtung)\nVerlaufsfilter\nVerlaufsintensität +HISTORY_MSG_825;(Lokal - Dynamik u. Belichtung)\nVerlaufsfilter\nRotationswinkel +HISTORY_MSG_826;(Lokal - Dynamik u. Belichtung)\nVerlaufsfilter\nIntensität +HISTORY_MSG_827;(Lokal - Dynamik u. Belichtung)\nVerlaufsfilter\nRotationswinkel +HISTORY_MSG_828;(Lokal - Schatten/Lichter)\nVerlaufsfilter\nVerlaufsintensität +HISTORY_MSG_829;(Lokal - Schatten/Lichter)\nVerlaufsfilter\nRotationswinkel +HISTORY_MSG_830;(Lokal - Farbe-Licht)\nVerlaufsfilter\nIntensität Luminanz +HISTORY_MSG_831;(Lokal - Farbe-Licht)\nVerlaufsfilter\nRotationswinkel +HISTORY_MSG_832;(Lokal - Farbe-Licht)\nVerlaufsfilter\nIntensität Chrominanz +HISTORY_MSG_833;(Lokal - Spot)\nÜbergangsgradient\nVerlaufsbreite +HISTORY_MSG_834;(Lokal - Farbe-Licht)\nVerlaufsfilter\nIntensität Farbton +HISTORY_MSG_835;(Lokal - Farbtemperatur)\nVerlaufsfilter\nIntensität Luminanz +HISTORY_MSG_836;(Lokal - Farbtemperatur)\nVerlaufsfilter\nRotationswinkel +HISTORY_MSG_837;(Lokal - Farbtemperatur)\nVerlaufsfilter\nIntensität Chrominanz +HISTORY_MSG_838;(Lokal - Farbtemperatur)\nVerlaufsfilter\nIntensität Farbton +HISTORY_MSG_839;(Lokal) - Softwarekomplexität +HISTORY_MSG_840;(Lokal - Farbe-Licht)\nCL-Kurve +HISTORY_MSG_841;(Lokal - Farbe-Licht)\nLC-Kurve +HISTORY_MSG_842;(Lokal - Farbe-Licht)\nUnschärfemaske\nRadius +HISTORY_MSG_843;(Lokal - Farbe-Licht)\nUnschärfemaske\nSchwellenwert Kontrast +HISTORY_MSG_844;(Lokal - Farbe-Licht)\nUnschärfemaske\nSchnelle Fouriertransformation +HISTORY_MSG_845;(Lokal - LOG-Kodierung) +HISTORY_MSG_846;(Lokal - LOG-Kodierung)\nAutomatisch +HISTORY_MSG_847;(Lokal - LOG-Kodierung)\nQuelle +HISTORY_MSG_849;(Lokal - LOG-Kodierung)\nQuelle Automatisch +HISTORY_MSG_850;(Lokal - LOG-Kodierung)\nSchwarz-Ev +HISTORY_MSG_851;(Lokal - LOG-Kodierung)\nWeiß-Ev +HISTORY_MSG_852;(Lokal - LOG-Kodierung)\nZiel +HISTORY_MSG_853;(Lokal - LOG-Kodierung)\nLokaler Kontrast +HISTORY_MSG_854;(Lokal - LOG-Kodierung)\nBereich +HISTORY_MSG_855;(Lokal - LOG-Kodierung)\nGesamtes Bild +HISTORY_MSG_856;(Lokal - LOG-Kodierung)\nBereich Schatten +HISTORY_MSG_857;(Lokal - Wavelet)\nUnschärfeebenen\nVerbleibende Unschärfe +HISTORY_MSG_858;(Lokal - Wavelet)\nUnschärfeebenen\nNur Luminanz +HISTORY_MSG_859;(Lokal - Wavelet)\nUnschärfeebenen\nMaximum +HISTORY_MSG_860;(Lokal - Wavelet)\nUnschärfeebenen +HISTORY_MSG_861;(Lokal - Wavelet)\nKontrastebenen +HISTORY_MSG_862;(Lokal - Wavelet)\nKontrastebenen\nDämpfungsreaktion +HISTORY_MSG_863;(Lokal - Wavelet)\nOriginal zusammenführen +HISTORY_MSG_864;(Lokal - Wavelet)\nDirektionaler Kontrast\nDämpfungsreaktion +HISTORY_MSG_865;(Lokal - Wavelet)\nDirektionaler Kontrast\nEbenenbalance +HISTORY_MSG_866;(Lokal - Wavelet)\nDirektionaler Kontrast\nKompression +HISTORY_MSG_868;(Lokal - Spot)\nKantenerkennung\nC-H Balance (ΔE) +HISTORY_MSG_869;(Lokal - Rauschminderung)\nLuminanzkurve +HISTORY_MSG_870;(Lokal - Lokaler Kontrast)\nMaske\nKurve H +HISTORY_MSG_871;(Lokal - Lokaler Kontrast)\nMaske\nKurve C +HISTORY_MSG_872;(Lokal - Lokaler Kontrast)\nMaske\nKurve L +HISTORY_MSG_873;(Lokal - Lokaler Kontrast)\nMaske +HISTORY_MSG_875;(Lokal - Lokaler Kontrast)\nMaske überlagern +HISTORY_MSG_876;(Lokal - Lokaler Kontrast)\nMaske glätten +HISTORY_MSG_877;(Lokal - Lokaler Kontrast)\nMaske Farbintensität +HISTORY_MSG_878;(Lokal - Lokaler Kontrast)\nMaske Kontrastkurve +HISTORY_MSG_879;(Lokal - Wavelet)\nKontrastebene\nFarbintensität +HISTORY_MSG_880;(Lokal - Wavelet)\nUnschärfeebenen\nChrominanz Ebenen +HISTORY_MSG_881;(Lokal - Wavelet)\nKontrastebene\nVersatz +HISTORY_MSG_882;(Lokal - Wavelet)\nUnschärfeebenen +HISTORY_MSG_883;(Lokal - Wavelet)\nKontrast nach Ebenen +HISTORY_MSG_884;(Lokal - Wavelet)\nDirektionaler Kontrast +HISTORY_MSG_885;(Lokal - Wavelet)\nTonwertkorrektur +HISTORY_MSG_886;(Lokal - Wavelet)\nTonwertkorrektur Kompression +HISTORY_MSG_887;(Lokal - Wavelet)\nTonwertkorrektur\nKompression Restbild +HISTORY_MSG_888;(Lokal - Wavelet)\nTonwertkorrektur\nSchwellenwert Balance +HISTORY_MSG_889;(Lokal - Wavelet)\nVerlaufsfilter\nIntensität +HISTORY_MSG_890;(Lokal - Wavelet)\nVerlaufsfilter\nRotationswinkel +HISTORY_MSG_891;(Lokal - Wavelet)\nVerlaufsfilter +HISTORY_MSG_892;(Lokal - LOG-Kodierung)\nVerlaufsintensität +HISTORY_MSG_893;(Lokal - LOG-Kodierung)\nVerlaufswinkel +HISTORY_MSG_894;(Lokal - Spot)\nKantenerkennung\nVorschau Farbe Intensität (ΔE) +HISTORY_MSG_897;(Lokal - Wavelet)\nKantenschärfe\nIntensität +HISTORY_MSG_898;(Lokal - Wavelet)\nKantenschärfe\nRadius +HISTORY_MSG_899;(Lokal - Wavelet(\nKantenschärfe\nDetails +HISTORY_MSG_900;(Lokal - Wavelet)\nKantenschärfe\nVerlaufsempfindlichkeit +HISTORY_MSG_901;(Lokal - Wavelet)\nKantenschärfe\nUnterer Schwellenwert +HISTORY_MSG_902;(Lokal - Wavelet)\nKantenschärfe\nOberer Schwellenwert +HISTORY_MSG_903;(Lokal - Wavelet)\nKantenschärfe\nKontrastkurve +HISTORY_MSG_904;(Lokal - Wavelet)\nKantenschärfe\nErste Ebene +HISTORY_MSG_905;(Lokal - Wavelet)\nKantenschärfe +HISTORY_MSG_906;(Lokal - Wavelet)\nKantenschärfe\nKantenempfindlichkeit +HISTORY_MSG_907;(Lokal - Wavelet)\nKantenschärfe\nGrundverstärkung +HISTORY_MSG_908;(Lokal - Wavelet)\nKantenschärfe\nBenachbarte Pixel +HISTORY_MSG_909;(Lokal - Wavelet\nKantenschärfe\nAlle Werkzeuge anzeigen +HISTORY_MSG_910;(Lokal - Wavelet)\nKantenperformance +HISTORY_MSG_911;(Lokal - Unschärfe)\nChrominanz Luminanz +HISTORY_MSG_912;(Lokal - Unschärfe)\nAnpassbarer Filter Intensität +HISTORY_MSG_913;(Lokal - Wavelet)\nTonwertkorrektur\nDämpfungsreaktion +HISTORY_MSG_914;(Lokal - Wavelet)\nUnschärfeebenen\nDämpfungsreaktion +HISTORY_MSG_915;(Lokal - Wavelet)\nKantenschärfe\nDämpfungsreaktion +HISTORY_MSG_916;(Lokal - Wavelet)\nRestbild Schatten +HISTORY_MSG_917;(Lokal - Wavelet)\nRestbild\nSchwellenwert Schatten +HISTORY_MSG_918;(Lokal - Wavelet)\nRestbild Lichter +HISTORY_MSG_919;(Lokal - Wavelet)\nRestbild\nSchwellenwert Lichter +HISTORY_MSG_920;(Lokal - Wavelet)\nKontrast\nDämpfungsreaktion +HISTORY_MSG_921;(Lokal - Wavelet)\nVerlaufsfilter\nDämpfungsreaktion +HISTORY_MSG_922;(Lokal - Spot)\nSpeziell\nÄnderungen in Schwarz-Weiß erzwingen +HISTORY_MSG_923;(Lokal - Werkzeug)\nKomplexität +HISTORY_MSG_924;--nicht verwendet-- +HISTORY_MSG_925;(Lokal - Spot)\nAnwendungsbereich\nFarbwerkzeuge +HISTORY_MSG_926;(Lokal - Unschärfe) Rauschreduzierung\nMaskenauswahl +HISTORY_MSG_927;(Lokal - Unschärfe)\nMaske\nSchatten +HISTORY_MSG_928;(Lokal - Normale Farbmaske) +HISTORY_MSG_929;(Lokal - Normale Farbmaske)\nIntensität +HISTORY_MSG_930;(Lokal - Normale Farbmaske)\nÜberlagerung Luminanzmaske +HISTORY_MSG_931;(Lokal - Normale Farbmaske)\nMaske +HISTORY_MSG_932;(Lokal - Normale Farbmaske)\nRadius +HISTORY_MSG_933;(Lokal - Normale Farbmaske)\nSchwellenwert Laplace +HISTORY_MSG_934;(Lokal - Normale Farbmaske)\nFarbintensität +HISTORY_MSG_935;(Lokal - Normale Farbmaske)\nGamma +HISTORY_MSG_936;(Lokal - Normale Farbmaske)\nSteigung +HISTORY_MSG_937;(Lokal - Normale Farbmaske)\nKurve C(C) +HISTORY_MSG_938;(Lokal - Normale Farbmaske)\nKurve L(L) +HISTORY_MSG_939;(Lokal - Normale Farbmaske)\nKurve LC(H) +HISTORY_MSG_940;(Lokal - Normale Farbmaske)\nStrukturmaske als Werkzeug +HISTORY_MSG_941;(Lokal - Normale Farbmaske)\nIntensität Strukturmaske +HISTORY_MSG_942;(Lokal - Normale Farbmaske)\nKurve H(H) +HISTORY_MSG_943;(Lokal - Normale Farbmaske)\nSchnelle Fouriertransformation +HISTORY_MSG_944;(Lokal - Normale Farbmaske)\nUnschärfemaske\nUnschärferadius +HISTORY_MSG_945;(Lokal - Normale Farbmaske)\nUnschärfemaske\nSchwellenwert Kontrast +HISTORY_MSG_946;(Lokal - Normale Farbmaske)\nSchatten +HISTORY_MSG_947;(Lokal - Normale Farbmaske)\nKontrastkurve +HISTORY_MSG_948;(Lokal - Normale Farbmaske)\nWavelet-Kurve +HISTORY_MSG_949;(Lokal - Normale Farbmaske)\nWavelet-Ebenen +HISTORY_MSG_950;(Lokal - Normale Farbmaske)\nVerlaufsfiltermaske\nIntensität +HISTORY_MSG_951;(Lokal - Normale Farbmaske)\nVerlaufsfiltermaske\nRotationswinkel +HISTORY_MSG_952;(Lokal - Normale Farbmaske)\nRadius +HISTORY_MSG_953;(Lokal - Normale Farbmaske)\nÜberlagerung Chrominanzmaske +HISTORY_MSG_954;(Lokal)\nWerkzeuge einblenden/ausblenden +HISTORY_MSG_955;(Lokal) - Spot aktivieren +HISTORY_MSG_956;(Lokal - Farbe-Licht)\nCH-Kurve +HISTORY_MSG_957;(Lokal - Rauschminderung)\nModus +HISTORY_MSG_958;(Lokal) - Zus. Einstellungen +HISTORY_MSG_959;(Lokal - Unschärfe)\nInvertieren +HISTORY_MSG_960;(Lokal - LOG-Kodierung)\nCAT16 +HISTORY_MSG_961;(Lokal - LOG-Kodierung)\nCIECAM +HISTORY_MSG_962;(Lokal - LOG-Kodierung)\nAbsolute Luminanzquelle +HISTORY_MSG_963;(Lokal - LOG-Kodierung)\nAbsolutes Luminanzziel +HISTORY_MSG_964;(Lokal - LOG-Kodierung)\nUmgebung +HISTORY_MSG_965;(Lokal - LOG-Kodierung)\nSättigung s +HISTORY_MSG_966;(Lokal - LOG-Kodierung)\nKontrast J +HISTORY_MSG_967;(Lokal - LOG-Kodierung)\nMaske Kurve C +HISTORY_MSG_968;(Lokal - LOG-Kodierung)\nMaske Kurve L +HISTORY_MSG_969;(Lokal - LOG-Kodierung)\nMaske Kurve H +HISTORY_MSG_970;(Lokal - LOG-Kodierung)\nMaske +HISTORY_MSG_971;(Lokal - LOG-Kodierung)\nMaske überlagern +HISTORY_MSG_972;(Lokal - LOG-Kodierung)\nMaske Radius +HISTORY_MSG_973;(Lokal - LOG-Kodierung)\nMaske Chroma +HISTORY_MSG_974;(Lokal - LOG-Kodierung)\nMaske Kontrast +HISTORY_MSG_975;(Lokal - LOG-Kodierung)\nHelligkeit J +HISTORY_MSG_977;(Lokal - LOG-Kodierung)\nKontrast Q +HISTORY_MSG_978;(Lokal - LOG-Kodierung)\nSichere Quelle +HISTORY_MSG_979;(Lokal - LOG-Kodierung)\nHelligkeit Q +HISTORY_MSG_980;(Lokal - LOG-Kodierung)\nFarbigkeit M +HISTORY_MSG_981;(Lokal - LOG-Kodierung)\nIntensität +HISTORY_MSG_982;(Lokal - Rauschminderung)\nEqualizer Farbton +HISTORY_MSG_983;(Lokal - Rauschminderung)\nWiederherstellung\nSchwellenwert Maske hell +HISTORY_MSG_984;(Lokal - Rauschminderung)\nWiederherstellung\nSchwellenwert Maske dunkel +HISTORY_MSG_985;(Lokal - Rauschminderung)\nLuminanzmaske\nLaplace +HISTORY_MSG_986;(Lokal - Rauschminderung)\nDunkle und helle Bereiche verstärken +HISTORY_MSG_987;(Lokal - Verlaufsfilter)\nSchwellenwert Wiederherstellung +HISTORY_MSG_988;(Lokal - Verlaufsfilter)\nSchwellenwert Maske dunkel +HISTORY_MSG_989;(Lokal - Verlaufsfilter)\nSchwellenwert Maske hell +HISTORY_MSG_990;(Lokal - Rauschminderung)\nWiederherstellung\nSchwelle +HISTORY_MSG_991;(Lokal - Rauschminderung)\nSchwellenwert Maske dunkel +HISTORY_MSG_992;(Lokal - Rauschminderung)\nSchwellenwert Maske hell +HISTORY_MSG_993;(Lokal - Rauschminderung)\nInvertieren +HISTORY_MSG_994;(Lokal - Verlaufsfilter)\nInvertieren +HISTORY_MSG_995;(Lokal - Rauschminderung)\nZerfallrate +HISTORY_MSG_996;(Lokal - Farbe-Licht)\nWiederherstellung\nSchwelle +HISTORY_MSG_997;(Lokal - Farbe-Licht)\nWiederherstellung\nSchwellenwert dunkel +HISTORY_MSG_998;(Lokal - Farbe-Licht)\nWiederherstellung\nSchwellenwert hell +HISTORY_MSG_999;(Lokal - Farbe-Licht)\nWiederherstellung\nZerfallrate +HISTORY_MSG_1000;(Lokal - Rauschminderung)\nLuminanz Graubereiche +HISTORY_MSG_1001;(Lokal - LOG-Kodierung)\nWiederherstellung\nSchwellenwert +HISTORY_MSG_1002;(Lokal - LOG-Kodierung)\nWiederherstellung\nSchwellenwert dunkel +HISTORY_MSG_1003;(Lokal - LOG-Kodierung)\nWiederherstellung\nSchwellenwert hell +HISTORY_MSG_1004;(Lokal - LOG-Kodierung)\nWiederherstellung\nZerfallrate +HISTORY_MSG_1005;(Lokal - Dynamik u. Belichtung)\nWiederherstellung\nSchwellenwert +HISTORY_MSG_1006;(Lokal - Dynamik u. Belichtung)\nWiederherstellung\nSchwellenwert dunkel +HISTORY_MSG_1007;(Lokal - Dynamik u. Belichtung)\nWiederherstellung\nSchwellenwert hell +HISTORY_MSG_1008;(Lokal - Dynamik u. Belichtung)\nWiederherstellung\nZerfallrate +HISTORY_MSG_1009;(Lokal - Schatten/Lichter)\nWiederherstellung\nSchwellenwert +HISTORY_MSG_1010;(Lokal - Schatten/Lichter)\nWiederherstellung\nSchwellenwert dunkel +HISTORY_MSG_1011;(Lokal - Schatten/Lichter)\nWiederherstellung\nSchwellenwert hell +HISTORY_MSG_1012;(Lokal - Schatten/Lichter)\nWiederherstellung\nZerfallrate +HISTORY_MSG_1013;(Lokal - Farbtemperatur)\nWiederherstellung\nSchwellenwert +HISTORY_MSG_1014;(Lokal - Farbtemperatur)\nWiederherstellung\nSchwellenwert dunkel +HISTORY_MSG_1015;(Lokal - Farbtemperatur)\nWiederherstellung\nSchwellenwert hell +HISTORY_MSG_1016;(Lokal - Farbtemperatur)\nWiederherstellung\nZerfallrate +HISTORY_MSG_1017;(Lokal - Lokaler Kontrast)\nWiederherstellung\nSchwellenwert +HISTORY_MSG_1018;(Lokal - Lokaler Kontrast)\nWiederherstellung\nSchwellenwert dunkel +HISTORY_MSG_1019;(Lokal - Lokaler Kontrast)\nWiederherstellung\nSchwellenwert hell +HISTORY_MSG_1020;(Lokal - Lokaler Kontrast)\nWiederherstellung\nZerfallrate +HISTORY_MSG_1021;(Lokal - Rauschminderung)\nChrominanz Graubereiche +HISTORY_MSG_1022;(Lokal - Tonwert)\nWiederherstellung\nSchwellenwert +HISTORY_MSG_1023;(Lokal - Tonwert)\nWiederherstellung\nSchwellenwert dunkel +HISTORY_MSG_1024;(Lokal - Tonwert)\nWiederherstellung\nSchwellenwert hell +HISTORY_MSG_1025;(Lokal - Tonwert)\nWiederherstellung\nZerfallrate +HISTORY_MSG_1026;(Lokal - Detailebenen-Kontrast)\nWiederherstellung\nSchwellenwert +HISTORY_MSG_1027;(Lokal - Detailebenen-Kontrast)\nWiederherstellung\nSchwellenwert dunkel +HISTORY_MSG_1028;(Lokal - Detailebenen-Kontrast)\nWiederherstellung\nSchwellenwert hell +HISTORY_MSG_1029;(Lokal - Detailebenen-Kontrast)\nWiederherstellung\nZerfallrate +HISTORY_MSG_1030;(Lokal - Retinex)\nWiederherstellung\nSchwellenwert +HISTORY_MSG_1031;(Lokal - Retinex)\nWiederherstellung\nSchwellenwert dunkel +HISTORY_MSG_1032;(Lokal - Retinex)\nWiederherstellung\nSchwellenwert hell +HISTORY_MSG_1033;(Lokal - Retinex)\nWiederherstellung\nZerfallrate +HISTORY_MSG_1034;(Lokal - Rauschminderung)\nNicht-lokales Mittel\nIntensität +HISTORY_MSG_1035;(Lokal - Rauschminderung)\nNicht-lokales Mittel\nDetailwiederherstellung +HISTORY_MSG_1036;(Lokal - Rauschminderung)\nNicht-lokales Mittel\nObjektgröße +HISTORY_MSG_1037;(Lokal - Rauschminderung)\nNicht-lokales Mittel\nRadius +HISTORY_MSG_1038;(Lokal - Rauschminderung)\nNicht-lokales Mittel\nGamma +HISTORY_MSG_1039;(Lokal - Unschärfe)\nKörnung Gamma +HISTORY_MSG_1040;(Lokal - Spot)\nSpeziell\nRadius +HISTORY_MSG_1041;(Lokal - Spot)\nSpeziell\nNur Munsell +HISTORY_MSG_1042;(Lokal - LOG-Kodierung)\nSchwellenwert +HISTORY_MSG_1043;(Lokal - Dynamik u. Belichtung)\nNormalisieren +HISTORY_MSG_1044;(Lokal - Lokaler Kontrast)\nGesamtintensität +HISTORY_MSG_1045;(Lokal - Farbe-Licht)\nGesamtintensität +HISTORY_MSG_1046;(Lokal - Rauschminderung)\nGesamtintensität +HISTORY_MSG_1047;(Lokal - Schatten/Lichter)\nGesamtintensität +HISTORY_MSG_1048;(Lokal - Dynamik u. Belichtung)\nGesamtintensität +HISTORY_MSG_1049;(Lokal - Tonwert)\nGesamtintensität +HISTORY_MSG_1050;(Lokal - LOG-Kodierung)\nChroma +HISTORY_MSG_1051;(Lokal - Lokaler Kontrast)\nRestbild\nGamma +HISTORY_MSG_1052;(Lokal - Lokaler Kontrast\nRestbild\nSteigung +HISTORY_MSG_1053;(Lokal - Rauschminderung)\nRauschreduzierung\nGamma +HISTORY_MSG_1054;(Lokal - Lokaler Kontrast)\nWavelet\nGamma +HISTORY_MSG_1055;(Lokal - Farbe u. Licht)\nGamma +HISTORY_MSG_1056;(Lokal - Dynamik u. Belichtung)\nDynamikkompression\nGamma +HISTORY_MSG_1057;(Lokal - CIECAM) +HISTORY_MSG_1058;(Lokal - CIECAM)\nGesamtintensität +HISTORY_MSG_1059;(Lokal - CIECAM)\nSzenebasierte Bedingungen\nAutomatisch +HISTORY_MSG_1060;(Lokal - CIECAM)\nSzenebasierte Bedingungen\nMittlere Luminanz +HISTORY_MSG_1061;(Lokal - CIECAM)\nSzenebasierte Bedingungen\nAbsolute Luminanz +HISTORY_MSG_1062;(Lokal - CIECAM)\nSzenebasierte Bedingungen\nUmgebung +HISTORY_MSG_1063;(Lokal - CIECAM)\nCAM16 - Farbe\nSättigung +HISTORY_MSG_1064;(Lokal - CIECAM)\nCAM16 - Farbe\nChroma +HISTORY_MSG_1065;(Lokal - CIECAM)\nHelligkeit J +HISTORY_MSG_1066;(Lokal - CIECAM)\nHelligkeit +HISTORY_MSG_1067;(Lokal - CIECAM)\nKontrast J +HISTORY_MSG_1068;(Lokal - CIECAM)\nCAM16 - Kontrast\nSchwellenwert Kontrast +HISTORY_MSG_1069;(Lokal - CIECAM)\nCAM16 - Kontrast\nKontrast (Q) +HISTORY_MSG_1070;(Lokal - CIECAM)\nCAM16 - Farbe\nBuntheit +HISTORY_MSG_1071;(Lokal - CIECAM)\nBetrachtungsbedingungen\nAbsolute Luminanz +HISTORY_MSG_1072;(Lokal - CIECAM)\nBetrachtungsbedingungen\nMittlere Luminanz +HISTORY_MSG_1073;(Lokal - CIECAM)\nBetrachtungsbedingungen\nChromatische Adaption/Cat16 +HISTORY_MSG_1074;(Lokal - CIECAM)\nCAM16 - Kontrast\nLokaler Kontrast +HISTORY_MSG_1075;(Lokal - CIECAM)\nBetrachtungsbedingungen\nUmgebung +HISTORY_MSG_1076;(Lokal - CIECAM)\nBereich +HISTORY_MSG_1077;(Lokal - CIECAM)\nWerkzeugmodus +HISTORY_MSG_1078;(Lokal - CIECAM)\nCAM16 - Farbe\nHautfarbtöne schützen +HISTORY_MSG_1079;(Lokal - CIECAM)\nSigmoid\nKontraststärke +HISTORY_MSG_1080;(Lokal - CIECAM)\nSigmoid\nSchwellenwert +HISTORY_MSG_1081;(Lokal - CIECAM)\nSigmoid\nÜberlagern +HISTORY_MSG_1082;(Lokal - CIECAM)\nSigmoid\nSchwarz-Ev Weiß-Ev verwenden +HISTORY_MSG_1083;(Lokal - CIECAM)\nCAM16 - Farbe\nFarbtonverschiebung +HISTORY_MSG_1084;(Lokal - CIECAM)\nSchwarz-Ev Weiß-Ev verwenden +HISTORY_MSG_1085;(Lokal - CIECAM)\nJz Cz Hz\nHelligkeit +HISTORY_MSG_1086;(Lokal - CIECAM)\nJz Cz Hz\nKontrast +HISTORY_MSG_1087;(Lokal - CIECAM)\nJz Cz Hz\nChroma +HISTORY_MSG_1088;(Lokal - CIECAM)\nJz Cz Hz\nFarbton +HISTORY_MSG_1089;(Lokal - CIECAM)\nSigmoid Jz\nKontraststärke +HISTORY_MSG_1090;(Lokal - CIECAM)\nSigmoid Jz\nSchwellenwert +HISTORY_MSG_1091;(Lokal - CIECAM)\nSigmoid Jz\nÜberlagern +HISTORY_MSG_1092;(Lokal - CIECAM)\nJz Zuordnung\nAnpassung +HISTORY_MSG_1093;(Lokal - CIECAM)\nCAM Modell +HISTORY_MSG_1094;(Lokal - CIECAM)\nJz Lichter +HISTORY_MSG_1095;(Lokal - CIECAM)\nTonwertbreite Jz Lichter +HISTORY_MSG_1096;(Lokal - CIECAM)\nJz Schatten +HISTORY_MSG_1097;(Lokal - CIECAM)\nTonwertbreite Jz Schatten +HISTORY_MSG_1098;(Lokal - CIECAM)\nJz Radius +HISTORY_MSG_1099;(Lokal - CIECAM)\nJz Cz Hz\nKurve Cz(Hz) +HISTORY_MSG_1100;(Lokal - CIECAM)\nJz Zuordnung\nReferenz 100 +HISTORY_MSG_1101;(Lokal - CIECAM)\nJz Zuordnung\nPQ Peak Luminanz +HISTORY_MSG_1102;(Lokal - CIECAM)\nKurve Jz(Hz) +HISTORY_MSG_1103;(Lokal - CIECAM)\nGamma Lebendigkeit +HISTORY_MSG_1104;(Lokal - CIECAM)\nGamma Schärfe +HISTORY_MSG_1105;(Lokal - CIECAM)\nTonmethode +HISTORY_MSG_1106;(Lokal - CIECAM)\nTonkurve +HISTORY_MSG_1107;(Lokal - CIECAM)\nFarbmethode +HISTORY_MSG_1108;(Lokal - CIECAM)\nFarbkurve +HISTORY_MSG_1109;(Lokal - CIECAM)\nKurve Jz(Jz) +HISTORY_MSG_1110;(Lokal - CIECAM)\nKurve Cz(Cz) +HISTORY_MSG_1111;(Lokal - CIECAM)\nKurve Cz(Jz) +HISTORY_MSG_1112;(Lokal - CIECAM)\nErzwinge jz +HISTORY_MSG_1113;(Lokal - CIECAM)\nCAM16\nHDR PQ +HISTORY_MSG_1114;(Lokal - CIECAM)\nMaske aktivieren +HISTORY_MSG_1115;(Lokal - CIECAM)\nMaske\nKurve C +HISTORY_MSG_1116;(Lokal - CIECAM)\nMaske\nKurve L +HISTORY_MSG_1117;(Lokal - CIECAM)\nMaske\nKurve LC(h) +HISTORY_MSG_1118;(Lokal - CIECAM)\nMaske\nÜberlagerung +HISTORY_MSG_1119;(Lokal - CIECAM)\nMaske\nGlättradius +HISTORY_MSG_1120;(Lokal - CIECAM)\nMaske\nFarbintensität +HISTORY_MSG_1121;(Lokal - CIECAM)\nMaske\nKontrastkurve +HISTORY_MSG_1122;(Lokal - CIECAM)\nMaske\nSchwelle Wiederherstellung +HISTORY_MSG_1123;(Lokal - CIECAM)\nMaske\nSchwelle dunkel +HISTORY_MSG_1124;(Lokal - CIECAM)\nMaske\nSchwelle hell +HISTORY_MSG_1125;(Lokal - CIECAM)\nMaske\nZerfallrate +HISTORY_MSG_1126;(Lokal - CIECAM)\nMaske\nSchwelle Laplace +HISTORY_MSG_1127;(Lokal - CIECAM)\nMaske\nGamma +HISTORY_MSG_1128;(Lokal - CIECAM)\nMaske\nSteigung +HISTORY_MSG_1129;(Lokal - CIECAM)\nJz Cz Hz\nRelative Helligkeit +HISTORY_MSG_1130;(Lokal - CIECAM)\nJz Cz Hz\nSättigung +HISTORY_MSG_1131;(Lokal - Maske)\nRauschminderung Chroma +HISTORY_MSG_1132;(Lokal - CIECAM)\nWavelet Jz\nDämpfungsreaktion +HISTORY_MSG_1133;(Lokal - CIECAM)\nWavelet Jz\nEbenen +HISTORY_MSG_1134;(Lokal - CIECAM)\nWavelet Jz\nLokaler Kontrast +HISTORY_MSG_1135;(Lokal - CIECAM)\nWavelet Jz\nLuma zusammenführen +HISTORY_MSG_1136;(Lokal - CIECAM)\nWavelet Jz\nChroma zusammenführen +HISTORY_MSG_1137;(Lokal - CIECAM)\nWavelet Jz\nGlättradius +HISTORY_MSG_1138;(Lokal - CIECAM)\nJz Cz Hz\nKurve Hz(Hz) +HISTORY_MSG_1139;(Lokal - CIECAM)\nJz Cz Hz\nKurven H\nGlättradius +HISTORY_MSG_1140;(Lokal - CIECAM)\nJz Cz Hz\nKurve Jz(Hz)\nSchwelle Chroma +HISTORY_MSG_1141;(Lokal - CIECAM)\nChroma-Kurve Jz(Hz) +HISTORY_MSG_1142;(Lokal) - Stärke Glätten +HISTORY_MSG_1143;(Lokal - CIECAM)\nSchwarz-Ev +HISTORY_MSG_1144;(Lokal - CIECAM)\nWeiß-Ev +HISTORY_MSG_1145;(Lokal - CIECAM)\nLOG-Kodierung Jz +HISTORY_MSG_1146;(Lokal - CIECAM)\nLOG-Kodierung Jz\nMittlere Helligkeit +HISTORY_MSG_1147;(Lokal - CIECAM)\nSigmoid Jz\nVerwendet Schwarz-Ev Weiß-Ev +HISTORY_MSG_1148;(Lokal - CIECAM)\nSigmoid Jz +HISTORY_MSG_1149;(Lokal - CIECAM)\nSigmoid Q +HISTORY_MSG_1150;(Lokal - CIECAM)\nSigmoid\nLOG-Kodierung anstatt Sigmoid +HISTORY_MSG_BLSHAPE;(Erweitert - Wavelet)\nUnschärfeebenen\nUnschärfe nach Ebenen +HISTORY_MSG_BLURCWAV;(Erweitert - Wavelet)\nRestbild - Unschärfe\nUnschärfe Buntheit +HISTORY_MSG_BLURWAV;(Erweitert - Wavelet)\nRestbild - Unschärfe\nUnschärfe Helligkeit +HISTORY_MSG_BLUWAV;(Erweitert - Wavelet)\nUnschärfeebenen\nDämpfungsreaktion +HISTORY_MSG_CATCAT;(Erweitert - FuB)\Einstellungen Modus +HISTORY_MSG_CATCOMPLEX;(Erweitert - FuB)\nEinstellungen Komplexität +HISTORY_MSG_CATMODEL;(Erweitert - FuB)\nEinstellungen Modell +HISTORY_MSG_CLAMPOOG;(Belichtung) - Farben\nAuf Farbraum beschränken +HISTORY_MSG_COLORTONING_LABGRID_VALUE;(Farbe - Farbanpassungen)\nL*a*b*-Farbkorrektur +HISTORY_MSG_COLORTONING_LABREGION_AB;(Farbe - Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich +HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;(Farbe - Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Kanal +HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;(Farbe - Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - C-Maske +HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;(Farbe - Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - H-Maske +HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;(Farbe - Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Helligkeit +HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;(Farbe - Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - L-Maske +HISTORY_MSG_COLORTONING_LABREGION_LIST;(Farbe - Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Liste +HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;(Farbe - Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Maskenunschärfe +HISTORY_MSG_COLORTONING_LABREGION_OFFSET;(Farbe - Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Versatz +HISTORY_MSG_COLORTONING_LABREGION_POWER;(Farbe - Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Verstärkung +HISTORY_MSG_COLORTONING_LABREGION_SATURATION;(Farbe - Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Sättigung +HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;(Farbe - Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Maske anzeigen +HISTORY_MSG_COLORTONING_LABREGION_SLOPE;(Farbe - Farbanpassungen)\nL*a*b*-Farbkorrektur\nBereich - Steigung +HISTORY_MSG_COMPLEX;(Erweitert - Wavelet)\nKomplexität +HISTORY_MSG_COMPLEXRETI;(Erweitert - Retinex)\nKomplexität +HISTORY_MSG_DEHAZE_DEPTH;(Details - Bildschleier entfernen)\nTiefe +HISTORY_MSG_DEHAZE_ENABLED;(Details - Bildschleier entfernen) +HISTORY_MSG_DEHAZE_SATURATION;(Details - Bildschleier entfernen)\nSättigung +HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;(Details - Bildschleier entfernen)\nMaske anzeigen +HISTORY_MSG_DEHAZE_STRENGTH;(Details - Bildschleier entfernen)\nIntensität HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;(Sensor—Matrix)\nFarbinterpolation\nAuto-Kontrastschwelle -HISTORY_MSG_DUALDEMOSAIC_CONTRAST;(Sensor-Matrix)\nFarbinterpolation\nKontrastschwelle -HISTORY_MSG_FILMNEGATIVE_ENABLED;(Filmnegativ) -HISTORY_MSG_FILMNEGATIVE_VALUES;(Filmnegativ) - Werte +HISTORY_MSG_DUALDEMOSAIC_CONTRAST;(RAW - Sensor-Matrix)\nFarbinterpolation\nKontrastschwelle +HISTORY_MSG_EDGEFFECT;(Erweitert - Wavelet)\nKantenschärfung\nDämpfungsreaktion +HISTORY_MSG_FILMNEGATIVE_BALANCE;(Farbe - Negativfilm)\nAusgabestärke +HISTORY_MSG_FILMNEGATIVE_COLORSPACE;(Farbe - Negativfilm)\nFarbraum +HISTORY_MSG_FILMNEGATIVE_ENABLED;(Farbe - Negativfilm) +HISTORY_MSG_FILMNEGATIVE_REF_SPOT;(Farbe - Negativfilm)\nReferenz Eingabe +HISTORY_MSG_FILMNEGATIVE_VALUES;(Farbe - Negativfilm)\nWerte HISTORY_MSG_HISTMATCHING;(Belichtung)\nAuto-Tonwertkurve -HISTORY_MSG_ICM_OUTPUT_PRIMARIES;(Farbmanagement)\nAusgabeprofil\nVorlagen -HISTORY_MSG_ICM_OUTPUT_TEMP;(Farbmanagement)\nAusgabeprofil\nIccV4-Illuminant D -HISTORY_MSG_ICM_OUTPUT_TYPE;(Farbmanagement)\nAusgabeprofil\nTyp -HISTORY_MSG_ICM_WORKING_GAMMA;(Farbmanagement)\nArbeitsfarbraum\nGamma -HISTORY_MSG_ICM_WORKING_SLOPE;(Farbmanagement)\nArbeitsfarbraum\nSteigung -HISTORY_MSG_ICM_WORKING_TRC_METHOD;(Farbmanagement)\nArbeitsfarbraum\nFarbtonkennlinie -HISTORY_MSG_LOCALCONTRAST_AMOUNT;(Lokaler Kontrast)\nIntensität -HISTORY_MSG_LOCALCONTRAST_DARKNESS;(Lokaler Kontrast)\nDunkle Bereiche -HISTORY_MSG_LOCALCONTRAST_ENABLED;(Lokaler Kontrast) -HISTORY_MSG_LOCALCONTRAST_LIGHTNESS;(Lokaler Kontrast)\nHelle Bereiche -HISTORY_MSG_LOCALCONTRAST_RADIUS;(Lokaler Kontrast)\nRadius +HISTORY_MSG_HLBL;Farbübertragung - Unschärfe +HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy-Diagramm +HISTORY_MSG_ICM_AINTENT;Absicht Abstraktes Profil +HISTORY_MSG_ICM_BLUX;(Farbe - Farbmanagement)\nAbstraktes Profil\nVorgabe Blau X +HISTORY_MSG_ICM_BLUY;(Farbe - Farbmanagement)\nAbstraktes Profil\nVorgabe Blau Y +HISTORY_MSG_ICM_FBW;(Farbe - Farbmanagement)\nAbstraktes Profil\nSchwarz-Weiß +HISTORY_MSG_ICM_GREX;(Farbe - Farbmanagement)\nAbstraktes Profil\nVorgabe Grün X +HISTORY_MSG_ICM_GREY;(Farbe - Farbmanagement)\nAbstraktes Profil\nVorgabe Grün Y +HISTORY_MSG_ICM_OUTPUT_PRIMARIES;(Farbe - Farbmanagement)\nAbstraktes Profil\nAusgabeprofil Vorgaben +HISTORY_MSG_ICM_OUTPUT_TEMP;(Farbe - Farbmanagement)\nAusgabeprofil\nIccV4-Illuminant D +HISTORY_MSG_ICM_OUTPUT_TYPE;(Farbe - Farbmanagement)\nAusgabeprofil\nTyp +HISTORY_MSG_ICM_PRESER;(Farbe - Farbmanagement)\nAbstraktes Profil\nPastelltöne erhalten +HISTORY_MSG_ICM_REDX;(Farbe - Farbmanagement)\nAbstraktes Profil\nVorgabe Rot X +HISTORY_MSG_ICM_REDY;(Farbe - Farbmanagement)\nAbstraktes Profil\nVorgabe Rot Y +HISTORY_MSG_ICM_WORKING_GAMMA;(Farbe - Farbmanagement)\nAbstraktes Profil\nGamma Farbtonkennlinie +HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;(Farbe - Farbmanagement)\nAbstraktes Profil\nBelechtungsmethode +HISTORY_MSG_ICM_WORKING_PRIM_METHOD;(Farbe - Farbmanagement)\nAbstraktes Profil\nZielvorwahl +HISTORY_MSG_ICM_WORKING_SLOPE;(Farbe - Farbmanagement)\nAbstraktes Profil\nSteigung Farbtonkennlinie +HISTORY_MSG_ICM_WORKING_TRC_METHOD;(Farbe - Farbmanagement)\nAbstraktes Profil\nFarbtonkennlinie +HISTORY_MSG_ILLUM;(Farbe - Farbmanagement)\nSzene\nBeleuchtung +HISTORY_MSG_LOCALCONTRAST_AMOUNT;(Details - Lokaler Kontrast)\nIntensität +HISTORY_MSG_LOCALCONTRAST_DARKNESS;(Details - Lokaler Kontrast)\nDunkle Bereiche +HISTORY_MSG_LOCALCONTRAST_ENABLED;(Details - Lokaler Kontrast) +HISTORY_MSG_LOCALCONTRAST_LIGHTNESS;(Details - Lokaler Kontrast)\nHelle Bereiche +HISTORY_MSG_LOCALCONTRAST_RADIUS;(Details - Lokaler Kontrast)\nRadius HISTORY_MSG_METADATA_MODE;(Metadaten)\nKopiermodus -HISTORY_MSG_MICROCONTRAST_CONTRAST;(Mikrokontrast)\nKontrastschwelle -HISTORY_MSG_PDSHARPEN_AUTO_CONTRAST;(Eingangsschärfung)\nAuto-Schwelle -HISTORY_MSG_PDSHARPEN_AUTO_RADIUS;(Eingangsschärfung)\nAuto-Radius -HISTORY_MSG_PDSHARPEN_CONTRAST;(Eingangsschärfung)\nKontrastschwelle -HISTORY_MSG_PDSHARPEN_GAMMA;(Eingangsschärfung)\nGamma -HISTORY_MSG_PDSHARPEN_ITERATIONS;(Eingangsschärfung)\nIterationen -HISTORY_MSG_PDSHARPEN_RADIUS;(Eingangsschärfung)\nRadius -HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;(Eingangsschärfung)\nRandschärfe erhöhen -HISTORY_MSG_PIXELSHIFT_DEMOSAIC;(Sensor-Matrix)\nFarbinterpolation - PS\nBewegungsmethode -HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;(Sensor-Matrix)\nVorverarbeitung\nRichtung -HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;(Sensor-Matrix)\nVorverarbeitung\nPDAF-Zeilenfilter -HISTORY_MSG_PRSHARPEN_CONTRAST;(Skalieren) - Schärfen\nKontrastschwelle -HISTORY_MSG_RAWCACORR_AUTOIT;(Sensor-Matrix)\nChromatische Aberration\nIterationen -HISTORY_MSG_RAWCACORR_COLORSHIFT;(Sensor-Matrix)\nChromatische Aberration\nFarbverschiebungen\nvermeiden -HISTORY_MSG_RAW_BORDER;(Sensor-Matrix)\nFarbinterpolation\nBildrand -HISTORY_MSG_RESIZE_ALLOWUPSCALING;(Skalieren)\nHochskalieren zulassen -HISTORY_MSG_SHARPENING_BLUR;(Schärfung)\nWeichzeichnerradius -HISTORY_MSG_SHARPENING_CONTRAST;(Schärfung)\nKontrastschwelle -HISTORY_MSG_SHARPENING_GAMMA;(Schärfung) - Gamma -HISTORY_MSG_SH_COLORSPACE;Farbraum -HISTORY_MSG_SOFTLIGHT_ENABLED;(Weiches Licht) -HISTORY_MSG_SOFTLIGHT_STRENGTH;(Weiches Licht)\nIntensität -HISTORY_MSG_TM_FATTAL_ANCHOR;(Dynamikkompression)\nHelligkeitsverschiebung +HISTORY_MSG_MICROCONTRAST_CONTRAST;(Details - Mikrokontrast)\nKontrastschwelle +HISTORY_MSG_PDSHARPEN_AUTO_CONTRAST;(RAW - Eingangsschärfung)\nAuto-Schwelle +HISTORY_MSG_PDSHARPEN_AUTO_RADIUS;(RAW - Eingangsschärfung)\nAuto-Radius +HISTORY_MSG_PDSHARPEN_CHECKITER;(RAW - Eingangsschärfung)\nIterationen automatisch limitieren +HISTORY_MSG_PDSHARPEN_CONTRAST;(RAW - Eingangsschärfung)\nKontrastschwelle +HISTORY_MSG_PDSHARPEN_ITERATIONS;(RAW - Eingangsschärfung)\nIterationen +HISTORY_MSG_PDSHARPEN_RADIUS;(RAW - Eingangsschärfung)\nRadius +HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;(RAW - Eingangsschärfung)\nRandschärfe erhöhen +HISTORY_MSG_PERSP_CAM_ANGLE;(Transformieren - Perspektive)\nKamerawinkel +HISTORY_MSG_PERSP_CAM_FL;(Transformieren - Perspektive)\nKamera +HISTORY_MSG_PERSP_CAM_SHIFT;(Transformieren - Perspektive)\nKamera +HISTORY_MSG_PERSP_CTRL_LINE;(Transformieren - Perspektive)\nKontrolllinien +HISTORY_MSG_PERSP_METHOD;(Transformieren - Perspektive)\nMethode +HISTORY_MSG_PERSP_PROJ_ANGLE;(Transformieren - Perspektive)\nWiederherstellen +HISTORY_MSG_PERSP_PROJ_ROTATE;(Transformieren - Perspektive)\nPCA-Rotation +HISTORY_MSG_PERSP_PROJ_SHIFT;(Transformieren - Perspektive)\nPCA +HISTORY_MSG_PIXELSHIFT_AVERAGE;(RAW - Sensor-MatrixPixelShift)\nFarbinterpolation - PS\nBewegungsdurchschnitt +HISTORY_MSG_PIXELSHIFT_DEMOSAIC;(RAW - Sensor-Matrix)\nFarbinterpolation - PS\nBewegungsmethode +HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;(RAW - Sensor-Matrix)\nVorverarbeitung\nRichtung +HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;(RAW - Sensor-Matrix)\nVorverarbeitung\nPDAF-Zeilenfilter +HISTORY_MSG_PREPROCWB_MODE;(RAW - Vorverarbeitung WB)\nModus +HISTORY_MSG_PROTAB;(Erweitert - Wavelet)\nTönung\nSchutz +HISTORY_MSG_PRSHARPEN_CONTRAST;(Transformieren - Skalieren)\nSchärfen\nKontrastschwelle +HISTORY_MSG_RANGEAB;(Erweitert - Wavelet)\nTönung\nBereich ab +HISTORY_MSG_RAWCACORR_AUTOIT;(RAW - Sensor-Matrix)\nChromatische Aberration\nIterationen +HISTORY_MSG_RAWCACORR_COLORSHIFT;(RAW - Sensor-Matrix)\nChromatische Aberration\nFarbverschiebungen vermeiden +HISTORY_MSG_RAW_BORDER;(RAW - Sensor-Matrix)\nFarbinterpolation\nBildrand +HISTORY_MSG_RESIZE_ALLOWUPSCALING;(Transformieren - Skalieren)\nHochskalieren zulassen +HISTORY_MSG_RESIZE_LONGEDGE;(Transformieren - Skalieren)\nLange Kante +HISTORY_MSG_RESIZE_SHORTEDGE;(Transformieren - Skalieren)\nKurze Kante +HISTORY_MSG_SHARPENING_BLUR;(Details - Schärfung)\nWeichzeichnerradius +HISTORY_MSG_SHARPENING_CONTRAST;(Details - Schärfung)\nKontrastschwelle +HISTORY_MSG_SH_COLORSPACE;(Belichtung - Schatten/Lichter)\nFarbraum +HISTORY_MSG_SIGMACOL;(Erweitert - Wavelet)\nFarbe\nDämpfungsreaktion +HISTORY_MSG_SIGMADIR;(Erweitert - Wavelet)\nEndretusche - direktionaler Kontrast\nDämpfungsreaktion +HISTORY_MSG_SIGMAFIN;(Erweitert - Wavelet)\nEndretusche - finaler Lokaler Kontrast\nDämpfungsreaktion +HISTORY_MSG_SIGMATON;(Erweitert - Wavelet)\nTönung\nDämpfungsreaktion +HISTORY_MSG_SOFTLIGHT_ENABLED;(Farbe - Weiches Licht) +HISTORY_MSG_SOFTLIGHT_STRENGTH;(Farbe - Weiches Licht)\nIntensität +HISTORY_MSG_SPOT;(Details - Flecken entfernen) +HISTORY_MSG_SPOT_ENTRY;(Details -Flecken entfernen)\nPunkt modifiziert +HISTORY_MSG_TEMPOUT;CAM02 Temperatur Automatik +HISTORY_MSG_THRESWAV;(Balance) Schwellenwert +HISTORY_MSG_TM_FATTAL_ANCHOR;(Belichtung - Dynamikkompression)\nHelligkeitsverschiebung +HISTORY_MSG_TRANS_METHOD;(Transformieren - Objektivkorrektur)\nMethode +HISTORY_MSG_WAVBALCHROM;(Erweitert - Wavelet)\nRauschreduzierung\nFarb-Equalizer +HISTORY_MSG_WAVBALLUM;(Erweitert - Wavelet)\nRauschreduzierung\nEqualizer Luminanz +HISTORY_MSG_WAVBL;(Erweitert - Wavelet)\nUnschärfeebenen +HISTORY_MSG_WAVCHR;(Erweitert - Wavelet)\nUnschärfeebenen\nChroma-Unschärfe +HISTORY_MSG_WAVCHROMCO;(Erweitert - Wavelet)\nRauschreduzierung\nChrominanz grob +HISTORY_MSG_WAVCHROMFI;(Erweitert - Wavelet)\nRauschreduzierung\nChrominanz fein +HISTORY_MSG_WAVCLARI;(Erweitert - Wavelet)\nSchärfemaske und Klarheit +HISTORY_MSG_WAVDENLH;(Erweitert - Wavelet)\nRauschreduzierung\nEbenen 5-6 +HISTORY_MSG_WAVDENOISE;(Erweitert - Wavelet)\nRauschreduzierung\nKurve Lokaler Kontrast +HISTORY_MSG_WAVDENOISEH;(Erweitert - Wavelet)\nLokaler Kontrast der oberen Ebenen +HISTORY_MSG_WAVDETEND;(Erweitert - Wavelet)\nEndretusche - finales Glätten\nDetails +HISTORY_MSG_WAVEDGS;(Erweitert - Wavelet)\nRestbild - Kompression\nKantenschutz +HISTORY_MSG_WAVGUIDH;(Erweitert - Wavelet)\nEndretusche - finales Glätten\nEqualizer Farbton +HISTORY_MSG_WAVHUE;(Erweitert - Wavelet)\nEqualizer Farbton +HISTORY_MSG_WAVLABGRID_VALUE;(Erweitert - Wavelet)\nTönung\nausgeschlossene Farben +HISTORY_MSG_WAVLEVDEN;(Erweitert - Wavelet)\nKontrast\nSchwellenwert hoher Kontrast +HISTORY_MSG_WAVLEVELSIGM;(Erweitert - Wavelet)\nRauschreduzierung\nRadius +HISTORY_MSG_WAVLEVSIGM;(Erweitert - Wavelet)\nRauschreduzierung\nRadius +HISTORY_MSG_WAVLIMDEN;(Erweitert - Wavelet)\nRauschreduzierung\nInteraktion der Ebenen 5-6 mit 1-4 +HISTORY_MSG_WAVLOWTHR;(Erweitert - Wavelet)\nKontrast\nSchwellenwert niedriger Kontrast +HISTORY_MSG_WAVMERGEC;(Erweitert - Wavelet)\nSchärfemaske und Klarheit\nChroma zusammenführen +HISTORY_MSG_WAVMERGEL;(Erweitert - Wavelet)\nSchärfemaske und Klarheit\nLuma zusammenführen +HISTORY_MSG_WAVMIXMET;(Erweitert - Wavelet)\nRauschreduzierung\nReferenz +HISTORY_MSG_WAVOFFSET;(Erweitert - Wavelet)\nKontrast\nVersatz +HISTORY_MSG_WAVOLDSH;(Erweitert - Wavelet)\nAlter Algorithmus +HISTORY_MSG_WAVQUAMET;(Erweitert - Wavelet)\nRauschreduzierung\nModus +HISTORY_MSG_WAVRADIUS;(Erweitert - Wavelet)\nRestbild - Schatten/Lichter\nRadius +HISTORY_MSG_WAVSCALE;(Erweitert - Wavelet)\nRestbild - Kompression\nSkalieren +HISTORY_MSG_WAVSHOWMASK;(Erweitert - Wavelet)\nSchärfemaske und Klarheit\nWaveletmaske anzeigen +HISTORY_MSG_WAVSIGM;(Erweitert - Wavelet)\nKontrast\nSigma +HISTORY_MSG_WAVSIGMA;(Erweitert - Wavelet)\nKontrast\nDämpfungsreaktion +HISTORY_MSG_WAVSLIMET;(Erweitert - Wavelet)\nRauschreduzierung\nMethode +HISTORY_MSG_WAVSOFTRAD;(Erweitert - Wavelet)\nSchärfemaske und Klarheit\nRadius +HISTORY_MSG_WAVSOFTRADEND;(Erweitert - Wavelet)\nEndretusche - finales Glätten\nRadius +HISTORY_MSG_WAVSTREND;(Erweitert - Wavelet)\nEndretusche - finales Glätten\nIntensität +HISTORY_MSG_WAVTHRDEN;(Erweitert - Wavelet)\nRauschreduzierung\nSchwellenwert +HISTORY_MSG_WAVTHREND;(Erweitert - Wavelet)\nEndretusche - finales Glätten\nSchwellenwert Lokaler Kontrast +HISTORY_MSG_WAVUSHAMET;(Erweitert - Wavelet)\nSchärfemaske und Klarheit\nMethode HISTORY_NEWSNAPSHOT;Hinzufügen HISTORY_NEWSNAPSHOT_TOOLTIP;Taste: Alt + s HISTORY_SNAPSHOT;Schnappschuss @@ -882,16 +1615,17 @@ ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Füge Gamma- und Steigungswerte der Beschrei ICCPROFCREATOR_DESCRIPTION_TOOLTIP;Wenn leer, wird die Standardbeschreibung verwendet. ICCPROFCREATOR_GAMMA;Gamma ICCPROFCREATOR_ICCVERSION;ICC-Version: -ICCPROFCREATOR_ILL;Illuminant: +ICCPROFCREATOR_ILL;Beleuchtung: ICCPROFCREATOR_ILL_41;D41 ICCPROFCREATOR_ILL_50;D50 ICCPROFCREATOR_ILL_55;D55 ICCPROFCREATOR_ILL_60;D60 +ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater ICCPROFCREATOR_ILL_65;D65 ICCPROFCREATOR_ILL_80;D80 ICCPROFCREATOR_ILL_DEF;Vorgabe ICCPROFCREATOR_ILL_INC;StdA 2856K -ICCPROFCREATOR_ILL_TOOLTIP;Illuminant kann nur bei ICC-v4-Profilen\nverwendet werden. +ICCPROFCREATOR_ILL_TOOLTIP;Illuminant kann nur bei ICC-v4-Profilen verwendet werden. ICCPROFCREATOR_PRIMARIES;Vorlage: ICCPROFCREATOR_PRIM_ACESP0;ACES AP0 ICCPROFCREATOR_PRIM_ACESP1;ACES AP1 @@ -901,6 +1635,7 @@ ICCPROFCREATOR_PRIM_BETA;BetaRGB ICCPROFCREATOR_PRIM_BLUX;Blau X ICCPROFCREATOR_PRIM_BLUY;Blau Y ICCPROFCREATOR_PRIM_BRUCE;BruceRGB +ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 ICCPROFCREATOR_PRIM_GREX;Grün X ICCPROFCREATOR_PRIM_GREY;Grün Y ICCPROFCREATOR_PRIM_PROPH;Prophoto @@ -908,60 +1643,60 @@ ICCPROFCREATOR_PRIM_REC2020;Rec2020 ICCPROFCREATOR_PRIM_REDX;Rot X ICCPROFCREATOR_PRIM_REDY;Rot Y ICCPROFCREATOR_PRIM_SRGB;sRGB -ICCPROFCREATOR_PRIM_TOOLTIP;Benutzerdefinierte Vorlagen können nur\nbei ICC-v4-Profilen verwendet werden. +ICCPROFCREATOR_PRIM_TOOLTIP;Benutzerdefinierte Vorlagen können nur bei ICC-v4-Profilen verwendet werden. ICCPROFCREATOR_PRIM_WIDEG;Widegamut ICCPROFCREATOR_PROF_V2;ICC v2 ICCPROFCREATOR_PROF_V4;ICC v4 ICCPROFCREATOR_SAVEDIALOG_TITLE;ICC-Profile speichern unter ... ICCPROFCREATOR_SLOPE;Steigung ICCPROFCREATOR_TRC_PRESET;Farbtonkennlinie: +INSPECTOR_WINDOW_TITLE;Inspektor IPTCPANEL_CATEGORY;Kategorie -IPTCPANEL_CATEGORYHINT;Beschreibt das Thema des Bildes nach\nMeinung des Anbieters. +IPTCPANEL_CATEGORYHINT;Beschreibt das Thema des Bildes nach Meinung des Anbieters. IPTCPANEL_CITY;Stadt -IPTCPANEL_CITYHINT;Tragen Sie den Namen der Stadt ein, in dem\ndieses Bild aufgenommen wurde. +IPTCPANEL_CITYHINT;Tragen Sie den Namen der Stadt ein, in dem dieses Bild aufgenommen wurde. IPTCPANEL_COPYHINT;IPTC-Werte in die Zwischenablage kopieren. IPTCPANEL_COPYRIGHT;Urheberrechtsvermerk -IPTCPANEL_COPYRIGHTHINT;Enthält jeglichen notwendigen Urheberrechtsvermerk wie\nz.B. © Copyright 2014 Erika Mustermann, all rights reserved. +IPTCPANEL_COPYRIGHTHINT;Enthält jeglichen notwendigen Urheberrechtsvermerk wie z.B. © Copyright 2014 Erika Mustermann, alle Rechte vorbehalten. IPTCPANEL_COUNTRY;Land -IPTCPANEL_COUNTRYHINT;Tragen Sie den Namen des Landes ein, in dem\ndieses Bild aufgenommen wurde. +IPTCPANEL_COUNTRYHINT;Tragen Sie den Namen des Landes ein, in dem dieses Bild aufgenommen wurde. IPTCPANEL_CREATOR;Ersteller -IPTCPANEL_CREATORHINT;Tragen Sie den Namen der Person ein,\ndie dieses Bild erstellt hat. +IPTCPANEL_CREATORHINT;Tragen Sie den Namen der Person ein, die dieses Bild erstellt hat. IPTCPANEL_CREATORJOBTITLE;Berufsbezeichnung des Erstellers -IPTCPANEL_CREATORJOBTITLEHINT;Geben Sie die Berufsbezeichnung der Person ein,\ndie im Feld Ersteller aufgeführt ist. +IPTCPANEL_CREATORJOBTITLEHINT;Geben Sie die Berufsbezeichnung der Person ein, die im Feld Ersteller aufgeführt ist. IPTCPANEL_CREDIT;Danksagung -IPTCPANEL_CREDITHINT;Geben Sie ein, wer aufgeführt werden muss,\nwenn das Bild veröffentlicht wird. +IPTCPANEL_CREDITHINT;Geben Sie ein, wer aufgeführt werden muss, wenn das Bild veröffentlicht wird. IPTCPANEL_DATECREATED;Erstellungsdatum -IPTCPANEL_DATECREATEDHINT;Geben Sie das Erstellungdatum des Bildes ein. +IPTCPANEL_DATECREATEDHINT;Geben Sie das Erstellungsdatum des Bildes ein. IPTCPANEL_DESCRIPTION;Beschreibung -IPTCPANEL_DESCRIPTIONHINT;Beschreiben Sie kurz "Wer", "Was" und "Warum",\nwas passiert in dem Bild und welche Rolle\nspielen die dargestellten Personen. +IPTCPANEL_DESCRIPTIONHINT;Beschreiben Sie kurz 'Wer', 'Was' und 'Warum', was passiert in dem Bild und welche Rolle spielen die dargestellten Personen. IPTCPANEL_DESCRIPTIONWRITER;Verfasser der Beschreibung -IPTCPANEL_DESCRIPTIONWRITERHINT;Tragen Sie den Namen der Person ein, die beim\nSchreiben, Ändern oder Korrigieren der Bildbe-\nschreibung involviert war. +IPTCPANEL_DESCRIPTIONWRITERHINT;Tragen Sie den Namen der Person ein, die beim Schreiben, Ändern oder Korrigieren der Bildbeschreibung involviert war. IPTCPANEL_EMBEDDED;Eingebettet IPTCPANEL_EMBEDDEDHINT;Setzt auf die im Bild eingebetteten IPTC-Daten zurück. IPTCPANEL_HEADLINE;Überschrift -IPTCPANEL_HEADLINEHINT;Tragen Sie eine kurze veröffentlichbare\nSynopsis, oder eine Zusammenfassung\ndes Bildinhalts ein. +IPTCPANEL_HEADLINEHINT;Tragen Sie eine kurze veröffentlichbare Synopsis, oder eine Zusammenfassung des Bildinhalts ein. IPTCPANEL_INSTRUCTIONS;Anweisungen -IPTCPANEL_INSTRUCTIONSHINT;Geben Sie weitere redaktionelle Anweisungen bezüglich\ndes Gebrauchs des Bildes ein, wie z. B. Sperrfristen,\nNutzungsbeschränkungen oder Warnungen, die nicht\nschon im Urheberrechtsvermerk aufgeführt sind. +IPTCPANEL_INSTRUCTIONSHINT;Geben Sie weitere redaktionelle Anweisungen bezüglich des Gebrauchs des Bildes ein, wie z.B. Sperrfristen, Nutzungsbeschränkungen oder Warnungen, die nicht schon im Urheberrechtsvermerk aufgeführt sind. IPTCPANEL_KEYWORDS;Stichwörter -IPTCPANEL_KEYWORDSHINT;Geben Sie beliebig viele Schlüsselwörter\nvon Ausdrücken oder Phrasen ein, um das\nThema des Bildes zu beschreiben. +IPTCPANEL_KEYWORDSHINT;Geben Sie beliebig viele Schlüsselwörter von Ausdrücken oder Phrasen ein, um das Thema des Bildes zu beschreiben. IPTCPANEL_PASTEHINT;IPTC-Werte aus der Zwischenablage einfügen -IPTCPANEL_PROVINCE;Bundesland / Kanton -IPTCPANEL_PROVINCEHINT;Tragen Sie den Namen des Bundeslandes / Kanton\nein, in dem dieses Bild aufgenommen wurde. +IPTCPANEL_PROVINCE;Bundesland/Kanton +IPTCPANEL_PROVINCEHINT;Tragen Sie den Namen des Bundeslandes/Kanton ein, in dem dieses Bild aufgenommen wurde. IPTCPANEL_RESET;Zurücksetzen IPTCPANEL_RESETHINT;Auf die im Profil gespeicherten Werte zurücksetzen IPTCPANEL_SOURCE;Quelle -IPTCPANEL_SOURCEHINT;Tragen Sie den Namen einer Person oder einer\nFirma ein, von der Sie das Bild erhalten haben\nund die eine wesentliche Rolle in der Lieferkette\nspielt. +IPTCPANEL_SOURCEHINT;Tragen Sie den Namen einer Person oder einer Firma ein, von der Sie das Bild erhalten haben und die eine wesentliche Rolle in der Lieferkette spielt. IPTCPANEL_SUPPCATEGORIES;Weitere Kategorien -IPTCPANEL_SUPPCATEGORIESHINT;Weitere Kategorien um das Thema\ndes Bildes genauer zu spezifizieren. +IPTCPANEL_SUPPCATEGORIESHINT;Weitere Kategorien um das Thema des Bildes genauer zu spezifizieren. IPTCPANEL_TITLE;Titel -IPTCPANEL_TITLEHINT;Geben Sie einen kurzen lesbaren Namen\nfür das Bild ein, z.B. den Dateinamen. +IPTCPANEL_TITLEHINT;Geben Sie einen kurzen lesbaren Namen für das Bild ein, z.B. den Dateinamen. IPTCPANEL_TRANSREFERENCE;Verarbeitungs-ID -IPTCPANEL_TRANSREFERENCEHINT;Geben Sie eine Kennung zur Kontrolle oder\nVerfolgung des Arbeitsablaufes ein. -LENSPROFILE_LENS_WARNING;Warnung: Der Cropfaktor des Profils entspricht nicht dem des Objektivs.\nDies kann zu einem fehlerhaften Ergebnis führen. +IPTCPANEL_TRANSREFERENCEHINT;Geben Sie eine Kennung zur Kontrolle oder Verfolgung des Arbeitsablaufes ein. MAIN_BUTTON_FULLSCREEN;Vollbild\nTaste: F11 MAIN_BUTTON_ICCPROFCREATOR;ICC-Profil erstellen. -MAIN_BUTTON_NAVNEXT_TOOLTIP;Navigiert zum nächsten Miniaturbild in der\nDateiverwaltung oder Filmstreifen bezogen\nauf das ausgewählte Miniaturbild.\nTaste: F4\n\nNavigiert zum nächsten Miniaturbild in der\nDateiverwaltung oder Filmstreifen bezogen\nauf auf das im Editor geöffnete Bild.\nTaste: Umschalt + F4 -MAIN_BUTTON_NAVPREV_TOOLTIP;Navigiert zum vorherigen Miniaturbild in der\nDateiverwaltung oder Filmstreifen bezogen\nauf das ausgewählte Miniaturbild.\nTaste: F3\n\nNavigiert zum vorherigen Miniaturbild in der\nDateiverwaltung oder Filmstreifen bezogen\nauf auf das im Editor geöffnete Bild.\nTaste: Umschalt + F3 +MAIN_BUTTON_NAVNEXT_TOOLTIP;Navigiert zum nächsten Miniaturbild in der\nDateiverwaltung oder Filmstreifen bezogen\nauf das ausgewählte Miniaturbild.\nTaste: F4\n\nNavigiert zum nächsten Miniaturbild in der\nDateiverwaltung oder Filmstreifen bezogen\nauf das im Editor geöffnete Bild.\nTaste: Umschalt + F4 +MAIN_BUTTON_NAVPREV_TOOLTIP;Navigiert zum vorherigen Miniaturbild in der\nDateiverwaltung oder Filmstreifen bezogen\nauf das ausgewählte Miniaturbild.\nTaste: F3\n\nNavigiert zum vorherigen Miniaturbild in der\nDateiverwaltung oder Filmstreifen bezogen\nauf das im Editor geöffnete Bild.\nTaste: Umschalt + F3 MAIN_BUTTON_NAVSYNC_TOOLTIP;Selektiert das Miniaturbild des aktuell geöffneten\nBildes in der Dateiverwaltung und des Filmstreifens.\nEs werden alle aktiven Filter gelöscht.\nTaste: x\n\nWie oben, jedoch ohne Löschung aktiver Filter. Das\nMiniaturbild des geöffneten Bildes wird nicht angezeigt,\nwenn es herausgefiltert wurde.\nTaste: y MAIN_BUTTON_PREFERENCES;Einstellungen MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;Bild zur Warteschlange hinzufügen.\nTaste: Strg + b @@ -993,23 +1728,25 @@ MAIN_MSG_PATHDOESNTEXIST;Der Pfad\n\n%1\n\nexistiert nicht. Bitte setzen MAIN_MSG_QOVERWRITE;Möchten Sie die Datei überschreiben? MAIN_MSG_SETPATHFIRST;Um diese Funktion zu nutzen, müssen Sie zuerst in den Einstellungen einen Zielpfad setzen. MAIN_MSG_TOOMANYOPENEDITORS;Zu viele geöffnete Editorfenster.\nUm fortzufahren, schließen sie bitte ein Editorfenster. -MAIN_MSG_WRITEFAILED;Fehler beim Schreiben von\n\n"%1"\n\nStellen Sie sicher, dass das Verzeichnis existiert und dass Sie Schreibrechte besitzen. +MAIN_MSG_WRITEFAILED;Fehler beim Schreiben von\n\n'%1'\n\nStellen Sie sicher, dass das Verzeichnis existiert und dass Sie Schreibrechte besitzen. MAIN_TAB_ADVANCED;Erweitert MAIN_TAB_ADVANCED_TOOLTIP;Taste: Alt + a MAIN_TAB_COLOR;Farbe MAIN_TAB_COLOR_TOOLTIP;Taste: Alt + c MAIN_TAB_DETAIL;Details MAIN_TAB_DETAIL_TOOLTIP;Taste: Alt + d -MAIN_TAB_DEVELOP; Batchbearbeitung +MAIN_TAB_DEVELOP;Batchbearbeitung MAIN_TAB_EXIF;Exif -MAIN_TAB_EXPORT; Schnell-Export +MAIN_TAB_EXPORT;Schnell-Export MAIN_TAB_EXPOSURE;Belichtung MAIN_TAB_EXPOSURE_TOOLTIP;Taste: Alt + e MAIN_TAB_FAVORITES;Favoriten MAIN_TAB_FAVORITES_TOOLTIP;Taste: Alt + u -MAIN_TAB_FILTER; Filter -MAIN_TAB_INSPECT; Prüfen +MAIN_TAB_FILTER;Filter +MAIN_TAB_INSPECT;Inspektor MAIN_TAB_IPTC;IPTC +MAIN_TAB_LOCALLAB;Lokal +MAIN_TAB_LOCALLAB_TOOLTIP;Taste: Alt-o MAIN_TAB_METADATA;Metadaten MAIN_TAB_METADATA_TOOLTIP;Taste: Alt + m MAIN_TAB_RAW;RAW @@ -1020,7 +1757,7 @@ MAIN_TOOLTIP_BACKCOLOR0;Hintergrundfarbe der Vorschau basierend auf dem Oberf MAIN_TOOLTIP_BACKCOLOR1;Hintergrundfarbe der Vorschau: Schwarz\nTaste: 9 MAIN_TOOLTIP_BACKCOLOR2;Hintergrundfarbe der Vorschau: Weiß\nTaste: 9 MAIN_TOOLTIP_BACKCOLOR3;Hintergrundfarbe der Vorschau: Mittleres Grau\nTaste: 9 -MAIN_TOOLTIP_BEFOREAFTERLOCK;Vorher-Ansicht: Sperren / Entsperren\n\nGesperrt: Friert die Vorher-Ansicht ein, so\ndass sich die Gesamtwirkung mehrerer\nBearbeitungsschritte beurteilen lässt.\n\nEntsperrt: Die Vorher-Ansicht hinkt dem\naktuellen Bild immer einen Bearbeitungs-\nschritt hinterher. +MAIN_TOOLTIP_BEFOREAFTERLOCK;Vorher-Ansicht: Sperren / Entsperren\n\nGesperrt: Friert die Vorher-Ansicht ein,\nsodass sich die Gesamtwirkung mehrerer\nBearbeitungsschritte beurteilen lässt.\n\nEntsperrt: Die Vorher-Ansicht hinkt dem\naktuellen Bild immer einen Bearbeitungs-\nschritt hinterher. MAIN_TOOLTIP_HIDEHP;Linkes Bedienfeld ein-/ausblenden.\nTaste: l MAIN_TOOLTIP_INDCLIPPEDH;Anzeige zu heller Bereiche ein-/ausschalten.\nTaste: > MAIN_TOOLTIP_INDCLIPPEDS;Anzeige zu dunkler Bereiche ein-/ausschalten.\nTaste: < @@ -1034,7 +1771,7 @@ MAIN_TOOLTIP_QINFO;Bildinformationen ein-/ausblenden.\nTaste: i MAIN_TOOLTIP_SHOWHIDELP1;Linkes Bedienfeld ein-/ausblenden.\nTaste: l MAIN_TOOLTIP_SHOWHIDERP1;Rechtes Bedienfeld ein-/ausblenden.\nTaste: Alt + l MAIN_TOOLTIP_SHOWHIDETP1;Oberes Bedienfeld ein-/ausblenden.\nTaste: Umschalt + l -MAIN_TOOLTIP_THRESHOLD;Schwelle +MAIN_TOOLTIP_THRESHOLD;Schwellenwert MAIN_TOOLTIP_TOGGLE;Vorher/Nachher-Ansicht ein-/ausschalten.\nTaste: Umschalt + b MONITOR_PROFILE_SYSTEM;Systemvorgabe NAVIGATOR_B;B: @@ -1049,7 +1786,7 @@ NAVIGATOR_S;S: NAVIGATOR_V;V: NAVIGATOR_XY_FULL;Breite = %1, Höhe = %2 NAVIGATOR_XY_NA;x: --, y: -- -OPTIONS_BUNDLED_MISSING;Das mitgelieferte Profil %1 konnte nicht gefunden werden!\n\nIhre Installation könnte beschädigt sein.\n\nEs werden die internen Standardwerte verwendet. +OPTIONS_BUNDLED_MISSING;Das mitgelieferte Profil %1 konnte nicht gefunden werden.\n\nIhre Installation könnte beschädigt sein.\n\nEs werden die internen Standardwerte verwendet. OPTIONS_DEFIMG_MISSING;Das Standardprofil für Bilddateien wurde nicht gefunden oder ist beschädigt.\n\nBitte überprüfen Sie das Verzeichnis Ihrer Profile.\n\nProfil %1 wird stattdessen verwendet. OPTIONS_DEFRAW_MISSING;Das Standardprofil für RAW-Dateien wurde nicht gefunden oder ist beschädigt.\n\nBitte überprüfen Sie das Verzeichnis Ihrer Profile.\n\nProfil %1 wird stattdessen verwendet. PARTIALPASTE_ADVANCEDGROUP;Erweiterte Einstellungen @@ -1057,8 +1794,8 @@ PARTIALPASTE_BASICGROUP;Basisparameter PARTIALPASTE_CACORRECTION;Farbsaum entfernen PARTIALPASTE_CHANNELMIXER;RGB-Kanalmixer PARTIALPASTE_CHANNELMIXERBW;Schwarz/Weiß -PARTIALPASTE_COARSETRANS;Drehen / Spiegeln -PARTIALPASTE_COLORAPP;CIE Color Appearance Model 2002 +PARTIALPASTE_COARSETRANS;Drehen/Spiegeln +PARTIALPASTE_COLORAPP;Farberscheinung und Beleuchtung PARTIALPASTE_COLORGROUP;Farbparameter PARTIALPASTE_COLORTONING;Farbanpassungen PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto-Füllen @@ -1075,10 +1812,10 @@ PARTIALPASTE_DIRPYREQUALIZER;Detailebenenkontrast PARTIALPASTE_DISTORTION;Verzeichnungskorrektur PARTIALPASTE_EPD;Tonwertkorrektur PARTIALPASTE_EQUALIZER;Wavelet -PARTIALPASTE_EVERYTHING;Alle Parameter aktivieren / deaktivieren +PARTIALPASTE_EVERYTHING;Alle Parameter aktivieren/deaktivieren PARTIALPASTE_EXIFCHANGES;Änderungen an Exif-Daten PARTIALPASTE_EXPOSURE;Belichtung -PARTIALPASTE_FILMNEGATIVE;Filmnegativ +PARTIALPASTE_FILMNEGATIVE;Negativfilm PARTIALPASTE_FILMSIMULATION;Filmsimulation PARTIALPASTE_FLATFIELDAUTOSELECT;Weißbild: Automatische Auswahl PARTIALPASTE_FLATFIELDBLURRADIUS;Weißbild: Unschärferadius @@ -1086,7 +1823,7 @@ PARTIALPASTE_FLATFIELDBLURTYPE;Weißbild: Unschärfetyp PARTIALPASTE_FLATFIELDCLIPCONTROL;Weißbild: Kontrolle zu heller Bereiche PARTIALPASTE_FLATFIELDFILE;Weißbild: Datei PARTIALPASTE_GRADIENT;Grauverlaufsfilter -PARTIALPASTE_HSVEQUALIZER;Farbton (H) / Sättigung (S) / Dynamik (V) +PARTIALPASTE_HSVEQUALIZER;Farbton (H)/Sättigung (S)/Dynamik (V) PARTIALPASTE_ICMSETTINGS;ICM-Einstellungen PARTIALPASTE_IMPULSEDENOISE;Impulsrauschreduzierung PARTIALPASTE_IPTCINFO;IPTC-Informationen @@ -1094,6 +1831,8 @@ PARTIALPASTE_LABCURVE;L*a*b* - Einstellungen PARTIALPASTE_LENSGROUP;Objektivkorrekturen PARTIALPASTE_LENSPROFILE;Objektivkorrekturprofil PARTIALPASTE_LOCALCONTRAST;Lokaler Kontrast +PARTIALPASTE_LOCALLAB;Lokale Anpassungen +PARTIALPASTE_LOCALLABGROUP;Lokale Anpassungen PARTIALPASTE_METADATA;Kopiermodus PARTIALPASTE_METAGROUP;Metadaten PARTIALPASTE_PCVIGNETTE;Vignettierungsfilter @@ -1103,10 +1842,11 @@ PARTIALPASTE_PREPROCESS_GREENEQUIL;Vorverarbeitung: Grün-Ausgleich PARTIALPASTE_PREPROCESS_HOTPIXFILT;Vorverarbeitung: Hot-Pixel-Filter PARTIALPASTE_PREPROCESS_LINEDENOISE;Vorverarbeitung: Zeilenrauschfilter PARTIALPASTE_PREPROCESS_PDAFLINESFILTER;Vorverarbeitung: PDAF-Zeilenfilter +PARTIALPASTE_PREPROCWB;Vorverarbeitung Weißabgleich PARTIALPASTE_PRSHARPENING;Schärfung nach Größenänderung PARTIALPASTE_RAWCACORR_AUTO;Chromatische Aberration: Automatische Korrektur PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;Chromatische Aberration: Farbverschiebungen vermeiden -PARTIALPASTE_RAWCACORR_CAREDBLUE;Chromatische Aberration: Rot & Blau +PARTIALPASTE_RAWCACORR_CAREDBLUE;Chromatische Aberration: Rot/Blau PARTIALPASTE_RAWEXPOS_BLACK;Weißpunkt: Schwarzpegel PARTIALPASTE_RAWEXPOS_LINEAR;Weißpunkt: Korrekturfaktor PARTIALPASTE_RAWGROUP;RAW @@ -1127,6 +1867,7 @@ PARTIALPASTE_SHARPENEDGE;Kantenschärfung PARTIALPASTE_SHARPENING;Schärfung PARTIALPASTE_SHARPENMICRO;Mikrokontrast PARTIALPASTE_SOFTLIGHT;Weiches Licht +PARTIALPASTE_SPOT;Flecken entfernen PARTIALPASTE_TM_FATTAL;Dynamikkompression PARTIALPASTE_VIBRANCE;Dynamik PARTIALPASTE_VIGNETTING;Vignettierungskorrektur @@ -1162,11 +1903,17 @@ PREFERENCES_CHUNKSIZE_RAW_CA;RAW-CA-Korrektur PREFERENCES_CHUNKSIZE_RAW_RCD;RCD-Farbinterpolation PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans-Farbinterpolation PREFERENCES_CHUNKSIZE_RGB;RGB-Verarbeitung +PREFERENCES_CIE;CIECAM +PREFERENCES_CIEARTIF;Artefakte vermeiden PREFERENCES_CLIPPINGIND;Anzeige zu heller/dunkler Bereiche PREFERENCES_CLUTSCACHE;HaldCLUT-Zwischenspeicher PREFERENCES_CLUTSCACHE_LABEL;Maximale Anzahl CLUTs im Zwischenspeicher PREFERENCES_CLUTSDIR;HaldCLUT-Verzeichnis PREFERENCES_CMMBPC;Schwarzpunkt-Kompensation +PREFERENCES_COMPLEXITYLOC;Vorgabe Komplexität für Lokale Anpassungen +PREFERENCES_COMPLEXITY_EXP;Erweitert +PREFERENCES_COMPLEXITY_NORM;Standard +PREFERENCES_COMPLEXITY_SIMP;Basis PREFERENCES_CROP;Einstellung des Ausschnittswerkzeuges PREFERENCES_CROP_AUTO_FIT;Automatischer Zoom des Ausschnitts PREFERENCES_CROP_GUIDES;Hilfslinien anzeigen wenn Ausschnitt nicht verändert wird @@ -1198,6 +1945,12 @@ PREFERENCES_DIRSELECTDLG;Wähle das Bild-Verzeichnis beim Programmstart... PREFERENCES_DIRSOFTWARE;Installationsverzeichnis PREFERENCES_EDITORCMDLINE;Benutzerdefinierte Befehlszeile PREFERENCES_EDITORLAYOUT;Editor-Layout +PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass Ausgabeprofil +PREFERENCES_EXTEDITOR_DIR;Ausgabeverzeichnis +PREFERENCES_EXTEDITOR_DIR_CURRENT;Derselbe Ordner wie Bild +PREFERENCES_EXTEDITOR_DIR_CUSTOM;Benutzerdefiniert +PREFERENCES_EXTEDITOR_DIR_TEMP;Temp-Ordner Betriebssystem +PREFERENCES_EXTEDITOR_FLOAT32;Ausgabe in 32-bit (float) TIFF PREFERENCES_EXTERNALEDITOR;Externer Editor PREFERENCES_FBROWSEROPTS;Bildinformationen und Miniaturbilder PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Einzeilige Toolbar @@ -1215,9 +1968,10 @@ PREFERENCES_HISTOGRAM_TOOLTIP;Wenn aktiviert, wird das Arbeitsprofil für die Da PREFERENCES_HLTHRESHOLD;Lichter - Schwelle PREFERENCES_ICCDIR;ICC-Profile-Verzeichnis PREFERENCES_IMPROCPARAMS;Standard-Bearbeitungsprofile +PREFERENCES_INSPECTORWINDOW;Inspektor in eigenem Fullscreen-Fenster öffnen PREFERENCES_INSPECT_LABEL;Bildzwischenspeicher PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Maximale Anzahl Bilder im Zwischenspeicher -PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Legt die maximale Anzahl Bilder fest, die im Zwischenspeicher gehalten werden, wenn man in der Dateiverwaltung mit der Maus über ein Bild fährt.\n\nAuf Systemen mit nicht mehr als 2GB RAM, sollte der Wert nicht größer als 2 gewählt werden. +PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Legt die maximale Anzahl Bilder fest, die im Zwischenspeicher gehalten werden, wenn man in der Dateiverwaltung mit der Maus über ein Bild fährt.\n\nAuf Systemen mit nicht mehr als 2GB RAM sollte der Wert nicht größer als 2 gewählt werden. PREFERENCES_INTENT_ABSOLUTE;Absolut farbmetrisch PREFERENCES_INTENT_PERCEPTUAL;Wahrnehmungsabhängig PREFERENCES_INTENT_RELATIVE;Relativ farbmetrisch @@ -1226,13 +1980,13 @@ PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Zeige das eingebettete JPEG als Miniaturbil PREFERENCES_LANG;Sprache PREFERENCES_LANGAUTODETECT;Systemsprache verwenden PREFERENCES_MAXRECENTFOLDERS;Maximale Anzahl der letzten Dateien -PREFERENCES_MENUGROUPEXTPROGS;Untermenü "Öffnen mit" +PREFERENCES_MENUGROUPEXTPROGS;Untermenü 'Öffnen mit' PREFERENCES_MENUGROUPFILEOPERATIONS;Untermenü Dateioperationen PREFERENCES_MENUGROUPLABEL;Untermenü Farbmarkierung PREFERENCES_MENUGROUPPROFILEOPERATIONS;Untermenü Profiloperationen PREFERENCES_MENUGROUPRANK;Untermenü Bewertung PREFERENCES_MENUOPTIONS;Menüoptionen -PREFERENCES_MONINTENT;Standard-Rendering-Intent +PREFERENCES_MONINTENT;Standard Monitor-Wiedergabe PREFERENCES_MONITOR;Monitor PREFERENCES_MONPROFILE;Standardfarbprofil PREFERENCES_MONPROFILE_WARNOSX;Aufgrund einer macOS-Limitierung wird nur sRGB unterstützt. @@ -1268,11 +2022,11 @@ PREFERENCES_PROFILESAVEINPUT;Bearbeitungsprofile zusammen mit dem Bild speichern PREFERENCES_PROFILESAVELOCATION;Speicherort der Profile PREFERENCES_PROFILE_NONE;Kein Farbprofil PREFERENCES_PROPERTY;Eigenschaft -PREFERENCES_PRTINTENT;Rendering-Intent +PREFERENCES_PRTINTENT;Wiedergabe PREFERENCES_PRTPROFILE;Farbprofil PREFERENCES_PSPATH;Adobe Photoshop Installationsverzeichnis PREFERENCES_REMEMBERZOOMPAN;Zoom und Bildposition merken -PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Öffnen eines neuen Bildes mit den Zoom- und Positionswerten\ndes vorangegangenen Bildes.\n\nFunktioniert nur unter folgenden Bedingungen:\nEin-Reitermodus aktiv\n“Demosaikmethode für 100%-Ansicht“ muss auf “Wie im Bild-\nverarbeitungsprofil vorgegeben“ eingestellt sein. +PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Öffnen eines neuen Bildes mit den Zoom- und Positionswerten des vorangegangenen Bildes.\n\nFunktioniert nur unter folgenden Bedingungen:\nEin-Reitermodus aktiv\n'Demosaikmethode für 100%-Ansicht' muss auf 'Wie im Bildverarbeitungsprofil vorgegeben' eingestellt sein. PREFERENCES_SAVE_TP_OPEN_NOW;Werkzeugstatus jetzt speichern PREFERENCES_SELECTLANG;Sprache PREFERENCES_SERIALIZE_TIFF_READ;TIFF-Bilder @@ -1283,10 +2037,11 @@ PREFERENCES_SHOWBASICEXIF;Exif-Daten anzeigen PREFERENCES_SHOWDATETIME;Datum und Uhrzeit anzeigen PREFERENCES_SHOWEXPOSURECOMPENSATION;Belichtungskorrektur anfügen PREFERENCES_SHOWFILMSTRIPTOOLBAR;Toolbar oberhalb des Filmstreifens anzeigen +PREFERENCES_SHOWTOOLTIP;Anzeigen der Tooltips für Lokale Anpassungen PREFERENCES_SHTHRESHOLD;Schatten - Schwelle PREFERENCES_SINGLETAB;Ein-Reitermodus PREFERENCES_SINGLETABVERTAB;Ein-Reitermodus (vertikale Reiter) -PREFERENCES_SND_HELP;Geben Sie einen Pfad zu einer Sounddatei oder einen Systemklang ein.\n\nBeispiel Systemklänge:\nWindows: SystemDefault, SystemAsterisk ...\nLinux: complete, window-attention ...\n +PREFERENCES_SND_HELP;Geben Sie einen Pfad zu einer Sound-Datei ein, oder geben Sie nichts ein für keinen Sound. Für Systemklänge: \nWindows: SystemDefault, SystemAsterisk ...\nLinux: complete, window-attention … PREFERENCES_SND_LNGEDITPROCDONE;Bearbeitung abgeschlossen PREFERENCES_SND_QUEUEDONE;Warteschlange abgearbeitet PREFERENCES_SND_THRESHOLDSECS;Verzögerung in Sekunden @@ -1306,12 +2061,13 @@ PREFERENCES_TP_LABEL;Werkzeugbereich: PREFERENCES_TP_VSCROLLBAR;Keine vertikale Scrollbar PREFERENCES_USEBUNDLEDPROFILES;Standardprofile verwenden PREFERENCES_WORKFLOW;Layout +PREFERENCES_ZOOMONSCROLL;Bilder zoomen per scrollen PROFILEPANEL_COPYPPASTE;Zu kopierende Parameter PROFILEPANEL_GLOBALPROFILES;Standardprofile PROFILEPANEL_LABEL;Bearbeitungsprofile PROFILEPANEL_LOADDLGLABEL;Bearbeitungsparameter laden... PROFILEPANEL_LOADPPASTE;Zu ladende Parameter -PROFILEPANEL_MODE_TIP;Ist der Button aktiviert, werden Teilprofile\nals vollständige Profile geladen.\nFehlende Parameter werden durch\nStandardwerte aufgefüllt. +PROFILEPANEL_MODE_TOOLTIP;Ist der Button aktiviert, werden Teilprofile\nals vollständige Profile geladen.\nFehlende Parameter werden durch\nStandardwerte aufgefüllt. PROFILEPANEL_MYPROFILES;Meine Profile PROFILEPANEL_PASTEPPASTE;Einzufügende Parameter PROFILEPANEL_PCUSTOM;Benutzerdefiniert @@ -1326,9 +2082,9 @@ PROFILEPANEL_TOOLTIPLOAD;Profil aus Datei laden.\n\nStrg-Taste beim Klicken fest PROFILEPANEL_TOOLTIPPASTE;Profil aus Zwischenablage einfügen.\n\nStrg-Taste beim Klicken festhalten, um\neinzufügende Parameter auszuwählen. PROFILEPANEL_TOOLTIPSAVE;Profil speichern.\n\nStrg-Taste beim Klicken festhalten, um\nzu speichernde Parameter auszuwählen. PROGRESSBAR_DECODING;Dekodiere... -PROGRESSBAR_GREENEQUIL;Grünbalance... +PROGRESSBAR_GREENEQUIL;Grün-Balance... PROGRESSBAR_HLREC;Lichterrekonstruktion... -PROGRESSBAR_HOTDEADPIXELFILTER;Hot/Dead-Pixel-Filter... +PROGRESSBAR_HOTDEADPIXELFILTER;Hot-/Dead-Pixel-Filter... PROGRESSBAR_LINEDENOISE;Linienrauschfilter... PROGRESSBAR_LOADING;Lade Bild... PROGRESSBAR_LOADINGTHUMBS;Lade Miniaturbilder... @@ -1356,9 +2112,9 @@ QUEUE_DESTFILENAME;Pfad und Dateiname QUEUE_FORMAT_TITLE;Dateiformat QUEUE_LOCATION_FOLDER;In dieses Verzeichnis speichern QUEUE_LOCATION_TEMPLATE;Dynamisches Verzeichnis verwenden -QUEUE_LOCATION_TEMPLATE_TOOLTIP;Die folgenden Variablen können verwendet werden:\n%f, %d1, %d2, ..., %p1, %p2, ..., %r, %s1, %s2, ...\n\nDiese Variablen beinhalten bestimmte Teile des Verzeichnispfades, in welchem sich das Bild befindet, oder Attribute des Bildes.\n\nWenn zum Beispiel /home/tom/photos/2010-10-31/dsc0042.nef geöffnet wurde, dann haben die Variablen den folgenden Inhalt:\n%d4 = home\n%d3 = tom\n%d2 = photos\n%d1 = 2010-10-31\n%f = dsc0042\n%p1 = /home/tom/photos/2010-10-31\n%p2 = /home/tom/photos\n%p3 = /home/tom\n%p4 = /home\n\nWenn Sie die Ausgabedatei in dasselbe Verzeichnis wie das Originalbild speichern wollen, dann wählen Sie:\n%p1/%f\n\nWenn Sie die Ausgabedatei in ein Unterverzeichnis mit dem Namen "converted" schreiben wollen, dann wählen Sie:\n%p1/converted/%f\n\nWenn Sie die Ausgabedatei im Verzeichnispfad "/home/tom/photos/converted" speichern wollen, dort jedoch in einem mit dem Namen des Ursprungsverzeichnisses betitelten Unterverzeichnis, dann wählen Sie:\n%p2/converted/%d1/%f\n\nDie Variable %r enthält die Bewertung des Bildes. +QUEUE_LOCATION_TEMPLATE_TOOLTIP;Die folgenden Variablen können verwendet werden:\n%f, %d1, %d2, ..., %p1, %p2, ..., %r, %s1, %s2, ...\n\nDiese Variablen beinhalten bestimmte Teile des Verzeichnispfades, in welchem sich das Bild befindet, oder Attribute des Bildes.\n\nWenn zum Beispiel /home/tom/photos/2010-10-31/dsc0042.nef geöffnet wurde, dann haben die Variablen den folgenden Inhalt:\n%d4 = home\n%d3 = tom\n%d2 = photos\n%d1 = 2010-10-31\n%f = dsc0042\n%p1 = /home/tom/photos/2010-10-31\n%p2 = /home/tom/photos\n%p3 = /home/tom\n%p4 = /home\n\nWenn Sie die Ausgabedatei in dasselbe Verzeichnis wie das Originalbild speichern wollen, dann wählen Sie:\n%p1/%f\n\nWenn Sie die Ausgabedatei in ein Unterverzeichnis mit dem Namen 'converted' schreiben wollen, dann wählen Sie:\n%p1/converted/%f\n\nWenn Sie die Ausgabedatei im Verzeichnispfad '/home/tom/photos/converted' speichern wollen, dort jedoch in einem mit dem Namen des Ursprungsverzeichnisses betitelten Unterverzeichnis, dann wählen Sie:\n%p2/converted/%d1/%f\n\nDie Variable %r enthält die Bewertung des Bildes. QUEUE_LOCATION_TITLE;Ausgabeverzeichnis -QUEUE_STARTSTOP_TOOLTIP;Startet / Stoppt die Verarbeitung\nder Warteschlange.\n\nTaste: Strg + s +QUEUE_STARTSTOP_TOOLTIP;Startet/Stoppt die Verarbeitung\nder Warteschlange.\n\nTaste: Strg + s SAMPLEFORMAT_0;Unbekanntes Datenformat SAMPLEFORMAT_1;8 Bit ohne Vorzeichen SAMPLEFORMAT_2;16 Bit ohne Vorzeichen @@ -1369,7 +2125,7 @@ SAMPLEFORMAT_32;24 Bit Gleitkomma SAMPLEFORMAT_64;32 Bit Gleitkomma SAVEDLG_AUTOSUFFIX;Suffix anfügen, wenn die Datei bereits existiert SAVEDLG_FILEFORMAT;Dateiformat -SAVEDLG_FILEFORMAT_FLOAT; Fließkomma +SAVEDLG_FILEFORMAT_FLOAT;Fließkomma SAVEDLG_FORCEFORMATOPTS;Erzwinge Speicheroptionen SAVEDLG_JPEGQUAL;JPEG-Qualität SAVEDLG_PUTTOQUEUE;Zur Warteschlange hinzufügen @@ -1385,8 +2141,14 @@ SAVEDLG_SUBSAMP_TOOLTIP;Beste Kompression: 4:2:0\nAusgeglichen: 4:2:2\nBeste Qua SAVEDLG_TIFFUNCOMPRESSED;Unkomprimiertes TIFF SAVEDLG_WARNFILENAME;Die Datei wird gespeichert als SHCSELECTOR_TOOLTIP;Um die 3 Regler zurückzusetzen, rechte Maustaste klicken. -SOFTPROOF_GAMUTCHECK_TOOLTIP;Markiert Pixel deren Farbe außerhalb des Farbumfangs liegen in Abhängigkeit des:\n- Druckerprofils, wenn eines eingestellt und Soft-Proofing aktiviert ist.\n- Ausgabeprofils, wenn ein Druckerprofil nicht eingestellt und Soft-Proofing aktiviert ist.\n- Monitorprofils, wenn Soft-Proofing deaktiviert ist. +SOFTPROOF_GAMUTCHECK_TOOLTIP;Markiert Pixel, deren Farbe außerhalb des Farbumfangs liegen in Abhängigkeit des:\n- Druckerprofils, wenn eines eingestellt und Soft-Proofing aktiviert ist.\n- Ausgabeprofils, wenn ein Druckerprofil nicht eingestellt und Soft-Proofing aktiviert ist.\n- Monitorprofils, wenn Soft-Proofing deaktiviert ist. SOFTPROOF_TOOLTIP;Soft-Proofing simuliert das Aussehen des Bildes:\n- für den Druck, wenn ein Druckerprofil unter Einstellungen > Farbmanagement eingestellt ist.\n- wenn es auf einem Bildschirm dargestellt wird, der das aktuelle Ausgabeprofil verwendet und kein Druckerprofil eingestellt ist. +TC_PRIM_BLUX;Bx +TC_PRIM_BLUY;By +TC_PRIM_GREX;Gx +TC_PRIM_GREY;Gy +TC_PRIM_REDX;Rx +TC_PRIM_REDY;Ry THRESHOLDSELECTOR_B;Unten THRESHOLDSELECTOR_BL;Unten-Links THRESHOLDSELECTOR_BR;Unten-Rechts @@ -1397,35 +2159,36 @@ THRESHOLDSELECTOR_TR;Oben-Rechts TOOLBAR_TOOLTIP_COLORPICKER;Farbwähler\n\nWenn eingeschaltet:\n- Mit der linken Maustaste können Sie einen Farbwähler setzen.\n- Zum Verschieben, linke Maustaste festhalten.\n- Strg + Umschalttaste + Rechts-Klick entfernt alle Farbwähler.\n- Rechts-Klick auf den Farbwählerbutton blendet die Farbwähler ein/aus\n- Rechts-Klick in einen freien Bereich schaltet auf das Hand-Werkzeug zurück. TOOLBAR_TOOLTIP_CROP;Ausschnitt wählen.\nTaste: c\n\nZum Verschieben des Ausschnitts,\nUmschalttaste festhalten. TOOLBAR_TOOLTIP_HAND;Hand-Werkzeug\nTaste: h -TOOLBAR_TOOLTIP_STRAIGHTEN;Ausrichten / Drehen\nTaste: s\n\nRichtet das Bild entlang einer Leitlinie aus. +TOOLBAR_TOOLTIP_PERSPECTIVE;Perspektivkorrektur\n\nMit dem Editieren der Kontrolllinien können perspektivische Verzerrungen korrigiert werden. Ein erneuter Klick auf diesen Button wendet die Korrektur an. +TOOLBAR_TOOLTIP_STRAIGHTEN;Ausrichten/Drehen\nTaste: s\n\nRichtet das Bild entlang einer Leitlinie aus. TOOLBAR_TOOLTIP_WB;Weißabgleich manuell setzen.\nTaste: w TP_BWMIX_ALGO;OYCPM-Algorithmus TP_BWMIX_ALGO_LI;Linear TP_BWMIX_ALGO_SP;Spezialeffekte TP_BWMIX_ALGO_TOOLTIP;Linear liefert ein lineares Ergebnis.\nSpezialeffekte liefert einen speziellen Effekt durch Mischen von Kanälen. TP_BWMIX_AUTOCH;Auto -TP_BWMIX_CC_ENABLED;Komplemantärfarbe anpassen +TP_BWMIX_CC_ENABLED;Komplementärfarbe anpassen. TP_BWMIX_CC_TOOLTIP;Aktiviert die automatische Anpassung der\nKomplementärfarbe im ROYGCBPM-Modus. TP_BWMIX_CHANNEL;Luminanzequalizer -TP_BWMIX_CURVEEDITOR1;“Bevor“-Kurve -TP_BWMIX_CURVEEDITOR2;“Danach“-Kurve +TP_BWMIX_CURVEEDITOR1;'Bevor'-Kurve +TP_BWMIX_CURVEEDITOR2;'Danach'-Kurve TP_BWMIX_CURVEEDITOR_AFTER_TOOLTIP;Die Tonwertkurve wird NACH der Schwarz/Weiß-\nKonvertierung angewendet. TP_BWMIX_CURVEEDITOR_BEFORE_TOOLTIP;Die Tonwertkurve wird VOR der Schwarz/Weiß-\nKonvertierung angewendet. -TP_BWMIX_CURVEEDITOR_LH_TOOLTIP;Luminanz als Funktion des Farbtons L = f(H).\nZu hohe Werte können zu Artefakten führen. +TP_BWMIX_CURVEEDITOR_LH_TOOLTIP;Luminanz als Funktion des Farbtons L=f(H).\nZu hohe Werte können zu Artefakten führen. TP_BWMIX_FILTER;Farbfilter TP_BWMIX_FILTER_BLUE;Blau -TP_BWMIX_FILTER_BLUEGREEN;Blau-Grün +TP_BWMIX_FILTER_BLUEGREEN;Blau/Grün TP_BWMIX_FILTER_GREEN;Grün -TP_BWMIX_FILTER_GREENYELLOW;Grün-Gelb +TP_BWMIX_FILTER_GREENYELLOW;Grün/Gelb TP_BWMIX_FILTER_NONE;Keiner TP_BWMIX_FILTER_PURPLE;Violett TP_BWMIX_FILTER_RED;Rot -TP_BWMIX_FILTER_REDYELLOW;Rot-Gelb +TP_BWMIX_FILTER_REDYELLOW;Rot/Gelb TP_BWMIX_FILTER_TOOLTIP;Der Farbfilter simuliert Aufnahmen wie mit einem auf dem Objektiv montierten farbigen Filter. Farbfilter reduzieren die Durchlässigkeit für einen speziellen Farbbereich und verändern dementsprechend die Helligkeit.\n\nz.B. verdunkelt ein Rotfilter blauen Himmel. TP_BWMIX_FILTER_YELLOW;Gelb TP_BWMIX_GAMMA;Gammakorrektur TP_BWMIX_GAM_TOOLTIP;Korrigiert Gamma für einzelne RGB-Kanäle. -TP_BWMIX_LABEL;Schwarz / Weiß +TP_BWMIX_LABEL;Schwarz/Weiß TP_BWMIX_MET;Methode TP_BWMIX_MET_CHANMIX;Kanalmixer TP_BWMIX_MET_DESAT;Entsättigung @@ -1460,10 +2223,10 @@ TP_BWMIX_VAL;L TP_CACORRECTION_BLUE;Blau TP_CACORRECTION_LABEL;Farbsaum entfernen TP_CACORRECTION_RED;Rot -TP_CBDL_AFT;Nach Schwarz / Weiß -TP_CBDL_BEF;Vor Schwarz / Weiß +TP_CBDL_AFT;Nach Schwarz/Weiß +TP_CBDL_BEF;Vor Schwarz/Weiß TP_CBDL_METHOD;Prozessreihenfolge -TP_CBDL_METHOD_TOOLTIP;Wählen Sie, ob der Detailebenenkontrast nach\ndem Schwarz/Weiß-Werkzeug abgearbeitet wird\n(ermöglicht das Arbeiten im L*a*b*-Farbraum),\noder vor ihm (ermöglicht das Arbeiten im RGB-\nFarbraum). +TP_CBDL_METHOD_TOOLTIP;Wählen Sie, ob der Detailebenenkontrast nach\ndem Schwarz/Weiß-Werkzeug abgearbeitet wird\n(ermöglicht das Arbeiten im L*a*b*-Farbraum)\noder vor ihm (ermöglicht das Arbeiten im RGB-\nFarbraum). TP_CHMIXER_BLUE;Blau-Kanal TP_CHMIXER_GREEN;Grün-Kanal TP_CHMIXER_LABEL;RGB-Kanalmixer @@ -1472,61 +2235,87 @@ TP_COARSETRAF_TOOLTIP_HFLIP;Horizontal spiegeln. TP_COARSETRAF_TOOLTIP_ROTLEFT;Nach links drehen.\nTaste: [ TP_COARSETRAF_TOOLTIP_ROTRIGHT;Nach rechts drehen.\nTaste: ] TP_COARSETRAF_TOOLTIP_VFLIP;Vertikal spiegeln. -TP_COLORAPP_ABSOLUTELUMINANCE;Absolute Luminanz +TP_COLORAPP_ABSOLUTELUMINANCE;Leuchtdichte +TP_COLORAPP_ADAPSCEN_TOOLTIP;Entspricht der Leuchtdichte in Candela pro m2 zum Zeitpunkt der Aufnahme, automatisch berechnet aus den Exif-Daten. TP_COLORAPP_ALGO;Algorithmus TP_COLORAPP_ALGO_ALL;Alle -TP_COLORAPP_ALGO_JC;Helligkeit + Buntheit (JH) +TP_COLORAPP_ALGO_JC;Helligkeit + Buntheit (JC) TP_COLORAPP_ALGO_JS;Helligkeit + Sättigung (JS) TP_COLORAPP_ALGO_QM;Helligkeit + Farbigkeit (QM) TP_COLORAPP_ALGO_TOOLTIP;Auswahl zwischen Parameter-Teilmengen\nund allen Parametern. -TP_COLORAPP_BADPIXSL;Hot / Bad-Pixelfilter -TP_COLORAPP_BADPIXSL_TOOLTIP;Unterdrückt “Hot / Bad“-Pixel\n\n0 = keine Auswirkung\n1 = Mittel\n2 = Gaussian +TP_COLORAPP_BADPIXSL;Hot-/Bad-Pixelfilter +TP_COLORAPP_BADPIXSL_TOOLTIP;Unterdrückt Hot-/Dead-Pixel (hell gefärbt).\n0 = Kein Effekt\n1 = Median\n2 = Gaussian\nAlternativ kann das Bild angepasst werden, um sehr dunkle Schatten zu vermeiden.\n\nDiese Artefakte sind auf Einschränkungen von CIECAM02 zurückzuführen. TP_COLORAPP_BRIGHT;Helligkeit (Q) -TP_COLORAPP_BRIGHT_TOOLTIP;Helligkeit in CIECAM02 berücksichtigt die Weißintensität und unterscheidet sich von L*a*b* und RGB-Helligkeit. +TP_COLORAPP_BRIGHT_TOOLTIP;Helligkeit in CIECAM berücksichtigt die Weißintensität. Sie unterscheidet sich von L*a*b* und RGB-Helligkeit. TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;Bei manueller Einstellung werden Werte über 65 empfohlen. -TP_COLORAPP_CHROMA;Buntheit (H) +TP_COLORAPP_CATCLASSIC;Klassisch +TP_COLORAPP_CATMET_TOOLTIP;Klassisch - traditionelle CIECAM-Berechnung. Die Transformationen der chromatischen Adaption werden separat auf 'Szenenbedingungen' und 'Grundlichtart' einerseits und auf 'Grundlichtart' und 'Betrachtungsbedingungen' andererseits angewendet.\n\nSymmetrisch - Die chromatische Anpassung basiert auf dem Weißabgleich. Die Einstellungen 'Szenenbedingungen', 'Bildeinstellungen' und 'Betrachtungsbedingungen' werden neutralisiert.\n\nGemischt - Wie die Option 'Klassisch', aber in diesem Fall basiert die chromatische Anpassung auf dem Weißabgleich. +TP_COLORAPP_CATMOD;Modus +TP_COLORAPP_CATSYMGEN;Automatisch Symmetrisch +TP_COLORAPP_CATSYMSPE;Gemischt +TP_COLORAPP_CHROMA;Buntheit (C) TP_COLORAPP_CHROMA_M;Farbigkeit (M) -TP_COLORAPP_CHROMA_M_TOOLTIP;Die Farbigkeit in CIECAM02 unterscheidet sich\nvon L*a*b*- und RGB-Farbigkeit. +TP_COLORAPP_CHROMA_M_TOOLTIP;Die Farbigkeit in CIECAM unterscheidet sich von L*a*b*- und RGB-Farbigkeit. TP_COLORAPP_CHROMA_S;Sättigung (S) -TP_COLORAPP_CHROMA_S_TOOLTIP;Sättigung in CIECAM02 unterscheidet sich\nvon L*a*b* und RGB Sättigung. -TP_COLORAPP_CHROMA_TOOLTIP;Buntheit in CIECAM02 unterscheidet sich\nvon L*a*b* und RGB-Buntheit. -TP_COLORAPP_CIECAT_DEGREE;CAT02 Adaptation +TP_COLORAPP_CHROMA_S_TOOLTIP;Die Sättigung in CIECAM unterscheidet sich von L*a*b* und RGB-Sättigung. +TP_COLORAPP_CHROMA_TOOLTIP;Die Buntheit in CIECAM unterscheidet sich von L*a*b* und RGB-Buntheit. +TP_COLORAPP_CIECAT_DEGREE;Adaptation TP_COLORAPP_CONTRAST;Kontrast (J) TP_COLORAPP_CONTRAST_Q;Kontrast (Q) -TP_COLORAPP_CONTRAST_Q_TOOLTIP;Kontrast (Q) in CIECAM02 unterscheidet sich\nvom L*a*b*- und RGB-Kontrast. -TP_COLORAPP_CONTRAST_TOOLTIP;Kontrast (J) in CIECAM02 unterscheidet sich\nvom L*a*b*- und RGB-Kontrast. +TP_COLORAPP_CONTRAST_Q_TOOLTIP;Kontrast (Q) in CIECAM basiert auf Helligkeit. Er unterscheidet sich vom L*a*b*- und RGB-Kontrast. +TP_COLORAPP_CONTRAST_TOOLTIP;Kontrast (J) in CIECAM beruht auf Helligkeit. Er unterscheidet sich vom L*a*b*- und RGB-Kontrast. TP_COLORAPP_CURVEEDITOR1;Tonwertkurve 1 -TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Zeigt das Histogramm von L (L*a*b*) vor CIECAM02.\nWenn "CIECAM02-Ausgabe-Histogramm in Kurven anzeigen" aktiviert ist, wird das Histogramm von J oder Q nach CIECAM02-Anpassungen angezeigt.\n\nJ und Q werden nicht im Haupt-Histogramm angezeigt.\nFür die endgültige Ausgabe verwenden Sie das Haupt-Histogramm. +TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Zeigt das Histogramm von L (L*a*b*) vor CIECAM.\nWenn 'CIECAM-Ausgabe-Histogramm in Kurven anzeigen' aktiviert ist, wird das Histogramm von J oder Q nach CIECAM-Anpassungen angezeigt.\n\nJ und Q werden nicht im Haupt-Histogramm angezeigt.\nFür die endgültige Ausgabe verwenden Sie das Haupt-Histogramm. TP_COLORAPP_CURVEEDITOR2;Tonwertkurve 2 -TP_COLORAPP_CURVEEDITOR2_TOOLTIP;Gleiche Verwendung wie bei der zweiten Belichtungstonwertkurve. +TP_COLORAPP_CURVEEDITOR2_TOOLTIP;Gleiche Verwendung wie bei der ersten Belichtungstonwertkurve. TP_COLORAPP_CURVEEDITOR3;Farbkurve -TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Korrigiert Buntheit, Sättigung oder Farbigkeit.\n\nZeigt das Histogramm der Chromatizität (L*a*b* ) VOR den CIECAM02-Änderungen an.\nWenn "CIECAM02-Ausgabe-Histogramm in Kurven anzeigen" aktiviert ist, wird das Histogramm von C, S oder M NACH den CIECAM02-Änderungen angezeigt.\n\nC, S und M werden nicht im Haupt-Histogramm angezeigt.\nFür die endgültige Ausgabe verwenden Sie das Haupt-Histogramm. -TP_COLORAPP_DATACIE;CIECAM02-Ausgabe-Histogramm in\nKurven anzeigen -TP_COLORAPP_DATACIE_TOOLTIP;Wenn aktiviert, zeigen die Histogramme\nder CIECAM02-Kurven die angenäherten\nWerte/Bereiche für J oder Q und C, S oder M\nNACH den CIECAM02-Anpassungen an. Das\nbetrifft nicht das Haupt-Histogramm.\n\nWenn deaktiviert, zeigen die Histogramme\nder CIECAM02-Kurven die L*a*b*-Werte\nVOR den CIECAM02-Anpassungen an. -TP_COLORAPP_FREE;Farbtemperatur + Tönung + CAT02 + [Ausgabe] -TP_COLORAPP_GAMUT;Gamutkontrolle (L*a*b*) -TP_COLORAPP_GAMUT_TOOLTIP;Gamutkontrolle im L*a*b*-Modus erlauben. +TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Korrigiert Buntheit, Sättigung oder Farbigkeit.\n\nZeigt das Histogramm der Chromatizität (L*a*b* ) VOR den CIECAM-Änderungen an.\nWenn 'CIECAM-Ausgabe-Histogramm in Kurven anzeigen' aktiviert ist, wird das Histogramm von C, S oder M NACH den CIECAM-Änderungen angezeigt.\n\nC, S und M werden nicht im Haupt-Histogramm angezeigt.\nFür die endgültige Ausgabe verwenden Sie das Haupt-Histogramm. +TP_COLORAPP_DATACIE;CIECAM-Ausgabe-Histogramm in CAL-Kurven anzeigen +TP_COLORAPP_DATACIE_TOOLTIP;Beeinflusst die Histogramme in FuB. Beeinflusst nicht das Haupt-Histogramm von RawTherapee.\n\nAktiviert: zeigt ungefähre Werte für J und C, S oder M NACH den CIECAM-Anpassungen.\nDeaktiviert: zeigt L*a*b*-Werte VOR den CIECAM-Anpassungen. +TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 ist eine Methode, die die Werte eines Bildes, dessen Weißpunkt der einer gegebenen Lichtart (z.B. D65) entspricht, in Werte umwandelt, deren Weißpunkt einer anderen Lichtart entspricht (z.B. D50 oder D55). +TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 ist eine Methode, die die Werte eines Bildes, dessen Weißpunkt der einer gegebenen Lichtart (z.B. D50) entspricht, in Werte umwandelt, deren Weißpunkt einer anderen Lichtart entspricht (z.B. D75). +TP_COLORAPP_FREE;Farbtemperatur + Tönung + CAT02/16 + [Ausgabe] +TP_COLORAPP_GAMUT;Gamutkontrolle im L*a*b*-Modus anwenden +TP_COLORAPP_GEN;Voreinstellungen +TP_COLORAPP_GEN_TOOLTIP;Dieses Modul basiert auf dem CIECAM-Farberscheinungsmodell, das entwickelt wurde, um die Farbwahrnehmung des menschlichen Auges unter verschiedenen Lichtverhältnissen besser zu simulieren, z.B. vor unterschiedlichen Hintergründen. Es berücksichtigt die Umgebung jeder Farbe und modifiziert ihr Erscheinungsbild, um sie so nah wie möglich an die menschliche Wahrnehmung wiederzugeben. Die Ausgabe wird auch an die beabsichtigten Betrachtungsbedingungen (Monitor, Fernseher, Projektor, Drucker usw.) angepasst, sodass das chromatische Erscheinungsbild über die Szene und die Anzeigeumgebung hinweg erhalten bleibt. TP_COLORAPP_HUE;Farbton (H) TP_COLORAPP_HUE_TOOLTIP;Farbton (H) - Winkel zwischen 0° und 360°. -TP_COLORAPP_LABEL;CIE Color Appearance Model 2002 +TP_COLORAPP_IL41;D41 +TP_COLORAPP_IL50;D50 +TP_COLORAPP_IL55;D55 +TP_COLORAPP_IL60;D60 +TP_COLORAPP_IL65;D65 +TP_COLORAPP_IL75;D75 +TP_COLORAPP_ILA;Glühlampe Normlichtart A 2856K +TP_COLORAPP_ILFREE;Frei +TP_COLORAPP_ILLUM;Beleuchtung +TP_COLORAPP_ILLUM_TOOLTIP;Wählen Sie die Lichtquelle, die den Aufnahmebedingungen am nächsten kommt.\nIm Allgemeinen kann D50 gewählt werden, das kann sich jedoch je nach Zeit und Breitengrad ändern. +TP_COLORAPP_LABEL;Farberscheinung und Beleuchtung TP_COLORAPP_LABEL_CAM02;Bildanpassungen TP_COLORAPP_LABEL_SCENE;Umgebungsbedingungen (Szene) TP_COLORAPP_LABEL_VIEWING;Betrachtungsbedingungen TP_COLORAPP_LIGHT;Helligkeit (J) -TP_COLORAPP_LIGHT_TOOLTIP;Helligkeit in CIECAM02 unterscheidet sich\nvon L*a*b* und RGB Helligkeit. -TP_COLORAPP_MEANLUMINANCE;Mittlere Luminanz (Yb%) +TP_COLORAPP_LIGHT_TOOLTIP;Helligkeit in CIECAM unterscheidet sich von L*a*b* und RGB Helligkeit. +TP_COLORAPP_MEANLUMINANCE;Mittlere Leuchtdichte (Yb%) +TP_COLORAPP_MOD02;CAM02 +TP_COLORAPP_MOD16;CAM16 TP_COLORAPP_MODEL;Weißpunktmodell -TP_COLORAPP_MODEL_TOOLTIP;Weißabgleich [RT] + [Ausgabe]:\nRT's Weißabgleich wird für die Szene verwendet,\nCIECAM02 auf D50 gesetzt und der Weißabgleich\ndes Ausgabegerätes kann unter:\nEinstellungen > Farb-Management\neingestellt werden.\n\nWeißabgleich [RT+CAT02] + [Ausgabe]:\nRT's Weißabgleich wird für CAT02 verwendet und\nder Weißabgleich des Ausgabegerätes kann unter\nEinstellungen > Farb-Management\neingestellt werden. +TP_COLORAPP_MODELCAT;CAM +TP_COLORAPP_MODELCAT_TOOLTIP;Ermöglicht die Auswahl zwischen CAM02 oder CAM16.\nCAM02 ist manchmal genauer.\nCAM16 sollte weniger Artefakte erzeugen. +TP_COLORAPP_MODEL_TOOLTIP;Weißabgleich [RT] + [Ausgabe]:\nRTs Weißabgleich wird für die Szene verwendet,\nCIECAM auf D50 gesetzt und der Weißabgleich\ndes Ausgabegerätes kann unter:\nEinstellungen > Farb-Management\neingestellt werden.\n\nWeißabgleich [RT+CAT02/16] + [Ausgabe]:\nRTs Weißabgleich wird für CAT02 verwendet und\nder Weißabgleich des Ausgabegerätes kann unter\nEinstellungen > Farb-Management\neingestellt werden. TP_COLORAPP_NEUTRAL;Zurücksetzen -TP_COLORAPP_NEUTRAL_TIP;Setzt alle CIECAM02-Parameter auf Vorgabewerte zurück. +TP_COLORAPP_NEUTRAL_TOOLTIP;Setzt alle Parameter auf Vorgabewerte zurück. TP_COLORAPP_RSTPRO;Hautfarbtöne schützen TP_COLORAPP_RSTPRO_TOOLTIP;Hautfarbtöne schützen\nWirkt sich auf Regler und Kurven aus. +TP_COLORAPP_SOURCEF_TOOLTIP;Entspricht den Aufnahmebedingungen und wie man die Bedingungen und Daten wieder in einen normalen Bereich bringt. 'Normal' bedeutet Durchschnitts- oder Standardbedingungen und Daten, d. h. ohne Berücksichtigung von CIECAM-Korrekturen. TP_COLORAPP_SURROUND;Umgebung +TP_COLORAPP_SURROUNDSRC;Umgebung TP_COLORAPP_SURROUND_AVER;Durchschnitt TP_COLORAPP_SURROUND_DARK;Dunkel TP_COLORAPP_SURROUND_DIM;Gedimmt TP_COLORAPP_SURROUND_EXDARK;Extrem Dunkel (Cutsheet) -TP_COLORAPP_SURROUND_TOOLTIP;Verändert Töne und Farben unter Berücksichtigung der\nBetrachtungsbedingungen des Ausgabegerätes.\n\nDurchschnitt:\nDurchschnittliche Lichtumgebung (Standard).\nDas Bild wird nicht angepasst.\n\nGedimmt:\nGedimmte Umgebung (TV). Das Bild wird leicht dunkel.\n\nDunkel:\nDunkle Umgebung (Projektor). Das Bild wird dunkler.\n\nExtrem dunkel:\nExtrem dunkle Umgebung. Das Bild wird sehr dunkel. +TP_COLORAPP_SURROUND_TOOLTIP;Ändert Töne und Farben, um die Betrachtungsbedingungen des Ausgabegeräts zu berücksichtigen. Je dunkler die Betrachtungsbedingungen sind, desto dunkler wird das Bild. Die Bildhelligkeit wird nicht geändert, wenn die Betrachtungsbedingungen auf durchschnittlich eingestellt sind. +TP_COLORAPP_SURSOURCE_TOOLTIP;Ändert Töne und Farben, um die Umgebungsbedingungen der Szenenbeleuchtung zu berücksichtigen. Je dunkler die Umgebungsbedingungen sind, desto heller wird das Bild. Die Bildhelligkeit wird nicht geändert, wenn der Umgebungs-Wert auf Durchschnitt eingestellt ist. TP_COLORAPP_TCMODE_BRIGHTNESS;Helligkeit (Q) TP_COLORAPP_TCMODE_CHROMA;Buntheit (H) TP_COLORAPP_TCMODE_COLORF;Farbigkeit (M) @@ -1535,19 +2324,23 @@ TP_COLORAPP_TCMODE_LABEL2;Tonwertkurve 2 Modus TP_COLORAPP_TCMODE_LABEL3;Farbkurve Modus TP_COLORAPP_TCMODE_LIGHTNESS;Helligkeit (J) TP_COLORAPP_TCMODE_SATUR;Sättigung (S) -TP_COLORAPP_TEMP_TOOLTIP;Um eine Farbtemperatur auszuwählen\nsetzen Sie die Tönung immer auf "1".\nA Temp=2856\nD50 Temp=5003\nD55 Temp=5503\nD65 Temp=6504\nD75 Temp=7504 -TP_COLORAPP_TONECIE;Tonwertkorrektur mittels\nCIECAM02-Helligkeit (Q) +TP_COLORAPP_TEMP2_TOOLTIP;Symmetrischer Modus Temp = Weißabgleich.\nBei Auswahl einer Beleuchtung setze Tönung=1.\n\nA Temp=2856\nD41 Temp=4100\nD50 Temp=5003\nD55 Temp=5503\nD60 Temp=6000\nD65 Temp=6504\nD75 Temp=7504 +TP_COLORAPP_TEMP_TOOLTIP;Um eine Beleuchtungsart auszuwählen, setzen Sie die Tönung immer auf '1'.\nA Temp=2856\nD50 Temp=5003\nD55 Temp=5503\nD65 Temp=6504\nD75 Temp=7504 +TP_COLORAPP_TONECIE;verwende CIECAM für die Tonwertkorrektur TP_COLORAPP_TONECIE_TOOLTIP;Wenn diese Option ausgeschaltet ist, wird die Tonwertkorrektur im L*a*b*-Farbraum durchgeführt.\nWenn die Option eingeschaltet ist, wird CIECAM02 für die Tonwertkorrektur verwendet. Das Werkzeug Tonwertkorrektur muss aktiviert sein, damit diese Option berücksichtigt wird. +TP_COLORAPP_VIEWINGF_TOOLTIP;Berücksichtigt, auf welchem Gerät das endgültige Bild angezeigt wird (Monitor, Fernseher, Projektor, Drucker, etc.) sowie seine Umgebung. Dieser Prozess nimmt die Daten aus dem Prozess 'Image Adjustments' auf und "passt" sie so an das Gerät an, dass die Betrachtungsbedingungen und die Umgebung berücksichtigt werden. TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP;Absolute Luminanz der Betrachtungsumgebung\n(normalerweise 16cd/m²). -TP_COLORAPP_WBCAM;[RT+CAT02] + [Ausgabe] +TP_COLORAPP_WBCAM;[RT+CAT02/16] + [Ausgabe] TP_COLORAPP_WBRT;[RT] + [Ausgabe] +TP_COLORAPP_YBOUT_TOOLTIP;Yb ist die relative Helligkeit des Hintergrunds, ausgedrückt in % von Grau. Ein Grau bei 18 % entspricht einer Hintergrundluminanz ausgedrückt in CIE L von 50 %.\nDiese Daten müssen die durchschnittliche Luminanz des Bildes berücksichtigen. +TP_COLORAPP_YBSCEN_TOOLTIP;Yb ist die relative Helligkeit des Hintergrunds, ausgedrückt in % von Grau. Ein Grau bei 18 % entspricht einer Hintergrundluminanz ausgedrückt in CIE L von 50 %.\nDiese Daten müssen die durchschnittliche Luminanz des Bildes berücksichtigen. TP_COLORTONING_AB;o C/L TP_COLORTONING_AUTOSAT;Automatisch TP_COLORTONING_BALANCE;Farbausgleich TP_COLORTONING_BY;o C/L TP_COLORTONING_CHROMAC;Deckkraft TP_COLORTONING_COLOR;Farbe -TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Buntheitsdeckkraft als Funktion der Luminanz oB = f(L). +TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Buntheitsdeckkraft als Funktion der Luminanz dB=f(L). TP_COLORTONING_HIGHLIGHT;Lichter TP_COLORTONING_HUE;Farbton TP_COLORTONING_LAB;L*a*b*-Überlagerung @@ -1577,10 +2370,10 @@ TP_COLORTONING_LUMA;Luminanz TP_COLORTONING_LUMAMODE;Luminanz schützen TP_COLORTONING_LUMAMODE_TOOLTIP;Wenn aktiviert, wird die Luminanz der Farben Rot, Grün, Cyan, Blau... geschützt. TP_COLORTONING_METHOD;Methode -TP_COLORTONING_METHOD_TOOLTIP;L*a*b*-Überlagerung, RGB-Regler und RGB-Kurven\nverwenden eine interpolierte Farbüberlagerung.\n\nFarbausgleich (Schatten/Mitten/Lichter) und Sättigung\n(2-Farben) verwenden direkte Farben. +TP_COLORTONING_METHOD_TOOLTIP;L*a*b*-Überlagerung, RGB-Regler und RGB-Kurven verwenden eine interpolierte Farbüberlagerung.\n\nFarbausgleich (Schatten/Mitten/Lichter) und Sättigung (2-Farben) verwenden direkte Farben.\nDas Schwarz-Weiß-Werkzeug kann aktiviert werden, wenn eine beliebige Farbtönungsmethode verwendet wird, die eine Farbtönung ermöglicht. TP_COLORTONING_MIDTONES;Mitten TP_COLORTONING_NEUTRAL;Regler zurücksetzen -TP_COLORTONING_NEUTRAL_TIP;Alle Werte auf Standard zurücksetzen.\n(Schatten, Mitten, Lichter) +TP_COLORTONING_NEUTRAL_TOOLTIP;Alle Werte auf Standard zurücksetzen.\n(Schatten, Mitten, Lichter) TP_COLORTONING_OPACITY;Deckkraft TP_COLORTONING_RGBCURVES;RGB-Kurven TP_COLORTONING_RGBSLIDERS;RGB-Regler @@ -1599,6 +2392,7 @@ TP_COLORTONING_TWOBY;Spezial a* und b* TP_COLORTONING_TWOCOLOR_TOOLTIP;Standardfarbe:\nLinearer Verlauf, a* = b*.\n\nSpezial-Farbe:\nLinearer Verlauf, a* = b*, aber nicht verbunden\n\nSpezial a* und b*:\nLinearer Verlauf, nicht verbunden, mit unterschiedlichen\nKurven für a* und b*. Bevorzugt für spezielle Effekte.\n\nSpezial-Farbe (2 Farben):\nBesser vorhersehbar. TP_COLORTONING_TWOSTD;Standardfarbe TP_CROP_FIXRATIO;Format +TP_CROP_GTCENTEREDSQUARE;Zentriertes Quadrat TP_CROP_GTDIAGONALS;Diagonalregel TP_CROP_GTEPASSPORT;Passfoto (biometrisch) TP_CROP_GTFRAME;Rahmen @@ -1624,28 +2418,28 @@ TP_DEFRINGE_RADIUS;Radius TP_DEFRINGE_THRESHOLD;Schwelle TP_DEHAZE_DEPTH;Tiefe TP_DEHAZE_LABEL;Bildschleier entfernen -TP_DEHAZE_LUMINANCE;Nur Luminanz +TP_DEHAZE_SATURATION;Sättigung TP_DEHAZE_SHOW_DEPTH_MAP;Maske anzeigen TP_DEHAZE_STRENGTH;Intensität TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Auto-Multizonen TP_DIRPYRDENOISE_CHROMINANCE_AUTOGLOBAL;Automatisch Global -TP_DIRPYRDENOISE_CHROMINANCE_BLUEYELLOW;Delta-Chrominanz Blau / Gelb +TP_DIRPYRDENOISE_CHROMINANCE_BLUEYELLOW;Chrominanz Blau/Gelb TP_DIRPYRDENOISE_CHROMINANCE_CURVE;Chrominanzkurve -TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;Erhöht / Reduziert die Intensität der\nChrominanz-Rauschreduzierung in\nAbhängigkeit der Farbsättigung. +TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;Erhöht/Reduziert die Intensität der\nChrominanz-Rauschreduzierung in\nAbhängigkeit der Farbsättigung. TP_DIRPYRDENOISE_CHROMINANCE_FRAME;Chrominanz TP_DIRPYRDENOISE_CHROMINANCE_MANUAL;Benutzerdefiniert TP_DIRPYRDENOISE_CHROMINANCE_MASTER;Chrominanz (Master) TP_DIRPYRDENOISE_CHROMINANCE_METHOD;Methode TP_DIRPYRDENOISE_CHROMINANCE_METHODADVANCED_TOOLTIP;Benutzerdefiniert:\nManuelle Anpassung der Chrominanz-Rauschreduzierung.\n\nAutomatisch Global:\nEs werden 9 Zonen für die Berechnung der Chrominanz-\nRauschreduzierung verwendet.\n\nVorschau:\nNur der sichbare Teil des Bildes wird für die Berechnung\nder Chrominanz-Rauschreduzierung verwendet. -TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Benutzerdefiniert:\nManuelle Anpassung der Chrominanz-Rauschreduzierung.\n\nAutomatisch Global:\nEs werden 9 Zonen für die Berechnung der Chrominanz-\nRauschreduzierung verwendet.\n\nAuto-Multizonen:\nKeine Voransicht - wird erst beim Speichern angewendet.\nAbhängig von der Bildgröße, wird das Bild in ca. 10 bis 70\nKacheln aufgeteilt. Für jede Kachel wird die Chrominanz-\nRauschreduzierung individuell berechnet.\n\nVorschau:\nNur der sichbare Teil des Bildes wird für die Berechnung\nder Chrominanz-Rauschreduzierung verwendet. +TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Benutzerdefiniert:\nManuelle Anpassung der Chrominanz-Rauschreduzierung.\n\nAutomatisch Global:\nEs werden 9 Zonen für die Berechnung der Chrominanz-Rauschreduzierung verwendet.\n\nAuto-Multizonen:\nKeine Voransicht - wird erst beim Speichern angewendet.\nIn Abhängigkeit von der Bildgröße, wird das Bild in ca. 10 bis 70 Kacheln aufgeteilt. Für jede Kachel wird die Chrominanz-Rauschreduzierung individuell berechnet.\n\nVorschau:\nNur der sichtbare Teil des Bildes wird für die Berechnung der Chrominanz-Rauschreduzierung verwendet. TP_DIRPYRDENOISE_CHROMINANCE_PMZ;Vorschau TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW;Vorschau TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Zeigt das Restrauschen des sichtbaren Bildbereichs\nin der 100%-Ansicht an.\n\n<50: Sehr wenig Rauschen\n50 - 100: Wenig Rauschen\n100 - 300: Durchschnittliches Rauschen\n>300: Hohes Rauschen\n\nDie Werte unterscheiden sich im L*a*b*- und RGB-Modus.\nDie RGB-Werte sind ungenauer, da der RGB-Modus\nLuminanz und Chrominanz nicht komplett trennt. TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_INFO;Vorschaugröße = %1, Zentrum: Px = %2 Py = %2 TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_NOISEINFO;Rauschen: Mittelwert = %1 Hoch = %2 -TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_NOISEINFO_EMPTY;Rauschen: Mittelwert = --- Hoch = --- +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_NOISEINFO_EMPTY;Rauschen: Mittelwert = --- Hoch = --- TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_TILEINFO;Kachelgröße = %1 Zentrum: Tx = %2 Ty = %2 -TP_DIRPYRDENOISE_CHROMINANCE_REDGREEN;Delta-Chrominanz Rot / Grün +TP_DIRPYRDENOISE_CHROMINANCE_REDGREEN;Chrominanz Rot/Grün TP_DIRPYRDENOISE_LABEL;Rauschreduzierung TP_DIRPYRDENOISE_LUMINANCE_CONTROL;Luminanzkontrolle TP_DIRPYRDENOISE_LUMINANCE_CURVE;Luminanzkurve @@ -1661,19 +2455,19 @@ TP_DIRPYRDENOISE_MAIN_GAMMA_TOOLTIP;Mit Gamma kann die Intensität der\nRauschre TP_DIRPYRDENOISE_MAIN_MODE;Modus TP_DIRPYRDENOISE_MAIN_MODE_AGGRESSIVE;Aggressiv TP_DIRPYRDENOISE_MAIN_MODE_CONSERVATIVE;Konservativ -TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;"Konservativ" bewahrt Tieffrequenz-Chroma-Muster,\nwährend "Aggressiv" sie entfernt. +TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;'Konservativ' bewahrt Tieffrequenz-Chroma-Muster,\nwährend 'Aggressiv' sie entfernt. TP_DIRPYRDENOISE_MEDIAN_METHOD;Methode TP_DIRPYRDENOISE_MEDIAN_METHOD_CHROMINANCE;Nur Farbe TP_DIRPYRDENOISE_MEDIAN_METHOD_LAB;L*a*b* TP_DIRPYRDENOISE_MEDIAN_METHOD_LABEL;Medianfilter TP_DIRPYRDENOISE_MEDIAN_METHOD_LUMINANCE;Nur Luminanz TP_DIRPYRDENOISE_MEDIAN_METHOD_RGB;RGB -TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;Bei der Methode “Nur Luminanz“ und “L*a*b*“,\nwird der Medianfilter nach den Waveletschritten\nverarbeitet.\nBei RGB wird der Medianfilter am Ende der\nRauschreduzierung verarbeitet. +TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;Bei der Methode 'Nur Luminanz' und 'L*a*b*',\nwird der Medianfilter nach den Wavelet-Schritten verarbeitet.\nBei RGB wird der Medianfilter am Ende der Rauschreduzierung verarbeitet. TP_DIRPYRDENOISE_MEDIAN_METHOD_WEIGHTED;Gewichtet L* (wenig) + a*b* (normal) TP_DIRPYRDENOISE_MEDIAN_PASSES;Iterationen TP_DIRPYRDENOISE_MEDIAN_PASSES_TOOLTIP;Manchmal führt ein kleines 3×3-Fenster mit\nmehreren Iterationen zu besseren Ergebnissen\nals ein 7×7-Fenster mit nur einer Iteration. TP_DIRPYRDENOISE_MEDIAN_TYPE;Mediantyp -TP_DIRPYRDENOISE_MEDIAN_TYPE_TOOLTIP;Einen Medianfilter mit der gewünschten Fenstergröße auswählen.\nJe größer das Fenster, umso länger dauert die Verarbeitungszeit.\n\n3×3 weich: Nutzt 5 Pixel in einem 3×3-Pixelfenster.\n3×3: Nutzt 9 Pixel in einem 3×3-Pixelfenster.\n5×5 weich: Nutzt 13 Pixel in einem 5×5-Pixelfenster.\n5×5: Nutzt 25 Pixel in einem 5×5-Pixelfenster.\n7×7: Nutzt 49 Pixel in einem 7×7-Pixelfenster.\n9×9: Nutzt 81 Pixel in einem 9×9-Pixelfenster.\n\nManchmal ist das Ergebnis mit einem kleineren Fenster und mehreren Iterationen besser, als mit einem größeren und nur einer Iteration. +TP_DIRPYRDENOISE_MEDIAN_TYPE_TOOLTIP;Einen Medianfilter mit der gewünschten Fenstergröße auswählen.\nJe größer das Fenster, desto länger dauert die Verarbeitungszeit.\n\n3×3 weich: Nutzt 5 Pixel in einem 3×3-Pixelfenster.\n3×3: Nutzt 9 Pixel in einem 3×3-Pixelfenster.\n5×5 weich: Nutzt 13 Pixel in einem 5×5-Pixelfenster.\n5×5: Nutzt 25 Pixel in einem 5×5-Pixelfenster.\n7×7: Nutzt 49 Pixel in einem 7×7-Pixelfenster.\n9×9: Nutzt 81 Pixel in einem 9×9-Pixelfenster.\n\nManchmal ist das Ergebnis mit einem kleineren Fenster und mehreren Iterationen besser, als mit einem größeren und nur einer Iteration. TP_DIRPYRDENOISE_TYPE_3X3;3×3 TP_DIRPYRDENOISE_TYPE_3X3SOFT;3×3 weich TP_DIRPYRDENOISE_TYPE_5X5;5×5 @@ -1694,9 +2488,9 @@ TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutral TP_DIRPYREQUALIZER_SKIN;Hautfarbtöne schützen TP_DIRPYREQUALIZER_SKIN_TOOLTIP;-100: Nur Farben innerhalb des Bereichs werden verändert.\n0: Alle Farben werden gleich behandelt.\n+100: Nur Farben außerhalb des Bereichs werden verändert. TP_DIRPYREQUALIZER_THRESHOLD;Schwelle -TP_DIRPYREQUALIZER_TOOLTIP;Verringert Artefakte an den Übergängen\nzwischen Hautfarbtöne und dem Rest\ndes Bildes. +TP_DIRPYREQUALIZER_TOOLTIP;Verringert Artefakte an den Übergängen\nzwischen Hautfarbtönen und dem Rest des Bildes. TP_DISTORTION_AMOUNT;Intensität -TP_DISTORTION_AUTO_TIP;Korrigiert die Verzeichnung in RAW-Bildern durch Vergleich mit dem eingebetten JPEG, falls dieses existiert und die Verzeichnung durch die Kamera korrigiert wurde. +TP_DISTORTION_AUTO_TOOLTIP;Korrigiert die Verzeichnung in RAW-Bildern durch Vergleich mit dem eingebetteten JPEG, falls dieses existiert und die Verzeichnung durch die Kamera korrigiert wurde. TP_DISTORTION_LABEL;Verzeichnungskorrektur TP_EPD_EDGESTOPPING;Kantenschutz TP_EPD_GAMMA;Gamma @@ -1705,19 +2499,19 @@ TP_EPD_REWEIGHTINGITERATES;Iterationen TP_EPD_SCALE;Faktor TP_EPD_STRENGTH;Intensität TP_EXPOSURE_AUTOLEVELS;Auto -TP_EXPOSURE_AUTOLEVELS_TIP;Automatische Belichtungseinstellung\nbasierend auf Bildanalyse. +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Automatische Belichtungseinstellung\nBasierend auf Bildanalyse. TP_EXPOSURE_BLACKLEVEL;Schwarzwert TP_EXPOSURE_BRIGHTNESS;Helligkeit TP_EXPOSURE_CLAMPOOG;Farben auf Farbraum beschränken TP_EXPOSURE_CLIP;Clip %: -TP_EXPOSURE_CLIP_TIP;Anteil der Pixel, die sich bei automatischer\nBelichtungseinstellung im Bereich der\nSpitzlichter und Schatten befinden sollen. +TP_EXPOSURE_CLIP_TOOLTIP;Anteil der Pixel, die sich bei automatischer\nBelichtungseinstellung im Bereich der\nSpitzlichter und Schatten befinden sollen. TP_EXPOSURE_COMPRHIGHLIGHTS;Lichterkompression TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Lichterkompression Schwelle TP_EXPOSURE_COMPRSHADOWS;Schattenkompression TP_EXPOSURE_CONTRAST;Kontrast TP_EXPOSURE_CURVEEDITOR1;Tonwertkurve 1 TP_EXPOSURE_CURVEEDITOR2;Tonwertkurve 2 -TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Um mit den doppelten Tonwert-Kurven die besten Ergenisse zu erzielen, lesen Sie bitte den Abschnitt im Handbuch unter:\nDer Werkzeugkasten > Reiter Belichtung > Belichtungsbereich > Tonwertkurve. +TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Um mit den doppelten Tonwert-Kurven die besten Ergenisse zu erzielen, lesen Sie bitte den Abschnitt im Handbuch unter:\nDer Werkzeugkasten > Reiter Belichtung > Tonwertkurven. TP_EXPOSURE_EXPCOMP;Belichtungskorrektur TP_EXPOSURE_HISTMATCHING;Auto-Tonwertkurve TP_EXPOSURE_HISTMATCHING_TOOLTIP;Passt Regler und Kurven (mit Ausnahme der Belichtungskorrektur)\nautomatisch an, um das eingebettete JPEG-Bild zu simulieren. @@ -1734,13 +2528,23 @@ TP_EXPOSURE_TCMODE_WEIGHTEDSTD;Gewichteter Standard TP_EXPOS_BLACKPOINT_LABEL;Schwarzpunkt TP_EXPOS_WHITEPOINT_LABEL;Weißpunkt TP_FILMNEGATIVE_BLUE;Blauverhältnis -TP_FILMNEGATIVE_GREEN;Bezugsexponent (Kontrast) -TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. Set the white balance afterwards. -TP_FILMNEGATIVE_LABEL;Filmnegativ -TP_FILMNEGATIVE_PICK;Pick neutral spots +TP_FILMNEGATIVE_BLUEBALANCE;Balance Kalt/Warm +TP_FILMNEGATIVE_COLORSPACE;Farbraum +TP_FILMNEGATIVE_COLORSPACE_INPUT;Eingangsfarbraum +TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Wählen Sie den Farbraum aus, der verwendet werden soll, um die Negativ-Umkehrung durchzuführen:\nEingangsfarbraum: Führt die Umkehrung durch, bevor das Eingangsprofil angewendet wird, wie in den vorherigen Versionen von RT.\nArbeitsfarbraum< /b>: Führt die Umkehrung nach dem Eingabeprofil durch, wobei das aktuell ausgewählte Arbeitsprofil angewendet wird. +TP_FILMNEGATIVE_COLORSPACE_WORKING;Arbeitsfarbraum +TP_FILMNEGATIVE_GREEN;Bezugsexponent +TP_FILMNEGATIVE_GREENBALANCE;Balance Magenta/Grün +TP_FILMNEGATIVE_GUESS_TOOLTIP;Setzt automatisch die Rot- und Blau-Werte, indem mit der Pipette zwei Punkte ohne Farbinformation im Originalbild genommen werden. Diese Punkte sollten in der Helligkeit unterschiedlich sein. Der Weißabgleich sollte erst danach vorgenommen werden. +TP_FILMNEGATIVE_LABEL;Negativfilm +TP_FILMNEGATIVE_OUT_LEVEL;Ausgabestärke +TP_FILMNEGATIVE_PICK;Neutrale Punkte anwählen TP_FILMNEGATIVE_RED;Rotverhältnis +TP_FILMNEGATIVE_REF_LABEL;Eingang RGB: %1 +TP_FILMNEGATIVE_REF_PICK;Farbwähler +TP_FILMNEGATIVE_REF_TOOLTIP;Auswahl eines Graupunktes, um den Weißabgleich für das Positivbild zu setzen. TP_FILMSIMULATION_LABEL;Filmsimulation -TP_FILMSIMULATION_SLOWPARSEDIR;RawTherapee sucht nach Hald-CLUT-Bildern, die für die Filmsimulation benötigt werden, in einem Ordner, der viel Zeit benötigt.\nGehen Sie zu\n< Einstellungen > Bildbearbeitung > Filmsimulation >\nund prüfen Sie welcher Order benutzt wird. Wählen Sie den Ordner aus, der nur die Hald-CLUT-Bilder beinhaltet, oder einen leeren Ordner, wenn Sie die Filsimulation nicht verwenden möchten.\n\nWeitere Informationen über die Filmsimulation finden Sie auf RawPedia.\n\nMöchten Sie die Suche beenden? +TP_FILMSIMULATION_SLOWPARSEDIR;RawTherapee sucht nach Hald-CLUT-Bildern, die für die Filmsimulation benötigt werden, in einem Ordner, der zu viel Zeit zum Laden benötigt.\nGehen Sie zu\n< Einstellungen > Bildbearbeitung > Filmsimulation >\nund prüfen Sie, welcher Order benutzt wird. Wählen Sie den Ordner aus, der nur die Hald-CLUT-Bilder beinhaltet oder einen leeren Ordner, wenn Sie die Filmsimulation nicht verwenden möchten.\n\nWeitere Informationen über die Filmsimulation finden Sie auf RawPedia.\n\nMöchten Sie die Suche beenden? TP_FILMSIMULATION_STRENGTH;Intensität TP_FILMSIMULATION_ZEROCLUTSFOUND;HaldCLUT-Verzeichnis in den Einstellungen festlegen TP_FLATFIELD_AUTOSELECT;Automatische Auswahl @@ -1756,9 +2560,9 @@ TP_FLATFIELD_LABEL;Weißbild TP_GENERAL_11SCALE_TOOLTIP;Der Effekt dieses Werkzeugs ist nur in der 100%-Ansicht akkurat oder sichtbar. TP_GRADIENT_CENTER;Rotationsachse TP_GRADIENT_CENTER_X;Rotationsachse X -TP_GRADIENT_CENTER_X_TOOLTIP;Ankerpunkt der Rotationsachse X:\n-100 = linker Bildrand\n0 = Bildmitte\n+100 = rechter Bildrand +TP_GRADIENT_CENTER_X_TOOLTIP;Ankerpunkt der Rotationsachse X:\n-100 = linker Bildrand\n0 = Bildmitte\n+100 = rechter Bildrand. TP_GRADIENT_CENTER_Y;Rotationsachse Y -TP_GRADIENT_CENTER_Y_TOOLTIP;Ankerpunkt der Rotationsachse Y:\n-100 = oberer Bildrand\n0 = Bildmitte\n+100 = unterer Bildrand +TP_GRADIENT_CENTER_Y_TOOLTIP;Ankerpunkt der Rotationsachse Y:\n-100 = oberer Bildrand\n0 = Bildmitte\n+100 = unterer Bildrand. TP_GRADIENT_DEGREE;Rotationswinkel TP_GRADIENT_DEGREE_TOOLTIP;Rotationswinkel in Grad. TP_GRADIENT_FEATHER;Bereich @@ -1770,24 +2574,27 @@ TP_HLREC_BLEND;Überlagerung TP_HLREC_CIELAB;CIELab-Überlagerung TP_HLREC_COLOR;Farbübertragung TP_HLREC_ENA_TOOLTIP;Wird bei Verwendung der automatischen\nBelichtungskorrektur möglicherweise\naktiviert. +TP_HLREC_HLBLUR;Unschärfe TP_HLREC_LABEL;Lichter rekonstruieren TP_HLREC_LUMINANCE;Luminanz wiederherstellen TP_HLREC_METHOD;Methode: TP_HSVEQUALIZER_CHANNEL;Kanal TP_HSVEQUALIZER_HUE;H -TP_HSVEQUALIZER_LABEL;Farbton (H) / Sättigung (S) / Dynamik (V) +TP_HSVEQUALIZER_LABEL;Farbton (H)/Sättigung (S)/Dynamik (V) TP_HSVEQUALIZER_SAT;S TP_HSVEQUALIZER_VAL;V TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Basisbelichtung TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Die eingebettete DCP-Basisbelichtung verwenden.\nDie Einstellung ist nur verfügbar wenn sie vom\nEingangsfarbprofil unterstützt wird. TP_ICM_APPLYHUESATMAP;Basistabelle TP_ICM_APPLYHUESATMAP_TOOLTIP;Die eingebettete DCP-Basistabelle verwenden.\nDie Einstellung ist nur verfügbar wenn sie vom\nEingangsfarbprofil unterstützt wird. -TP_ICM_APPLYLOOKTABLE;“Look“-Tabelle -TP_ICM_APPLYLOOKTABLE_TOOLTIP;Die eingebettete DCP-“Look“-Tabelle verwenden.\nDie Einstellung ist nur verfügbar wenn sie vom\nEingangsfarbprofil unterstützt wird. +TP_ICM_APPLYLOOKTABLE;'Look'-Tabelle +TP_ICM_APPLYLOOKTABLE_TOOLTIP;Die eingebettete DCP-'Look'-Tabelle verwenden.\nDie Einstellung ist nur verfügbar wenn sie vom\nEingangsfarbprofil unterstützt wird. TP_ICM_BPC;Schwarzpunkt-Kompensation TP_ICM_DCPILLUMINANT;Illumination TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpoliert -TP_ICM_DCPILLUMINANT_TOOLTIP;DCP-Illumination auswählen. Vorgabe ist\nInterpoliert. Die Einstellung ist nur verfügbar\nwenn sie vom Eingangsfarbprofil unterstützt\nwird. +TP_ICM_DCPILLUMINANT_TOOLTIP;DCP-Illumination auswählen. Vorgabe ist 'Interpoliert'. Die Einstellung ist nur verfügbar, wenn sie vom Eingangsfarbprofil unterstützt wird. +TP_ICM_FBW;Schwarz-Weiß +TP_ICM_ILLUMPRIM_TOOLTIP;Wählen Sie die Lichtart, die den Aufnahmebedingungen am nächsten kommt.\nÄnderungen können nur vorgenommen werden, wenn die Auswahl 'Ziel-Primärfarben' auf 'Benutzerdefiniert (Schieberegler)' eingestellt ist. TP_ICM_INPUTCAMERA;Kamera-Standard TP_ICM_INPUTCAMERAICC;Kameraspezifisches Profil TP_ICM_INPUTCAMERAICC_TOOLTIP;Verwendet RawTherapees kameraspezifisches\nDCP/ICC-Eingangsfarbprofil, welches präziser als\neine einfache Matrix ist. @@ -1801,26 +2608,71 @@ TP_ICM_INPUTNONE;Kein Profil TP_ICM_INPUTNONE_TOOLTIP;Kein Eingangsfarbprofil verwenden. TP_ICM_INPUTPROFILE;Eingangsfarbprofil TP_ICM_LABEL;Farbmanagement +TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +TP_ICM_NEUTRAL;Zurücksetzen TP_ICM_NOICM;Kein ICM: sRGB-Ausgabe TP_ICM_OUTPUTPROFILE;Ausgabeprofil -TP_ICM_PROFILEINTENT;Rendering-Intent +TP_ICM_OUTPUTPROFILE_TOOLTIP;Standardmäßig sind alle RTv4- oder RTv2-Profile mit TRC - sRGB: g=2.4 s=12.92 voreingestellt.\n\nMit 'ICC Profile Creator' können Sie v4- oder v2-Profile mit den folgenden Auswahlmöglichkeiten erstellen:\n- Primär: Aces AP0, Aces AP1 , AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Benutzerdefiniert\n- TRC: BT709, sRGB, linear, Standard g=2,2, Standard g=1,8, Benutzerdefiniert\n- Lichtart: D41, D50, D55 , D60, D65, D80, stdA 2856K +TP_ICM_PRIMBLU_TOOLTIP;Primäreinstellungen Blau:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +TP_ICM_PRIMGRE_TOOLTIP;Primäreinstellungen Grün:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +TP_ICM_PRIMILLUM_TOOLTIP;Sie können ein Bild von seinem ursprünglichen Modus 'Arbeitsprofil' in einen anderen Modus 'Ziel-Primärdateien' ändern. Wenn Sie für ein Bild einen anderen Farbmodus auswählen, ändern Sie dauerhaft die Farbwerte im Bild.\n\nDas Ändern der 'Primärfarben' ist ziemlich komplex und schwierig zu verwenden. Es erfordert viel Experimentieren.\nEs ist in der Lage, exotische Farbanpassungen als Kanalmixer-Primärfarben vorzunehmen.\nErmöglicht Ihnen, die Kamerakalibrierung mit Benutzerdefiniert (Schieberegler) zu ändern. +TP_ICM_PRIMRED_TOOLTIP;Primäreinstellungen Rot:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 +TP_ICM_PROFILEINTENT;Wiedergabe +TP_ICM_REDFRAME;Benutzerdefinierte Einstellungen TP_ICM_SAVEREFERENCE;Referenzbild speichern TP_ICM_SAVEREFERENCE_APPLYWB;Weißabgleich anwenden TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;Um ICC-Profile zu erstellen, den Weißabgleich beim Speichern anwenden. Um DCP-Profile zu erstellen, den Weißabgleich NICHT beim Speichern anwenden. -TP_ICM_SAVEREFERENCE_TOOLTIP;Speichert das lineare TIFF-Bild bevor das\nEingangsfarbprofil angewendet wird. Das\nErgebnis kann zu Kalibrierungsaufgaben\nund zum Erstellen von Kameraprofilen\nverwendet werden. +TP_ICM_SAVEREFERENCE_TOOLTIP;Speichern Sie das lineare TIFF-Bild bevor das Eingangsfarbprofil angewendet wird. Das Ergebnis kann für Kalibrierungsaufgaben und zum Erstellen von Kameraprofilen verwendet werden. TP_ICM_TONECURVE;Tonwertkurve -TP_ICM_TONECURVE_TOOLTIP;Eingebettete DCP-Tonwertkurve verwenden.\nDie Einstellung ist nur verfügbar wenn sie\nvom Eingangsfarbprofil unterstützt wird. +TP_ICM_TONECURVE_TOOLTIP;Eingebettete DCP-Tonwertkurve verwenden.\nDie Einstellung ist nur verfügbar, wenn sie vom Eingangsfarbprofil unterstützt wird. +TP_ICM_TRCFRAME;Abstraktes Profil +TP_ICM_TRCFRAME_TOOLTIP;Auch bekannt als 'synthetisches' oder 'virtuelles' Profil, das am Ende der Verarbeitungspipeline (vor CIECAM) angewendet wird, sodass Sie benutzerdefinierte Bildeffekte erstellen können.\nSie können Änderungen vornehmen an:\n'Farbtonkennlinie': Ändert die Farbtöne des Bildes.\n'Beleuchtungsart': Ermöglicht Ihnen, die Profil-Primärfarben zu ändern, um sie an die Aufnahmebedingungen anzupassen.\n'Ziel-Primärfarben': Ermöglicht Ihnen, die Ziel-Primärfarben mit zwei Hauptanwendungen zu ändern - Kanalmischer und -kalibrierung.\nHinweis: Abstrakte Profile berücksichtigen die integrierten Arbeitsprofile, ohne sie zu ändern. Sie funktionieren nicht mit benutzerdefinierten Arbeitsprofilen. +TP_ICM_TRC_TOOLTIP;Ermöglicht Ihnen, die standardmäßige sRGB-'Farbtonkennlinie' in RT (g=2,4 s=12,92) zu ändern.\nDiese Farbtonkennlinie modifiziert die Farbtöne des Bildes. Die RGB- und Lab-Werte, das Histogramm und die Ausgabe (Bildschirm, TIF, JPG) werden geändert:\nGamma wirkt hauptsächlich auf helle Töne, Steigung wirkt hauptsächlich auf dunkle Töne.\nSie können ein beliebiges Paar von 'Gamma' und 'Steigung' (Werte >1) wählen, und der Algorithmus stellt sicher, dass zwischen den linearen und parabolischen Teilen der Kurve Kontinuität besteht.\nEine andere Auswahl als 'Keine' aktiviert die Menüs 'Lichtart' und 'Ziel-Primärfarben'. TP_ICM_WORKINGPROFILE;Arbeitsfarbraum +TP_ICM_WORKING_CIEDIAG;CIE xy-Diagramm +TP_ICM_WORKING_ILLU;Beleuchtung +TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +TP_ICM_WORKING_ILLU_D41;D41 +TP_ICM_WORKING_ILLU_D50;D50 +TP_ICM_WORKING_ILLU_D55;D55 +TP_ICM_WORKING_ILLU_D60;D60 +TP_ICM_WORKING_ILLU_D65;D65 +TP_ICM_WORKING_ILLU_D80;D80 +TP_ICM_WORKING_ILLU_D120;D120 +TP_ICM_WORKING_ILLU_NONE;Standard +TP_ICM_WORKING_ILLU_STDA;Glühbirne Normlicht A 2875K +TP_ICM_WORKING_PRESER;Pastelltöne erhalten +TP_ICM_WORKING_PRIM;Zielvorwahl +TP_ICM_WORKING_PRIMFRAME_TOOLTIP;Wenn 'Benutzerdefiniert CIE xy-Diagramm' in der Combobox 'Zielvorwahl' ausgewählt ist, können die Werte der 3 Primärfarben direkt im Diagramm geändert werden.\nBeachten Sie, dass in diesem Fall die Weißpunktposition im Diagramm nicht aktualisiert wird. +TP_ICM_WORKING_PRIM_AC0;ACESp0 +TP_ICM_WORKING_PRIM_ACE;ACESp1 +TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +TP_ICM_WORKING_PRIM_BET;Beta RGB +TP_ICM_WORKING_PRIM_BRU;BruceRGB +TP_ICM_WORKING_PRIM_BST;BestRGB +TP_ICM_WORKING_PRIM_CUS;Benutzerdefiniert (Regler) +TP_ICM_WORKING_PRIM_CUSGR;Benutzerdefiniert (CIE xy-Diagramm) +TP_ICM_WORKING_PRIM_NONE;Standard +TP_ICM_WORKING_PRIM_PROP;ProPhoto +TP_ICM_WORKING_PRIM_REC;Rec2020 +TP_ICM_WORKING_PRIM_SRGB;sRGB +TP_ICM_WORKING_PRIM_WID;WideGamut TP_ICM_WORKING_TRC;Farbtonkennlinie: +TP_ICM_WORKING_TRC_18;ProPhoto g=1.8 +TP_ICM_WORKING_TRC_22;Adobe g=2.2 +TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 TP_ICM_WORKING_TRC_CUSTOM;Benutzerdefiniert TP_ICM_WORKING_TRC_GAMMA;Gamma +TP_ICM_WORKING_TRC_LIN;Linear g=1 TP_ICM_WORKING_TRC_NONE;Keine TP_ICM_WORKING_TRC_SLOPE;Steigung -TP_ICM_WORKING_TRC_TOOLTIP;Nur für die mitgelieferten\nProfile möglich. +TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 +TP_ICM_WORKING_TRC_TOOLTIP;Auswahl der mitgelieferten Profile. TP_IMPULSEDENOISE_LABEL;Impulsrauschreduzierung TP_IMPULSEDENOISE_THRESH;Schwelle TP_LABCURVE_AVOIDCOLORSHIFT;Farbverschiebungen vermeiden -TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP;Anpassung der Farben an den Arbeitsfarbraum\nund Anwendung der Munsellkorrektur. +TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP;Anpassung der Farben an den Arbeitsfarbraum\nund Anwendung der Munsell-Korrektur. TP_LABCURVE_BRIGHTNESS;Helligkeit TP_LABCURVE_CHROMATICITY;Chromatizität TP_LABCURVE_CHROMA_TOOLTIP;Für Schwarz/Weiß setzen Sie die Chromatizität auf -100. @@ -1839,26 +2691,28 @@ TP_LABCURVE_CURVEEDITOR_CC_RANGE1;Neutral TP_LABCURVE_CURVEEDITOR_CC_RANGE2;Matt TP_LABCURVE_CURVEEDITOR_CC_RANGE3;Pastell TP_LABCURVE_CURVEEDITOR_CC_RANGE4;Gesättigt -TP_LABCURVE_CURVEEDITOR_CC_TOOLTIP;Chromatizität als Funktion der Chromatizität C = f(C) +TP_LABCURVE_CURVEEDITOR_CC_TOOLTIP;Chromatizität als Funktion der Chromatizität C=f(C). TP_LABCURVE_CURVEEDITOR_CH;CH -TP_LABCURVE_CURVEEDITOR_CH_TOOLTIP;Chromatizität als Funktion des Farbtons C = f(H) +TP_LABCURVE_CURVEEDITOR_CH_TOOLTIP;Chromatizität als Funktion des Farbtons C=f(H). TP_LABCURVE_CURVEEDITOR_CL;CL -TP_LABCURVE_CURVEEDITOR_CL_TOOLTIP;Chromatizität als Funktion der Luminanz C = f(L) +TP_LABCURVE_CURVEEDITOR_CL_TOOLTIP;Chromatizität als Funktion der Luminanz C=f(L). TP_LABCURVE_CURVEEDITOR_HH;HH -TP_LABCURVE_CURVEEDITOR_HH_TOOLTIP;Farbton als Funktion des Farbtons H = f(H) +TP_LABCURVE_CURVEEDITOR_HH_TOOLTIP;Farbton als Funktion des Farbtons H=f(H). TP_LABCURVE_CURVEEDITOR_LC;LC -TP_LABCURVE_CURVEEDITOR_LC_TOOLTIP;Luminanz als Funktion der Chromatizität L = f(C) +TP_LABCURVE_CURVEEDITOR_LC_TOOLTIP;Luminanz als Funktion der Chromatizität L=f(C). TP_LABCURVE_CURVEEDITOR_LH;LH -TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminanz als Funktion des Farbtons L = f(H) -TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminanz als Funktion der Luminanz L = f(L) +TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminanz als Funktion des Farbtons L=f(H). +TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminanz als Funktion der Luminanz L=f(L). TP_LABCURVE_LABEL;L*a*b* - Anpassungen TP_LABCURVE_LCREDSK;LC-Kurve auf Hautfarbtöne beschränken -TP_LABCURVE_LCREDSK_TIP;Wenn aktiviert, wird die LC-Kurve auf\nHautfarbtöne beschränkt.\nWenn deaktiviert, wird die LC-Kurve auf\nalle Farbtöne angewendet. +TP_LABCURVE_LCREDSK_TOOLTIP;Wenn aktiviert, wird die LC-Kurve auf\nHautfarbtöne beschränkt.\nWenn deaktiviert, wird die LC-Kurve auf\nalle Farbtöne angewendet. TP_LABCURVE_RSTPROTECTION;Hautfarbtöne schützen TP_LABCURVE_RSTPRO_TOOLTIP;Kann mit dem Chromatizitätsregler und\nder CC-Kurve verwendet werden. TP_LENSGEOM_AUTOCROP;Auto-Schneiden TP_LENSGEOM_FILL;Auto-Füllen TP_LENSGEOM_LABEL;Objektivkorrekturen +TP_LENSGEOM_LIN;Linear +TP_LENSGEOM_LOG;Logarithmisch TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatisch (Lensfun) TP_LENSPROFILE_CORRECTION_LCPFILE;LCP-Datei TP_LENSPROFILE_CORRECTION_MANUAL;Benutzerdefiniert (Lensfun) @@ -1874,12 +2728,794 @@ TP_LOCALCONTRAST_DARKNESS;Dunkle Bereiche TP_LOCALCONTRAST_LABEL;Lokaler Kontrast TP_LOCALCONTRAST_LIGHTNESS;Helle Bereiche TP_LOCALCONTRAST_RADIUS;Radius +TP_LOCALLAB_ACTIV;Nur Luminanz +TP_LOCALLAB_ACTIVSPOT;Spot aktivieren +TP_LOCALLAB_ADJ;Equalizer Blau/Gelb-Rot/Grün +TP_LOCALLAB_AMOUNT;Intensität +TP_LOCALLAB_ARTIF;Kantenerkennung +TP_LOCALLAB_ARTIF_TOOLTIP;Schwellenwert Bereich ΔE erhöht den Anwendungsbereich des ΔE. Hohe Werte sind für große Gamutbereiche.\nErhöhung der ΔE-Zerfallrate kann die Kantenerkennung erhöhen, aber auch den Bereich verringern. +TP_LOCALLAB_AUTOGRAY;Automatisch mittlere Luminanz (Yb%) +TP_LOCALLAB_AUTOGRAYCIE;Automatisch +TP_LOCALLAB_AVOID;vermeide Farbverschiebungen +TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Passt Farben an den Arbeitsfarbraum an und wendet die Munsell-Korrektur an (Uniform Perceptual Lab).\nMunsell-Korrektur ist deaktiviert wenn Jz oder CAM16 angewendet wird. +TP_LOCALLAB_AVOIDMUN;Nur Munsell-Korrektur +TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell-Korrektur ist deaktiviert, wenn Jz or CAM16 angewendet wird. +TP_LOCALLAB_AVOIDRAD;Radius +TP_LOCALLAB_BALAN;ab-L Balance (ΔE) +TP_LOCALLAB_BALANEXP;Laplace Balance +TP_LOCALLAB_BALANH;C-H Balance (ΔE) +TP_LOCALLAB_BALAN_TOOLTIP;Verändert die ΔE Algorithmus-Parameter.\nBerücksichtigt mehr oder weniger a*b* oder L*, oder mehr oder weniger C oder H.\nNicht zur Rauschreduzierung. +TP_LOCALLAB_BASELOG;Bereich Schatten (logarithmisch) +TP_LOCALLAB_BILATERAL;Impulsrauschen +TP_LOCALLAB_BLACK_EV;Schwarz-Ev +TP_LOCALLAB_BLCO;nur Chrominanz +TP_LOCALLAB_BLENDMASKCOL;Überlagerung +TP_LOCALLAB_BLENDMASKMASK;Addiere/subtrahiere Luminanzmaske +TP_LOCALLAB_BLENDMASKMASKAB;Addiere/subtrahiere Chrominanzmaske +TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;Wenn Regler = 0 keine Auswirkung.\nAddiert oder subtrahiert die Maske vom Originalbild. +TP_LOCALLAB_BLENDMASK_TOOLTIP;Wenn Überlagerung = 0 ist, wird nur die Formerkennung verbessert.\nWenn Überlagerung > 0 ist, wird die Maske zum Bild hinzugefügt. Wenn Überlagerung < 0 ist, wird die Maske vom Bild subtrahiert. +TP_LOCALLAB_BLGUID;Anpassbarer Filter +TP_LOCALLAB_BLINV;Invertieren +TP_LOCALLAB_BLLC;Luminanz u. Chrominanz +TP_LOCALLAB_BLLO;Nur Luminanz +TP_LOCALLAB_BLMED;Median +TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal - direkte Unschärfe und Rauschen mit allen Einstellungen.\nInvertiert - Unschärfe und Rauschen mit allen Einstellungen. Vorsicht, kann zu unerwünschten Ergebnissen führen. +TP_LOCALLAB_BLNOI_EXP;Unschärfe und Rauschen +TP_LOCALLAB_BLNORM;Normal +TP_LOCALLAB_BLUFR;Unschärfe und Rauschreduzierung +TP_LOCALLAB_BLUMETHOD_TOOLTIP;So verwischen Sie den Hintergrund und isolieren Sie den Vordergrund:\n- Verwischen Sie den Hintergrund, indem Sie das Bild vollständig mit einem RT-Spot abdecken (hohe Werte für Umfang und Übergang und 'Normal' oder 'Invertieren' im Kontrollkästchen).\n- Isolieren Sie den Vordergrund durch Verwendung eines oder mehrerer 'Ausschließen'-RT-Spots und Vergrößerung des Bereichs.\n\nDieses Modul (einschließlich 'Median' und 'Anpassbarer Filter') kann zusätzlich zur Rauschreduzierung im Hauptmenü verwendet werden. +TP_LOCALLAB_BLUR;Gauß'sche Unschärfe - Rauschen - Körnung +TP_LOCALLAB_BLURCOL;Radius +TP_LOCALLAB_BLURCOLDE_TOOLTIP;Zur Berechnung von ΔE wird ein leicht unscharfes Bild verwendet, um isolierte Pixel zu vermeiden. +TP_LOCALLAB_BLURDE;Unschärfe Kantenerkennung +TP_LOCALLAB_BLURLC;Nur Luminanz +TP_LOCALLAB_BLURLEVELFRA;Unschärfe-Ebenen +TP_LOCALLAB_BLURMASK_TOOLTIP;Verwendet eine große Radius-Unschärfe für eine Maske, die es erlaubt, den Bildkontrast und/oder Teile davon abzudunkeln oder aufzuhellen. +TP_LOCALLAB_BLURRMASK_TOOLTIP;Verändert den Radius der Gauß'schen Unschärfe (0 bis 1000). +TP_LOCALLAB_BLUR_TOOLNAME;Unschärfe und Rauschreduzierung +TP_LOCALLAB_BLWH;Alle Änderungen in Schwarz-Weiß erzwingen +TP_LOCALLAB_BLWH_TOOLTIP;Setzt Farbkomponenten 'a' und 'b' auf Null.\nHilfreich für Schwarz/Weiß-Entwicklung oder Filmsimulation. +TP_LOCALLAB_BUTTON_ADD;Hinzufügen +TP_LOCALLAB_BUTTON_DEL;Löschen +TP_LOCALLAB_BUTTON_DUPL;Duplizieren +TP_LOCALLAB_BUTTON_REN;Umbenennen +TP_LOCALLAB_BUTTON_VIS;Ein-/Ausblenden +TP_LOCALLAB_BWFORCE;Schwarz-Ev & Weiß-Ev verwenden +TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Spitzenleuchtdichte) +TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) angepasst an CAM16. Ermöglicht die Änderung der internen PQ-Funktion (normalerweise 10000 cd/m2 - Standard 100 cd/m2 - deaktiviert für 100 cd/m2).\nKann zur Anpassung an verschiedene Geräte und Bilder verwendet werden. +TP_LOCALLAB_CAM16_FRA;CAM16 Bildanpassungen +TP_LOCALLAB_CAMMODE;CAM-Modell +TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +TP_LOCALLAB_CATAD;Chromatische Adaptation/Cat16 +TP_LOCALLAB_CBDL;Detailebenenkontrast +TP_LOCALLAB_CBDLCLARI_TOOLTIP;Verstärkt den lokalen Kontrast der Mitteltöne. +TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Das gleiche wie Wavelets.\nDie erste Ebene (0) arbeitet mit 2x2 Pixeldetails.\nDie letzte Ebene (5) arbeitet mit 64x64 Pixeldetails. +TP_LOCALLAB_CBDL_THRES_TOOLTIP;Verhindert das Schärfen von Rauschen. +TP_LOCALLAB_CBDL_TOOLNAME;Detailebenen-Kontrast +TP_LOCALLAB_CENTER_X;Mitte X +TP_LOCALLAB_CENTER_Y;Mitte Y +TP_LOCALLAB_CH;Kurven CL - LC +TP_LOCALLAB_CHROMA;Chrominanz +TP_LOCALLAB_CHROMABLU;Chrominanz-Ebenen +TP_LOCALLAB_CHROMABLU_TOOLTIP;Erhöht oder verringert den Effekt abhängig von den Luma-Einstellungen.\nWerte kleiner 1 verringern den Effekt. Werte größer 1 erhöhen den Effekt. +TP_LOCALLAB_CHROMACBDL;Chrominanz +TP_LOCALLAB_CHROMACB_TOOLTIP;Erhöht oder verringert den Effekt abhängig von den Luma-Einstellungen.\nWerte kleiner 1 verringern den Effekt. Werte größer 1 erhöhen den Effekt. +TP_LOCALLAB_CHROMALEV;Chrominanz Ebenen +TP_LOCALLAB_CHROMASKCOL;Chrominanz +TP_LOCALLAB_CHROMASK_TOOLTIP;Ändert die Chrominanz der Maske, wenn eine existiert (d.h. C(C) oder LC(H) ist aktiviert). +TP_LOCALLAB_CHROML;Chroma (C) +TP_LOCALLAB_CHRRT;Chrominanz +TP_LOCALLAB_CIE;CIECAM (CAM16 & JzCzHz) +TP_LOCALLAB_CIEC;CIECAM-Umgebungsparameter +TP_LOCALLAB_CIECAMLOG_TOOLTIP;Dieses Modul basiert auf dem CIECAM-Farberscheinungsmodell, das entwickelt wurde, um das Sehen der menschlichen Farbwahrnehmung unter verschiedenen Lichtbedingungen zu simulieren.\nDer erste CIECAM-Prozess 'Szenebasierte Bedingungen' wird per LOG-Kodierung durchgeführt und verwendet 'Absolute Luminanz' zum Zeitpunkt der Aufnahme.\nDer zweite CIECAM-Prozess 'Bildkorrektur' wurde vereinfacht und nutzt nur 3 Variablen ('Lokaler Kontrast', 'Kontrast J', 'Sättigung s').\nDer dritte CIECAM-Prozess 'Anzeigebedingungen' passt die Ausgabe an das beabsichtigte Anzeigegerät (Monitor, TV, Projektor, Drucker, etc.) an, damit das chromatische und kontrastreiche Erscheinungsbild in der gesamten Anzeigeumgebung erhalten bleibt. +TP_LOCALLAB_CIECOLORFRA;Farbe +TP_LOCALLAB_CIECONTFRA;Kontrast +TP_LOCALLAB_CIELIGHTCONTFRA;Beleuchtung & Kontrast +TP_LOCALLAB_CIELIGHTFRA;Beleuchtung +TP_LOCALLAB_CIEMODE;Werkzeugposition ändern +TP_LOCALLAB_CIEMODE_COM;Standard +TP_LOCALLAB_CIEMODE_DR;Dynamikbereich +TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +TP_LOCALLAB_CIEMODE_TOOLTIP;Im Standardmodus wird CIECAM am Ende des Prozesses hinzugefügt. 'Maske und Anpassungen' und 'Wiederherstellung auf Luminanzmaske' stehen für 'CAM16 und JzCzHz' zur Verfügung.\nAuf Wunsch kann CIECAM in andere Werkzeuge (TM, Wavelet, Dynamik, LOG-Kodierung) integriert werden. Das Ergebnis dieser Werkzeuge wird sich von denen ohne CIECAM unterscheiden. In diesem Modus können auch 'Maske und Anpassungen' und 'Wiederherstellung auf Luminanzmaske' angewendet werden. +TP_LOCALLAB_CIEMODE_WAV;Wavelet +TP_LOCALLAB_CIETOOLEXP;Kurven +TP_LOCALLAB_CIE_TOOLNAME;Farberscheinung (Cam16 & JzCzHz) +TP_LOCALLAB_CIRCRADIUS;Spot-Größe +TP_LOCALLAB_CIRCRAD_TOOLTIP;Die Spot-Größe bestimmt die Referenzen des RT-Spots, die für die Formerkennung nützlich sind (Farbton, Luma, Chroma, Sobel).\nNiedrige Werte können für die Bearbeitung kleiner Flächen und Strukturen nützlich sein.\nHohe Werte können für die Behandlung von größeren Flächen oder auch Haut nützlich sein. +TP_LOCALLAB_CLARICRES;Chroma zusammenführen +TP_LOCALLAB_CLARIFRA;Klarheit u. Schärfemaske - Überlagern u. Abschwächen +TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 bis 4 (einschließlich): ‘Schärfemaske’ ist aktiviert\nLevel 5 und darüber: 'Klarheit' ist aktiviert. +TP_LOCALLAB_CLARILRES;Luma zusammenführen +TP_LOCALLAB_CLARISOFT;Radius +TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;Der Regler ‘Radius’ (Algorithmus des anpassbaren Filters) reduziert Lichthöfe und Unregelmäßigkeiten für Klarheit, Schärfemaske und Wavelets Jz des lokalen Kontrastes. +TP_LOCALLAB_CLARISOFT_TOOLTIP;Der Regler 'Radius' (Algorithmus des anpassbaren Filters) reduziert Lichthöfe und Unregelmäßigkeiten für die Klarheit, die Schärfemaske und für alle Pyramiden-Wavelet-Prozesse. Zum Deaktivieren setzen Sie den Schieberegler auf Null. +TP_LOCALLAB_CLARITYML;Klarheit +TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 bis 4 (einschließlich): 'Schärfemaske' ist aktiviert\nLevel 5 und darüber: 'Klarheit' ist aktiviert.\nHilfreich bei 'Wavelet - Tonwertkorrektur' +TP_LOCALLAB_CLIPTM;Wiederhergestellte Daten beschneiden +TP_LOCALLAB_COFR;Farbe und Licht +TP_LOCALLAB_COLORDE;Vorschau Farbe - Intensität (ΔE) +TP_LOCALLAB_COLORDEPREV_TOOLTIP;Die Schaltfläche 'Vorschau ΔE' funktioniert nur, wenn Sie eines (und nur eines) der Werkzeuge im Menü 'Werkzeug zum aktuellen Spot hinzufügen' aktiviert haben.\nUm eine Vorschau von ΔE mit mehreren aktivierten Werkzeugen anzuzeigen, verwenden Sie 'Maske und Anpassungen' - Vorschau ΔE. +TP_LOCALLAB_COLORDE_TOOLTIP;Zeigt eine blaue Farbvorschau für die ΔE-Auswahl an, wenn negativ, und grün, wenn positiv.\n\nMaske und Anpassungen (geänderte Bereiche ohne Maske anzeigen): Zeigt tatsächliche Änderungen an, wenn sie positiv sind, erweiterte Änderungen (nur Luminanz) mit Blau und Gelb, wenn sie negativ sind. +TP_LOCALLAB_COLORSCOPE;Bereich (Farbwerkzeuge) +TP_LOCALLAB_COLORSCOPE_TOOLTIP;Regler für Farbe, Licht, Schatten, Highlights und Dynamik.\nAndere Werkzeuge haben ihre eigenen Kontrollregler für den Anwendungsbereich. +TP_LOCALLAB_COLOR_CIE;Farbkurve +TP_LOCALLAB_COLOR_TOOLNAME;Farbe und Licht +TP_LOCALLAB_COL_NAME;Name +TP_LOCALLAB_COL_VIS;Status +TP_LOCALLAB_COMPFRA;Direktionaler Kontrast +TP_LOCALLAB_COMPREFRA;Tonwertkorrektur +TP_LOCALLAB_CONTCOL;Schwellenwert Kontrast +TP_LOCALLAB_CONTFRA;Ebenenkontrast +TP_LOCALLAB_CONTRAST;Kontrast +TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Ermöglicht das freie Ändern des Kontrasts der Maske.\nHat eine ähnliche Funktion wie die Regler 'Gamma' und 'Neigung'.\nMit dieser Funktion können Sie bestimmte Bereiche des Bildes (normalerweise die hellsten Bereiche der Maske) anvisieren, indem mit Hilfe der Kurve dunklere Bereiche ausgeschlossen werden). Kann Artefakte erzeugen. +TP_LOCALLAB_CONTRESID;Kontrast +TP_LOCALLAB_CONTTHMASK_TOOLTIP;Bestimmen Sie die zu verändernden Bildbereiche auf Basis der Textur. +TP_LOCALLAB_CONTTHR;Schwellenwert Kontrast +TP_LOCALLAB_CONTWFRA;Lokaler Kontrast +TP_LOCALLAB_CSTHRESHOLD;Wavelet-Ebenen +TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet-Ebenenauswahl +TP_LOCALLAB_CURV;Luminanz - Kontrast - Chrominanz 'Super' +TP_LOCALLAB_CURVCURR;Normal +TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;Wenn sich die Kurven oben befinden, ist die Maske vollständig Schwarz und hat keine Auswirkung auf das Bild.\nMit dem Absenken der Kurve wird die Maske allmählich bunter und brillanter, und das Bild ändert sich immer mehr.\n\nDie graue Übergangslinie repräsentiert die Referenzen (Chroma, Luma, Farbton).\nSie können wählen, ob der obere Rand der Kurven auf diesem Übergang positioniert werden soll oder nicht. +TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;Wenn sich die Kurven oben befinden, ist die Maske vollständig Schwarz und hat keine Auswirkung auf das Bild.\nMit dem Absenken der Kurve wird die Maske allmählich bunter und heller und ändert das Bild schrittweise.\n\nEs wird empfohlen, den oberen Rand der Kurven auf der grauen Grenzlinie zu positionieren, die die Referenzwerte von Chroma, Luma, Farbton für den RT-Spot darstellt. +TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;Um die Kurven zu aktivieren, setzen Sie das Kombinationsfeld 'Kurventyp' auf 'Normal'. +TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tonkurve +TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), kann mit L(H) in Farbe und Licht verwendet werden. +TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal': die Kurve L=f(L) verwendet den selben Algorithmus wie der Helligkeitsregler. +TP_LOCALLAB_CURVES_CIE;Tonkurve +TP_LOCALLAB_CURVNONE;Kurven deaktivieren +TP_LOCALLAB_DARKRETI;Dunkelheit +TP_LOCALLAB_DEHAFRA;Dunst entfernen +TP_LOCALLAB_DEHAZ;Intensität +TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Entfernt atmosphärischen Dunst. Erhöht Sättigung und Details.\nKann einen Farbstich entfernen, aber auch einen Blaustich hinzufügen, der wiederum mit anderen Werkzeugen wieder entfernt werden kann. +TP_LOCALLAB_DEHAZ_TOOLTIP;Negative Werte fügen Dunst hinzu. +TP_LOCALLAB_DELTAD;Ebenenbalance +TP_LOCALLAB_DELTAEC;ΔE-Bildmaske +TP_LOCALLAB_DENOI1_EXP;Rauschreduzierung auf Luminanz-Maske +TP_LOCALLAB_DENOI2_EXP;Wiederherstellung auf Luminanz-Maske +TP_LOCALLAB_DENOIBILAT_TOOLTIP;Ermöglicht Impulsrauschen zu reduzieren oder auch 'Salz-& Pfefferrauschen'. +TP_LOCALLAB_DENOICHROC_TOOLTIP;Ermöglicht den Umgang mit Flecken und Rauschen. +TP_LOCALLAB_DENOICHRODET_TOOLTIP;Ermöglicht die Wiederherstellung von Chrominanz-Details durch schrittweise Anwendung einer Fourier-Transformation (DCT). +TP_LOCALLAB_DENOICHROF_TOOLTIP;Ermöglicht die Detailjustierung von Chrominanz-Rauschen +TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Ermöglicht das Reduzieren von Chrominanz-Rauschen in Richtung Blau/Gelb oder Rot/Grün. +TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Ermöglicht das Reduzieren von Rauschen entweder in den Schatten oder in den Lichtern. +TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Ermöglicht die Wiederherstellung von Luminanz-Details durch schrittweise Anwendung einer Fourier-Transformation (DCT). +TP_LOCALLAB_DENOIMASK;Maske Farbrauschen reduzieren +TP_LOCALLAB_DENOIMASK_TOOLTIP;Für alle Werkzeuge, ermöglicht die Kontrolle des chromatischen Rauschens der Maske.\nNützlich für eine bessere Kontrolle der Chrominanz und Vermeidung von Artefakten bei Verwendung der LC(h)-Kurve. +TP_LOCALLAB_DENOIQUA_TOOLTIP;Im konservativen Modus werden Niedrigfrequenz-Details erhalten. Im aggressiven Modus werden diese entfernt.\nBeide Modi verwenden Wavelets und DCT und können in Verbindung mit 'Nicht-lokales Mittel - Luminanz' verwendet werden. +TP_LOCALLAB_DENOITHR_TOOLTIP;Korrigiert die Kantenerkennung, um die Rauschreduktion in Bereichen mit geringen Kontrasten zu unterstützen. +TP_LOCALLAB_DENOI_EXP;Rauschreduzierung +TP_LOCALLAB_DENOI_TOOLTIP;Dieses Modul kann zur Rauschreduktion entweder (am Ende der Prozess-Pipeline) selbständig verwendet werden oder in Verbindung mit der Rauschreduzierung im Menureiter 'Detail' (das am Anfang der Prozess-Pipeline arbeitet) .\nBereich ermöglicht eine differenzierte Einstellung basierend auf Farbe (ΔE).\nMinimale RT-Spotgröße: 128x128 +TP_LOCALLAB_DEPTH;Tiefe +TP_LOCALLAB_DETAIL;Lokaler Kontrast +TP_LOCALLAB_DETAILFRA;Kantenerkennung DCT +TP_LOCALLAB_DETAILSH;Details +TP_LOCALLAB_DETAILTHR;Schwelle Luminanz-Chrominanz-Detail +TP_LOCALLAB_DIVGR;Gamma +TP_LOCALLAB_DUPLSPOTNAME;Kopie +TP_LOCALLAB_EDGFRA;Kantenschärfe +TP_LOCALLAB_EDGSHOW;Alle Werkzeuge anzeigen +TP_LOCALLAB_ELI;Ellipse +TP_LOCALLAB_ENABLE_AFTER_MASK;Tonwertkorrektur anwenden +TP_LOCALLAB_ENABLE_MASK;Maske aktivieren +TP_LOCALLAB_ENABLE_MASKAFT;alle Belichtungs-Algorithmen verwenden +TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;Wenn aktiviert, verwendet die Maske 'Wiederhergestellte Daten' nach Übertragungszuordnung anstelle von Originaldaten. +TP_LOCALLAB_ENH;Erweitert +TP_LOCALLAB_ENHDEN;Erweitert + chromatische Rauschreduzierung +TP_LOCALLAB_EPSBL;Detail +TP_LOCALLAB_EQUIL;Luminanz normalisieren +TP_LOCALLAB_EQUILTM_TOOLTIP;Rekonstruiert Lichter so, dass Mittel und Abweichungen der Bildausgabe identisch sind mit denen des Originals. +TP_LOCALLAB_ESTOP;Kantenempfindlichkeit +TP_LOCALLAB_EV_DUPL;Kopie von +TP_LOCALLAB_EV_NVIS;Ausblenden +TP_LOCALLAB_EV_NVIS_ALL;Alle ausblenden +TP_LOCALLAB_EV_VIS;Zeigen +TP_LOCALLAB_EV_VIS_ALL;Alle zeigen +TP_LOCALLAB_EXCLUF;Ausschließend +TP_LOCALLAB_EXCLUF_TOOLTIP;Der 'Ausschlussmodus' verhindert, dass benachbarte Punkte bestimmte Teile des Bildes beeinflussen. Durch Anpassen von 'Bereich' wird der Farbbereich erweitert.\nSie können einem Ausschluss-Spot auch Werkzeuge hinzufügen und diese auf die gleiche Weise wie für einen normalen Punkt verwenden. +TP_LOCALLAB_EXCLUTYPE;Art des Spots +TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Der normale Spot verwendet rekursive Daten.\n\nDer ausschließende Spot reinitialisiert alle lokalen Anpassungen.\nEr kann ganz oder partiell angewendet werden, um vorherige lokale Anpassungen zu relativieren oder zurückzusetzen.\n\n'Ganzes Bild' erlaubt lokale Anpassungen auf das gesamte Bild.\nDie RT Spot-Begrenzung wird außerhalb der Vorschau gesetzt.\nDer Übergangswert wird auf 100 gesetzt.\nMöglicherweise muss der RT-Spot neu positioniert oder in der Größe angepasst werden, um das erwünschte Ergebnis zu erzielen.\nAchtung: Die Anwendung von Rauschreduzierung, Wavelet oder schnelle Fouriertransformation im 'Ganzes Bild-Modus' benötigt viel Speicher und Rechenleistung und könnte bei schwachen Systemen zu unerwünschtem Abbruch oder Abstürzen führen. +TP_LOCALLAB_EXECLU;Ausschließender Spot +TP_LOCALLAB_EXFULL;Gesamtes Bild +TP_LOCALLAB_EXNORM;Normaler Spot +TP_LOCALLAB_EXPCBDL_TOOLTIP;Kann zur Entfernung von Sensorflecken oder Objektivfehlern verwendet werden, indem Kontrast auf der entsprechenden Detailebene verringert wird. +TP_LOCALLAB_EXPCHROMA;Kompensation Farbsättigung +TP_LOCALLAB_EXPCHROMA_TOOLTIP;In Verbindung mit 'Belichtungskorrektur' und 'Kontrastdämpfung' kann eine Entsättigung der Farben vermieden werden. +TP_LOCALLAB_EXPCOLOR_TOOLTIP;Passt Farbe, Luminanz, Kontrast an und korrigiert kleinere Defekte, wie rote Augen, Sensorstaub etc. +TP_LOCALLAB_EXPCOMP;Belichtungsausgleich ƒ +TP_LOCALLAB_EXPCOMPINV;Belichtungsausgleich +TP_LOCALLAB_EXPCOMP_TOOLTIP;Für Porträts oder Bilder mit geringem Farbverlauf. Sie können 'Formerkennung' unter 'Einstellungen' ändern:\n\nErhöhen Sie den 'ΔE-Bereichsschwellenwert'\nReduzieren Sie 'ΔE-Zerfallrate'\nErhöhen Sie 'ab-L-Balance (ΔE)'. +TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;Siehe Dokumentation für Wavelet Levels.\nEs gibt einige Unterschiede in der Version der lokalen Einstellungen: mehr Werkzeuge und mehr Möglichkeiten an individuellen Detailebenen zu arbeiten.\nz.B. Wavelet-Level-Tonwertkorrektur. +TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Vermeiden Sie zu kleine Spots (<32 x 32 Pixel).\nVerwenden Sie niedrige 'Übergangswerte' und hohe Werte für 'Übergangszerfallrate' und 'Bereich,' um kleine RT-Spots zu simulieren und Fehler zu beheben.\nVerwenden Sie 'Klarheit & Schärfemaske und Überlagern & Abschwächen' wenn nötig, indem Sie den 'Radius' anpassen, um Artefakte zu reduzieren. +TP_LOCALLAB_EXPCURV;Kurven +TP_LOCALLAB_EXPGRAD;Verlaufsfilter +TP_LOCALLAB_EXPGRADCOL_TOOLTIP;Verlaufsfilter stehen in den folgenden Werkzeugen zur Verfügung: 'Farbe und Licht (Luminanz, Chrominanz, Farbtonverlauf, und Zusammenführen)', 'Belichtung (Luminanz grad.)', 'Belichtungsmaske (Luminanz grad.)', 'Schatten/Lichter (Luminanz grad.)', 'Dynamik (Luminanz, Chrominanz & Farbton)', 'Lokaler Kontrast & Wavelet Pyramide (lokaler Kontrast grad.)'.\nDer Zerfall wird in den Einstellungen definiert. +TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Ändert die Mischung von geändertem/ursprünglichem Bild. +TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Verändert das Verhalten des Bildes mit wenig oder zu wenig Kontrast, indem vorher eine Gammakurve und nachher eine Laplace-Transformation hinzugefügt werden. +TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Verändert das Verhalten unterbelichteter Bilder indem eine lineare Komponente vor Anwendung der Laplace-Transformation hinzugefügt wird. +TP_LOCALLAB_EXPLAP_TOOLTIP;Regler nach rechts reduziert schrittweise den Kontrast. +TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Ermöglicht die Verwendung von GIMP oder Photoshop(c)-Ebenen-Mischmodi wie Differenz, Multiplikation, Weiches Licht, Überlagerung etc., mit Transparenzkontrolle.\nOriginalbild: Führe aktuellen RT-Spot mit Original zusammen.\nVorheriger Spot: Führe aktuellen RT-Spot mit vorherigem zusammen - bei nur einem vorherigen = Original.\nHintergrund: Führe aktuellen RT-Spot mit einem Farb- oder Luminanzhintergrund zusammen (weniger Möglichkeiten). +TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Wendet einen Median-Filter vor der Laplace-Transformation an, um (Rausch-)Artefakte zu vermeiden.\nAlternativ kann das Werkzeug zur Rauschreduzierung angewendet werden. +TP_LOCALLAB_EXPOSE;Dynamik und Belichtung +TP_LOCALLAB_EXPOSURE_TOOLTIP;Anpassung der Belichtung im L*a*b-Raum mittels Laplace PDE-Algorithmus um ΔE zu berücksichtigen und Artefakte zu minimieren. +TP_LOCALLAB_EXPRETITOOLS;Erweiterte Retinex Werkzeuge +TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot-Minimum 39 * 39.\nVerwenden Sie niedrige Übergangswerte und hohe Werte für 'Zerfallrate' und 'Bereich', um kleinere RT-Spots zu simulieren. +TP_LOCALLAB_EXPTOOL;Belichtungswerkzeuge +TP_LOCALLAB_EXP_TOOLNAME;Dynamik und Belichtung +TP_LOCALLAB_FATAMOUNT;Intensität +TP_LOCALLAB_FATANCHOR;Versatz +TP_LOCALLAB_FATDETAIL;Detail +TP_LOCALLAB_FATFRA;Dynamikkompression +TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal - es wird der Fattal-Algorithmus zur Tonwertkorrektur angewendet. +TP_LOCALLAB_FATLEVEL;Sigma +TP_LOCALLAB_FATSHFRA;Maske für den Bereich der Dynamikkompression +TP_LOCALLAB_FEATH_TOOLTIP;Verlaufsbreite als Prozentsatz der Spot-Diagonalen.\nWird von allen Verlaufsfiltern in allen Werkzeugen verwendet.\nKeine Aktion, wenn kein Verlaufsfilter aktiviert wurde. +TP_LOCALLAB_FEATVALUE;Verlaufsbreite +TP_LOCALLAB_FFTCOL_MASK;Schnelle Fouriertransformation +TP_LOCALLAB_FFTMASK_TOOLTIP;Nutzt eine Fourier-Transformation für eine bessere Qualität (auf Kosten einer erhöhten Verarbeitungszeit und Speicheranforderungen). +TP_LOCALLAB_FFTW;Schnelle Fouriertransformation +TP_LOCALLAB_FFTWBLUR;Schnelle Fouriertransformation +TP_LOCALLAB_FULLIMAGE;Schwarz-Ev und Weiß-Ev für das gesamte Bild +TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Berechnet die Ev-Level für das gesamte Bild. +TP_LOCALLAB_GAM;Gamma +TP_LOCALLAB_GAMC;Gamma +TP_LOCALLAB_GAMCOL_TOOLTIP;Gamma auf Luminanz L*a*b*-Daten anwenden.\nWenn Gamma = 3 wird Luminanz 'linear' angewendet. +TP_LOCALLAB_GAMC_TOOLTIP;Gamma auf Luminanz L*a*b*-Daten vor und nach der Behandlung von Pyramide 1 und Pyramide 2 anwenden.\nWenn Gamma = 3 wird Luminanz linear angewendet. +TP_LOCALLAB_GAMFRA;Farbtonkennlinie +TP_LOCALLAB_GAMM;Gamma +TP_LOCALLAB_GAMMASKCOL;Gamma +TP_LOCALLAB_GAMMASK_TOOLTIP;'Gamma' und 'Bereich' erlauben eine weiche und artefaktfreie Transformation der Maske, indem 'L' schrittweise geändert wird, um Diskontinuitäten zu vermeiden. +TP_LOCALLAB_GAMSH;Gamma +TP_LOCALLAB_GAMW;Gamma (Wavelet Pyramiden) +TP_LOCALLAB_GRADANG;Rotationswinkel +TP_LOCALLAB_GRADANG_TOOLTIP;Rotationswinkel in Grad: -180° 0° +180° +TP_LOCALLAB_GRADFRA;Verlaufsfiltermaske +TP_LOCALLAB_GRADGEN_TOOLTIP;Passt die Intensität des Luminanzverlaufes an. +TP_LOCALLAB_GRADLOGFRA;Verlaufsfilter Luminanz +TP_LOCALLAB_GRADSTR;Verlaufsintensität +TP_LOCALLAB_GRADSTRAB_TOOLTIP;Passt die Intensität des Farbsättigungsverlaufes an. +TP_LOCALLAB_GRADSTRCHRO;Intensität des Chrominanz-Verlaufes +TP_LOCALLAB_GRADSTRHUE;Intensität des Farbton-Verlaufes +TP_LOCALLAB_GRADSTRHUE2;Intensität des Farbton-Verlaufes +TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Passt die Intensität des Farbton-Verlaufes an. +TP_LOCALLAB_GRADSTRLUM;Intensität des Luminanz-Verlaufes +TP_LOCALLAB_GRAINFRA;Film-Körnung +TP_LOCALLAB_GRAINFRA2;Rauigkeit +TP_LOCALLAB_GRAIN_TOOLTIP;Fügt Film-ähnliches Korn hinzu. +TP_LOCALLAB_GRALWFRA;Verlaufsfilter (Lokaler Kontrast) +TP_LOCALLAB_GRIDFRAME_TOOLTIP;Dieses Werkzeug kann als Pinsel verwendet werden. Stellen Sie einen kleinen Spot ein und passen Sie 'Übergang' und 'Übergangszerfall' an.\nIm Modus NORMAL werden Farbton, Sättigung, Farbe und Leuchtkraft durch 'Hintergrund zusammenführen (ΔE)' beeinflusst. +TP_LOCALLAB_GRIDMETH_TOOLTIP;Farbtonung: Die Luminanz wird bei der Änderung der Chrominanz berücksichtigt. Entspricht H=f (H), wenn der 'weiße Punkt' im Raster auf Null bleibt und nur der 'schwarze Punkt' verändert wird. Entspricht 'Farbton', wenn beide Punkte verändert werden.\n\nDirekt: Wirkt direkt auf die Chrominanz. +TP_LOCALLAB_GRIDONE;Farbtönung +TP_LOCALLAB_GRIDTWO;Direkt +TP_LOCALLAB_GUIDBL;Radius +TP_LOCALLAB_GUIDBL_TOOLTIP;Wendet einen anpassbaren Filter mit einstellbarem Radius an. Ermöglicht das Reduzieren von Artefakten oder das Verwischen des Bildes. +TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Ändert die Verteilungsfunktion des anpassbaren Filters. Negative Werte simulieren eine Gauß'sche Unschärfe. +TP_LOCALLAB_GUIDFILTER;Anpassbarer Filter Radius +TP_LOCALLAB_GUIDFILTER_TOOLTIP;Kann Artefakte reduzieren oder verstärken. +TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensität des anpassbaren Filters. +TP_LOCALLAB_HHMASK_TOOLTIP;Feine Farbtonabstimmung z.B. für Hauttöne. +TP_LOCALLAB_HIGHMASKCOL;Lichter +TP_LOCALLAB_HLH;Kurven H +TP_LOCALLAB_HUECIE;Farbton +TP_LOCALLAB_IND;Unabhängig (Maus) +TP_LOCALLAB_INDSL;Unabhängig (Maus + Regler) +TP_LOCALLAB_INVBL;Invertieren +TP_LOCALLAB_INVBL_TOOLTIP;Alternative zum 'Invertieren': Zwei Spots\nErster Spot:\nGanzes Bild - Trennzeichen außerhalb der Vorschau\nRT-Spot-Form: Rechteck. Übergang 100\n\nZweiter Spot: Ausschließender Spot +TP_LOCALLAB_INVERS;Invertieren +TP_LOCALLAB_INVERS_TOOLTIP;Weniger Möglichkeiten, wenn aktiviert (Invertieren).\n\nAlternative: zwei Spots\nErster Spot:\nGanzes Bild -\nTrennzeichen außerhalb der Vorschau\nRT-Spot-Form: Rechteck. Übergang 100\n\nZweiter Spot: Ausschließender Spot\ninvertieren deaktiviert dieses Werkzeug für den Bereich außerhalb des Spots, während der Bereich innerhalb des Spots vom Werkzeug unberührt bleibt. +TP_LOCALLAB_INVMASK;Invertierter Algorithmus +TP_LOCALLAB_ISOGR;Verteilung (ISO) +TP_LOCALLAB_JAB;Schwarz-Ev & Weiß-Ev verwenden +TP_LOCALLAB_JABADAP_TOOLTIP;Vereinheitliche Wahrnehmungsanpassung.\nPasst automatisch das Verhältnis zwischen Jz und Sättigung unter Berücksichtigung der 'absoluten Leuchtdichte' an. +TP_LOCALLAB_JZ100;Jz Referenz 100cd/m2 +TP_LOCALLAB_JZ100_TOOLTIP;Passt automatisch den Referenz-Jz-Pegel von 100 cd/m2 (Bildsignal) an.\nÄndert den Sättigungspegel und die Aktion der 'PU-Anpassung' (Perceptual Uniform Adaption). +TP_LOCALLAB_JZADAP;PU Anpassung +TP_LOCALLAB_JZCH;Chroma +TP_LOCALLAB_JZCHROM;Chroma +TP_LOCALLAB_JZCLARICRES;Chroma zusammenführen Cz +TP_LOCALLAB_JZCLARILRES;Luma zusammenführen Jz +TP_LOCALLAB_JZCONT;Kontrast +TP_LOCALLAB_JZFORCE;Erzwinge max. Jz auf 1 +TP_LOCALLAB_JZFORCE_TOOLTIP;Ermöglicht, den Jz-Wert für eine bessere Regler- und Kurvenreaktion auf 1 anzuheben. +TP_LOCALLAB_JZFRA;Jz Cz Hz Bildanpassungen +TP_LOCALLAB_JZHFRA;Kurven Hz +TP_LOCALLAB_JZHJZFRA;Kurve Jz(Hz) +TP_LOCALLAB_JZHUECIE;Farbton +TP_LOCALLAB_JZLIGHT;Helligkeit +TP_LOCALLAB_JZLOG;LOG-Kodierung Jz +TP_LOCALLAB_JZLOGWBS_TOOLTIP;Die Anpassungen von Schwarz-Ev und Weiß-Ev können unterschiedlich sein, je nachdem, ob LOG-Kodierung oder Sigmoid verwendet wird.\nFür Sigmoid kann eine Änderung (in den meisten Fällen eine Erhöhung) von Weiß-Ev erforderlich sein, um eine bessere Wiedergabe von Glanzlichtern, Kontrast und Sättigung zu erhalten. +TP_LOCALLAB_JZLOGWB_TOOLTIP;Wenn Auto aktiviert ist, werden die Ev-Werte und die 'mittlere Leuchtdichte Yb%' für den Spotbereich berechnet und angepasst. Die resultierenden Werte werden von allen Jz-Vorgängen verwendet, einschließlich 'LOG-Kodierung Jz'.\nBerechnet auch die absolute Leuchtdichte zum Zeitpunkt der Aufnahme. +TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb ist die relative Helligkeit des Hintergrunds, ausgedrückt als Prozentsatz von Grau. 18 % Grau entspricht einer Hintergrundhelligkeit von 50 %, ausgedrückt in CIE L.\nDie Daten basieren auf der mittleren Helligkeit des Bildes.\nBei Verwendung mit LOG-Kodierung wird die mittlere Helligkeit verwendet, um die erforderliche Verstärkung zu bestimmen, die dem Signal vor der LOG-Kodierung hinzugefügt werden muss. Niedrigere Werte der mittleren Helligkeit führen zu einer erhöhten Verstärkung. +TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (Modus 'Erweitert'). Nur funktionsfähig, wenn das Ausgabegerät (Monitor) HDR ist (Spitzenleuchtdichte höher als 100 cd/m2 - idealerweise zwischen 4000 und 10000 cd/m2. Schwarzpunktleuchtdichte unter 0,005 cd/m2). Dies setzt voraus, dass\na) das ICC-PCS für den Bildschirm Jzazbz (oder XYZ) verwendet,\nb) mit echter Präzision arbeitet,\nc) dass der Monitor kalibriert ist (möglichst mit einem DCI-P3- oder Rec-2020-Farbraum),\nd) dass das übliche Gamma (sRGB oder BT709) durch eine Perceptual Quantiser (PQ)-Funktion ersetzt wird. +TP_LOCALLAB_JZPQFRA;Jz Zuordnung +TP_LOCALLAB_JZPQFRA_TOOLTIP;Ermöglicht, den Jz-Algorithmus wie folgt an eine SDR-Umgebung oder an die Eigenschaften (Leistung) einer HDR-Umgebung anzupassen:\na) Bei Luminanzwerten zwischen 0 und 100 cd/m2 verhält sich das System so, als ob es sich in einer SDR-Umgebung befände .\nb) für Luminanzwerte zwischen 100 und 10000 cd/m2 können Sie den Algorithmus an die HDR-Eigenschaften des Bildes und des Monitors anpassen.\n\nWenn 'PQ - Peak Luminance' auf 10000 eingestellt ist, verhält sich 'Jz Zuordnung' genauso wie der ursprüngliche Jzazbz-Algorithmus. +TP_LOCALLAB_JZPQREMAP;PQ - Peak Luminanz +TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - ermöglicht die Änderung der internen PQ-Funktion (normalerweise 10000 cd/m2 - Standard 120 cd/m2).\nKann zur Anpassung an verschiedene Bilder, Prozesse und Geräte verwendet werden. +TP_LOCALLAB_JZQTOJ;Relative Helligkeit +TP_LOCALLAB_JZQTOJ_TOOLTIP;Ermöglicht die Verwendung von 'Relative Leuchtdichte' anstelle von 'Absolute Leuchtdichte'.\nDie Änderungen wirken sich auf: den Schieberegler 'Helligkeit', den Schieberegler 'Kontrast' und die Jz(Jz)-Kurve aus. +TP_LOCALLAB_JZSAT;Sättigung +TP_LOCALLAB_JZSHFRA;Schatten/Lichter Jz +TP_LOCALLAB_JZSOFTCIE;Radius (anpassbarer Filter) +TP_LOCALLAB_JZSTRSOFTCIE;Intensität anpassbarer Filter +TP_LOCALLAB_JZTARGET_EV;Ansicht mittlere Helligkeit (Yb%) +TP_LOCALLAB_JZTHRHCIE;Schwellenwert Chroma für Jz(Hz) +TP_LOCALLAB_JZWAVEXP;Wavelet Jz +TP_LOCALLAB_LABBLURM;Unschärfemaske +TP_LOCALLAB_LABEL;Lokale Anpassungen +TP_LOCALLAB_LABGRID;Farbkorrektur +TP_LOCALLAB_LABGRIDMERG;Hintergrund +TP_LOCALLAB_LABGRID_VALUES;oben(a)=%1\noben(b)=%2\nunten(a)=%3\nunten(b)=%4 +TP_LOCALLAB_LABSTRUM;Strukturmaske +TP_LOCALLAB_LAPLACC;ΔØ Maske Laplace löst PDE +TP_LOCALLAB_LAPLACE;Schwellenwert Laplace ΔE +TP_LOCALLAB_LAPLACEXP;Schwellenwert Laplace +TP_LOCALLAB_LAPMASKCOL;Schwellenwert Laplace +TP_LOCALLAB_LAPRAD1_TOOLTIP;Erhöht den Kontrast der Maske, indem die Luminanzwerte hellerer Bereiche erhöht werden. Kann in Verbindung mit den L(L) und LC(H) Kurven verwendet werden. +TP_LOCALLAB_LAPRAD2_TOOLTIP;'Radius' nutzt einen anpassbaren Filter, um Artefakte zu reduzieren und den Übergang zu glätten. +TP_LOCALLAB_LAPRAD_TOOLTIP;'Radius' nutzt einen anpassbaren Filter, um Artefakte zu reduzieren und den Übergang zu glätten. +TP_LOCALLAB_LAP_MASK_TOOLTIP;Löst die PDE für alle Laplace-Masken.\nWenn aktiviert, reduziert die Laplace-Schwellenwertmaske Artefakte und glättet das Ergebnis.\nLinear, wenn deaktiviert. +TP_LOCALLAB_LC_FFTW_TOOLTIP;Die schnelle Fouriertransformation verbessert die Qualität und ermöglicht die Verwendung großer Radien, erhöht jedoch die Verarbeitungszeit (abhängig vom zu verarbeitenden Bereich). Vorzugsweise nur für große Radien verwenden. Die Größe des Bereichs kann um einige Pixel reduziert werden, um die schnelle Fouriertransformation zu optimieren. Dies kann die Verarbeitungszeit um den Faktor 1,5 bis 10 reduzieren. +TP_LOCALLAB_LC_TOOLNAME;Lokaler Kontrast u. Wavelets +TP_LOCALLAB_LEVELBLUR;Maximum +TP_LOCALLAB_LEVELWAV;Wavelet Ebenen +TP_LOCALLAB_LEVELWAV_TOOLTIP;Die Ebene wird automatisch an die Größe des Spots und die Vorschau angepasst.\nVon Ebene 9 Größe max=512 bis Ebene 1 Größe max= 4. +TP_LOCALLAB_LEVFRA;Ebenen +TP_LOCALLAB_LIGHTNESS;Helligkeit +TP_LOCALLAB_LIGHTN_TOOLTIP;Im inversen Modus: Auswahl = -100 erzwingt Luminanz = 0 +TP_LOCALLAB_LIGHTRETI;Helligkeit +TP_LOCALLAB_LINEAR;Linearität +TP_LOCALLAB_LIST_NAME;Werkzeug zum aktiven Spot hinzufügen... +TP_LOCALLAB_LIST_TOOLTIP;Es gibt für jedes Werkzeug drei Komplexitätsstufen: Basis, Standard und Erweitert.\nDie Standardeinstellung für alle Werkzeuge ist Basis. Diese Einstellung kann im Fenster 'Einstellungen' geändert werden.\nDie Komplexitätsstufe kann auch für das einzelne Werkzeug während der Bearbeitung geändert werden. +TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Ermöglicht, den Effekt auf bestimmte Detailebenen in der Maske zu verringern oder zu erhöhen, indem bestimmte Luminanz-Zonen (im Allgemeinen die hellsten) angesprochen werden. +TP_LOCALLAB_LMASK_LL_TOOLTIP;Ermöglicht das freie Ändern des Kontrasts der Maske.\nHat eine ähnliche Funktion wie die Regler 'Gamma' und 'Neigung'.\nMit dieser Funktion können Sie bestimmte Bereiche des Bildes (normalerweise die hellsten Bereiche der Maske) anvisieren, indem mit Hilfe der Kurve dunklere Bereiche ausgeschlossen werden). Kann Artefakte erzeugen. +TP_LOCALLAB_LOCCONT;Unschärfemaske +TP_LOCALLAB_LOC_CONTRAST;Lokaler Kontrast u. Wavelets +TP_LOCALLAB_LOC_CONTRASTPYR;Pyramide 1: +TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramide 2: +TP_LOCALLAB_LOC_CONTRASTPYR2LAB;Ebenenkontrast - Tonwertkorrektur - Direktionaler Kontrast +TP_LOCALLAB_LOC_CONTRASTPYRLAB;Verlaufsfilter - Kantenschärfung - Unschärfe +TP_LOCALLAB_LOC_RESIDPYR;Restbild +TP_LOCALLAB_LOG;LOG-Kodierung +TP_LOCALLAB_LOG1FRA;CAM16 Bildkorrekturen +TP_LOCALLAB_LOG2FRA;Betrachtungsbedingungen +TP_LOCALLAB_LOGAUTO;Automatisch +TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Berechnet automatisch die 'Mittlere Luminanz' für die Szenenbedingungen. +TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Berechnet automatisch die 'Mittlere Luminanz' für die Szenenbedingungen, wenn die Schaltfläche 'Automatisch' in 'Relative Belichtungsebenen' gedrückt wird. +TP_LOCALLAB_LOGAUTO_TOOLTIP;Mit Drücken dieser Taste werden der 'Dynamikbereich' und die 'Mittlere Luminanz' für die Szenenbedingungen berechnet, wenn die Option 'Automatische mittlere Luminanz (Yb%)' aktiviert ist.\nBerechnet auch die absolute Luminanz zum Zeitpunkt der Aufnahme.\nDrücken Sie die Taste erneut, um die automatisch berechneten Werte anzupassen. +TP_LOCALLAB_LOGBASE_TOOLTIP;Standard = 2.\nWerte unter 2 reduzieren die Wirkung des Algorithmus, wodurch die Schatten dunkler und die Glanzlichter heller werden.\nMit Werten über 2 sind die Schatten grauer und die Glanzlichter werden verwaschener. +TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatische Anpassung ermöglicht, eine Farbe entsprechend ihrer räumlich-zeitlichen Umgebung zu interpretieren.\nNützlich, wenn der Weißabgleich weit von Referenz D50 entfernt ist.\nPasst Farben an das Leuchtmittel des Ausgabegeräts an. +TP_LOCALLAB_LOGCIE;LOG-Kodierung statt Sigmoid +TP_LOCALLAB_LOGCIE_TOOLTIP;Ermöglicht die Verwendung von 'Schwarz-Ev', 'Weiß-Ev', 'Szenen-Mittlere-Leuchtdichte (Yb%)' und 'sichtbare mittlere Leuchtdichte (Yb%)' für die Tonzuordnung mit 'LOG-Kodierung Q'. +TP_LOCALLAB_LOGCOLORFL;Buntheit (M) +TP_LOCALLAB_LOGCOLORF_TOOLTIP;Wahrgenommene Intensität des Farbtones im Vergleich zu Grau.\nAnzeige, dass ein Reiz mehr oder weniger farbig erscheint. +TP_LOCALLAB_LOGCONQL;Kontrast (Q) +TP_LOCALLAB_LOGCONTHRES;Schwellenwert Kontrast (J & Q) +TP_LOCALLAB_LOGCONTL;Kontrast (J) +TP_LOCALLAB_LOGCONTL_TOOLTIP;Der Kontrast (J) in CIECAM16 berücksichtigt die Zunahme der wahrgenommenen Färbung mit der Luminanz. +TP_LOCALLAB_LOGCONTQ_TOOLTIP;Der Kontrast (Q) in CIECAM16 berücksichtigt die Zunahme der wahrgenommenen Färbung mit der Helligkeit. +TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Passt den Kontrastbereich (J & Q) der Mitteltöne an.\nPositive Werte verringern den Effekt der Kontrastregler (J & Q) schrittweise. Negative Werte erhöhen den Effekt der Kontrastregler zunehmend. +TP_LOCALLAB_LOGDETAIL_TOOLTIP;Wirkt hauptsächlich auf hohe Frequenzen. +TP_LOCALLAB_LOGENCOD_TOOLTIP;Tonwertkorrektur mit logarithmischer Kodierung (ACES).\nNützlich für unterbelichtete Bilder oder Bilder mit hohem Dynamikbereich.\n\nZweistufiger Prozess:\n1) Dynamikbereichsberechnung\n2) Manuelle Anpassung. +TP_LOCALLAB_LOGEXP;Alle Werkzeuge +TP_LOCALLAB_LOGFRA;Szenebasierte Bedingungen +TP_LOCALLAB_LOGFRAME_TOOLTIP;Ermöglicht die Berechnung und Anpassung der Ev-Pegel und der 'Mittleren Luminanz Yb%' (Quellgraupunkt) für den Spot-Bereich. Die resultierenden Werte werden von allen Lab-Vorgängen und den meisten RGB-Vorgängen in der Pipeline verwendet.\nBerechnet auch die absolute Luminanz zum Zeitpunkt der Aufnahme. +TP_LOCALLAB_LOGIMAGE_TOOLTIP;Berücksichtigt entsprechende CIECAM-Variablen wie Kontrast (J) und Sättigung (s) aber auch Kontrast (Q) , Helligkeit (Q), Helligkeit (J), Farbigkeit (M) im Modus 'Erweitert'. +TP_LOCALLAB_LOGLIGHTL;Helligkeit (J) +TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Ähnlich Helligkeit (L*a*b*), berücksichtigt die Zunahme der wahrgenommenen Färbung. +TP_LOCALLAB_LOGLIGHTQ;Helligkeit (Q) +TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Wahrgenommene Lichtmenge, die von einer Quelle ausgeht.\nIndikator dafür, dass eine Quelle mehr oder weniger hell und klar zu sein scheint. +TP_LOCALLAB_LOGLIN;Logarithmischer Modus +TP_LOCALLAB_LOGPFRA;Relative Belichtungsebenen +TP_LOCALLAB_LOGREPART;Gesamtintensität +TP_LOCALLAB_LOGREPART_TOOLTIP;Ermöglicht das Anpassen der relativen Intensität des LOG-kodierten Bildes in Bezug auf das Originalbild.\nKein Effekt auf die CIECAM-Komponente. +TP_LOCALLAB_LOGSATURL_TOOLTIP;Die Sättigung(en) in CIECAM16 entsprechen der Farbe einer Quelle in Bezug auf ihre eigene Helligkeit.\nWirkt hauptsächlich auf mittlere Töne und Lichter. +TP_LOCALLAB_LOGSCENE_TOOLTIP;Entspricht den Aufnahmebedingungen. +TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Ändert Töne und Farben, um die Szenenbedingungen zu berücksichtigen.\n\n Durchschnitt : Durchschnittliche Lichtbedingungen (Standard). Das Bild ändert sich nicht.\n\n Dim: Gedimmte Bedingungen. Das Bild wird leicht aufgehellt. \n\nDunkel: Dunkle Bedingungen. Das Bild wird aufgehellt. +TP_LOCALLAB_LOGVIEWING_TOOLTIP;Passend zum Medium, auf dem das fertige Bild betrachtet wird (Monitor, TV, Projektor, Drucker, etc.), wie auch die Umgebungsbedingungen. +TP_LOCALLAB_LOG_TOOLNAME;LOG-Kodierung +TP_LOCALLAB_LUM;Kurven LL - CC +TP_LOCALLAB_LUMADARKEST;Dunkelste +TP_LOCALLAB_LUMASK;Hintergrundfarbe für Luminanzmaske +TP_LOCALLAB_LUMASK_TOOLTIP;Passt den Grauton oder die Farbe des Maskenhintergrundes an (Maske und Anpassungen - Maske anzeigen). +TP_LOCALLAB_LUMAWHITESEST;Hellste +TP_LOCALLAB_LUMFRA;L*a*b* Standard +TP_LOCALLAB_MASFRAME;Maskieren und Zusammenführen +TP_LOCALLAB_MASFRAME_TOOLTIP;Für alle Masken.\nBerücksichtigt das ΔE-Bild, um zu vermeiden, dass der Auswahlbereich geändert wird, wenn die folgenden Maskenwerkzeuge verwendet werden: 'Gamma', 'Steigung', 'Chroma', 'Kontrastkurve', 'Lokaler Kontrast' (nach Wavelet-Ebene), 'Unschärfemaske' und 'Strukturmaske' (falls aktiviert).\nDeaktiviert, wenn der Inverse-Modus verwendet wird. +TP_LOCALLAB_MASK;Kontrast +TP_LOCALLAB_MASK2;Kontrastkurve +TP_LOCALLAB_MASKCOM;Normale Farbmaske +TP_LOCALLAB_MASKCOM_TOOLNAME;Normale Farbmaske +TP_LOCALLAB_MASKCOM_TOOLTIP;Ein eigenständiges Werkzeug.\nKann verwendet werden, um das Erscheinungsbild (Chrominanz, Luminanz, Kontrast) und die Textur in Abhängigkeit des Bereiches anzupassen. +TP_LOCALLAB_MASKCURVE_TOOLTIP;Die 3 Kurven sind standardmäßig auf 1 (maximal) eingestellt:\nC=f(C) Die Farbintensität variiert je nach Chrominanz. Sie können die Chrominanz verringern, um die Auswahl zu verbessern. Wenn Sie diese Kurve nahe Null setzen (mit einem niedrigen Wert von C, um die Kurve zu aktivieren), können Sie den Hintergrund im inversen Modus entsättigen.\nL= f(L) Die Luminanz variiert je nach Luminanz, so dass Sie die Helligkeit verringern können um die Auswahl zu verbessern.\nL und C = f(H) Luminanz und Chrominanz variieren mit dem Farbton, sodass Sie Luminanz und Chrominanz verringern können, um die Auswahl zu verbessern. +TP_LOCALLAB_MASKDDECAY;Zerfallrate +TP_LOCALLAB_MASKDECAY_TOOLTIP;Verwaltet die Zerfallrate für die Graustufen in der Maske.\nZerfallrate = 1 linear\nZerfallrate > 1 schärfere parabolische Übergänge\nZerfallrate < 1 allmählichere Übergänge. +TP_LOCALLAB_MASKDEINV_TOOLTIP;Kehrt die Art und Weise um, wie der Algorithmus die Maske interpretiert.\nWenn aktiviert, werden Schwarz und sehr helle Bereiche verringert. +TP_LOCALLAB_MASKDE_TOOLTIP;Wird verwendet, um die Rauschreduzierung als Funktion der in den L(L)- oder LC(H)-Masken (Maske und Anpassungen) enthaltenen Luminanz-Informationen einzustellen.\nDie L(L)-Maske oder die LC(H)-Maske muss aktiviert sein, um diese Funktion verwenden zu können.\nWenn die Maske unterhalb des Schwellenwertes 'dunkel' oder oberhalb des Schwellenwertes 'hell' liegt, wird die Rauschreduzierung schrittweise angewendet.\nDazwischen bleiben die Bildeinstellungen ohne Rauschreduzierung erhalten, es sei denn, die Regler 'Luminanz-Rauschreduzierung Graubereiche' oder 'Chrominanz-Rauschreduzierung Graubereiche' werden verändert. +TP_LOCALLAB_MASKGF_TOOLTIP;Wird verwendet, um den anpassbaren Filter als Funktion der in den L(L)- oder LC(H)-Masken (Maske und Anpassungen) enthaltenen Luminanz-Informationen auszurichten.\nDie L(L)-Maske oder die LC(H)-Maske muss aktiviert sein, um diese Funktion verwenden zu können.\nBefindet sich die Maske unterhalb der 'dunklen' oder oberhalb der 'hellen' Schwelle, wird der anpassbare Filter schrittweise angewendet.\nZwischen diesen beiden Bereichen bleiben die Bildeinstellungen ohne anpassbaren Filter erhalten. +TP_LOCALLAB_MASKH;Farbtonkurve +TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Hellere Tonwertgrenze, oberhalb derer die Parameter der 'Detailebenenkontraste' (nur Luminanz) nach und nach auf ihre ursprünglichen Werte zurückgesetzt werden, bevor sie durch die Einstellungen des Detailebenenkontrastes geändert werden.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Glättradius', 'Gamma', 'Steigung' und 'Kontrastkurve'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Hellere Tonwertgrenze, oberhalb derer die Parameter nach und nach auf ihre ursprünglichen Werte zurückgesetzt werden, bevor sie durch die 'Farbe und Licht'-Einstellungen geändert werden.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Strukturmaske' , 'Unschärfemaske', 'Glättradius', 'Gamma', 'Steigung', 'Kontrastkurve', 'Lokaler Kontrast' (Wavelets).\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP;Die Rauschreduzierung wird schrittweise von 100% bei der Schwellenwerteinstellung auf 0% beim maximalen Weißwert (wie von der Maske festgelegt) verringert.\nEs können bestimmte Werkzeuge in 'Maske und Anpassungen' verwendet werden, um die Graustufen zu ändern: 'Strukturmaske' , 'Glättradius', 'Gamma', 'Steigung', 'Kontrastkurve' und 'Lokaler Kontrast (Wavelet)'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Hellere Tonwertgrenze, oberhalb derer die Parameter nach und nach auf ihre ursprünglichen Werte zurückgesetzt werden, bevor sie durch die Einstellungen für 'Dynamik und Belichtung' geändert werden.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Glättradius', 'Gamma', 'Steigung' und 'Kontrastkurve'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Hellere Tonwertgrenze, oberhalb derer die Parameter nach und nach auf ihre ursprünglichen Werte zurückgesetzt werden, bevor sie durch die Einstellungen der 'LOG-Kodierung' geändert werden.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Glättradius' und 'Kontrastkurve'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Hellere Tonwertgrenze, oberhalb derer Retinex-Parameter (nur Luminanz) nach und nach auf ihre ursprünglichen Werte zurückgesetzt werden, bevor sie durch die Retinex-Einstellungen geändert werden.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Glättradius', 'Gamma', 'Steigung' und 'Kontrastkurve'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Hellere Tonwertgrenze, oberhalb derer die Parameter nach und nach auf ihre ursprünglichen Werte zurückgesetzt werden, bevor sie durch die Einstellungen für 'Schatten/Lichter' geändert werden.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Glättradius', 'Gamma', 'Steigung' und 'Kontrastkurve'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Hellere Tonwertgrenze, oberhalb derer die Parameter nach und nach auf ihre ursprünglichen Werte zurückgesetzt werden, bevor sie durch die Tone-Mapping-Einstellungen geändert werden.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Glättradius', 'Gamma' , 'Steigung' und 'Kontrastkurve'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Hellere Tonwertgrenze, oberhalb derer die Parameter nach und nach auf ihre ursprünglichen Werte zurückgesetzt werden, bevor sie durch die Farbtemperatur-Einstellungen geändert werden.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Glättradius' , 'Gamma', 'Steigung' und 'Kontrastkurve'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Hellere Tonwertgrenze, oberhalb derer die Parameter nach und nach auf ihre ursprünglichen Werte zurückgesetzt werden, bevor sie durch die 'Lokalen Kontrast-' und 'Wavelet-Einstellungen' geändert werden.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Glättradius', 'Gamma', 'Steigung' und 'Kontrastkurve'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKHIGTHRES_TOOLTIP;Der anpassbare Filter wird schrittweise von 100% bei der Schwellenwerteinstellung auf 0% beim maximalen Weißwert (wie von der Maske festgelegt) verringert.\nEs können bestimmte Werkzeuge in 'Maske und Anpassungen' verwendet werden, um die Graustufen zu ändern: 'Strukturmaske', 'Glättradius', 'Gamma', 'Steigung', 'Kontrastkurve', 'Lokaler Kontrast (Wavelet)'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKLCTHR;Schwellenwert helle Bereiche +TP_LOCALLAB_MASKLCTHR2;Schwelle helle Bereiche +TP_LOCALLAB_MASKLCTHRLOW;Schwellenwert dunkle Bereiche +TP_LOCALLAB_MASKLCTHRLOW2;Schwelle dunkle Bereiche +TP_LOCALLAB_MASKLCTHRMID;Luminanz Graubereiche +TP_LOCALLAB_MASKLCTHRMIDCH;Chrominanz Graubereiche +TP_LOCALLAB_MASKLC_TOOLTIP;Auf diese Weise können Sie die Rauschreduzierung anhand der in der L(L)- oder LC(H)-Maske (Maske und Anpassungen) enthaltenen Luminanz-Informationen ausrichten.\nDie L(L)-Maske oder die LC(H)-Maske muss aktiviert sein, um diese Funktion verwenden zu können.\n'Luminanzschwelle Dunkle Bereiche': Wenn 'Rauschreduzierung in dunklen und hellen Bereichen verstärken' > 1, wird die Rauschreduzierung schrittweise von 0% bei den Schwellenwerteinstellungen auf 100% beim maximalen Schwarzwert (bestimmt durch die Maske) erhöht.\n'Luminanzschwelle Helle Bereiche': Die Rauschreduzierung wird schrittweise von 100% bei der Schwellenwerteinstellung auf 0% beim maximalen Weißwert (bestimmt durch die Maske) verringert.\nIn dem Bereich zwischen den beiden Schwellenwerten werden die Einstellungen zur Rauschverminderung von der Maske nicht beeinflusst. +TP_LOCALLAB_MASKLNOISELOW;In dunklen und hellen Bereichen verstärken +TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dunklere Tonwertgrenze, unterhalb derer die Parameter der Detailebenenkontraste (nur Luminanz) nach und nach auf ihre ursprünglichen Werte zurückgesetzt werden, bevor sie durch die Einstellungen des Detailebenenkontrastes geändert werden.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Glättradius', 'Gamma', 'Steigung' und 'Kontrastkurve'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dunklere Tonwertgrenze, unterhalb derer die Parameter nach und nach auf ihre ursprünglichen Werte zurückgesetzt werden, bevor sie durch 'Farbe- und Licht'-Einstellungen geändert werden.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Strukturmaske' , 'Unschärfemaske', 'Glättradius', 'Gamma', 'Steigung', 'Kontrastkurve', 'Lokaler Kontrast (Wavelets)'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;Die Rauschreduzierung wird bei der Einstellung des Schwellenwertes schrittweise von 0% auf 100% beim maximalen Schwarzwert (wie von der Maske festgelegt) erhöht.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Strukturmaske', 'Glättradius', 'Gamma', 'Steigung', 'Kontrastkurve' und ' Lokaler Kontrast(Wavelet)'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass in den 'Einstellungen' Hintergrundfarbmaske = 0 gesetzt ist. +TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dunklere Tonwertgrenze, unterhalb derer die Parameter nach und nach auf ihre ursprünglichen Werte wieder hergestellt werden, bevor sie durch die 'Dynamik und Belichtung'-Einstellungen geändert werden.\nSie können die Grauwerte mit verschiedenen Werkzeugen in 'Maske und Anpassungen' ändern: 'Glättradius', 'Gamma', 'Steigung' und 'Kontrastkurve'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dunklere Tonwertgrenze, unterhalb derer die Parameter nach und nach auf ihre ursprünglichen Werte zurückgesetzt werden, bevor sie durch die Einstellungen der 'LOG-Kodierung' geändert werden.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Glättradius' und 'Kontrastkurve'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dunklere Tonwertgrenze, unterhalb derer Retinex-Parameter (nur Luminanz) nach und nach auf ihre ursprünglichen Werte zurückgesetzt werden, bevor sie durch die Retinex-Einstellungen geändert werden.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Glättradius', 'Gamma', 'Steigung' und 'Kontrastkurve'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dunklere Tonwertgrenze, unterhalb derer die Parameter nach und nach auf ihre ursprünglichen Werte wieder hergestellt werden, bevor sie durch die 'Schatten - Lichter'-Einstellungen geändert werden.\n Sie können die Grauwerte mit verschiedenen Werkzeugen in 'Maske und Anpassungen' ändern: 'Glättradius', 'Gamma', 'Steigung' und 'Kontrastkurve'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dunklere Tonwertgrenze, unterhalb derer die Parameter nach und nach auf ihre ursprünglichen Werte zurückgesetzt werden, bevor sie durch die 'Tone-Mapping'-Einstellungen geändert werden.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Glättradius', 'Gamma' , 'Steigung' und 'Kontrastkurve'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dunklere Tonwertgrenze, unterhalb derer die Parameter nach und nach auf ihre ursprünglichen Werte zurückgesetzt werden, bevor sie durch die Einstellungen für 'Farbtemperatur' geändert werden.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Glättradius', 'Gamma', 'Steigung' und 'Kontrastkurve'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dunklere Tonwertgrenze, unterhalb derer die Parameter nach und nach auf ihre ursprünglichen Werte zurückgesetzt werden, bevor sie durch die 'Kontrast- und Wavelet'-Einstellungen geändert werden.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Glättradius', 'Gamma', 'Steigung' und 'Kontrastkurve'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;Der anpassbare Filter wird schrittweise von 0% bei der Schwellenwerteinstellung auf 100% beim maximalen Schwarzwert (wie von der Maske festgelegt) erhöht.\nSie können bestimmte Werkzeuge in 'Maske und Anpassungen' verwenden, um die Graustufen zu ändern: 'Strukturmaske', 'Glättradius', 'Gamma und Steigung', 'Kontrastkurve, ' Lokaler Kontrast (Wavelet)'.\nVerwenden Sie einen 'feststellbaren Farbwähler' auf der Maske, um zu sehen, welche Bereiche betroffen sind. Stellen Sie sicher, dass Sie in den Einstellungen 'Hintergrundfarbmaske' = 0 festlegen. +TP_LOCALLAB_MASKRECOL_TOOLTIP;Wird verwendet, um den Effekt der Farb- und Lichteinstellungen basierend auf den in den L(L)- oder LC(H)-Masken (Maske und Anpassungen) enthaltenen Luminanz-Informationen zu modulieren.\nDie L(L)-Maske oder die LC(H) -Maske muss aktiviert sein, um diese Funktion verwenden zu können.\nDie Bereiche 'dunkel' und 'hell' unterhalb und oberhalb der entsprechenden Schwellenwerte werden schrittweise auf ihre ursprünglichen Werte zurückgesetzt, bevor sie durch die Einstellungen für Farbe und Licht geändert werden.\nZwischen diesen beiden Bereichen wird der volle Wert der Einstellungen für Farbe und Licht angewendet. +TP_LOCALLAB_MASKRECOTHRES;Schwellenwert Wiederherstellung +TP_LOCALLAB_MASKREEXP_TOOLTIP;Wird verwendet, um den Effekt der Einstellungen für 'Dynamik und Belichtung' basierend auf den in den L(L)- oder LC(H)-Masken (Maske und Anpassungen) enthaltenen Luminanz-Informationen zu modulieren.\nDie L(L)-Maske oder die LC(H)-Maske muss aktiviert sein, um diese Funktion verwenden zu können.\nDie Bereiche 'dunkel' und 'hell' unterhalb der entsprechenden Schwellenwerte werden schrittweise auf ihre ursprünglichen Werte zurückgesetzt, bevor sie durch die Einstellungen 'Dynamik und Belichtung' geändert werden.\nZwischen diesen beiden Bereichen wird der volle Wert der Einstellungen für 'Dynamik und Belichtung' angewendet. +TP_LOCALLAB_MASKRELOG_TOOLTIP;Wird verwendet, um den Effekt der Einstellungen für die LOG-Kodierung basierend auf den in den L(L)- oder LC(H)-Masken (Maske und Anpassungen) enthaltenen Luminanz-Informationen zu modulieren.\nDie L(L)-Maske oder die LC(H)-Maske muss aktiviert sein, um diese Funktion verwenden zu können.\nDie Bereiche 'dunkel' und 'hell' unterhalb und oberhalb der entsprechenden Schwellenwerte werden schrittweise auf ihre ursprünglichen Werte zurückgesetzt, bevor sie durch die LOG-Kodierungseinstellungen geändert werden - kann zur Rekonstruktion von Glanzlichtern durch Farbübertragung verwendet werden.\nZwischen diesen beiden Bereichen wird der volle Wert der Protokoll-Kodierungseinstellungen angewendet. +TP_LOCALLAB_MASKRESCB_TOOLTIP;Wird verwendet, um den Effekt der CBDL-Einstellungen (nur Luminanz) basierend auf den in den L(L)- oder LC(H)-Masken (Maske und Anpassungen) enthaltenen Luminanz-Informationen zu modulieren.\nDie L(L)-Maske oder die LC(H)-Maske muss aktiviert sein, um diese Funktion verwenden zu können.\nDie Bereiche 'dunkel' und 'hell' unterhalb und oberhalb der entsprechenden Schwellenwerte werden schrittweise auf ihre ursprünglichen Werte zurückgesetzt, bevor sie durch die CBDL-Einstellungen geändert werden.\nZwischen diesen beiden Bereichen wird der volle Wert der CBDL-Einstellungen angewendet. +TP_LOCALLAB_MASKRESH_TOOLTIP;Wird verwendet, um den Effekt der Einstellungen für Schatten/Lichter basierend auf den in den L(L)- oder LC(H)-Masken (Maske und Anpassungen) enthaltenen Luminanz-Informationen zu modulieren.\nDie L(L)-Maske oder die LC(H)-Maske muss aktiviert sein, um diese Funktion verwenden zu können.\nDie Bereiche 'dunkel' und 'hell' unterhalb und oberhalb der entsprechenden Schwellenwerte werden schrittweise auf ihre ursprünglichen Werte zurückgesetzt, bevor sie durch die Einstellungen für Schatten/Lichter geändert werden.\nZwischen diesen beiden Bereichen wird der volle Wert der Einstellungen für Schatten/Lichter angewendet. +TP_LOCALLAB_MASKRESRETI_TOOLTIP;Wird verwendet, um den Effekt der Retinex-Einstellungen (nur Luminanz) basierend auf den in den L(L)- oder LC(H)-Masken (Maske und Anpassungen) enthaltenen Luminanz-Informationen zu modulieren.\nDie L(L)-Maske oder die LC(H)-Maske muss aktiviert sein, um diese Funktion verwenden zu können.\nDie Bereiche 'dunkel' und 'hell' unterhalb und oberhalb der entsprechenden Schwellenwerte werden schrittweise auf ihre ursprünglichen Werte zurückgesetzt, bevor sie durch die Retinex-Einstellungen geändert werden.\nZwischen diesen beiden Bereichen wird der volle Wert der Retinex-Einstellungen angewendet. +TP_LOCALLAB_MASKRESTM_TOOLTIP;Wird verwendet, um den Effekt der Tonwertkorrektur-Einstellungen basierend auf den in den L(L)- oder LC(H)-Masken (Maske und Anpassungen) enthaltenen Luminanz-Informationen zu modulieren.\nDie L(L)-Maske oder die LC(H)-Maske müssen aktiviert sein, um diese Funktion zu verwenden.\nDie Bereiche 'dunkel' und 'hell' unterhalb des Dunkelschwellenwertes und oberhalb des Helligkeitsschwellenwertes werden schrittweise auf ihre ursprünglichen Werte zurückgesetzt, bevor sie durch die Einstellungen der Tonwertkorrektur geändert werden.\nZwischen diesen beiden Bereichen wird der volle Einstellungswert der Tonwertkorrektur angewendet. +TP_LOCALLAB_MASKRESVIB_TOOLTIP;Wird verwendet, um den Effekt der Einstellungen für Lebhaftigkeit und Warm/Kalt basierend auf den in den L(L)- oder LC(H)-Masken (Maske und Anpassungen) enthaltenen Luminanz-Informationen zu modulieren.\nDie L(L)-Maske oder die LC(H)-Maske muss aktiviert sein, um diese Funktion verwenden zu können.\nDie Bereiche 'dunkel' und 'hell' unterhalb und oberhalb des entsprechenden Schwellenwertes werden schrittweise auf ihre ursprünglichen Werte zurückgesetzt, bevor sie durch die Einstellungen Lebhaftigkeit und Farbtemperatur geändert werden.\nZwischen diesen beiden Bereichen wird der volle Wert der Einstellungen für Lebhaftigkeit und Warm/Kalt angewendet. +TP_LOCALLAB_MASKRESWAV_TOOLTIP;Wird verwendet, um den Effekt der Einstellungen für lokalen Kontrast und Wavelet basierend auf den in den L(L)- oder LC(H)-Masken (Maske und Anpassungen) enthaltenen Luminanz-Informationen zu modulieren.\nDie L(L)-Maske oder die LC(H)-Maske muss aktiviert sein, um diese Funktion verwenden zu können.\nDie Bereiche 'dunkel' und 'hell' unterhalb und oberhalb der entsprechenden Schwellenwerte werden schrittweise auf ihre ursprünglichen Werte zurückgesetzt, bevor sie durch die Einstellungen für lokalen Kontrast und Wavelet geändert werden. Zwischen diesen beiden Bereichen wird der volle Wert der Einstellungen für lokalen Kontrast und Wavelet angewendet. +TP_LOCALLAB_MASKUNUSABLE;Maske deaktiviert (siehe Maske u. Anpassungen) +TP_LOCALLAB_MASKUSABLE;Maske aktiviert (siehe Maske u. Anpassungen) +TP_LOCALLAB_MASK_TOOLTIP;Sie können mehrere Masken für ein Werkzeug aktivieren, indem Sie ein anderes Werkzeug aktivieren und nur die Maske verwenden (setzen Sie die Werkzeugregler auf 0).\n\nSie können den RT-Spot auch duplizieren und nahe am ersten Punkt platzieren. Die kleinen Abweichungen in den Punktreferenzen ermöglichen Feineinstellungen. +TP_LOCALLAB_MEDIAN;Median niedrig +TP_LOCALLAB_MEDIANITER_TOOLTIP;Anzahl der aufeinanderfolgenden Iterationen, die vom Medianfilter ausgeführt werden. +TP_LOCALLAB_MEDIAN_TOOLTIP;Sie können Medianwerte im Bereich von 3 x 3 bis 9 x 9 Pixel auswählen. Höhere Werte erhöhen die Rauschreduzierung und Unschärfe. +TP_LOCALLAB_MEDNONE;Keine +TP_LOCALLAB_MERCOL;Farbe +TP_LOCALLAB_MERDCOL;Hintergrund zusammenführen (ΔE) +TP_LOCALLAB_MERELE;Nur aufhellen +TP_LOCALLAB_MERFIV;Addition +TP_LOCALLAB_MERFOR;Farbe abwedeln (dodge) +TP_LOCALLAB_MERFOU;Multiplikation +TP_LOCALLAB_MERGE1COLFRA;Mit Original/Vorher/Hintergrund zusammenführen +TP_LOCALLAB_MERGECOLFRA;Maske: LCh u. Struktur +TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Ermöglicht das Erstellen von Masken basierend auf den 3 LCh-Kurven und/oder einem Strukturerkennungsalgorithmus. +TP_LOCALLAB_MERGEMER_TOOLTIP;Berücksichtigt ΔE beim Zusammenführen (äquivalent zu Anwendungsbereich in diesem Fall). +TP_LOCALLAB_MERGEOPA_TOOLTIP;Deckkraft =% des aktuellen Punkts, der mit dem ursprünglichen oder vorherigen Punkt zusammengeführt werden soll.\nKontrastschwelle: Passt das Ergebnis als Funktion des Kontrasts im Originalbild an. +TP_LOCALLAB_MERHEI;Überlagerung +TP_LOCALLAB_MERHUE;Farbton +TP_LOCALLAB_MERLUCOL;Luminanz +TP_LOCALLAB_MERLUM;Helligkeit +TP_LOCALLAB_MERNIN;Bildschirm +TP_LOCALLAB_MERONE;Normal +TP_LOCALLAB_MERSAT;Sättigung +TP_LOCALLAB_MERSEV;Weiches Licht (legacy) +TP_LOCALLAB_MERSEV0;Weiches Licht Illusion +TP_LOCALLAB_MERSEV1;Weiches Licht W3C +TP_LOCALLAB_MERSEV2;Hartes Licht +TP_LOCALLAB_MERSIX;Division +TP_LOCALLAB_MERTEN;Nur Abdunkeln +TP_LOCALLAB_MERTHI;Farbe nachbelichten (burn) +TP_LOCALLAB_MERTHR;Differenz +TP_LOCALLAB_MERTWE;Ausschluss +TP_LOCALLAB_MERTWO;Subtraktion +TP_LOCALLAB_METHOD_TOOLTIP;'Verbessert + Chroma Rauschreduzierung' verlängern die Verarbeitungszeiten erheblich.\nAber sie reduzieren auch Artefakte. +TP_LOCALLAB_MLABEL;Wiederhergestellte Daten Min=%1 Max=%2 +TP_LOCALLAB_MLABEL_TOOLTIP;Die Werte sollten in der Nähe von Min=0 Max=32768 (Log-Modus) liegen, es sind jedoch auch andere Werte möglich. Sie können 'Wiederhergestellte Daten' beschneiden und 'Versatz' anpassen, um sie zu normalisieren.\nStellt Bilddaten ohne Überlagerung wieder her. +TP_LOCALLAB_MODE_EXPERT;Erweitert +TP_LOCALLAB_MODE_NORMAL;Standard +TP_LOCALLAB_MODE_SIMPLE;Basis +TP_LOCALLAB_MRFIV;Hintergrund +TP_LOCALLAB_MRFOU;Vorheriger Spot +TP_LOCALLAB_MRONE;Keine +TP_LOCALLAB_MRTHR;Original Bild +TP_LOCALLAB_MULTIPL_TOOLTIP;Weitbereichs-Toneinstellung: -18 EV bis + 4 EV. Der erste Regler wirkt auf sehr dunkle Töne zwischen -18 EV und -6 EV. Der letzte Regler wirkt auf helle Töne bis zu 4 EV. +TP_LOCALLAB_NEIGH;Radius +TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Niedrigere Werte bewahren Details und Textur, höhere Werte erhöhen die Rauschunterdrückung.\nIst Gamma = 3, wird Luminanz 'linear' angewendet. +TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Passt die Intensität der Rauschreduzierung an die Größe der zu verarbeitenden Objekte an. +TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Höhere Werte erhöhen die Rauschreduzierung auf Kosten der Verarbeitungszeit. +TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detailwiederherstellung' basiert auf einer Laplace-Transformation, um einheitliche Bereiche und keine Bereiche mit Details zu erfassen. +TP_LOCALLAB_NLDET;Detailwiederherstellung +TP_LOCALLAB_NLFRA;Nicht-lokales Mittel - Luminanz +TP_LOCALLAB_NLFRAME_TOOLTIP;Nicht-lokales Mittel bedeutet, dass bei der Rauschreduzierung ein Mittelwert aller Pixel im Bild verwendet wird, gewichtet danach, wie ähnlich sie dem Zielpixel sind.\nReduziert den Detailverlust im Vergleich zu lokalen Mittelwertalgorithmen.\nBei dieser Methode wird nur das Luminanz-Rauschen berücksichtigt. Chrominanz-Rauschen wird am besten mit Wavelets und Fourier-Transformationen (DCT) verarbeitet.\nKann in Verbindung mit 'Luminanz-Rauschreduzierung nach Ebenen' oder alleine verwendet werden. +TP_LOCALLAB_NLGAM;Gamma +TP_LOCALLAB_NLLUM;Intensität +TP_LOCALLAB_NLPAT;Maximale Objektgröße +TP_LOCALLAB_NLRAD;Maximaler Radius +TP_LOCALLAB_NOISECHROCOARSE;Grobe Chrominanz +TP_LOCALLAB_NOISECHROC_TOOLTIP;Wenn der Wert über Null liegt, ist ein Algorithmus mit hoher Qualität aktiviert.\nGrob ist für Regler > = 0,02 +TP_LOCALLAB_NOISECHRODETAIL;Chrominanz Detailwiederherstellung +TP_LOCALLAB_NOISECHROFINE;Feine Chrominanz +TP_LOCALLAB_NOISEGAM;Gamma +TP_LOCALLAB_NOISEGAM_TOOLTIP;Ist Gamma = 1 wird Luminanz 'Lab' angewendet. Ist Gamma = 3 wird Luminanz 'linear' angewendet.\nNiedrige Werte erhalten Details und Texturen, höhere Werte erhöhen die Rauschminderung. +TP_LOCALLAB_NOISELEQUAL;Equalizer Weiß-Schwarz +TP_LOCALLAB_NOISELUMCOARSE;Grobe Luminanz +TP_LOCALLAB_NOISELUMDETAIL;Luminanz Detailwiederherstellung +TP_LOCALLAB_NOISELUMFINE;Feine Luminanz +TP_LOCALLAB_NOISELUMFINETWO;Feine Luminanz 2 +TP_LOCALLAB_NOISELUMFINEZERO;Feine Luminanz 0 +TP_LOCALLAB_NOISEMETH;Rauschreduzierung +TP_LOCALLAB_NOISE_TOOLTIP;Fügt Luminanz-Rauschen hinzu. +TP_LOCALLAB_NONENOISE;Keine +TP_LOCALLAB_NUL_TOOLTIP;. +TP_LOCALLAB_OFFS;Versatz +TP_LOCALLAB_OFFSETWAV;Versatz +TP_LOCALLAB_OPACOL;Deckkraft +TP_LOCALLAB_ORIGLC;Nur mit dem Ursprungsbild zusammenführen +TP_LOCALLAB_ORRETILAP_TOOLTIP;Ändert ΔE vor Änderungen durch 'Bereich'. Auf diese Weise kann die Aktion für verschiedene Teile des Bildes unterschieden werden (z.B. in Bezug auf den Hintergrund). +TP_LOCALLAB_ORRETISTREN_TOOLTIP;Wirkt basierend auf dem Laplace-Schwellwert. Je höher die Werte, desto stärker werden die Kontrastunterschiede verringert. +TP_LOCALLAB_PASTELS2;Lebhaftigkeit +TP_LOCALLAB_PDE;Kontrastdämpfung - Dynamikbereich Kompression +TP_LOCALLAB_PDEFRA;Kontrastdämpfung +TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL Algorithmus an Rawtherapee angepasst: Liefert unterschiedliche Ergebnisse und erfordert andere Einstellungen als das Hauptmenü 'Belichtung'.\nKann nützlich für Bilder mit geringer Belichtung oder hohem Dynamikbereich sein. +TP_LOCALLAB_PREVHIDE;Mehr Einstellungen ausblenden +TP_LOCALLAB_PREVIEW;Vorschau ΔE +TP_LOCALLAB_PREVSHOW;Mehr Einstellungen einblenden +TP_LOCALLAB_PROXI;Zerfallrate (ΔE) +TP_LOCALLAB_QUAAGRES;Aggressiv +TP_LOCALLAB_QUACONSER;Konservativ +TP_LOCALLAB_QUALCURV_METHOD;Kurventyp +TP_LOCALLAB_QUAL_METHOD;Globale Qualität +TP_LOCALLAB_QUANONEALL;Aus +TP_LOCALLAB_QUANONEWAV;Nur nicht-lokales Mittel +TP_LOCALLAB_RADIUS;Radius +TP_LOCALLAB_RADIUS_TOOLTIP;Verwendet eine schnelle Fouriertransformation bei Radius > 30 +TP_LOCALLAB_RADMASKCOL;Glättradius +TP_LOCALLAB_RECOTHRES02_TOOLTIP;Wenn der Wert 'Wiederherstellungsschwelle' > 1 ist, berücksichtigt die Maske in 'Maske und Anpassungen' alle vorherigen Änderungen am Bild aber nicht die mit dem aktuellen Werkzeug (z.B. Farbe und Licht, Wavelet, Cam16 usw.).\nWenn der Wert der 'Wiederherstellungsschwelle' < 1 ist, berücksichtigt die Maske in 'Maske und Anpassungen' keine vorherigen Änderungen am Bild.\n\nIn beiden Fällen wirkt der 'Wiederherstellungsschwellenwert' auf das maskierte Bild modifiziert durch das aktuelle Tool (Farbe und Licht, Wavelet, CAM16 usw.). +TP_LOCALLAB_RECT;Rechteck +TP_LOCALLAB_RECURS;Referenzen rekursiv +TP_LOCALLAB_RECURS_TOOLTIP;Erzwingt, dass der Algorithmus die Referenzen neu berechnet, nachdem jedes Werkzeug angewendet wurde.\nAuch hilfreich bei der Arbeit mit Masken. +TP_LOCALLAB_REN_DIALOG_LAB;Neuer Spot Name +TP_LOCALLAB_REN_DIALOG_NAME;Spot umbenennen +TP_LOCALLAB_REPARCOL_TOOLTIP;Ermöglicht, die relative Stärke von 'Farbe und Licht' in Bezug auf das Originalbild anzupassen. +TP_LOCALLAB_REPARDEN_TOOLTIP;Ermöglicht, die relative Stärke der 'Rauschreduzierung' in Bezug auf das Originalbild anzupassen. +TP_LOCALLAB_REPAREXP_TOOLTIP;Ermöglicht, die relative Stärke von 'Dynamik und und Belichtung' in Bezug auf das Originalbild anzupassen. +TP_LOCALLAB_REPARSH_TOOLTIP;Ermöglicht, die relative Stärke von 'Schatten/Lichter' und 'Tonwert' in Bezug auf das Originalbild anzupassen. +TP_LOCALLAB_REPARTM_TOOLTIP;Ermöglicht, die relative Stärke des 'Tone-Mappings' in Bezug auf das Originalbild anzupassen. +TP_LOCALLAB_REPARW_TOOLTIP;Ermöglicht, die relative Stärke des'Lokalen Kontrasts' und der 'Wavelets' in Bezug auf das Originalbild anzupassen. +TP_LOCALLAB_RESID;Restbild +TP_LOCALLAB_RESIDBLUR;Unschärfe Restbild +TP_LOCALLAB_RESIDCHRO;Chroma Restbild +TP_LOCALLAB_RESIDCOMP;Kompression Restbild +TP_LOCALLAB_RESIDCONT;Kontrast Restbild +TP_LOCALLAB_RESIDHI;Lichter +TP_LOCALLAB_RESIDHITHR;Schwellenwert Lichter +TP_LOCALLAB_RESIDSHA;Schatten +TP_LOCALLAB_RESIDSHATHR;Schwellenwert Schatten +TP_LOCALLAB_RETI;Dunst entfernen u. Retinex +TP_LOCALLAB_RETIFRA;Retinex +TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex kann für die Verarbeitung von Bildern folgender Art nützlich sein:\nDie unscharf, neblig oder trüb sind (zusätzlich zu 'Dunst entfernen').\nDie große Unterschiede in der Luminanz enthalten.\nEs kann auch für Spezialeffekte (Tonzuordnung) verwendet werden. +TP_LOCALLAB_RETIM;Original Retinex +TP_LOCALLAB_RETITOOLFRA;Retinex Werkzeuge +TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Hat keine Auswirkung, wenn der Wert 'Helligkeit' = 1 oder 'Dunkelheit' = 2 angegeben wird.\nFür andere Werte wird der letzte Schritt eines 'Multiple Scale Retinex'-Algorithmus (ähnlich wie 'Lokaler Kontrast') angewendet. Mit diesen beiden Einstellungen, die mit 'Stärke' verknüpft sind, können Sie Anpassungen vor dem lokalen Kontrast vornehmen. +TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Passt die internen Parameter an, um die Reaktion zu optimieren.\nDie Werte für 'Wiederhergestellte Daten' sollten vorzugsweise nahe bei Min = 0 und Max = 32768 (Log-Modus) gehalten werden, andere Werte sind jedoch möglich. +TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Der Logarithmus-Modus führt zu mehr Kontrast, erzeugt aber auch mehr Lichthöfe. +TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;Mit den Reglern für 'Radius' und 'Varianz(Kontrast)' können Sie die Trübung anpassen und entweder den Vordergrund oder den Hintergrund anvisieren. +TP_LOCALLAB_RETI_SCALE_TOOLTIP;Wenn 'Skalieren' = 1 ist, verhält sich Retinex wie ein lokaler Kontrast mit zusätzlichen Möglichkeiten.\nDurch Erhöhen des Skalieren-Werts wird die Intensität der rekursiven Aktion auf Kosten der Verarbeitungszeit erhöht. +TP_LOCALLAB_RET_TOOLNAME;Dunst entfernen u. Retinex +TP_LOCALLAB_REWEI;Iterationen neu gewichten +TP_LOCALLAB_RGB;RGB-Tonkurve +TP_LOCALLAB_RGBCURVE_TOOLTIP;Im RGB-Modus gibt es 4 Möglichkeiten: 'Standard', 'gewichteter Standard', 'Luminanz' und 'Filmähnlich'. +TP_LOCALLAB_ROW_NVIS;Nicht sichtbar +TP_LOCALLAB_ROW_VIS;Sichtbar +TP_LOCALLAB_RSTPROTECT_TOOLTIP;'Rot- und Hauttöne schützen' beeinflusst die Schieberegler von Sättigung , Chromatizität und Buntheit. +TP_LOCALLAB_SATUR;Sättigung +TP_LOCALLAB_SATURV;Sättigung (s) +TP_LOCALLAB_SCALEGR;Korngröße +TP_LOCALLAB_SCALERETI;Skalieren +TP_LOCALLAB_SCALTM;Skalieren +TP_LOCALLAB_SCOPEMASK;Bereich (ΔE Bildmaske) +TP_LOCALLAB_SCOPEMASK_TOOLTIP;Aktiviert, wenn die ΔE-Bildmaske aktiviert ist.\nNiedrige Werte vermeiden das Retuschieren des ausgewählten Bereichs. +TP_LOCALLAB_SENSI;Bereich +TP_LOCALLAB_SENSIEXCLU;Intensität +TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Anpassung der auszuschließenden Farben. +TP_LOCALLAB_SENSIMASK_TOOLTIP;Bereichsanpassung speziell für das gängige Maskenwerkzeug.\nBezieht sich auf den Unterschied zwischen dem Originalbild und der Maske.\nVerwendet die Luma-, Chroma- und Farbtonreferenzen aus der Mitte des RT-Spots.\n\nAuch das ΔE der Maske selbst kann angepasst werden durch Verwendung von 'Scope (ΔE-Bildmaske)' unter 'Einstellungen' > 'Maskieren und Zusammenführen'. +TP_LOCALLAB_SENSI_TOOLTIP;Passt den Anwendungsbereich an:\nKleine Werte beschränken die Anwendung auf Farben ähnlich derer im Spot.\nHohe Werte erweitern den Bereich auf eine größere Bandbreite an Farben +TP_LOCALLAB_SETTINGS;Einstellungen +TP_LOCALLAB_SH1;Schatten/Lichter +TP_LOCALLAB_SH2;Equalizer +TP_LOCALLAB_SHADEX;Schatten +TP_LOCALLAB_SHADEXCOMP;Schattenkompression u. Tonwertweite +TP_LOCALLAB_SHADHIGH;Schatten/Lichter +TP_LOCALLAB_SHADHMASK_TOOLTIP;Reduziert die Lichter der Maske genau so wie der Schatten/Lichter-Algorithmus. +TP_LOCALLAB_SHADMASK_TOOLTIP;Hebt die Lichter der Maske genau so wie der Schatten/Lichter-Algorithmus. +TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Schatten und Lichter können entweder mit den Reglern für Schatten und Lichter oder mit einem Equalizer angepasst werden.\nKann anstelle oder in Verbindung mit dem Belichtungsmodul und auch als Verlaufsfilter verwendet werden. +TP_LOCALLAB_SHAMASKCOL;Schatten +TP_LOCALLAB_SHAPETYPE;RT-Spot Form +TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' ist der normale Modus.\n'Rechteck' kann in einigen Fällen hilfreich sein, z.B. um die Trennzeichen im Vollbild-Modus außerhalb des Voransichtsbereiches zu setzen. In diesem Falle ist Transition = 100 zu setzen.\n\nZukünftige Versionen werden auch Polygone und Bezierkurven unterstützen. +TP_LOCALLAB_SHARAMOUNT;Intensität +TP_LOCALLAB_SHARBLUR;Unschärferadius +TP_LOCALLAB_SHARDAMPING;Dämpfung +TP_LOCALLAB_SHARFRAME;Veränderungen +TP_LOCALLAB_SHARITER;Iterationen +TP_LOCALLAB_SHARP;Schärfen +TP_LOCALLAB_SHARP_TOOLNAME;Schärfen +TP_LOCALLAB_SHARRADIUS;Radius +TP_LOCALLAB_SHORTC; Maske Short L-Kurven +TP_LOCALLAB_SHORTCMASK_TOOLTIP;Schließt die beiden Kurven L(L) und L(H) kurz.\nErmöglicht das Mischen des aktuellen Bildes mit dem durch die Masken geänderten Originalbild.\nVerwendbar mit den Masken 2, 3, 4, 6, 7. +TP_LOCALLAB_SHOWC;Maske und Anpassungen +TP_LOCALLAB_SHOWC1;Datei zusammenführen +TP_LOCALLAB_SHOWCB;Maske und Anpassungen +TP_LOCALLAB_SHOWDCT;Prozessansicht +TP_LOCALLAB_SHOWE;Maske und Anpassungen +TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +TP_LOCALLAB_SHOWLAPLACE;∆ Laplace (zuerst) +TP_LOCALLAB_SHOWLC;Maske und Anpassungen +TP_LOCALLAB_SHOWMASK;Maske anzeigen +TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Zeigt Masken und Anpassungen an.\nBeachten Sie: es kann jeweils nur eine Werkzeugmaske angezeigt werden.\nGeändertes Bild anzeigen: Zeigt das geänderte Bild einschließlich der Auswirkungen von Anpassungen und Masken an.\nGeänderte Bereiche ohne Maske anzeigen: Zeigt die Änderungen vor der Anwendung von Masken an.\nGeänderte Bereiche mit Maske anzeigen: Zeigt die Änderungen nach der Anwendung von Masken an.\nMaske anzeigen: Zeigt das Aussehen der Maske einschließlich des Effekts von Kurven und Filtern an.\nAnzeigen der Spot-Struktur: Ermöglicht das Anzeigen der Struktur-Erkennungsmaske, wenn 'Spot-Struktur' aktiviert ist (sofern verfügbar).\nHinweis: Die Maske wird vor dem Formerkennungsalgorithmus angewendet. +TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Ermöglicht die Visualisierung der verschiedenen Phasen des Fourier-Prozesses. \nLaplace - berechnet die zweite Ableitung der Laplace-Transformation als Funktion des Schwellenwerts.\nFourier - zeigt die Laplace-Transformation mit DCT.\nPoisson - zeigt die Lösung des Poisson-DCE .\nKeine Luminanznormalisierung - Zeigt das Ergebnis ohne jegliche Luminanznormalisierung. +TP_LOCALLAB_SHOWMASKTYP1;Unschärfe-Rauschen +TP_LOCALLAB_SHOWMASKTYP2;Rauschreduzierung +TP_LOCALLAB_SHOWMASKTYP3;Unschärfe-Rauschen + Rauschreduzierung +TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Kann mit 'Maske und Anpassungen' verwendet werden.\nWenn 'Unschärfe und Rauschen' gewählt wurde, kann die Maske nicht für 'Rauschreduzierung' angewendet werden.\nWenn 'Rauschreduzierung' gewählt wurde, kann die Maske nicht für 'Unschärfe und Rauschen' angewendet werden.\nWenn 'Unschärfe und Rauschen + Rauschreduzierung' gewählt wurde, wird die Maske geteilt. Beachten Sie, dass in diesem Falle die Regler sowohl für 'Unschärfe und Rauschen' und 'Rauschreduzierung' aktiv sind, so dass sich empfiehlt, bei Anpassungen die Option 'Zeige Modifikationen mit Maske' zu verwenden. +TP_LOCALLAB_SHOWMNONE;Anzeige des modifizierten Bildes +TP_LOCALLAB_SHOWMODIF;Anzeige der modifizierten Bereiche ohne Maske +TP_LOCALLAB_SHOWMODIF2;Anzeige der modifizierten Bereiche +TP_LOCALLAB_SHOWMODIFMASK;Anzeige der modifizierten Bereiche mit Maske +TP_LOCALLAB_SHOWNORMAL;Keine Luminanz-Normalisierung +TP_LOCALLAB_SHOWPLUS;Maske und Anpassungen +TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +TP_LOCALLAB_SHOWR;Maske und Anpassungen +TP_LOCALLAB_SHOWREF;Voransicht ΔE +TP_LOCALLAB_SHOWS;Maske und Anpassungen +TP_LOCALLAB_SHOWSTRUC;Zeige Spot-Struktur (erweitert) +TP_LOCALLAB_SHOWSTRUCEX;Zeige Spot-Struktur (erweitert) +TP_LOCALLAB_SHOWT;Maske und Anpassungen +TP_LOCALLAB_SHOWVI;Maske und Anpassungen +TP_LOCALLAB_SHRESFRA;Schatten/Lichter & TRC +TP_LOCALLAB_SHTRC_TOOLTIP;Basierend auf den (bereitgestellten) 'Arbeitsprofil'(en) werden die Farbtöne des Bildes geändert, indem das Arbeitsprofil auf eine Farbtonkennlinie einwirkt. \n'Gamma' wirkt hauptsächlich auf helle Töne.\n'Steigung' wirkt hauptsächlich auf dunkle Töne.\nEs wird empfohlen, die Farbtonkennlinie beider Geräte (Monitor- und Ausgabeprofil) auf sRGB (Standard) zu setzen. +TP_LOCALLAB_SH_TOOLNAME;Schatten/Lichter - Equalizer +TP_LOCALLAB_SIGFRA;Sigmoid Q & LOG-Kodierung Q +TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +TP_LOCALLAB_SIGMAWAV;Dämpfungsreaktion +TP_LOCALLAB_SIGMOIDBL;Überlagern +TP_LOCALLAB_SIGMOIDLAMBDA;Kontrast +TP_LOCALLAB_SIGMOIDQJ;Schwarz-Ev und Weiß-Ev verwenden +TP_LOCALLAB_SIGMOIDTH;Schwellenwert (Graupunkt) +TP_LOCALLAB_SIGMOID_TOOLTIP;Ermöglicht, ein Tone-Mapping-Erscheinungsbild zu simulieren, indem sowohl die 'CIECAM' (oder 'Jz') als auch die 'Sigmoid'-Funktion verwendet werden. Drei Schieberegler:\na) 'Kontrast' wirkt sich auf die Form der Sigmoidkurve und folglich auf die Stärke aus;\nb) 'Schwellenwert' (Graupunkt) verteilt die Aktion entsprechend der Leuchtdichte;\nc) 'Überlagern' wirkt sich auf den endgültigen Aspekt des Bildes, Kontrast und Leuchtdichte aus. +TP_LOCALLAB_SLOMASKCOL;Steigung +TP_LOCALLAB_SLOMASK_TOOLTIP;Gamma und Steigung ermöglichen eine weiche und artefaktfreie Transformation der Maske, indem 'L' schrittweise geändert wird, um Diskontinuitäten zu vermeiden. +TP_LOCALLAB_SLOSH;Steigung +TP_LOCALLAB_SOFT;Weiches Licht u. Original Retinex +TP_LOCALLAB_SOFTM;Weiches Licht +TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Weiches-Licht-Mischung (identisch mit der globalen Anpassung). Führen Sie Abwedeln und Aufhellen (Dodge & Burn) mit dem ursprünglichen Retinex-Algorithmus durch. +TP_LOCALLAB_SOFTRADIUSCOL;Radius +TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Wendet einen anpassbaren Filter auf das Ausgabebild an, um mögliche Artefakte zu reduzieren. +TP_LOCALLAB_SOFTRETI;ΔE Artefakte reduzieren +TP_LOCALLAB_SOFT_TOOLNAME;Weiches Licht u. Original Retinex +TP_LOCALLAB_SOURCE_ABS;Absolute Luminanz +TP_LOCALLAB_SOURCE_GRAY;Mittlere Luminanz (Yb%) +TP_LOCALLAB_SPECCASE;Spezielle Fälle +TP_LOCALLAB_SPECIAL;Spezielle Verwendung von RGB-Kurven +TP_LOCALLAB_SPECIAL_TOOLTIP;Mit dem Kontrollkästchen können alle anderen Aktionen entfernt werden, d. H. 'Bereich', Masken, Regler usw. (mit Ausnahme von Übergängen) um nur den Effekt der RGB-Tonkurve anzuwenden. +TP_LOCALLAB_SPOTNAME;Neuer Spot +TP_LOCALLAB_STD;Standard +TP_LOCALLAB_STR;Intensität +TP_LOCALLAB_STRBL;Intensität +TP_LOCALLAB_STREN;Kompressionsintensität +TP_LOCALLAB_STRENG;Intensität +TP_LOCALLAB_STRENGR;Intensität +TP_LOCALLAB_STRENGRID_TOOLTIP;Der gewünschte Effekt kann mit 'Intensität' eingestellt werden, aber es kann auch die Funktion 'Bereich' verwendet werden, um die Aktion zu begrenzen (z.B. um eine bestimmte Farbe zu isolieren). +TP_LOCALLAB_STRENGTH;Rauschen +TP_LOCALLAB_STRGRID;Intensität +TP_LOCALLAB_STRUC;Struktur +TP_LOCALLAB_STRUCCOL;Spot-Struktur +TP_LOCALLAB_STRUCCOL1;Spot-Struktur +TP_LOCALLAB_STRUCT_TOOLTIP;Verwendet den Sobel-Algorithmus, um die Struktur für die Formerkennung zu berücksichtigen.\nAktivieren Sie 'Maske und Anpassungen' > 'Spot-Struktur anzeigen' (erweiterter Modus), um eine Vorschau der Maske anzuzeigen (ohne Änderungen).\n\nKann in Verbindung verwendet werden mit der Strukturmaske, der Unschärfemaske und 'Lokaler Kontrast' (nach Wavelet-Ebene) zur Verbesserung der Kantenerkennung.\n\nEinflüsse von Anpassungen mit Helligkeit, Kontrast, Chrominanz, Belichtung oder anderen nicht maskenbezogenen Werkzeugen, entweder mit 'Modifiziert anzeigen' oder 'Geänderte Bereiche mit Maske anzeigen' überprüfen. +TP_LOCALLAB_STRUMASKCOL;Intensität der Strukturmaske +TP_LOCALLAB_STRUMASK_TOOLTIP;Strukturmaske (Regler) mit deaktiviertem Kontrollkästchen 'Strukturmaske als Werkzeug':\nIn diesem Fall wird eine Maske mit der Struktur generiert, auch wenn keine der 3 Kurven aktiviert ist. Strukturmasken sind für Maske 1 (Unschärfe und Rauschreduzierung') und Maske 11 (Farbe & Licht) möglich. +TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Ein moderater Gebrauch dieses Reglers wird wärmstens empfohlen! +TP_LOCALLAB_STYPE;Form +TP_LOCALLAB_STYPE_TOOLTIP;Sie können wählen zwischen:\nSymmetrisch - linkes Handle mit rechts verknüpft, oberes Handle mit unten verbunden.\nUnabhängig - alle Handles sind unabhängig. +TP_LOCALLAB_SYM;Symmetrisch (Maus) +TP_LOCALLAB_SYMSL;Symmetrisch (Maus + Regler) +TP_LOCALLAB_TARGET_GRAY;Mittlere Luminanz (Yb%) +TP_LOCALLAB_THRES;Schwellenwert Struktur +TP_LOCALLAB_THRESDELTAE;Schwellenwert ΔE-Bereich +TP_LOCALLAB_THRESRETI;Schwellenwert +TP_LOCALLAB_THRESWAV;Schwellenwert Balance +TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mittel=%3 Sig=%4 +TP_LOCALLAB_TLABEL_TOOLTIP;Ergebnis der Übertragungszuordnung.\nMin and Max werden von 'Varianz' beeinflusst.\nTm=Min TM=Max der Übertragungszuordnung.\nDie Ergebnisse können mit den Schwellenwertreglern angepasst werden. +TP_LOCALLAB_TM;Tonwertkorrektur +TP_LOCALLAB_TM_MASK;Übertragungszuordnung verwenden +TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;Dieser Regler wirkt sich auf die Kantenempfindlichkeit aus.\nJe größer der Wert, desto wahrscheinlicher wird eine Änderung des Kontrasts als 'Kante' interpretiert.\nWenn auf Null gesetzt, hat die Tonzuordnung einen ähnlichen Effekt wie die unscharfe Maskierung. +TP_LOCALLAB_TONEMAPGAM_TOOLTIP;Der Gamma-Regler verschiebt den Effekt der Tonwertkorrektur entweder in Richtung der Schatten oder der Lichter. +TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In einigen Fällen kann die Tonwertkorrektur zu einem Comicartigen Erscheinungsbild führen, und in einigen seltenen Fällen können weiche aber breite Lichthöfe auftreten.\nDie Erhöhung der Anzahl der Iterationen zur Neugewichtung hilft bei der Bekämpfung einiger dieser Probleme. +TP_LOCALLAB_TONEMAP_TOOLTIP;Entspricht der Tonwertkorrektur im Hauptmenü.\nDas Werkzeug im Hauptmenü muss deaktiviert sein, wenn dieses Werkzeug verwendet wird. +TP_LOCALLAB_TONEMASCALE_TOOLTIP;Mit diesem Regler kann der Übergang zwischen 'lokalem' und 'globalem' Kontrast angepasst werden.\nJe größer der Wert, desto größer muss ein Detail sein, damit es verstärkt wird. +TP_LOCALLAB_TONE_TOOLNAME;Tonwertkorrektur +TP_LOCALLAB_TOOLCOL;Strukturmaske als Werkzeug +TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Erlaubt das Verändern der Maske, wenn eine existiert. +TP_LOCALLAB_TOOLMASK;Maskierungswerkzeuge +TP_LOCALLAB_TOOLMASK_2;Wavelets +TP_LOCALLAB_TOOLMASK_TOOLTIP;Strukturmaske (Regler) mit aktiviertem Kontrollkästchen 'Strukturmaske als Werkzeug': In diesem Fall wird eine Maske mit der Struktur generiert, nachdem eine oder mehrere der beiden Kurven L(L) oder LC(H) geändert wurden.\nDie 'Strukturmaske' verhält sich in diesem Falle wie die anderen Maskenwerkzeuge: Gamma, Steigung usw.\nErmöglicht, die Wirkung der Maske entsprechend der Struktur des Bildes zu variieren. +TP_LOCALLAB_TRANSIT;Übergangsgradient +TP_LOCALLAB_TRANSITGRAD;Übergangsunterschied XY +TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Verändert den Übergang der x-Achse +TP_LOCALLAB_TRANSITVALUE;Übergangsintensität +TP_LOCALLAB_TRANSITWEAK;Zerfall des Überganges (linear-log) +TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Anpassen der Zerfallrate: 1 linear, 2 parabolisch, 3 kubisch bis zu ^ 25.\nKann in Verbindung mit sehr niedrigen Übergangswerten verwendet werden, um Defekte (CBDL, Wavelets, Farbe & Licht) zu reduzieren +TP_LOCALLAB_TRANSIT_TOOLTIP;Passen Sie die Übergangshärte zwischen betroffenen und nicht betroffenen Bereichen als Prozentsatz des 'Radius' an. +TP_LOCALLAB_TRANSMISSIONGAIN;Übertragungsverstärkung +TP_LOCALLAB_TRANSMISSIONMAP;Übertragungszuordnung +TP_LOCALLAB_TRANSMISSION_TOOLTIP;Übertragung gemäß Übertragung.\nAbszisse: Übertragung von negativen Werten (min), Mittelwert und positiven Werten (max).\nOrdinate: Verstärkung oder Reduzierung.\nSie können diese Kurve anpassen, um die Übertragung zu ändern und Artefakte zu reduzieren. +TP_LOCALLAB_USEMASK;Laplace +TP_LOCALLAB_VART;Varianz (Kontrast) +TP_LOCALLAB_VIBRANCE;Farbtemperatur +TP_LOCALLAB_VIBRA_TOOLTIP;Passt die Farbtemperatur an (im Wesentlichen ähnlich wie die globale Anpassung).\nFührt das Äquivalent einer Weißabgleichanpassung mithilfe eines CIECAM-Algorithmus aus. +TP_LOCALLAB_VIB_TOOLNAME;Farbtemperatur +TP_LOCALLAB_VIS_TOOLTIP;Klick um den ausgewählten Spot aus- oder einzublenden.\nStrg+Klick um alle Spots aus- oder einzublenden. +TP_LOCALLAB_WARM;Farbtemperatur-Tönung +TP_LOCALLAB_WARM_TOOLTIP;Dieser Regler verwendet den CIECAM-Algorithmus und fungiert als Weißabgleichsteuerung, um die Farbtemperatur des ausgewählten Bereichs wärmer oder kühler zu machen.\nEin Teil der Farbartefakte kann in einigen Fällen auch reduziert werden. +TP_LOCALLAB_WASDEN_TOOLTIP;Reduzierung des Luminanz-Rauschens: Die linke Seite der Kurve einschließlich der dunkelgrauen/hellgrauen Grenze entspricht den ersten 3 Stufen 0, 1, 2 (feines Detail). Die rechte Seite der Kurve entspricht den gröberen Details (Ebene 3, 4, 5, 6). +TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Gleicht die Aktion innerhalb jeder Ebene an. +TP_LOCALLAB_WAT_BLURLC_TOOLTIP;Die Standardeinstellung für Unschärfe wirkt sich auf alle 3 L*a*b* -Komponenten (Luminanz und Farbe) aus.\nWenn diese Option aktiviert ist, wird nur die Luminanz unscharf. +TP_LOCALLAB_WAT_CLARIC_TOOLTIP;Mit 'Chroma zusammenführen' wird die Intensität des gewünschten Effekts auf die Chrominanz ausgewählt. +TP_LOCALLAB_WAT_CLARIL_TOOLTIP;Mit 'Luma zusammenführen' wird die Intensität des gewünschten Effekts auf die Luminanz ausgewählt. +TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma Ebenen': Passt die 'a'- und 'b'- Komponenten von L*a*b* als Anteil des Luminanzwertes an. +TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Durch den Versatz wird die Balance zwischen kontrastarmen und kontrastreichen Details geändert.\nHohe Werte verstärken die Kontraständerungen zu den kontrastreicheren Details, während niedrige Werte die Kontraständerungen zu kontrastarmen Details verstärken.\nMit Verwendung eines geringeren Wertes der 'Dämpfungsreaktion' kann bestimmt werden, welche Kontrastwerte verbessert werden sollen. +TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;Durch Bewegen des Reglers nach links werden die unteren Ebenen akzentuiert. Nach Rechts werden die niedrigeren Ebenen reduziert und die höheren Ebenen akzentuiert. +TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;Das Restbild reagiert beim Anpassen von Kontrast, Chrominanz usw. genauso wie das Hauptbild. +TP_LOCALLAB_WAT_GRADW_TOOLTIP;Je mehr Sie den Regler nach rechts bewegen, desto effektiver ist der Erkennungsalgorithmus und desto weniger spürbar sind die Auswirkungen des lokalen Kontrasts. +TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Niedriger bis hoher lokaler Kontrast von links nach rechts auf der x-Achse.\nErhöht oder verringert den lokalen Kontrast auf der y-Achse. +TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;Sie können die Verteilung des lokalen Kontrasts nach Wavelet-Ebenen basierend auf der Anfangsintensität des Kontrasts anpassen. Dadurch werden die Effekte von Perspektive und Relief im Bild geändert und /oder die Kontrastwerte für sehr niedrige anfängliche Kontrastebenen verringert. +TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Nur mit Originalbild zusammenführen' verhindert, dass die Einstellungen für 'Wavelet Pyramide' die von 'Klarheit und Schärfemaske' beeinträchtigen. +TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Wendet eine Unschärfe auf das Restbild an, unabhängig von den Ebenen. +TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Komprimiert das Restbild, um den Kontrast zu erhöhen oder zu verringern. +TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;Der Effekt der lokalen Kontrastanpassung ist bei Details mit mittlerem Kontrast stärker und bei Details mit hohem und niedrigem Kontrast schwächer.\nDieser Schieberegler steuert, wie schnell der Effekt zu extremen Kontrasten gedämpft wird.\nJe höher der Wert des Schiebereglers, desto breiter der Kontrastbereich, der den vollen Effekt der lokalen Kontrastanpassung erhält, und desto höher ist das Risiko der Erzeugung von Artefakten.\nJe niedriger der Wert, desto stärker wird der Effekt auf einen engen Bereich von Kontrastwerten ausgerichtet. +TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensität der Kanteneffekt-Erkennung. +TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Ermöglicht die Anpassung des lokalen Kontrasts entsprechend einem gewählten Gradienten und Winkel. Dabei wird die Änderung des Luminanzsignals berücksichtigt und nicht die Luminanz. +TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Bereich der Wavelet-Ebenen, die im gesamten Wavelets-Modul verwendet werden. +TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Ermöglicht es, Unschärfe auf jeden Zersetzungsgrad anzuwenden.\nDie feinsten bis gröbsten Zersetzungsstufen sind von links nach rechts. +TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Ähnlich wie bei Kontrast nach Detailebenen. Feine bis grobe Detailebenen von links nach rechts auf der x-Achse. +TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Wirkt auf das Gleichgewicht der drei Richtungen (horizontal, vertikal und diagonal) basierend auf der Luminanz des Bildes.\nStandardmäßig werden die Schatten oder Lichter reduziert, um Artefakte zu vermeiden. +TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Zeigt alle Werkzeuge zum 'Kantenschärfen' an. Es wird empfohlen, die Dokumentation zu Wavelet Levels zu lesen. +TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Ermöglicht den maximalen Effekt der Unschärfe auf den Ebenen einzustellen. +TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Niedriger bis hoher lokaler Kontrast von links nach rechts auf der x-Achse.\nErhöhen oder verringern Sie den lokalen Kontrast auf der y-Achse. +TP_LOCALLAB_WAT_WAVTM_TOOLTIP;Der untere (negative) Teil komprimiert jede Ebene und erzeugt einen Tonwert-Effekt.\nDer obere (positive) Teil dämpft den Kontrast nach Ebene.\nFeine bis grobe Detailebenen von links nach rechts auf der x-Achse. +TP_LOCALLAB_WAV;Lokaler Kontrast +TP_LOCALLAB_WAVBLUR_TOOLTIP;Ermöglicht Unschärfe auf jeder Ebene oder dem Restbild. +TP_LOCALLAB_WAVCOMP;Kompression nach Ebene +TP_LOCALLAB_WAVCOMPRE;Kompression nach Ebene +TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Ermöglicht Tonwertkorrektur oder das Reduzieren des lokalen Kontrasts auf einzelnen Ebenen.\nFein bis grobe Detailebenen von links nach rechts auf der x-Achse. +TP_LOCALLAB_WAVCOMP_TOOLTIP;Ermöglicht das Anwenden eines lokalen Kontrasts basierend auf der Richtung der Wavelet-Zerlegung: horizontal, vertikal, diagonal. +TP_LOCALLAB_WAVCON;Kontrast nach Ebene +TP_LOCALLAB_WAVCONTF_TOOLTIP;Ähnlich wie bei Kontrast nach Detailebenen. Feine bis grobe Detailebenen von links nach rechts auf der x-Achse. +TP_LOCALLAB_WAVDEN;Luminanzkurve +TP_LOCALLAB_WAVE;Wavelets +TP_LOCALLAB_WAVEDG;Lokaler Kontrast +TP_LOCALLAB_WAVEEDG_TOOLTIP;Verbessert die Schärfe durch gezielte lokale Kontrastwirkung an den Kanten. Es hat die gleichen Funktionen wie das entsprechende Modul in Wavelet Levels und verwendet die gleichen Einstellungen. +TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Bereich der Wavelet-Ebenen, die in 'Lokaler Kontrast' (nach Wavelet-Ebene) verwendet werden. +TP_LOCALLAB_WAVGRAD_TOOLTIP;Anpassen des lokalen Kontrasts entsprechend einem gewählten Gradienten und Winkel. Die Änderung des Luminanz-Signals wird berücksichtigt und nicht die Luminanz. +TP_LOCALLAB_WAVHUE_TOOLTIP;Ermöglicht das Verringern oder Erhöhen der Rauschreduzierung basierend auf dem Farbton. +TP_LOCALLAB_WAVLEV;Unschärfe nach Ebene +TP_LOCALLAB_WAVMASK;Wavelets +TP_LOCALLAB_WAVMASK_TOOLTIP;Verwendet Wavelets, um den lokalen Kontrast der Maske zu ändern und die Struktur (Haut, Gebäude, etc.) zu verstärken oder zu reduzieren. +TP_LOCALLAB_WEDIANHI;Median hoch +TP_LOCALLAB_WHITE_EV;Weiß-Ev +TP_LOCALLAB_ZCAMFRA;ZCAM-Bildanpassungen +TP_LOCALLAB_ZCAMTHRES;Hohe Daten abfragen +TP_LOCAL_HEIGHT;Unten +TP_LOCAL_HEIGHT_T;Oben +TP_LOCAL_WIDTH;Rechts +TP_LOCAL_WIDTH_L;Links +TP_LOCRETI_METHOD_TOOLTIP;Niedrig = Schwaches Licht verstärken.\nGleichmäßig = Gleichmäßig verteilt.\nHoch = Starkes Licht verstärken. TP_METADATA_EDIT;Veränderte Daten TP_METADATA_MODE;Kopiermodus TP_METADATA_STRIP;Keine TP_METADATA_TUNNEL;Unveränderte Daten TP_NEUTRAL;Zurücksetzen -TP_NEUTRAL_TIP;Belichtungseinstellungen auf\nneutrale Werte zurücksetzen. +TP_NEUTRAL_TOOLTIP;Belichtungseinstellungen auf neutrale Werte zurücksetzen. TP_PCVIGNETTE_FEATHER;Bereich TP_PCVIGNETTE_FEATHER_TOOLTIP;Bereich:\n0 = nur Bildecken\n50 = halbe Strecke zum Mittelpunkt\n100 = bis zum Mittelpunkt TP_PCVIGNETTE_LABEL;Vignettierungsfilter @@ -1888,13 +3524,34 @@ TP_PCVIGNETTE_ROUNDNESS_TOOLTIP;Form:\n0 = Rechteck\n50 = Ellipse\n100 = Kreis TP_PCVIGNETTE_STRENGTH;Intensität TP_PCVIGNETTE_STRENGTH_TOOLTIP;Filterstärke in Blendenstufen (bezogen auf die Bildecken). TP_PDSHARPENING_LABEL;Eingangsschärfung +TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop-Faktor +TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Fokale Länge +TP_PERSPECTIVE_CAMERA_FRAME;Korrektur +TP_PERSPECTIVE_CAMERA_PITCH;Vertikal +TP_PERSPECTIVE_CAMERA_ROLL;Rotation +TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontale Verschiebung +TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertikale Verschiebung +TP_PERSPECTIVE_CAMERA_YAW;Horizontal +TP_PERSPECTIVE_CONTROL_LINES;Kontroll-Linien +TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Strg+ziehen: Zeichne neue Linien (mind. 2)\nRechts-Klick: Lösche Linie +TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;Es werden mindestens zwei horizontale oder zwei vertikale Kontroll-Linien benötigt. TP_PERSPECTIVE_HORIZONTAL;Horizontal TP_PERSPECTIVE_LABEL;Perspektive +TP_PERSPECTIVE_METHOD;Methode +TP_PERSPECTIVE_METHOD_CAMERA_BASED;Kamera-basiert +TP_PERSPECTIVE_METHOD_SIMPLE;Einfach +TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Anpassungen nach der Korrektur +TP_PERSPECTIVE_PROJECTION_PITCH;Vertikal +TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontale Verschiebung +TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertikale Verschiebung +TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +TP_PERSPECTIVE_RECOVERY_FRAME;Wiederherstellung TP_PERSPECTIVE_VERTICAL;Vertikal TP_PFCURVE_CURVEEDITOR_CH;Farbton -TP_PFCURVE_CURVEEDITOR_CH_TOOLTIP;Regelt die Intensität der Farbsaumentfernung\nnach Farben. Je höher die Kurve desto stärker\nist der Effekt. +TP_PFCURVE_CURVEEDITOR_CH_TOOLTIP;Regelt die Intensität der Farbsaumentfernung nach Farben. Je höher die Kurve desto stärker ist der Effekt. TP_PREPROCESS_DEADPIXFILT;Dead-Pixel-Filter -TP_PREPROCESS_DEADPIXFILT_TOOLTIP;Entfernt tote Pixel. +TP_PREPROCESS_DEADPIXFILT_TOOLTIP;Entfernt Dead Pixel. TP_PREPROCESS_GREENEQUIL;Grün-Ausgleich TP_PREPROCESS_HOTPIXFILT;Hot-Pixel-Filter TP_PREPROCESS_HOTPIXFILT_TOOLTIP;Entfernt Hot-Pixel. @@ -1907,11 +3564,15 @@ TP_PREPROCESS_LINEDENOISE_DIRECTION_PDAF_LINES;Horizontal (nur PDAF-Zeilen) TP_PREPROCESS_LINEDENOISE_DIRECTION_VERTICAL;Vertikal TP_PREPROCESS_NO_FOUND;Nichts gefunden TP_PREPROCESS_PDAFLINESFILTER;PDAF-Zeilenfilter +TP_PREPROCWB_LABEL;Vorverarbeitung Weißabgleich +TP_PREPROCWB_MODE;Modus +TP_PREPROCWB_MODE_AUTO;Auto +TP_PREPROCWB_MODE_CAMERA;Kamera TP_PRSHARPENING_LABEL;Nach Skalierung schärfen -TP_PRSHARPENING_TOOLTIP;Schärft das Bild nach der Größenänderung.\nFunktioniert nur mit der Methode “Lanczos“.\nDas Ergebnis wird nicht in RawTherapee\nangezeigt.\n\nWeitere Informationen finden Sie auf “RawPedia“. +TP_PRSHARPENING_TOOLTIP;Schärft das Bild nach der Größenänderung.\nFunktioniert nur mit der Methode 'Lanczos'.\nDas Ergebnis wird nicht in RawTherapee\nangezeigt.\n\nWeitere Informationen finden Sie auf 'RawPedia'. TP_RAWCACORR_AUTO;Autokorrektur TP_RAWCACORR_AUTOIT;Iterationen -TP_RAWCACORR_AUTOIT_TOOLTIP;Diese Einstellung ist verfügbar, wenn "Autokorrektur" aktiviert ist.\nDie Autokorrektur ist konservativ, d.h. sie korrigiert häufig nicht alle\nchromatischen Aberrationen. Um die verbleibenden chromatischen\nAberrationen zu korrigieren, können Sie bis zu fünf Iterationen\nverwenden. Jede Iteration verringert die verbleibende chromatische\nAberration auf Kosten zusätzlicher Verarbeitungszeit. +TP_RAWCACORR_AUTOIT_TOOLTIP;Diese Einstellung ist verfügbar, wenn 'Autokorrektur' aktiviert ist.\nDie Autokorrektur ist konservativ, d.h. sie korrigiert häufig nicht alle\nchromatischen Aberrationen. Um die verbleibenden chromatischen\nAberrationen zu korrigieren, können Sie bis zu fünf Iterationen\nverwenden. Jede Iteration verringert die verbleibende chromatische\nAberration auf Kosten zusätzlicher Verarbeitungszeit. TP_RAWCACORR_AVOIDCOLORSHIFT;Farbverschiebungen vermeiden TP_RAWCACORR_CABLUE;Blau TP_RAWCACORR_CARED;Rot @@ -1932,16 +3593,18 @@ TP_RAW_3PASSBEST;3-Pass (Markesteijn) TP_RAW_4PASS;3-Pass + schnell TP_RAW_AHD;AHD TP_RAW_AMAZE;AMaZE +TP_RAW_AMAZEBILINEAR;AMaZE + Bilinear TP_RAW_AMAZEVNG4;AMaZE + VNG4 TP_RAW_BORDER;Bildrand TP_RAW_DCB;DCB +TP_RAW_DCBBILINEAR;DCB+Bilinear TP_RAW_DCBENHANCE;DCB-Verbesserung TP_RAW_DCBITERATIONS;Anzahl der DCB-Iterationen TP_RAW_DCBVNG4;DCB + VNG4 TP_RAW_DMETHOD;Methode TP_RAW_DMETHOD_PROGRESSBAR;%1 verarbeitet -TP_RAW_DMETHOD_PROGRESSBAR_REFINE;Demosaikoptimierung -TP_RAW_DMETHOD_TOOLTIP;IGV und LMMSE sind speziel für High-ISO-Aufnahmen um die\nRauschreduzierung zu unterstützen ohne zu Maze-Mustern,\nPosterisierung oder einem ausgewaschenen Look zu führen.\n\nPixel-Shift ist für “Pentax Pixel-Shift“-Dateien. Für "Nicht-Pixel-\nShift"-Dateien wird automatisch AMaZE verwendet. +TP_RAW_DMETHOD_PROGRESSBAR_REFINE;Demosaik-Optimierung +TP_RAW_DMETHOD_TOOLTIP;IGV und LMMSE sind speziell für High-ISO-Aufnahmen um die\nRauschreduzierung zu unterstützen ohne zu Maze-Mustern,\nPosterisierung oder einem ausgewaschenen Look zu führen.\n\nPixel-Shift ist für 'Pentax Pixel-Shift'-Dateien. Für 'Nicht-Pixel-\nShift'-Dateien wird automatisch AMaZE verwendet. TP_RAW_DUALDEMOSAICAUTOCONTRAST;Auto-Kontrastschwelle TP_RAW_DUALDEMOSAICAUTOCONTRAST_TOOLTIP;Wenn das Kontrollkästchen aktiviert ist (empfohlen), berechnet\nRawTherapee einen optimalen Wert auf der Grundlage homogener\nBereiche im Bild. Wenn kein homogener Bereich vorhanden ist oder\ndas Bild zu sehr rauscht, wird der Wert auf 0 gesetzt. TP_RAW_DUALDEMOSAICCONTRAST;Kontrastschwelle @@ -1949,7 +3612,7 @@ TP_RAW_EAHD;EAHD TP_RAW_FALSECOLOR;Falschfarbenreduzierung TP_RAW_FAST;Schnell TP_RAW_HD;Schwelle -TP_RAW_HD_TOOLTIP;Je niedriger der Wert, umso empfindlicher reagiert\ndie “Hot / Dead-Pixel-Erkennung“.\nIst die Empfindlichkeit zu hoch, können Artefakte\nentstehen. Erhöhen Sie in diesem Fall die Schwelle,\nbis die Artefakte verschwinden. +TP_RAW_HD_TOOLTIP;Je niedriger der Wert, umso empfindlicher reagiert\ndie 'Hot-/Dead-Pixel-Erkennung'.\nIst die Empfindlichkeit zu hoch, können Artefakte\nentstehen. Erhöhen Sie in diesem Fall die Schwelle,\nbis die Artefakte verschwinden. TP_RAW_HPHD;HPHD TP_RAW_IGV;IGV TP_RAW_IMAGENUM;Unterbild @@ -1962,6 +3625,8 @@ TP_RAW_LMMSE_TOOLTIP;Fügt Gamma (Stufe 1), Median (Stufe 2-4)\nund Optimierung TP_RAW_MONO;Mono TP_RAW_NONE;Keine TP_RAW_PIXELSHIFT;Pixel-Shift +TP_RAW_PIXELSHIFTAVERAGE;Durchschnitt für Bewegungen +TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Verwenden Sie den Durchschnitt aller Frames anstelle des ausgewählten Frames für Regionen mit Bewegung.\nGibt einen Bewegungseffekt auf sich langsam bewegende (überlappende) Objekte. TP_RAW_PIXELSHIFTBLUR;Unschärfebewegungsmaske TP_RAW_PIXELSHIFTDMETHOD;Bewegungsmethode TP_RAW_PIXELSHIFTEPERISO;Empfindlichkeit @@ -1969,7 +3634,7 @@ TP_RAW_PIXELSHIFTEPERISO_TOOLTIP;Der Standardwert 0 wird für die Basis-ISO empf TP_RAW_PIXELSHIFTEQUALBRIGHT;Frame-Helligkeit angleichen TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL;Ausgleich pro Kanal TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL_TOOLTIP;EIN: Individueller Ausgleich der RGB-Kanäle.\nAUS: Identischer Ausgleichsfaktor für alle Kanäle. -TP_RAW_PIXELSHIFTEQUALBRIGHT_TOOLTIP;Gleicht die Helligkeit der Frames an den aktuellen Frame an.\n\nSind überbelichtete Bereiche vorhanden wählen Sie den hellsten Frame aus um\nMagenta-Farbstiche zu vermeiden oder aktivieren Sie die Bewegungskorrektur. +TP_RAW_PIXELSHIFTEQUALBRIGHT_TOOLTIP;Gleicht die Helligkeit der Frames an den aktuellen Frame an.\n\nSind überbelichtete Bereiche vorhanden wählen Sie den hellsten Frame aus, um\nMagenta-Farbstiche zu vermeiden oder aktivieren Sie die Bewegungskorrektur. TP_RAW_PIXELSHIFTGREEN;Bewegung im Grün-Kanal erkennen TP_RAW_PIXELSHIFTHOLEFILL;Lücken in der Bewegungsmaske erkennen TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Lücken in der Bewegungsmaske erkennen. @@ -1978,7 +3643,6 @@ TP_RAW_PIXELSHIFTMEDIAN_TOOLTIP;Verwenden Sie den Median aller Frames anstelle d TP_RAW_PIXELSHIFTMM_AUTO;Automatisch TP_RAW_PIXELSHIFTMM_CUSTOM;Benutzerdefiniert TP_RAW_PIXELSHIFTMM_OFF;Aus -TP_RAW_PIXELSHIFTMOTION;Motion detection level (deprecated) TP_RAW_PIXELSHIFTMOTIONMETHOD;Bewegungskorrektur TP_RAW_PIXELSHIFTNONGREENCROSS;Bewegung im Rot/Blau-Kanal erkennen TP_RAW_PIXELSHIFTSHOWMOTION;Bewegungsmaske anzeigen @@ -1988,11 +3652,12 @@ TP_RAW_PIXELSHIFTSHOWMOTION_TOOLTIP;Überlagert das Bild mit einer grünen Maske TP_RAW_PIXELSHIFTSIGMA;Unschärferadius TP_RAW_PIXELSHIFTSIGMA_TOOLTIP;Der Standard-Radius von 1,0 passt in der Regel für die Basis-ISO.\nErhöhen Sie den Wert für High-ISO-Aufnahmen, 5,0 ist ein guter\nAusgangspunkt für High-ISO-Aufnahmen. Achten Sie auf die\nBewegungsmaske, während Sie den Wert ändern. TP_RAW_PIXELSHIFTSMOOTH;Weicher Übergang -TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Weicher Übergang zwischen Bereichen mit und ohne Bewegung.\n0 = Aus\n1 = AMaZE/LMMSE oder Median +TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Weicher Übergang zwischen Bereichen mit und ohne Bewegung.\n0 = Aus\n1 = AMaZE/LMMSE oder Median. TP_RAW_RCD;RCD +TP_RAW_RCDBILINEAR;RCD+Bilinear TP_RAW_RCDVNG4;RCD + VNG4 TP_RAW_SENSOR_BAYER_LABEL;Sensor mit Bayer-Matrix -TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;Mit “3-Pass“ erzielt man die besten Ergebnisse\n(empfohlen bei Bildern mit niedrigen ISO-Werten).\n\nBei hohen ISO-Werten unterscheidet sich “1-Pass“\nkaum gegenüber “3-Pass“, ist aber deutlich schneller.\n\n"+ schnell" erzeugt weniger Artefakte in kontrast-\narmen Bereichen. +TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;Mit '3-Pass' erzielt man die besten Ergebnisse\n(empfohlen bei Bildern mit niedrigen ISO-Werten).\n\nBei hohen ISO-Werten unterscheidet sich '1-Pass'\nkaum gegenüber '3-Pass', ist aber deutlich schneller.\n\n'+ schnell' erzeugt weniger Artefakte in kontrastarmen Bereichen. TP_RAW_SENSOR_XTRANS_LABEL;Sensor mit X-Trans-Matrix TP_RAW_VNG4;VNG4 TP_RAW_XTRANS;X-Trans @@ -2006,9 +3671,13 @@ TP_RESIZE_H;Höhe: TP_RESIZE_HEIGHT;Höhe TP_RESIZE_LABEL;Skalieren TP_RESIZE_LANCZOS;Lanczos +TP_RESIZE_LE;Lange Kante: +TP_RESIZE_LONG;Lange Kante TP_RESIZE_METHOD;Methode: TP_RESIZE_NEAREST;Nächster Nachbar TP_RESIZE_SCALE;Maßstab +TP_RESIZE_SE;Kurze Kante: +TP_RESIZE_SHORT;Kurze Kante TP_RESIZE_SPECIFY;Basierend auf: TP_RESIZE_W;Breite: TP_RESIZE_WIDTH;Breite @@ -2016,80 +3685,80 @@ TP_RETINEX_CONTEDIT_HSL;HSL-Kurve TP_RETINEX_CONTEDIT_LAB;Luminanz (L) L*a*b* TP_RETINEX_CONTEDIT_LH;Farbton (H) TP_RETINEX_CONTEDIT_MAP;Maskenkurve -TP_RETINEX_CURVEEDITOR_CD;L = f(L) -TP_RETINEX_CURVEEDITOR_CD_TOOLTIP;Luminanz in Abhängigkeit der Luminanz.\nKorrigiert direkt die RAW-Daten, um Halos\nund Artefakte zu verringern. +TP_RETINEX_CURVEEDITOR_CD;L=f(L) +TP_RETINEX_CURVEEDITOR_CD_TOOLTIP;Luminanz in Abhängigkeit der Luminanz.\nKorrigiert direkt die RAW-Daten, um Halos und Artefakte zu verringern. TP_RETINEX_CURVEEDITOR_LH;Intensität = f(H) -TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Intensität in Abhängigkeit des Farbtons (H)\nBei der Retinex-Methode "Spitzlichter" wirken sich die\nÄnderungen auch auf die Chromakorrektur aus. -TP_RETINEX_CURVEEDITOR_MAP;L = f(L) -TP_RETINEX_CURVEEDITOR_MAP_TOOLTIP;Die Kurve kann entweder alleine, mit der\nGaußschen- oder Waveletmaske angewendet\nwerden. Artefakte beachten! +TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Intensität in Abhängigkeit des Farbtons (H)\nBei der Retinex-Methode 'Spitzlichter' wirken sich die Änderungen auch auf die Chromakorrektur aus. +TP_RETINEX_CURVEEDITOR_MAP;L=f(L) +TP_RETINEX_CURVEEDITOR_MAP_TOOLTIP;Die Kurve kann entweder alleine, mit der Gauß'schen- oder Waveletmaske angewendet werden. Artefakte beachten! TP_RETINEX_EQUAL;Korrekturen TP_RETINEX_FREEGAMMA;Gamma -TP_RETINEX_GAIN;Kontrast -TP_RETINEX_GAINOFFS;Verstärkung und Ausgleich (Helligkeit) -TP_RETINEX_GAINTRANSMISSION;Transmissionsverstärkung -TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Ändert die Helligkeit durch Verstärkung oder\nAbschwächung der Transmissionskarte. +TP_RETINEX_GAIN;Verstärkung +TP_RETINEX_GAINOFFS;Verstärkung und Versatz +TP_RETINEX_GAINTRANSMISSION;Übertragungsverstärkung +TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Ändert die Helligkeit durch Verstärkung oder Abschwächung der Übertragungszuordnung. TP_RETINEX_GAMMA;Gammakorrektur TP_RETINEX_GAMMA_FREE;Benutzerdefiniert TP_RETINEX_GAMMA_HIGH;Hoch TP_RETINEX_GAMMA_LOW;Niedrig TP_RETINEX_GAMMA_MID;Mittel TP_RETINEX_GAMMA_NONE;Keine -TP_RETINEX_GAMMA_TOOLTIP;Stellt Farbtöne vor und nach der Retinexverarbeitung\ndurch eine Gammakorrektur wieder her. -TP_RETINEX_GRAD;Transmission Gradient -TP_RETINEX_GRADS;Intensität Gradient +TP_RETINEX_GAMMA_TOOLTIP;Stellt Farbtöne vor und nach der Retinexverarbeitung durch eine Gammakorrektur wieder her. +TP_RETINEX_GRAD;Übertragungsgradient +TP_RETINEX_GRADS;Intensitätsgradient TP_RETINEX_GRADS_TOOLTIP;Steht der Regler auf 0 sind alle Iterationen identisch.\nBei > 0 wird die Intensität reduziert, bei < 0 erhöht. TP_RETINEX_GRAD_TOOLTIP;Steht der Regler auf 0 sind alle Iterationen identisch.\nBei > 0 werden Skalierung und Schwelle reduziert,\nbei < 0 erhöht. TP_RETINEX_HIGH;Lichter TP_RETINEX_HIGHLIG;Spitzlichter TP_RETINEX_HIGHLIGHT;Spitzlichter Schwelle -TP_RETINEX_HIGHLIGHT_TOOLTIP;Benötigt unter Umständen Korrekturen der Einstellungen "Benachbarte Pixel" und "Weißpunkt" unter dem Reiter "RAW". +TP_RETINEX_HIGHLIGHT_TOOLTIP;Benötigt unter Umständen Korrekturen der Einstellungen 'Benachbarte Pixel' und 'Weißpunkt' unter dem Reiter 'RAW'. TP_RETINEX_HSLSPACE_LIN;HSL-Linear TP_RETINEX_HSLSPACE_LOG;HSL-Logarithmisch TP_RETINEX_ITER;Iterationen TP_RETINEX_ITERF;Dynamikkompression -TP_RETINEX_ITER_TOOLTIP;Simuliert eine Dynamikkompression.\nHöhere Werte erhöhen die Verarbei-\ntungszeit. +TP_RETINEX_ITER_TOOLTIP;Simuliert eine Dynamikkompression.\nHöhere Werte erhöhen die Verarbeitungszeit. TP_RETINEX_LABEL;Retinex (Bildschleier entfernen) TP_RETINEX_LABEL_MASK;Maske TP_RETINEX_LABSPACE;L*a*b* TP_RETINEX_LOW;Schatten TP_RETINEX_MAP;Methode -TP_RETINEX_MAP_GAUS;Gaußschenmaske +TP_RETINEX_MAP_GAUS;Gauß'sche Maske TP_RETINEX_MAP_MAPP;Schärfemaske (Teil-Wavelet) -TP_RETINEX_MAP_MAPT;Schärfemaske (Wavelet) -TP_RETINEX_MAP_METHOD_TOOLTIP;Keine: Wendet die Maske, die mit der gaußschen\nFunktion (Radius, Methode) erstellt wurde an,\num Halos und Artefakte zu reduzieren.\n\nNur Kurve: Wendet eine diagonale Kontrastkurve\nauf die Maske an. (Artefakte beachten)\n\nGaußschenmaske: Wendet eine gaußsche Unschärfe\nauf die originale Maske an. (Schnell)\n\nSchärfemaske: Wendet ein Wavelet auf die originale\nMaske an. (Langsam) +TP_RETINEX_MAP_MAPT;Schärfemaske (Erweitert - Wavelet) +TP_RETINEX_MAP_METHOD_TOOLTIP;Keine: Wendet die Maske, die mit der Gauß'schen Funktion (Radius, Methode) erstellt wurde an, um Halos und Artefakte zu reduzieren.\n\nNur Kurve: Wendet eine diagonale Kontrastkurve auf die Maske an. (Artefakte beachten)\n\nGauß'sche Maske: Wendet eine Gauß'sche Unschärfe auf die originale Maske an. (Schnell)\n\nSchärfemaske: Wendet ein Wavelet auf die originale Maske an. (Langsam) TP_RETINEX_MAP_NONE;Keine TP_RETINEX_MEDIAN;Medianfilter TP_RETINEX_METHOD;Methode -TP_RETINEX_METHOD_TOOLTIP;Schatten wirkt sich auf dunkle Bereiche aus.\n\nSchatten / Lichter wirkt sich auf dunkle und helle Bereiche aus.\n\nLichter wirkt sich auf helle Bereiche aus.\n\nSpitzlichter wirkt sich auf sehr helle Bereiche aus und reduziert\nMagenta-Falschfarben. +TP_RETINEX_METHOD_TOOLTIP;Schatten wirkt sich auf dunkle Bereiche aus.\n\nSchatten/Lichter wirkt sich auf dunkle und helle Bereiche aus.\n\nLichter wirkt sich auf helle Bereiche aus.\n\nSpitzlichter wirkt sich auf sehr helle Bereiche aus und reduziert\nMagenta-Falschfarben. TP_RETINEX_MLABEL;Schleierred: Min = %1, Max = %2 -TP_RETINEX_MLABEL_TOOLTIP;Sollte nahe bei Min = 0 und Max = 32768 sein. +TP_RETINEX_MLABEL_TOOLTIP;Sollte nahe bei Min = 0 und Max = 32768 sein aber auch andere Werte sind möglich. TP_RETINEX_NEIGHBOR;Radius TP_RETINEX_NEUTRAL;Zurücksetzen -TP_RETINEX_NEUTRAL_TIP;Setzt alle Regler und Kurven\nauf ihre Standardwerte zurück. -TP_RETINEX_OFFSET;Ausgleich (Helligkeit) -TP_RETINEX_SCALES;Gaußscher Gradient +TP_RETINEX_NEUTRAL_TOOLTIP;Setzt alle Regler und Kurven\nauf ihre Standardwerte zurück. +TP_RETINEX_OFFSET;Versatz (Helligkeit) +TP_RETINEX_SCALES;Gauß'scher Gradient TP_RETINEX_SCALES_TOOLTIP;Steht der Regler auf 0 sind alle Iterationen identisch.\nBei > 0 werden Skalierung und Radius reduziert,\nbei < 0 erhöht. TP_RETINEX_SETTINGS;Einstellungen TP_RETINEX_SKAL;Skalierung TP_RETINEX_SLOPE;Gammasteigung TP_RETINEX_STRENGTH;Intensität TP_RETINEX_THRESHOLD;Schwelle -TP_RETINEX_THRESHOLD_TOOLTIP;Limitiert den Bereich der Transmissionskurve. +TP_RETINEX_THRESHOLD_TOOLTIP;Limitiert den Bereich der Übertragungszuordnung. TP_RETINEX_TLABEL;T: Min = %1, Max = %2\nT: Mittel = %3, Sigma = %4 TP_RETINEX_TLABEL2;T: Tmin = %1, Tmax = %2 -TP_RETINEX_TLABEL_TOOLTIP;Ergebnis der Transmissionskurve: Min, Max, Mittel und Sigma\nMin und Max hat Einfluss auf die Abweichung.\n\nTmin = Kleinster Wert der Transmissionskurve\nTmax = Größter Wert der Transmissionskurve -TP_RETINEX_TRANF;Transmission -TP_RETINEX_TRANSMISSION;Transmissionskurve -TP_RETINEX_TRANSMISSION_TOOLTIP;Transmission in Abhängigkeit der Transmission.\n\nx-Achse: Transmission negativer Werte (Min),\nMittel und positiver Werte (Max).\n\ny-Achse: Verstärkung oder Abschwächung. -TP_RETINEX_UNIFORM;Schatten / Lichter +TP_RETINEX_TLABEL_TOOLTIP;Ergebnis der Übertragungszuordnung: Min, Max, Mittel und Sigma\nMin und Max hat Einfluss auf die Abweichung.\n\nTmin = Kleinster Wert der Übertragungszuordnung\nTmax = Größter Wert der Übertragungszuordnung. +TP_RETINEX_TRANF;Übertragung +TP_RETINEX_TRANSMISSION;Übertragungzuordnung +TP_RETINEX_TRANSMISSION_TOOLTIP;Übertragung in Abhängigkeit der Übertragung.\n\nx-Achse: Übertragung negativer Werte (Min),\nMittel und positiver Werte (Max).\n\ny-Achse: Verstärkung oder Abschwächung. +TP_RETINEX_UNIFORM;Schatten/Lichter TP_RETINEX_VARIANCE;Kontrast TP_RETINEX_VARIANCE_TOOLTIP;Niedrige Werte erhöhen den lokalen\nKontrast und die Sättigung, können\naber zu Artefakten führen. TP_RETINEX_VIEW;Vorschau TP_RETINEX_VIEW_MASK;Maske -TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard: Normale Anzeige\n\nMaske: Zeigt die Maske an\n\nUnschärfemaske: Zeigt das Bild mit einem großen\nUnschärfemaskenradius an.\n\nTransmission-Auto / Fest: Zeigt die Transmissionskarte\nvor der Anwendung von Kontrast und Helligkeit an.\n\nACHTUNG: Die Maske zeigt nicht das Endergebnis, sondern\nverstärkt den Effekt um ihn besser beurteilen zu können. +TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard: Normale Anzeige\n\nMaske: Zeigt die Maske an\n\nUnschärfemaske: Zeigt das Bild mit einem großen\nUnschärfemaskenradius an.\n\nÜbertragung-Auto / Fest: Zeigt die Übertragungszuordnung\nvor der Anwendung von Kontrast und Helligkeit an.\n\nACHTUNG: Die Maske zeigt nicht das Endergebnis, sondern\nverstärkt den Effekt um ihn besser beurteilen zu können. TP_RETINEX_VIEW_NONE;Standard -TP_RETINEX_VIEW_TRAN;Transmission - Auto -TP_RETINEX_VIEW_TRAN2;Transmission - Fest +TP_RETINEX_VIEW_TRAN;Übertragung - Auto +TP_RETINEX_VIEW_TRAN2;Übertragung - Fest TP_RETINEX_VIEW_UNSHARP;Unschärfemaske TP_RGBCURVES_BLUE;B TP_RGBCURVES_CHANNEL;Kanal @@ -2101,10 +3770,10 @@ TP_RGBCURVES_RED;R TP_ROTATE_DEGREE;Winkel TP_ROTATE_LABEL;Drehen TP_ROTATE_SELECTLINE;Leitlinie wählen -TP_SAVEDIALOG_OK_TIP;Taste: Strg + Enter +TP_SAVEDIALOG_OK_TOOLTIP;Taste: Strg + Enter TP_SHADOWSHLIGHTS_HIGHLIGHTS;Lichter TP_SHADOWSHLIGHTS_HLTONALW;Tonwertbreite Lichter -TP_SHADOWSHLIGHTS_LABEL;Schatten / Lichter +TP_SHADOWSHLIGHTS_LABEL;Schatten/Lichter TP_SHADOWSHLIGHTS_RADIUS;Radius TP_SHADOWSHLIGHTS_SHADOWS;Schatten TP_SHADOWSHLIGHTS_SHTONALW;Tonwertbreite Schatten @@ -2117,9 +3786,9 @@ TP_SHARPENING_BLUR;Weichzeichnerradius TP_SHARPENING_CONTRAST;Kontrastschwelle TP_SHARPENING_EDRADIUS;Radius TP_SHARPENING_EDTOLERANCE;Kantentoleranz -TP_SHARPENING_GAMMA;Gamma TP_SHARPENING_HALOCONTROL;Halokontrolle TP_SHARPENING_HCAMOUNT;Intensität +TP_SHARPENING_ITERCHECK;Iterationen automatisch limitieren TP_SHARPENING_LABEL;Schärfung TP_SHARPENING_METHOD;Methode TP_SHARPENING_ONLYEDGES;Nur Kanten schärfen @@ -2138,6 +3807,11 @@ TP_SHARPENMICRO_MATRIX;3×3-Matrix statt 5×5-Matrix TP_SHARPENMICRO_UNIFORMITY;Gleichmäßigkeit TP_SOFTLIGHT_LABEL;Weiches Licht TP_SOFTLIGHT_STRENGTH;Intensität +TP_SPOT_COUNTLABEL;%1 Punkt(e) +TP_SPOT_DEFAULT_SIZE;Standard Punkt-Größe +TP_SPOT_ENTRYCHANGED;Punkt geändert +TP_SPOT_HINT;Klicken Sie auf diesen Button, um auf der Voransicht zu arbeiten.\n\nUm einen Punkt zu editieren, setzen Sie die weiße Markierung über einen zu bearbeitenden Bereich, die Geometrie des Punktes erscheint.\n\nUm einen Punkt hinzuzufügen, drücken Sie Strg und linke Maustaste, bewegen Sie den Kreis (Strg-Taste kann losgelassen werden) zu einem Quellbereich und lassen Sie die Maustaste los.\n\nUm Quell- oder Zielbereich zu verschieben, klicken Sie in den Kreis und verschieben ihn.\n\nDer innere Kreis (maximaler Anwendungsbereich) und der 'Feder'-Kreis können in der Größe verändert werden, indem die Maus darüber bewegt (der Kreis wird orange) und verschoben wird (der Kreis wird rot).\n\nWenn die Änderungen fertig sind, klicken Sie mit der rechten Maustaste außerhalb der Punkte, um den Editiermodus zu beenden oder erneut auf diesen Button. +TP_SPOT_LABEL;Flecken entfernen TP_TM_FATTAL_AMOUNT;Intensität TP_TM_FATTAL_ANCHOR;Helligkeitsverschiebung TP_TM_FATTAL_LABEL;Dynamikkompression @@ -2145,18 +3819,18 @@ TP_TM_FATTAL_THRESHOLD;Details TP_VIBRANCE_AVOIDCOLORSHIFT;Farbverschiebungen vermeiden TP_VIBRANCE_CURVEEDITOR_SKINTONES;HH TP_VIBRANCE_CURVEEDITOR_SKINTONES_LABEL;Hautfarbtöne -TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE1;Rot / Violett +TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE1;Rot/Violett TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE2;Rot -TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE3;Rot / Gelb +TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE3;Rot/Gelb TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE4;Gelb -TP_VIBRANCE_CURVEEDITOR_SKINTONES_TOOLTIP;Farbton als Funktion des Farbtons H = f(H). +TP_VIBRANCE_CURVEEDITOR_SKINTONES_TOOLTIP;Farbton als Funktion des Farbtons H=f(H). TP_VIBRANCE_LABEL;Dynamik TP_VIBRANCE_PASTELS;Pastelltöne -TP_VIBRANCE_PASTSATTOG;Pastell und gesättigte Töne koppeln +TP_VIBRANCE_PASTSATTOG;Pastell- und gesättigte Töne koppeln TP_VIBRANCE_PROTECTSKINS;Hautfarbtöne schützen -TP_VIBRANCE_PSTHRESHOLD;Schwelle - Pastell / gesättigte Töne +TP_VIBRANCE_PSTHRESHOLD;Schwelle - Pastell-/ gesättigte Töne TP_VIBRANCE_PSTHRESHOLD_SATTHRESH;Sättigung Schwelle -TP_VIBRANCE_PSTHRESHOLD_TOOLTIP;Die vertikale Achse steht für die Pastell (unten) und gesättigte Töne (oben).\nDie horizontale Achse entspricht dem Sättigungsbereich. +TP_VIBRANCE_PSTHRESHOLD_TOOLTIP;Die vertikale Achse steht für die Pastell- (unten) und gesättigte Töne (oben).\nDie horizontale Achse entspricht dem Sättigungsbereich. TP_VIBRANCE_PSTHRESHOLD_WEIGTHING;Gewichtung des Übergangs pastell/gesättigt TP_VIBRANCE_SATURATED;Gesättigte Töne TP_VIGNETTING_AMOUNT;Intensität @@ -2183,14 +3857,20 @@ TP_WAVELET_B2;Restbild TP_WAVELET_BACKGROUND;Hintergrund TP_WAVELET_BACUR;Kurve TP_WAVELET_BALANCE;Kontrastausgleich d/v-h -TP_WAVELET_BALANCE_TOOLTIP;Verändert die Gewichtung zwischen den Wavelet-Richtungen vertikal, horizontal und diagonal.\n\nSind Kontrast-, Farb- oder Restbild-Dynamikkompression aktiviert, wird die Wirkung aufgrund des Ausgleichs verstärkt. +TP_WAVELET_BALANCE_TOOLTIP;Verändert die Gewichtung zwischen den Wavelet-Richtungen vertikal-horizontal und diagonal.\n\nSind Kontrast-, Farb- oder Restbild-Dynamikkompression aktiviert, wird die Wirkung aufgrund des Ausgleichs verstärkt. TP_WAVELET_BALCHRO;Farbausgleich -TP_WAVELET_BALCHRO_TOOLTIP;Wenn aktiviert, beeinflusst der Kontrastausgleich\nauch den Farbausgleich. +TP_WAVELET_BALCHROM;Farb-Equalizer +TP_WAVELET_BALCHRO_TOOLTIP;Wenn aktiviert, beeinflusst der Kontrastausgleich auch den Farbausgleich. +TP_WAVELET_BALLUM;Equalizer Rauschreduzierung SW TP_WAVELET_BANONE;Keine TP_WAVELET_BASLI;Regler TP_WAVELET_BATYPE;Kontrastmethode +TP_WAVELET_BL;Unschärfeebenen +TP_WAVELET_BLCURVE;Unschärfe nach Ebenen +TP_WAVELET_BLURFRAME;Unschärfe +TP_WAVELET_BLUWAV;Dämpfungsreaktion TP_WAVELET_CBENAB;Farbausgleich -TP_WAVELET_CB_TOOLTIP;Farbausgleich mit getrennten Reglern für\nSchatten, Mitten und Lichter aktivieren. +TP_WAVELET_CB_TOOLTIP;Farbausgleich mit getrennten Reglern für Schatten, Mitten und Lichter aktivieren. TP_WAVELET_CCURVE;Lokale Kontrastkurve TP_WAVELET_CH1;Gesamter Farbbereich TP_WAVELET_CH2;Gesättigte/Pastellfarben @@ -2198,46 +3878,80 @@ TP_WAVELET_CH3;Kontrastebenen verknüpfen TP_WAVELET_CHCU;Kurve TP_WAVELET_CHR;Farb-Kontrast-Verknüpfung TP_WAVELET_CHRO;Ebenengrenze Gesättigte/Pastellfarben -TP_WAVELET_CHRO_TOOLTIP;Waveletebene (n) die, die Grenze zwischen gesättigten und Pastellfarben bestimmt.\n1-n: Gesättigte Farben\nn-9: Pastellfarben\n\nIst der Wert größer als die vorgegebene Anzahl an Waveletebenen werden diese ignoriert. +TP_WAVELET_CHROFRAME;Rauschreduzierung Chrominanz +TP_WAVELET_CHROMAFRAME;Chroma +TP_WAVELET_CHROMCO;Chrominanz grob +TP_WAVELET_CHROMFI;Chrominanz fein +TP_WAVELET_CHRO_TOOLTIP;Wavelet-Ebene(n) die, die Grenze zwischen gesättigten und Pastellfarben bestimmt.\n1-n: Gesättigte Farben\nn-9: Pastellfarben\n\nIst der Wert größer als die vorgegebene Anzahl an Wavelet-Ebenen werden diese ignoriert. +TP_WAVELET_CHRWAV;Chroma-Unschärfe TP_WAVELET_CHR_TOOLTIP;Farbton als Funktion des Kontrasts und der Farb-Kontrast-Verknüpfung. TP_WAVELET_CHSL;Regler -TP_WAVELET_CHTYPE;Chrominanzmethode -TP_WAVELET_COLORT;Deckkraft Rot / Grün +TP_WAVELET_CHTYPE;Chrominanz-Methode +TP_WAVELET_CLA;Klarheit +TP_WAVELET_CLARI;Schärfemaske und Klarheit +TP_WAVELET_COLORT;Deckkraft Rot/Grün TP_WAVELET_COMPCONT;Kontrast -TP_WAVELET_COMPGAMMA;Gammakompression +TP_WAVELET_COMPEXPERT;Erweitert +TP_WAVELET_COMPGAMMA;Gamma-Kompression TP_WAVELET_COMPGAMMA_TOOLTIP;Das Anpassen des Gammawerts des\nRestbildes ermöglicht das Angleichen\nder Daten und des Histogramms. +TP_WAVELET_COMPLEXLAB;Komplexität +TP_WAVELET_COMPLEX_TOOLTIP;Standard: zeigt eine verringerte Anzahl an Werkzeugen, ausreichend für die meisten Fälle.\nErweitert: zeigt alle Werkzeuge für komplexe Fälle. +TP_WAVELET_COMPNORMAL;Standard TP_WAVELET_COMPTM;Dynamik -TP_WAVELET_CONTEDIT;“Danach“-Kontrastkurve +TP_WAVELET_CONTEDIT;'Danach'-Kontrastkurve +TP_WAVELET_CONTFRAME;Kompression TP_WAVELET_CONTR;Gamut TP_WAVELET_CONTRA;Kontrast TP_WAVELET_CONTRAST_MINUS;Kontrast - TP_WAVELET_CONTRAST_PLUS;Kontrast + TP_WAVELET_CONTRA_TOOLTIP;Ändert den Kontrast des Restbildes. -TP_WAVELET_CTYPE;Chrominanzkontrolle +TP_WAVELET_CTYPE;Chrominanz-Kontrolle +TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Deaktiviert wenn Zoom ungefähr > 300% TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;Lokaler Kontrast als Funktion des ursprünglichen Kontrasts.\n\nNiedrige Werte: Wenig lokaler Kontrast (Werte zwischen 10 - 20)\n50%: Durchschnittlicher lokaler Kontrast (Werte zwischen 100 - 300)\n66%: Standardabweichung des Lokalen Kontrasts (Werte zwischen 300 - 800)\n100%: Maximaler lokaler Kontrast (Werte zwischen 3000 - 8000)\n TP_WAVELET_CURVEEDITOR_CH;Kontrast = f(H) -TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Kontrast als Funktion des Farbtons.\nAchten Sie darauf, dass Sie die Werte beim\nGamut-Farbton nicht überschreiben\n\nDie Kurve hat nur Auswirkung, wenn die Wavelet-\nKontrastregler nicht auf “0“ stehen. +TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Kontrast als Funktion des Farbtons.\nAchten Sie darauf, dass Sie die Werte beim\nGamut-Farbton nicht überschreiben\n\nDie Kurve hat nur Auswirkung, wenn die Wavelet-\nKontrastregler nicht auf '0' stehen. TP_WAVELET_CURVEEDITOR_CL;L -TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Wendet eine Kontrasthelligkeitskurve\nam Ende der Waveletverarbeitung an. +TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Wendet eine Kontrasthelligkeitskurve\nam Ende der Wavelet-Verarbeitung an. TP_WAVELET_CURVEEDITOR_HH;HH -TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Farbton als Funktion des Farbtons H = f(H). +TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Farbton als Funktion des Farbtons H=f(H). TP_WAVELET_DALL;Alle Richtungen TP_WAVELET_DAUB;Kantenperformance -TP_WAVELET_DAUB2;D2 - niedrig +TP_WAVELET_DAUB2;D2 - Niedrig TP_WAVELET_DAUB4;D4 - Standard TP_WAVELET_DAUB6;D6 - Standard Plus -TP_WAVELET_DAUB10;D10 - mittel -TP_WAVELET_DAUB14;D14 - hoch +TP_WAVELET_DAUB10;D10 - Mittel +TP_WAVELET_DAUB14;D14 - Hoch +TP_WAVELET_DAUBLOCAL;Wavelet Kantenperformance TP_WAVELET_DAUB_TOOLTIP;Ändert den Daubechies-Koeffizienten:\nD4 = Standard\nD14 = Häufig bestes Ergebnis auf Kosten\nvon ca. 10% längerer Verarbeitungszeit.\n\nVerbessert die Kantenerkennung sowie die Qualität\nder ersten Waveletebene. Jedoch hängt die Qualität\nnicht ausschließlich mit diesem Koeffizienten zusammen\nund kann je nach Bild und Einsatz variieren. +TP_WAVELET_DEN5THR;Schwellenwert +TP_WAVELET_DENCURV;Kurve +TP_WAVELET_DENL;Korrektur Struktur +TP_WAVELET_DENLH;Schwellenwert Ebenen 1-4 +TP_WAVELET_DENLOCAL_TOOLTIP;Verwenden Sie eine Kurve, um die Rauschreduzierung entsprechend dem lokalen Kontrast anzupassen.\nFlächen werden entrauscht, die Strukturen bleiben erhalten. +TP_WAVELET_DENMIX_TOOLTIP;Der vom anpassbaren Filter genutzte Referenzwert für den lokalen Kontrast.\nJe nach Bild können die Ergebnisse variieren, je nachdem, ob das Rauschen vor oder nach der Rauschunterdrückung gemessen wird. Mit diesen vier Auswahlmöglichkeiten können verschiedene Kombinationen von Original- und modifizierten (entrauschten) Bildern berücksichtigt werden, um den besten Kompromiss zu finden. +TP_WAVELET_DENOISE;Kurve auf lokalem Kontrast basierend +TP_WAVELET_DENOISEGUID;Schwellenwert nach Farbton +TP_WAVELET_DENOISEH;Lokaler Kontrast Hochpegel-Kurve +TP_WAVELET_DENOISEHUE;Equalizer Farbton +TP_WAVELET_DENQUA;Modus +TP_WAVELET_DENSIGMA_TOOLTIP;Passt die Form an +TP_WAVELET_DENSLI;Regler +TP_WAVELET_DENSLILAB;Methode +TP_WAVELET_DENWAVGUID_TOOLTIP;Nutzt den Farbton um die Aktion des Filters zu erhöhen oder abzuschwächen. +TP_WAVELET_DENWAVHUE_TOOLTIP;Rauschreduzierung in Abhängigkeit der Farbe. +TP_WAVELET_DETEND;Details +TP_WAVELET_DIRFRAME;Direktionaler Kontrast TP_WAVELET_DONE;Vertikal TP_WAVELET_DTHR;Diagonal TP_WAVELET_DTWO;Horizontal TP_WAVELET_EDCU;Kurve +TP_WAVELET_EDEFFECT;Dämpfungsreaktion +TP_WAVELET_EDEFFECT_TOOLTIP;Dieser Regler wählt den Bereich an Kontrastwerten, auf die sich der volle Effekt aller Anpassungen bezieht. TP_WAVELET_EDGCONT;Lokaler Kontrast TP_WAVELET_EDGCONT_TOOLTIP;Verschieben der Punkte nach links, verringert den Kontrast. Nach rechts wird der Kontrast verstärkt. TP_WAVELET_EDGE;Kantenschärfung TP_WAVELET_EDGEAMPLI;Grundverstärkung -TP_WAVELET_EDGEDETECT;Gradientenempfindlichkeit +TP_WAVELET_EDGEDETECT;Verlaufsempfindlichkeit TP_WAVELET_EDGEDETECTTHR;Schwelle niedrig (Rauschen) TP_WAVELET_EDGEDETECTTHR2;Schwelle hoch (Erkennung) TP_WAVELET_EDGEDETECTTHR_TOOLTIP;Schwelle der Kantenerkennung für feine Details.\nVerhindert die Schärfung von Rauschen. @@ -2247,43 +3961,61 @@ TP_WAVELET_EDGREINF_TOOLTIP;Reduziert oder verstärkt die Kantenschärfung der\n TP_WAVELET_EDGTHRESH;Details TP_WAVELET_EDGTHRESH_TOOLTIP;Verschieben des Reglers nach rechts verstärkt\ndie Kantenschärfung der ersten Waveletebene\nund reduziert sie für die anderen Ebenen.\n\nNegative Werte können zu Artefakten führen. TP_WAVELET_EDRAD;Radius -TP_WAVELET_EDRAD_TOOLTIP;Der Radius unterscheidet sich von dem in\nden üblichen Schärfungswerkzeugen. Der\nWert wird mit jeder Ebene über eine komplexe\nFunktion verglichen. Ein Wert von “0“ zeigt\ndeshalb immer noch eine Auswirkung. +TP_WAVELET_EDRAD_TOOLTIP;Der Radius unterscheidet sich von dem in\nden üblichen Schärfungswerkzeugen. Der\nWert wird mit jeder Ebene über eine komplexe\nFunktion verglichen. Ein Wert von '0' zeigt\ndeshalb immer noch eine Auswirkung. TP_WAVELET_EDSL;Regler TP_WAVELET_EDTYPE;Lokale Kontrastmethode TP_WAVELET_EDVAL;Intensität TP_WAVELET_FINAL;Endretusche +TP_WAVELET_FINCFRAME;Endgültiger Lokaler Kontrast TP_WAVELET_FINEST;Fein -TP_WAVELET_HIGHLIGHT;Lichter-Luminanzbereich -TP_WAVELET_HS1;Gesamter Luminanzbereich +TP_WAVELET_FINTHR_TOOLTIP;Nutzt den lokalen Kontrast um die Wirkung des anpassbaren Filters zu erhöhen oder zu reduzieren. +TP_WAVELET_GUIDFRAME;Finales Glätten (anpassbarer Filter) +TP_WAVELET_HIGHLIGHT;Lichter-Luminanz-Bereich +TP_WAVELET_HS1;Gesamter Luminanz-Bereich TP_WAVELET_HS2;Schatten/Lichter TP_WAVELET_HUESKIN;Hautfarbton TP_WAVELET_HUESKIN_TOOLTIP;Wenn Sie den Bereich signifikant nach Links\noder Rechts verschieben müssen, ist der\nWeißabgleich nicht richtig gewählt.\nWählen Sie den eingeschlossenen Bereich so\neng wie möglich, um den Einfluss auf benachbarte\nFarben zu verhindern. TP_WAVELET_HUESKY;Himmelsfarbton -TP_WAVELET_HUESKY_TOOLTIP;Wenn Sie den Bereich signifikant nach Links\noder Rechts verschieben müssen, ist der\nWeißabgleich nicht richtig gewählt.\nWählen Sie den eingeschlossenen Bereich so\neng wie möglich, um den Einfluss auf benachbarte\nFarben zu verhindern. +TP_WAVELET_HUESKY_TOOLTIP;Wenn Sie den Bereich signifikant nach Links oder Rechts verschieben müssen, oder Artefakte entstehen, ist der Weißabgleich nicht richtig gewählt.\nWählen Sie den eingeschlossenen Bereich so\neng wie möglich, um den Einfluss auf benachbarte\nFarben zu verhindern. TP_WAVELET_ITER;Delta-Kontrastausgleich TP_WAVELET_ITER_TOOLTIP;Links: Erhöht die niedrigen und reduziert die hohen Ebenen.\nRechts: Reduziert die niedrigen und erhöht die hohen Ebenen. TP_WAVELET_LABEL;Wavelet +TP_WAVELET_LABGRID_VALUES;oben(a)=%1\noben(b)=%2\nunten(a)=%3\nunten(b)=%4 TP_WAVELET_LARGEST;Grob TP_WAVELET_LEVCH;Farbe +TP_WAVELET_LEVDEN;Rauschreduzierung Ebenen 5-6 TP_WAVELET_LEVDIR_ALL;Alle Ebenen und Richtungen TP_WAVELET_LEVDIR_INF;Kleiner oder gleich der Ebene TP_WAVELET_LEVDIR_ONE;Diese Ebene TP_WAVELET_LEVDIR_SUP;Über der Ebene +TP_WAVELET_LEVELHIGH;Radius 5-6 +TP_WAVELET_LEVELLOW;Radius 1-4 TP_WAVELET_LEVELS;Anzahl der Ebenen -TP_WAVELET_LEVELS_TOOLTIP;Wählen Sie die Anzahl der Ebenen in die das Bild zerlegt werden soll. Mehr Ebenen benötigen mehr RAM und eine längere Verarbeitungszeit. +TP_WAVELET_LEVELSIGM;Radius +TP_WAVELET_LEVELS_TOOLTIP;Wählen Sie die Anzahl der Ebenen, in die das Bild zerlegt werden soll. Mehr Ebenen benötigen mehr RAM und eine längere Verarbeitungszeit. TP_WAVELET_LEVF;Kontrast -TP_WAVELET_LEVLABEL;Vorschau max. möglicher Ebenen +TP_WAVELET_LEVFOUR;Schwellenwert Rauschminderung Ebenen 5-6 +TP_WAVELET_LEVLABEL;Vorschau max. möglicher Ebenen = %1 TP_WAVELET_LEVONE;Ebene 2 TP_WAVELET_LEVTHRE;Ebene 4 TP_WAVELET_LEVTWO;Ebene 3 TP_WAVELET_LEVZERO;Ebene 1 +TP_WAVELET_LIMDEN;Interaktion Ebenen 5-6 mit Ebenen 1-4 TP_WAVELET_LINKEDG;Mit der Kantenschärfung verbinden TP_WAVELET_LIPST;Erweiterter Algorithmus -TP_WAVELET_LOWLIGHT;Schatten-Luminanzbereich +TP_WAVELET_LOWLIGHT;Schatten-Luminanz-Bereich +TP_WAVELET_LOWTHR_TOOLTIP;Verhindert die Verstärkung feiner Texturen und Rauschen TP_WAVELET_MEDGREINF;Erste Ebene TP_WAVELET_MEDI;Artefakte in blauem Himmel reduzieren TP_WAVELET_MEDILEV;Kantenerkennung -TP_WAVELET_MEDILEV_TOOLTIP;Wenn Sie die Kantenerkennung aktivieren, sollten Sie folgende\nEinstellungen anpassen:\n\n1. Niedrige Kontrastebenen deaktivieren um Artefakte zu vermeiden.\n2. Hohe Werte bei der Gradientenempfindlichkeit einstellen.\n\nSie können die Intensität mit der Wavelet-Rauschreduzierung anpassen. +TP_WAVELET_MEDILEV_TOOLTIP;Wenn Sie die Kantenerkennung aktivieren, sollten Sie folgende\nEinstellungen anpassen:\n\n1. Niedrige Kontrastebenen deaktivieren, um Artefakte zu vermeiden.\n2. Hohe Werte bei der Verlaufsempfindlichkeit einstellen.\n\nSie können die Intensität mit der Wavelet-Rauschreduzierung anpassen. +TP_WAVELET_MERGEC;Chroma zusammenführen +TP_WAVELET_MERGEL;Luma zusammenführen +TP_WAVELET_MIXCONTRAST;Referenz +TP_WAVELET_MIXDENOISE;Rauschreduzierung +TP_WAVELET_MIXMIX;Mix 50% Rauschen - 50% Rauschreduzierung +TP_WAVELET_MIXMIX70;Mix 30% Rauschen - 70% Rauschreduzierung +TP_WAVELET_MIXNOISE;Rauschen TP_WAVELET_NEUTRAL;Neutral TP_WAVELET_NOIS;Rauschreduzierung TP_WAVELET_NOISE;Rauschreduzierung @@ -2292,50 +4024,81 @@ TP_WAVELET_NPLOW;Niedrig TP_WAVELET_NPNONE;Keine TP_WAVELET_NPTYPE;Benachbarte Pixel TP_WAVELET_NPTYPE_TOOLTIP;Dieser Algorithmus verwendet ein Pixel und acht\nseiner Nachbarn. Sind die Unterschiede gering,\nwerden die Kanten geschärft. -TP_WAVELET_OPACITY;Deckkraft Blau / Gelb +TP_WAVELET_OFFSET_TOOLTIP;Offset ändert das Gleichgewicht zwischen niedrigen und hohen Kontrastdetails.\nHohe Werte verstärken Kontraständerungen zu Details mit höherem Kontrast, während niedrige Werte Kontraständerungen zu Details mit niedrigem Kontrast verstärken.\nDurch Verwendung eines niedrigen Dämpfungsreaktionswerts können Sie auswählen, welche Kontrastwerte aufgewertet werden. +TP_WAVELET_OLDSH;Algorithmus verwendet negative Werte +TP_WAVELET_OPACITY;Deckkraft Blau/Gelb TP_WAVELET_OPACITYW;Kontrastausgleichskurve TP_WAVELET_OPACITYWL;Lokale Kontrastkurve TP_WAVELET_OPACITYWL_TOOLTIP;Wendet eine lokale Kontrastkurve am\nEnde der Wavelet-Verarbeitung an.\n\nLinks stellt den niedrigsten, rechts den\nhöchsten Kontrast dar. TP_WAVELET_PASTEL;Pastellfarben TP_WAVELET_PROC;Verarbeitung +TP_WAVELET_PROTAB;Schutz +TP_WAVELET_QUAAGRES;Aggressiv +TP_WAVELET_QUACONSER;Konservativ +TP_WAVELET_RADIUS;Radius +TP_WAVELET_RANGEAB;Bereich a und b % TP_WAVELET_RE1;Schärfung verstärken TP_WAVELET_RE2;Schärfung normal TP_WAVELET_RE3;Schärfung reduzieren +TP_WAVELET_RESBLUR;Unschärfe Helligkeit +TP_WAVELET_RESBLURC;Unschärfe Buntheit +TP_WAVELET_RESBLUR_TOOLTIP;Deaktiviert, wenn Zoom > 500% TP_WAVELET_RESCHRO;Buntheit TP_WAVELET_RESCON;Schatten TP_WAVELET_RESCONH;Lichter TP_WAVELET_RESID;Restbild TP_WAVELET_SAT;Gesättigte Farben TP_WAVELET_SETTINGS;Einstellungen +TP_WAVELET_SHA;Schärfemaske +TP_WAVELET_SHFRAME;Schatten/Lichter +TP_WAVELET_SHOWMASK;Wavelet 'Maske' anzeigen +TP_WAVELET_SIGM;Radius +TP_WAVELET_SIGMA;Dämpfungsreaktion +TP_WAVELET_SIGMAFIN;Dämpfungsreaktion +TP_WAVELET_SIGMA_TOOLTIP;Der Effekt der Kontrastschieberegler ist bei mittlerem Kontrastdetails stärker und bei hohen und niedrigen Kontrastdetails schwächer.\nMit diesem Schieberegler können Sie steuern, wie schnell der Effekt zu extremen Kontrasten gedämpft wird.\nJe höher der Schieberegler eingestellt ist, desto breiter der Kontrastbereich, der zu einer starken Änderung führt, und desto höher ist das Risiko, Artefakte zu erzeugen.\nJe niedriger er ist, desto mehr wird der Effekt auf einen engen Bereich von Kontrastwerten ausgerichtet. TP_WAVELET_SKIN;Hautfarbtöne schützen TP_WAVELET_SKIN_TOOLTIP;-100: Nur Farben innerhalb des Bereichs werden verändert.\n0: Alle Farben werden gleich behandelt.\n+100: Nur Farben außerhalb des Bereichs werden verändert. TP_WAVELET_SKY;Himmelsfarbtöne schützen TP_WAVELET_SKY_TOOLTIP;-100: Nur Farben innerhalb des Bereichs werden verändert.\n0: Alle Farben werden gleich behandelt.\n+100: Nur Farben außerhalb des Bereichs werden verändert. +TP_WAVELET_SOFTRAD;Radius TP_WAVELET_STREN;Intensität +TP_WAVELET_STREND;Intensität TP_WAVELET_STRENGTH;Intensität TP_WAVELET_SUPE;Extra -TP_WAVELET_THR;Schatten Schwelle +TP_WAVELET_THR;Schwelle Schatten +TP_WAVELET_THRDEN_TOOLTIP;Erzeugt eine abgestufte Kurve, die verwendet wird, um die Rauschreduzierung als Funktion des lokalen Kontrasts zu führen. Die Rauschreduzierung wird gleichmäßig auf Bereiche mit geringem lokalem Kontrast angewendet. Bereiche mit Details (höherer lokaler Kontrast) bleiben erhalten. +TP_WAVELET_THREND;Schwellenwert Lokaler Kontrast TP_WAVELET_THRESHOLD;Lichterebenen TP_WAVELET_THRESHOLD2;Schattenebenen -TP_WAVELET_THRESHOLD2_TOOLTIP;Legt die Ebene der Untergrenze (9 minus Wert)\nfür den Schatten-Luminanzbereich fest. Der\nmaximal mögliche Wert wird vom Wert der Lichter-\nebenen begrenzt.\n\nBeeinflussbare Ebenen: Untergrenze bis Ebene 9 -TP_WAVELET_THRESHOLD_TOOLTIP;Legt die Ebene der Obergrenze für den Lichter\n-Luminanzbereich fest. Der Wert begrenzt die\nmaximal möglichen Schattenebenen.\n\nBeeinflussbare Ebenen: Ebene 1 bis Obergrenze -TP_WAVELET_THRH;Lichter Schwelle +TP_WAVELET_THRESHOLD2_TOOLTIP;Legt die Ebene der Untergrenze (9 minus Wert)\nfür den Schatten-Luminanz-Bereich fest. Der\nmaximal mögliche Wert wird vom Wert der Lichter-\nebenen begrenzt.\n\nBeeinflussbare Ebenen: Untergrenze bis Ebene 9 +TP_WAVELET_THRESHOLD_TOOLTIP;Legt die Ebene der Obergrenze für den\nLichter-Luminanz-Bereich fest. Der Wert begrenzt die\nmaximal möglichen Schattenebenen.\n\nBeeinflussbare Ebenen: Ebene 1 bis Obergrenze +TP_WAVELET_THRH;Schwelle Lichter TP_WAVELET_TILESBIG;Große Kacheln TP_WAVELET_TILESFULL;Ganzes Bild TP_WAVELET_TILESIZE;Kachelgröße -TP_WAVELET_TILESLIT;Kleine Kacheln -TP_WAVELET_TILES_TOOLTIP;“Ganzes Bild“ (empfohlen) liefert eine bessere Qualität.\n“Kacheln“ benötigen weniger Speicher und ist nur für\nComputer mit wenig RAM zu empfehlen. +TP_WAVELET_TILES_TOOLTIP;'Ganzes Bild' (empfohlen) liefert eine bessere Qualität.\n'Kacheln' benötigen weniger Speicher und ist nur für Computer mit wenig RAM zu empfehlen. +TP_WAVELET_TMEDGS;Kantenschutz +TP_WAVELET_TMSCALE;Skalieren TP_WAVELET_TMSTRENGTH;Intensität TP_WAVELET_TMSTRENGTH_TOOLTIP;Kontrolliert die Intensität der Dynamik- oder\nKontrastkompression des Restbildes. Ist der\nWert ungleich 0, werden die Intensitäts- und\nGammaregler des Tonwertkorrektur-\nWerkzeugs im Belichtungsreiter deaktiviert. TP_WAVELET_TMTYPE;Kompression TP_WAVELET_TON;Tönung +TP_WAVELET_TONFRAME;Ausgeschlossene Farben +TP_WAVELET_USH;Keine +TP_WAVELET_USHARP;Methode +TP_WAVELET_USH_TOOLTIP;Wenn Sie 'Schärfe-Maske' auswählen, können Sie (in den Einstellungen) eine beliebige Stufe von 1 bis 4 für die Verarbeitung auswählen.\nWenn Sie 'Klarheit' wählen, können Sie (in den Einstellungen) eine Stufe zwischen 5 und Extra wählen. +TP_WAVELET_WAVLOWTHR;Schwellenwert niedriger Kontrast +TP_WAVELET_WAVOFFSET;Versatz TP_WBALANCE_AUTO;Automatisch +TP_WBALANCE_AUTOITCGREEN;Temperaturbezogen +TP_WBALANCE_AUTOOLD;RGB grau +TP_WBALANCE_AUTO_HEADER;Automatisch TP_WBALANCE_CAMERA;Kamera TP_WBALANCE_CLOUDY;Bewölkt TP_WBALANCE_CUSTOM;Benutzerdefiniert TP_WBALANCE_DAYLIGHT;Tageslicht (sonnig) -TP_WBALANCE_EQBLUERED;Blau / Rot-Korrektur -TP_WBALANCE_EQBLUERED_TOOLTIP;Ändert das normale Verhalten des Weißabgleichs durch Änderung\nder Blau / Rot-Korrektur.\n\nDas kann hilfreich sein, wenn die Aufnahmebedingen:\na) weit weg von der Standardbeleuchtung sind (z.B. unter Wasser)\nb) abweichend zu einer Kalibrierung sind.\nc) nicht zum ICC-Profil passen. +TP_WBALANCE_EQBLUERED;Blau/Rot-Korrektur +TP_WBALANCE_EQBLUERED_TOOLTIP;Ändert das normale Verhalten des Weißabgleichs durch Änderung\nder Blau/Rot-Korrektur.\n\nDas kann hilfreich sein, wenn die Aufnahmebedingen:\na) weit weg von der Standardbeleuchtung sind (z.B. unter Wasser)\nb) abweichend zu einer Kalibrierung sind.\nc) nicht zum ICC-Profil passen. TP_WBALANCE_FLASH55;Leica TP_WBALANCE_FLASH60;Standard, Canon, Pentax, Olympus TP_WBALANCE_FLASH65;Nikon, Panasonic, Sony, Minolta @@ -2347,7 +4110,7 @@ TP_WBALANCE_FLUO4;F4 - Warmweiß TP_WBALANCE_FLUO5;F5 - Tageslicht TP_WBALANCE_FLUO6;F6 - Weiß reduziert TP_WBALANCE_FLUO7;F7 - D65 Tageslichtsimulation -TP_WBALANCE_FLUO8;F8 - D50 / Sylvania F40 Design +TP_WBALANCE_FLUO8;F8 - D50 Sylvania F40 Design TP_WBALANCE_FLUO9;F9 - Kaltweiß Deluxe TP_WBALANCE_FLUO10;F10 - Philips TL85 TP_WBALANCE_FLUO11;F11 - Philips TL84 @@ -2371,6 +4134,8 @@ TP_WBALANCE_SOLUX41;Solux 4100K TP_WBALANCE_SOLUX47;Solux 4700K (Vendor) TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery) TP_WBALANCE_SPOTWB;Manuell setzen +TP_WBALANCE_STUDLABEL;Bezugsfaktor: %1 +TP_WBALANCE_STUDLABEL_TOOLTIP;Anzeige des berechneten Bezugsfaktors.\nNiedrigere Werte sind besser, wobei <0,005 ausgezeichnet,\n<0,01 gut und> 0,5 schlecht ist.\nNiedrige Werte bedeuten jedoch nicht automatisch, dass der Weißabgleich gut ist:\nwenn die Lichtquelle nicht eindeutig ist können die Ergebnisse fehlerhaft sein.\nEin Wert von 1000 bedeutet, dass frühere Berechnungen verwendet werden und\ndie Ergebnisse wahrscheinlich gut sind. TP_WBALANCE_TEMPBIAS;AWB-Temperatur-Korrektur TP_WBALANCE_TEMPBIAS_TOOLTIP;Prozentuale Korrektur der Farbtemperatur des automatischen\nWeißabgleichs in Richtung wärmer oder kälter.\nDer Korrekturwert berechnet sich aus:\nAWB-Temperatur + AWB-Temperatur * AWB-Temperatur-Korrektur TP_WBALANCE_TEMPERATURE;Farbtemperatur @@ -2385,14 +4150,3 @@ ZOOMPANEL_ZOOMFITCROPSCREEN;Ausschnitt an Bildschirm anpassen.\nTaste: f ZOOMPANEL_ZOOMFITSCREEN;An Bildschirm anpassen.\nTaste: Alt + f ZOOMPANEL_ZOOMIN;Hineinzoomen\nTaste: + ZOOMPANEL_ZOOMOUT;Herauszoomen\nTaste: - - -!!!!!!!!!!!!!!!!!!!!!!!!! -! Untranslated keys follow; remove the ! prefix after an entry is translated. -!!!!!!!!!!!!!!!!!!!!!!!!! - -!GENERAL_HELP;Help -!HISTORY_MSG_PDSHARPEN_CHECKITER;CS - Auto limit iterations -!HISTORY_MSG_TRANS_Method;Geometry - Method -!TP_LENSGEOM_LIN;Linear -!TP_LENSGEOM_LOG;Logarithmic -!TP_SHARPENING_ITERCHECK;Auto limit iterations diff --git a/rtdata/languages/English (UK) b/rtdata/languages/English (UK) index 2cb1d526d..7de3a54cc 100644 --- a/rtdata/languages/English (UK) +++ b/rtdata/languages/English (UK) @@ -3,16 +3,16 @@ FILEBROWSER_COLORLABEL_TOOLTIP;Colour label.\n\nUse dropdown menu or shortcuts:\ FILEBROWSER_POPUPCOLORLABEL;Colour label FILEBROWSER_SHOWUNCOLORHINT;Show images without a colour label.\nShortcut: Alt-0 FILECHOOSER_FILTER_COLPROF;Colour profiles (*.icc) -HISTORY_MSG_46;Colour denoising HISTORY_MSG_69;Working colour space HISTORY_MSG_70;Output colour space HISTORY_MSG_71;Input colour space HISTORY_MSG_111;L*a*b* - Avoid colour shift HISTORY_MSG_115;False colour suppression HISTORY_MSG_155;Vib - Avoid colour shift -HISTORY_MSG_191;CAM02 - Colourfulness (M) -HISTORY_MSG_197;CAM02 - Colour curve -HISTORY_MSG_198;CAM02 - Colour curve +HISTORY_MSG_174;Colour Appearance & Lighting +HISTORY_MSG_191;CAL - IA - Colourfulness (M) +HISTORY_MSG_197;CAL - IA - Colour curve +HISTORY_MSG_198;CAL - IA - Colour curve mode HISTORY_MSG_203;NR - Colour space HISTORY_MSG_221;B&W - Colour filter HISTORY_MSG_240;GF - Centre @@ -21,19 +21,74 @@ HISTORY_MSG_257;Colour Toning HISTORY_MSG_258;CT - Colour curve HISTORY_MSG_273;CT - Colour Balance SMH HISTORY_MSG_322;W - Gamut - Avoid colour shift -HISTORY_MSG_385;W - Residual - Colour Balance -HISTORY_MSG_392;W - Residual - Colour Balance +HISTORY_MSG_385;W - Residual - Colour balance +HISTORY_MSG_392;W - Residual - Colour balance HISTORY_MSG_419;Retinex - Colour space +HISTORY_MSG_507;Local Spot centre +HISTORY_MSG_516;Local - Colour and light +HISTORY_MSG_527;Local - Colour Inverse +HISTORY_MSG_542;Local - Vib avoid colourshift +HISTORY_MSG_591;Local - Avoid colour shift +HISTORY_MSG_607;Local - Colour Mask C +HISTORY_MSG_608;Local - Colour Mask L +HISTORY_MSG_611;Local - Colour Mask H +HISTORY_MSG_612;Local - Colour Structure +HISTORY_MSG_615;Local - Blend colour +HISTORY_MSG_618;Local - Use Colour Mask +HISTORY_MSG_624;Local - Colour correction grid +HISTORY_MSG_625;Local - Colour correction strength +HISTORY_MSG_626;Local - Colour correction Method +HISTORY_MSG_634;Local - radius colour +HISTORY_MSG_650;Local - Colour mask chroma +HISTORY_MSG_651;Local - Colour mask gamma +HISTORY_MSG_652;Local - Colour mask slope +HISTORY_MSG_656;Local - Colour soft radius +HISTORY_MSG_760;Local - Colour Laplacian mask +HISTORY_MSG_770;Local - Colour Mask contrast curve +HISTORY_MSG_779;Local - Colour Mask local contrast curve +HISTORY_MSG_780;Local - Colour Mask shadows +HISTORY_MSG_783;Local - Colour Wavelet levels +HISTORY_MSG_799;Local - Colour RGB ToneCurve +HISTORY_MSG_800;Local - Colour ToneCurve Method +HISTORY_MSG_801;Local - Colour ToneCurve Special +HISTORY_MSG_803;Local - Colour Merge +HISTORY_MSG_804;Local - Colour mask Structure +HISTORY_MSG_806;Local - Colour mask Structure as tool +HISTORY_MSG_808;Local - Colour mask curve H(H) +HISTORY_MSG_821;Local - colour grid background +HISTORY_MSG_822;Local - colour background merge +HISTORY_MSG_823;Local - colour background luminance +HISTORY_MSG_830;Local - Colour gradient strength L +HISTORY_MSG_831;Local - Colour gradient angle +HISTORY_MSG_832;Local - Colour gradient strength C +HISTORY_MSG_834;Local - Colour gradient strength H +HISTORY_MSG_894;Local - Colour Preview dE +HISTORY_MSG_925;Local - Scope colour tools +HISTORY_MSG_928;Local - Common colour mask +HISTORY_MSG_980;Local - Log encoding Colourfulness M +HISTORY_MSG_996;Local - Colour recovery threshold +HISTORY_MSG_997;Local - Colour threshold mask low +HISTORY_MSG_998;Local - Colour threshold mask high +HISTORY_MSG_999;Local - Colour decay +HISTORY_MSG_1045;Local - Colour and Light strength +HISTORY_MSG_1055;Local - Colour and Light gamma +HISTORY_MSG_1070;Local - CIECAM colourfullness +HISTORY_MSG_1107;Local - CIECAM Colour method +HISTORY_MSG_1108;Local - CIECAM Colour curve HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colours HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Colour correction HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Colour correction +HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative colour space +HISTORY_MSG_HLBL;Colour propagation - blur HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid colour shift HISTORY_MSG_SH_COLORSPACE;S/H - Colourspace +HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colours MAIN_TAB_COLOR;Colour MAIN_TOOLTIP_BACKCOLOR0;Background colour of the preview: theme-based\nShortcut: 9 MAIN_TOOLTIP_BACKCOLOR1;Background colour of the preview: black\nShortcut: 9 MAIN_TOOLTIP_BACKCOLOR2;Background colour of the preview: white\nShortcut: 9 MAIN_TOOLTIP_BACKCOLOR3;Background colour of the preview: middle grey\nShortcut: 9 +PARTIALPASTE_COLORAPP;Colour Appearance & Lighting PARTIALPASTE_COLORGROUP;Colour Related Settings PARTIALPASTE_COLORTONING;Colour toning PARTIALPASTE_ICMSETTINGS;Colour management settings @@ -47,14 +102,14 @@ PREFERENCES_BEHAVIOR;Behaviour PREFERENCES_ICCDIR;Directory containing colour profiles PREFERENCES_INTENT_ABSOLUTE;Absolute Colourimetric PREFERENCES_INTENT_RELATIVE;Relative Colourimetric -PREFERENCES_MENUGROUPLABEL;Group "Colour label" +PREFERENCES_MENUGROUPLABEL;Group 'Colour label' PREFERENCES_MONPROFILE;Default colour profile PREFERENCES_PRTPROFILE;Colour profile PREFERENCES_TAB_COLORMGR;Colour Management SOFTPROOF_GAMUTCHECK_TOOLTIP;Highlight pixels with out-of-gamut colours with respect to:\n- the printer profile, if one is set and soft-proofing is enabled,\n- the output profile, if a printer profile is not set and soft-proofing is enabled,\n- the monitor profile, if soft-proofing is disabled. SOFTPROOF_TOOLTIP;Soft-proofing simulates the appearance of the image:\n- when printed, if a printer profile is set in Preferences > Colour Management,\n- when viewed on a display that uses the current output profile, if a printer profile is not set. TOOLBAR_TOOLTIP_COLORPICKER;Lockable Colour Picker\n\nWhen the tool is active:\n- Add a picker: left-click.\n- Drag a picker: left-click and drag.\n- Delete a picker: right-click.\n- Delete all pickers: Ctrl+Shift+right-click.\n- Revert to hand tool: right-click outside any picker. -TOOLBAR_TOOLTIP_STRAIGHTEN;Straighten / fine rotation.\nShortcut: s\n\nIndicate the vertical or horizontal by drawing a guide line over the image preview. Angle of rotation will be shown next to the guide line. Centre of rotation is the geometrical centre of the image. +TOOLBAR_TOOLTIP_STRAIGHTEN;Straighten / fine rotation.\nShortcut: s\n\nIndicate the vertical or horizontal by drawing a guide line over the image. Angle of rotation will be shown next to the guide line. Centre of rotation is the geometrical centre of the image. TP_BWMIX_CC_ENABLED;Adjust complementary colour TP_BWMIX_CC_TOOLTIP;Enable to allow automatic adjustment of complementary colours in ROYGCBPM mode. TP_BWMIX_CURVEEDITOR_BEFORE_TOOLTIP;Tone curve, just before B&W conversion.\nMay take into account the colour components. @@ -64,23 +119,30 @@ TP_BWMIX_RGB_TOOLTIP;Mix the RGB channels. Use presets for guidance.\nPay attent TP_COLORAPP_ALGO_QM;Brightness + Colourfulness (QM) TP_COLORAPP_BADPIXSL_TOOLTIP;Suppression of hot/bad (brightly coloured) pixels.\n0 = No effect\n1 = Median\n2 = Gaussian.\nAlternatively, adjust the image to avoid very dark shadows.\n\nThese artifacts are due to limitations of CIECAM02. TP_COLORAPP_CHROMA_M;Colourfulness (M) -TP_COLORAPP_CHROMA_M_TOOLTIP;Colourfulness in CIECAM02 differs from L*a*b* and RGB colourfulness. +TP_COLORAPP_CHROMA_M_TOOLTIP;Colourfulness in CIECAM is the perceived amount of hue in relation to gray, an indicator that a stimulus appears to be more or less coloured. +TP_COLORAPP_CHROMA_S_TOOLTIP;Saturation in CIECAM corresponds to the colour of a stimulus in relation to its own brightness. It differs from L*a*b* and RGB saturation. +TP_COLORAPP_CHROMA_TOOLTIP;Chroma in CIECAM corresponds to the colour of a stimulus relative to the clarity of a stimulus that appears white under identical conditions. It differs from L*a*b* and RGB chroma. 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_SURROUND_TOOLTIP;Changes tones and colours to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. +TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Adjust either chroma, saturation or colourfulness.\n\nShows the histogram of chromaticity (L*a*b*) before CIECAM.\nIf the 'Show CIECAM output histograms in CAL curves' checkbox is enabled, shows the histogram of C, S or M after CIECAM.\n\nC, S and M are not shown in the main histogram panel.\nFor final output refer to the main histogram panel. +TP_COLORAPP_DATACIE_TOOLTIP;Affects histograms shown in Colour Appearance & Lightning curves. Does not affect RawTherapee's main histogram.\n\nEnabled: show approximate values for J and C, S or M after the CIECAM adjustments.\nDisabled: show L*a*b* values before CIECAM adjustments. +TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM colour appearance models, which were designed to better simulate how human vision perceives colours under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each colour and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. +TP_COLORAPP_HUE_TOOLTIP;Hue (h) is the degree to which a stimulus can be described as similar to a colour described as red, green, blue and yellow. +TP_COLORAPP_LABEL;Colour Appearance & Lighting +TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colours to take into account the viewing conditions of the output device. The darker the viewing conditions, the darker the image will become. Image brightness will not be changed when the viewing conditions are set to average. +TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colours to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. TP_COLORAPP_TCMODE_COLORF;Colourfulness -TP_COLORTONING_COLOR;Colour +TP_COLORTONING_COLOR;Colour: TP_COLORTONING_LABEL;Colour Toning TP_COLORTONING_LABGRID;L*a*b* colour correction grid TP_COLORTONING_LABREGIONS;Colour correction regions TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change colour (red, green, cyan, blue, etc.) the luminance of each pixel is preserved. -TP_COLORTONING_METHOD_TOOLTIP;"L*a*b* blending", "RGB sliders" and "RGB curves" use interpolated colour blending.\n"Colour balance (Shadows/Midtones/Highlights)" and "Saturation 2 colours" use direct colours.\n\nThe Black-and-White tool can be enabled when using any colour toning method, which allows for colour toning. +TP_COLORTONING_METHOD_TOOLTIP;'L*a*b* blending', 'RGB sliders' and 'RGB curves' use interpolated colour blending.\n'Colour balance (Shadows/Midtones/Highlights)' and 'Saturation 2 colours' use direct colours.\n\nThe Black-and-White tool can be enabled when using any colour toning method, which allows for colour toning. TP_COLORTONING_SPLITCOCO;Colour Balance Shadows/Midtones/Highlights TP_COLORTONING_SPLITLR;Saturation 2 colours TP_COLORTONING_TWO2;Special chroma '2 colours' TP_COLORTONING_TWOCOLOR_TOOLTIP;Standard chroma:\nLinear response, a* = b*.\n\nSpecial chroma:\nLinear response, a* = b*, but unbound - try under the diagonal.\n\nSpecial a* and b*:\nLinear response unbound with separate curves for a* and b*. Intended for special effects.\n\nSpecial chroma 2 colours:\nMore predictable. -TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the "Preview" method by matching the tile size and centre to the preview size and centre you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. +TP_CROP_GTCENTEREDSQUARE;Centreed square +TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the 'Preview' method by matching the tile size and centre to the preview size and centre you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_INFO;Preview size=%1, Centre: Px=%2 Py=%3 TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_TILEINFO;Tile size=%1, Centre: Tx=%2 Ty=%3 TP_DIRPYRDENOISE_MAIN_COLORSPACE;Colour space @@ -88,7 +150,11 @@ TP_DIRPYREQUALIZER_ALGO;Skin Colour Range TP_DIRPYREQUALIZER_ALGO_TOOLTIP;Fine: closer to the colours of the skin, minimizing the action on other colours\nLarge: avoid more artifacts. TP_DIRPYREQUALIZER_TOOLTIP;Attempts to reduce artifacts in the transitions between skin colours (hue, chroma, luma) and the rest of the image. TP_EXPOSURE_CLAMPOOG;Clip out-of-gamut colours -TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no colour) in the original scene. The patches should differ in brightness. Set the white balance afterwards. +TP_FILMNEGATIVE_COLORSPACE;Inversion colour space: +TP_FILMNEGATIVE_COLORSPACE_INPUT;Input colour space +TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the colour space used to perform the negative inversion:\nInput colour space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking colour space : perform inversion after input profile, using the currently selected working profile. +TP_FILMNEGATIVE_COLORSPACE_WORKING;Working colour space +TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no colour) in the original scene. The patches should differ in brightness. TP_GRADIENT_CENTER;Centre TP_GRADIENT_CENTER_X;Centre X TP_GRADIENT_CENTER_Y;Centre Y @@ -99,24 +165,112 @@ TP_ICM_INPUTCUSTOM_TOOLTIP;Select your own DCP/ICC colour profile file for the c TP_ICM_INPUTEMBEDDED_TOOLTIP;Use colour profile embedded in non-raw files. TP_ICM_INPUTNONE_TOOLTIP;Use no input colour profile at all.\nUse only in special cases. TP_ICM_LABEL;Colour Management +TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different colour mode for an image, you permanently change the colour values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic colour adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). TP_LABCURVE_AVOIDCOLORSHIFT;Avoid colour shift -TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP;Fit colours into gamut of the working colour space and apply Munsell correction. +TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP;Fit colours into gamut of the working colour space and apply Munsell correction (Uniform Perceptual Lab). +TP_LOCALLAB_ADJ;Equalizer Colour +TP_LOCALLAB_AVOID;Avoid colour shift +TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colours into gamut of the working colour space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +TP_LOCALLAB_BLWH_TOOLTIP;Force colour components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +TP_LOCALLAB_CENTER_X;Centre X +TP_LOCALLAB_CENTER_Y;Centre Y +TP_LOCALLAB_CIE;Colour appearance (Cam16 & JzCzHz) +TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM colour appearance model which was designed to better simulate how human vision perceives colours under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +TP_LOCALLAB_CIECOLORFRA;Colour +TP_LOCALLAB_CIE_TOOLNAME;Colour appearance (Cam16 & JzCzHz) +TP_LOCALLAB_COFR;Colour & Light +TP_LOCALLAB_COLORDE;ΔE preview colour - intensity +TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue colour preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +TP_LOCALLAB_COLORSCOPE;Scope (colour tools) +TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Colour and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +TP_LOCALLAB_COLOR_CIE;Colour curve +TP_LOCALLAB_COLOR_TOOLNAME;Colour & Light +TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colourful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colourful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Colour and Light. +TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove colour casts, but may also introduce a blue cast which can be corrected with other tools. +TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colours. +TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on colour (ΔE).\nMinimum RT-spot size: 128x128. +TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colours.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colours. +TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust colour, lightness, contrast and correct small defects such as red-eye, sensor dust etc. +TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low colour gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Colour and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a colour and luminance background (fewer possibilties). +TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Colour, Luminosity are concerned by Merge background (ΔE). +TP_LOCALLAB_GRIDMETH_TOOLTIP;Colour toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Colour toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +TP_LOCALLAB_GRIDONE;Colour Toning +TP_LOCALLAB_LABGRID;Colour correction grid +TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a colour according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colours to the illuminant of the output device. +TP_LOCALLAB_LOGCOLORFL;Colourfulness (M) +TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less coloured. +TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived colouration with luminance. +TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived colouration with brightness. +TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colourfulness (M) (in Advanced mode). +TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived colouration. +TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the colour of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colours to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +TP_LOCALLAB_LUMASK;Background colour/luma mask +TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or colour of the mask background in Show Mask (Mask and modifications). +TP_LOCALLAB_MASKCOM;Common Colour Mask +TP_LOCALLAB_MASKCOM_TOOLNAME;Common Colour Mask +TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Colour and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colourpicker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Colour and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable colour picker' on the mask to see which areas will be affected. Make sure you set 'Background colour mask' = 0 in Settings. +TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Colour and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Colour and Light settings \n In between these two areas, the full value of the Colour and Light settings will be applied. +TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Colour propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +TP_LOCALLAB_MERCOL;Colour +TP_LOCALLAB_MERFOR;Colour Dodge +TP_LOCALLAB_MERTHI;Colour Burn +TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Colour and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Colour and Light, Wavelet, Cam16, etc.). +TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Colour and Light image with respect to the original image. +TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colourfulness sliders. +TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colours to be excluded. +TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the centre of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colours similar to those in the centre of the spot.\nHigh values let the tool act on a wider range of colours. +TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular colour). +TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Colour & Light). +TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Colour & Light). +TP_LOCALLAB_WARM;Warm/Cool & Colour artifacts +TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the colour temperature of the selected area warmer or cooler.\nIt can also reduce colour artifacts in some cases. TP_PCVIGNETTE_FEATHER_TOOLTIP;Feathering:\n0 = corners only,\n50 = halfway to centre,\n100 = to centre. TP_PFCURVE_CURVEEDITOR_CH_TOOLTIP;Controls defringe strength by colour.\nHigher = more,\nLower = less. TP_RAWCACORR_AVOIDCOLORSHIFT;Avoid colour shift TP_RAW_FALSECOLOR;False colour suppression steps TP_RAW_PIXELSHIFTEQUALBRIGHT_TOOLTIP;Equalize the brightness of the frames to the brightness of the selected frame.\nIf there are overexposed areas in the frames select the brightest frame to avoid magenta colour cast in overexposed areas or enable motion correction. TP_RGBCURVES_LUMAMODE_TOOLTIP;Luminosity mode allows to vary the contribution of R, G and B channels to the luminosity of the image, without altering image colour. +TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its centre then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. TP_VIBRANCE_AVOIDCOLORSHIFT;Avoid colour shift TP_VIGNETTING_CENTER;Centre TP_VIGNETTING_CENTER_X;Centre X TP_VIGNETTING_CENTER_Y;Centre Y TP_WAVELET_AVOID;Avoid colour shift -TP_WAVELET_CBENAB;Toning and Colour Balance -TP_WAVELET_CB_TOOLTIP;For strong values product colour-toning by combining it or not with levels decomposition 'toning'\nFor low values you can change the white balance of the background (sky, ...) without changing that of the front plane, generally more contrasted +TP_WAVELET_BALCHROM;Equalizer Colour +TP_WAVELET_CBENAB;Toning and Colour balance TP_WAVELET_CHRO_TOOLTIP;Sets the wavelet level which will be the threshold between saturated and pastel colours.\n1-x: saturated\nx-9: pastel\n\nIf the value exceeds the amount of wavelet levels you are using then it will be ignored. +TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the colour. TP_WAVELET_EDGTHRESH_TOOLTIP;Change the repartition between the first levels and the others. The higher the threshold the more the action is centreed on the first levels. Be careful with negative values, they increase the action of high levels and can introduce artifacts. -TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "white balance" by modulating the blue/red balance.\nThis can be useful when shooting conditions:\na) are far from the standard illuminant (e.g. underwater),\nb) are far from conditions where calibrations were performed,\nc) where the matrices or ICC profiles are unsuitable. +TP_WAVELET_TONFRAME;Excluded colours +TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of 'white balance' by modulating the blue/red balance.\nThis can be useful when shooting conditions:\na) are far from the standard illuminant (e.g. underwater),\nb) are far from conditions where calibrations were performed,\nc) where the matrices or ICC profiles are unsuitable. !!!!!!!!!!!!!!!!!!!!!!!!! ! Untranslated keys follow; remove the ! prefix after an entry is translated. @@ -142,7 +296,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !CURVEEDITOR_HIGHLIGHTS;Highlights !CURVEEDITOR_LIGHTS;Lights !CURVEEDITOR_LINEAR;Linear -!CURVEEDITOR_LOADDLGLABEL;Load curve... +!CURVEEDITOR_LOADDLGLABEL;Load curve !CURVEEDITOR_MINMAXCPOINTS;Equalizer !CURVEEDITOR_NURBS;Control cage !CURVEEDITOR_PARAMETRIC;Parametric @@ -159,7 +313,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !DYNPROFILEEDITOR_DELETE;Delete !DYNPROFILEEDITOR_EDIT;Edit !DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule -!DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the "re:" prefix to enter\na regular expression. +!DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the 're:' prefix to enter\na regular expression. !DYNPROFILEEDITOR_IMGTYPE_ANY;Any !DYNPROFILEEDITOR_IMGTYPE_HDR;HDR !DYNPROFILEEDITOR_IMGTYPE_PS;Pixel Shift @@ -219,10 +373,10 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !EXPORT_MAXHEIGHT;Maximum height: !EXPORT_MAXWIDTH;Maximum width: !EXPORT_PIPELINE;Processing pipeline -!EXPORT_PUTTOQUEUEFAST; Put to queue for fast export +!EXPORT_PUTTOQUEUEFAST;Put to queue for fast export !EXPORT_RAW_DMETHOD;Demosaic method !EXPORT_USE_FAST_PIPELINE;Dedicated (full processing on resized image) -!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_FAST_PIPELINE_TOOLTIP;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) !EXTPROGTARGET_1;raw !EXTPROGTARGET_2;queue-processed @@ -230,7 +384,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !FILEBROWSER_APPLYPROFILE_PARTIAL;Apply - partial !FILEBROWSER_AUTODARKFRAME;Auto dark-frame !FILEBROWSER_AUTOFLATFIELD;Auto flat-field -!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. +!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply 'find' keywords. !FILEBROWSER_BROWSEPATHHINT;Type a path to navigate to.\n\nKeyboard shortcuts:\nCtrl-o to focus to the path text box.\nEnter / Ctrl-Enter to browse there;\nEsc to clear changes.\nShift-Esc to remove focus.\n\nPath shortcuts:\n~ - user's home directory.\n! - user's pictures directory !FILEBROWSER_CACHE;Cache !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles @@ -262,6 +416,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !FILEBROWSER_POPUPCOLORLABEL5;Label: Purple !FILEBROWSER_POPUPCOPYTO;Copy to... !FILEBROWSER_POPUPFILEOPERATIONS;File operations +!FILEBROWSER_POPUPINSPECT;Inspect !FILEBROWSER_POPUPMOVEEND;Move to end of queue !FILEBROWSER_POPUPMOVEHEAD;Move to head of queue !FILEBROWSER_POPUPMOVETO;Move to... @@ -335,8 +490,10 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !GENERAL_CANCEL;Cancel !GENERAL_CLOSE;Close !GENERAL_CURRENT;Current +!GENERAL_DELETE_ALL;Delete all !GENERAL_DISABLE;Disable !GENERAL_DISABLED;Disabled +!GENERAL_EDIT;Edit !GENERAL_ENABLE;Enable !GENERAL_ENABLED;Enabled !GENERAL_FILE;File @@ -358,17 +515,24 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTOGRAM_TOOLTIP_B;Show/Hide blue histogram. !HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar. !HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram. +!HISTOGRAM_TOOLTIP_CROSSHAIR;Show/Hide indicator crosshair. !HISTOGRAM_TOOLTIP_G;Show/Hide green histogram. !HISTOGRAM_TOOLTIP_L;Show/Hide CIELab luminance histogram. !HISTOGRAM_TOOLTIP_MODE;Toggle between linear, log-linear and log-log scaling of the histogram. !HISTOGRAM_TOOLTIP_R;Show/Hide red histogram. -!HISTOGRAM_TOOLTIP_RAW;Show/Hide raw histogram. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform !HISTORY_CHANGED;Changed !HISTORY_CUSTOMCURVE;Custom curve !HISTORY_FROMCLIPBOARD;From clipboard !HISTORY_LABEL;History !HISTORY_MSG_1;Photo loaded -!HISTORY_MSG_2;PP3 loaded !HISTORY_MSG_3;PP3 changed !HISTORY_MSG_4;History browsing !HISTORY_MSG_5;Exposure - Lightness @@ -382,9 +546,6 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_13;Exposure - Clip !HISTORY_MSG_14;L*a*b* - Lightness !HISTORY_MSG_15;L*a*b* - Contrast -!HISTORY_MSG_16;- -!HISTORY_MSG_17;- -!HISTORY_MSG_18;- !HISTORY_MSG_19;L*a*b* - L* curve !HISTORY_MSG_20;Sharpening !HISTORY_MSG_21;USM - Radius @@ -410,9 +571,6 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_41;Exposure - Tone curve 1 mode !HISTORY_MSG_42;Exposure - Tone curve 2 !HISTORY_MSG_43;Exposure - Tone curve 2 mode -!HISTORY_MSG_44;Lum. denoising radius -!HISTORY_MSG_45;Lum. denoising edge tolerance -!HISTORY_MSG_47;Blend ICC highlights with matrix !HISTORY_MSG_48;DCP - Tone curve !HISTORY_MSG_49;DCP illuminant !HISTORY_MSG_50;Shadows/Highlights @@ -420,7 +578,6 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_52;S/H - Shadows !HISTORY_MSG_53;S/H - Highlights tonal width !HISTORY_MSG_54;S/H - Shadows tonal width -!HISTORY_MSG_55;S/H - Local contrast !HISTORY_MSG_56;S/H - Radius !HISTORY_MSG_57;Coarse rotation !HISTORY_MSG_58;Horizontal flipping @@ -432,7 +589,6 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_64;Crop !HISTORY_MSG_65;CA correction !HISTORY_MSG_66;Exposure - Highlight reconstruction -!HISTORY_MSG_67;Exposure - HLR amount !HISTORY_MSG_68;Exposure - HLR method !HISTORY_MSG_72;VC - Amount !HISTORY_MSG_73;Channel Mixer @@ -440,12 +596,10 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_75;Resize - Method !HISTORY_MSG_76;Exif metadata !HISTORY_MSG_77;IPTC metadata -!HISTORY_MSG_78;- !HISTORY_MSG_79;Resize - Width !HISTORY_MSG_80;Resize - Height !HISTORY_MSG_81;Resize !HISTORY_MSG_82;Profile changed -!HISTORY_MSG_83;S/H - Sharp mask !HISTORY_MSG_84;Perspective correction !HISTORY_MSG_85;Lens Correction - LCP file !HISTORY_MSG_86;RGB Curves - Luminosity mode @@ -490,12 +644,6 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_128;Flat-Field - Blur radius !HISTORY_MSG_129;Flat-Field - Blur type !HISTORY_MSG_130;Auto distortion correction -!HISTORY_MSG_131;NR - Luma -!HISTORY_MSG_132;NR - Chroma -!HISTORY_MSG_133;Output gamma -!HISTORY_MSG_134;Free gamma -!HISTORY_MSG_135;Free gamma -!HISTORY_MSG_136;Free gamma slope !HISTORY_MSG_137;Black level - Green 1 !HISTORY_MSG_138;Black level - Red !HISTORY_MSG_139;Black level - Blue @@ -532,35 +680,34 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_171;L*a*b* - LC curve !HISTORY_MSG_172;L*a*b* - Restrict LC !HISTORY_MSG_173;NR - Detail recovery -!HISTORY_MSG_174;CIECAM02 -!HISTORY_MSG_175;CAM02 - CAT02 adaptation -!HISTORY_MSG_176;CAM02 - Viewing surround -!HISTORY_MSG_177;CAM02 - Scene luminosity -!HISTORY_MSG_178;CAM02 - Viewing luminosity -!HISTORY_MSG_179;CAM02 - White-point model -!HISTORY_MSG_180;CAM02 - Lightness (J) -!HISTORY_MSG_181;CAM02 - Chroma (C) -!HISTORY_MSG_182;CAM02 - Automatic CAT02 -!HISTORY_MSG_183;CAM02 - Contrast (J) -!HISTORY_MSG_184;CAM02 - Scene surround -!HISTORY_MSG_185;CAM02 - Gamut control -!HISTORY_MSG_186;CAM02 - Algorithm -!HISTORY_MSG_187;CAM02 - Red/skin prot. -!HISTORY_MSG_188;CAM02 - Brightness (Q) -!HISTORY_MSG_189;CAM02 - Contrast (Q) -!HISTORY_MSG_190;CAM02 - Saturation (S) -!HISTORY_MSG_192;CAM02 - Hue (h) -!HISTORY_MSG_193;CAM02 - Tone curve 1 -!HISTORY_MSG_194;CAM02 - Tone curve 2 -!HISTORY_MSG_195;CAM02 - Tone curve 1 -!HISTORY_MSG_196;CAM02 - Tone curve 2 -!HISTORY_MSG_199;CAM02 - Output histograms -!HISTORY_MSG_200;CAM02 - Tone mapping +!HISTORY_MSG_175;CAL - SC - Adaptation +!HISTORY_MSG_176;CAL - VC - Surround +!HISTORY_MSG_177;CAL - SC - Absolute luminance +!HISTORY_MSG_178;CAL - VC - Absolute luminance +!HISTORY_MSG_179;CAL - SC - WP model +!HISTORY_MSG_180;CAL - IA - Lightness (J) +!HISTORY_MSG_181;CAL - IA - Chroma (C) +!HISTORY_MSG_182;CAL - SC - Auto adaptation +!HISTORY_MSG_183;CAL - IA - Contrast (J) +!HISTORY_MSG_184;CAL - SC - Surround +!HISTORY_MSG_185;CAL - Gamut control +!HISTORY_MSG_186;CAL - IA - Algorithm +!HISTORY_MSG_187;CAL - IA - Red/skin protection +!HISTORY_MSG_188;CAL - IA - Brightness (Q) +!HISTORY_MSG_189;CAL - IA - Contrast (Q) +!HISTORY_MSG_190;CAL - IA - Saturation (S) +!HISTORY_MSG_192;CAL - IA - Hue (h) +!HISTORY_MSG_193;CAL - IA - Tone curve 1 +!HISTORY_MSG_194;CAL - IA - Tone curve 2 +!HISTORY_MSG_195;CAL - IA - Tone curve 1 mode +!HISTORY_MSG_196;CAL - IA - Tone curve 2 mode +!HISTORY_MSG_199;CAL - IA - Use CAM output for histograms +!HISTORY_MSG_200;CAL - IA - Use CAM for tone mapping !HISTORY_MSG_201;NR - Chrominance - R&G !HISTORY_MSG_202;NR - Chrominance - B&Y !HISTORY_MSG_204;LMMSE enhancement steps -!HISTORY_MSG_205;CAM02 - Hot/bad pixel filter -!HISTORY_MSG_206;CAT02 - Auto scene luminosity +!HISTORY_MSG_205;CAL - Hot/bad pixel filter +!HISTORY_MSG_206;CAL - SC - Auto absolute luminance !HISTORY_MSG_207;Defringe - Hue curve !HISTORY_MSG_208;WB - B/R equalizer !HISTORY_MSG_210;GF - Angle @@ -600,7 +747,6 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_247;L*a*b* - LH curve !HISTORY_MSG_248;L*a*b* - HH curve !HISTORY_MSG_249;CbDL - Threshold -!HISTORY_MSG_250;NR - Enhanced !HISTORY_MSG_251;B&W - Algorithm !HISTORY_MSG_252;CbDL - Skin tar/prot !HISTORY_MSG_253;CbDL - Reduce artifacts @@ -621,8 +767,6 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_270;CT - High - Green !HISTORY_MSG_271;CT - High - Blue !HISTORY_MSG_272;CT - Balance -!HISTORY_MSG_274;CT - Sat. Shadows -!HISTORY_MSG_275;CT - Sat. Highlights !HISTORY_MSG_276;CT - Opacity !HISTORY_MSG_277;--unused-- !HISTORY_MSG_278;CT - Preserve luminance @@ -647,7 +791,6 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_297;NR - Mode !HISTORY_MSG_298;Dead pixel filter !HISTORY_MSG_299;NR - Chrominance curve -!HISTORY_MSG_300;- !HISTORY_MSG_301;NR - Luma control !HISTORY_MSG_302;NR - Chroma method !HISTORY_MSG_303;NR - Chroma method @@ -665,10 +808,10 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_315;W - Residual - Contrast !HISTORY_MSG_316;W - Gamut - Skin tar/prot !HISTORY_MSG_317;W - Gamut - Skin hue -!HISTORY_MSG_318;W - Contrast - Highlight levels -!HISTORY_MSG_319;W - Contrast - Highlight range -!HISTORY_MSG_320;W - Contrast - Shadow range -!HISTORY_MSG_321;W - Contrast - Shadow levels +!HISTORY_MSG_318;W - Contrast - Finer levels +!HISTORY_MSG_319;W - Contrast - Finer range +!HISTORY_MSG_320;W - Contrast - Coarser range +!HISTORY_MSG_321;W - Contrast - Coarser levels !HISTORY_MSG_323;W - ES - Local contrast !HISTORY_MSG_324;W - Chroma - Pastel !HISTORY_MSG_325;W - Chroma - Saturated @@ -753,7 +896,6 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_406;W - ES - Neighboring pixels !HISTORY_MSG_407;Retinex - Method !HISTORY_MSG_408;Retinex - Radius -!HISTORY_MSG_409;Retinex - Contrast !HISTORY_MSG_410;Retinex - Offset !HISTORY_MSG_411;Retinex - Strength !HISTORY_MSG_412;Retinex - Gaussian gradient @@ -768,7 +910,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_422;Retinex - Gamma !HISTORY_MSG_423;Retinex - Gamma slope !HISTORY_MSG_424;Retinex - HL threshold -!HISTORY_MSG_425;Retinex - Log base +!HISTORY_MSG_425;--unused-- !HISTORY_MSG_426;Retinex - Hue equalizer !HISTORY_MSG_427;Output rendering intent !HISTORY_MSG_428;Monitor rendering intent @@ -788,30 +930,45 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_442;Retinex - Scale !HISTORY_MSG_443;Output black point compensation !HISTORY_MSG_444;WB - Temp bias -!HISTORY_MSG_445;Raw sub-image -!HISTORY_MSG_449;PS - ISO adaption -!HISTORY_MSG_452;PS - Show motion -!HISTORY_MSG_453;PS - Show mask only -!HISTORY_MSG_457;PS - Check red/blue -!HISTORY_MSG_462;PS - Check green -!HISTORY_MSG_464;PS - Blur motion mask -!HISTORY_MSG_465;PS - Blur radius -!HISTORY_MSG_468;PS - Fill holes -!HISTORY_MSG_469;PS - Median -!HISTORY_MSG_471;PS - Motion correction -!HISTORY_MSG_472;PS - Smooth transitions -!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_MSG_445;Raw Sub-Image +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_449;PS ISO adaption +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_452;PS Show motion +!HISTORY_MSG_453;PS Show mask only +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_457;PS Check red/blue +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_462;PS Check green +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_464;PS Blur motion mask +!HISTORY_MSG_465;PS Blur radius +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_468;PS Fill holes +!HISTORY_MSG_469;PS Median +!HISTORY_MSG_470;--unused-- +!HISTORY_MSG_471;PS Motion correction +!HISTORY_MSG_472;PS Smooth transitions +!HISTORY_MSG_474;PS Equalize +!HISTORY_MSG_475;PS Equalize channel +!HISTORY_MSG_476;CAL - VC - Temperature +!HISTORY_MSG_477;CAL - VC - Tint +!HISTORY_MSG_478;CAL - VC - Mean luminance +!HISTORY_MSG_479;CAL - VC - Adaptation +!HISTORY_MSG_480;CAL - VC - Auto adaptation +!HISTORY_MSG_481;CAL - SC - Temperature +!HISTORY_MSG_482;CAL - SC - Tint +!HISTORY_MSG_483;CAL - SC - Mean luminance +!HISTORY_MSG_484;CAL - SC - Auto mean luminance !HISTORY_MSG_485;Lens Correction !HISTORY_MSG_486;Lens Correction - Camera !HISTORY_MSG_487;Lens Correction - Lens @@ -822,6 +979,603 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_492;RGB Curves !HISTORY_MSG_493;L*a*b* Adjustments !HISTORY_MSG_494;Capture Sharpening +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_BLSHAPE;Blur by level +!HISTORY_MSG_BLURCWAV;Blur chroma +!HISTORY_MSG_BLURWAV;Blur luminance +!HISTORY_MSG_BLUWAV;Attenuation response +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM !HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel !HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask !HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask @@ -834,22 +1588,40 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation !HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask !HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity !HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth !HISTORY_MSG_DEHAZE_ENABLED;Haze Removal -!HISTORY_MSG_DEHAZE_LUMINANCE;Dehaze - Luminance only +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation !HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map !HISTORY_MSG_DEHAZE_STRENGTH;Dehaze - Strength !HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Dual demosaic - Auto threshold !HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Dual demosaic - Contrast threshold +!HISTORY_MSG_EDGEFFECT;Edge Attenuation response +!HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output !HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negative +!HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input !HISTORY_MSG_FILMNEGATIVE_VALUES;Film negative values !HISTORY_MSG_HISTMATCHING;Auto-matched tone curve +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y !HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primaries !HISTORY_MSG_ICM_OUTPUT_TEMP;Output - ICC-v4 illuminant D !HISTORY_MSG_ICM_OUTPUT_TYPE;Output - Type -!HISTORY_MSG_ICM_WORKING_GAMMA;Working - Gamma -!HISTORY_MSG_ICM_WORKING_SLOPE;Working - Slope -!HISTORY_MSG_ICM_WORKING_TRC_METHOD;Working - TRC method +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_GAMMA;TRC - Gamma +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ICM_WORKING_SLOPE;TRC - Slope +!HISTORY_MSG_ICM_WORKING_TRC_METHOD;TRC method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant !HISTORY_MSG_LOCALCONTRAST_AMOUNT;Local Contrast - Amount !HISTORY_MSG_LOCALCONTRAST_DARKNESS;Local Contrast - Darkness !HISTORY_MSG_LOCALCONTRAST_ENABLED;Local Contrast @@ -864,25 +1636,84 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iterations !HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius !HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average !HISTORY_MSG_PIXELSHIFT_DEMOSAIC;PS - Demosaic method for motion !HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;Line noise filter direction !HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode +!HISTORY_MSG_PROTAB;Protection !HISTORY_MSG_PRSHARPEN_CONTRAST;PRS - Contrast threshold +!HISTORY_MSG_RANGEAB;Range ab !HISTORY_MSG_RAWCACORR_AUTOIT;Raw CA Correction - Iterations !HISTORY_MSG_RAW_BORDER;Raw border !HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge !HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius !HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold +!HISTORY_MSG_SIGMACOL;Chroma Attenuation response +!HISTORY_MSG_SIGMADIR;Dir Attenuation response +!HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response +!HISTORY_MSG_SIGMATON;Toning Attenuation response !HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light !HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength +!HISTORY_MSG_SPOT;Spot removal +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. +!HISTORY_MSG_TEMPOUT;CAM02 automatic temperature +!HISTORY_MSG_THRESWAV;Balance threshold !HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor -!HISTORY_MSG_TRANS_Method;Geometry - Method +!HISTORY_MSG_TRANS_METHOD;Geometry - Method +!HISTORY_MSG_WAVBALCHROM;Equalizer chrominance +!HISTORY_MSG_WAVBALLUM;Equalizer luminance +!HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVCHROMCO;Chroma coarse +!HISTORY_MSG_WAVCHROMFI;Chroma fine +!HISTORY_MSG_WAVCLARI;Clarity +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVEDGS;Edge stopping +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVLOWTHR;Threshold low contrast +!HISTORY_MSG_WAVMERGEC;Merge C +!HISTORY_MSG_WAVMERGEL;Merge L +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVOFFSET;Offset +!HISTORY_MSG_WAVOLDSH;Old algorithm +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVRADIUS;Radius shadows-highlights +!HISTORY_MSG_WAVSCALE;Scale +!HISTORY_MSG_WAVSHOWMASK;Show wavelet mask +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSIGMA;Attenuation response +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSOFTRAD;Soft radius clarity +!HISTORY_MSG_WAVSOFTRADEND;Soft radius final +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!HISTORY_MSG_WAVUSHAMET;Clarity method !HISTORY_NEWSNAPSHOT;Add !HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s !HISTORY_SNAPSHOT;Snapshot !HISTORY_SNAPSHOTS;Snapshots !ICCPROFCREATOR_COPYRIGHT;Copyright: -!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0" +!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to 'RawTherapee, CC0'. !ICCPROFCREATOR_CUSTOM;Custom !ICCPROFCREATOR_DESCRIPTION;Description: !ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Append gamma and slope values to the description @@ -894,11 +1725,12 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !ICCPROFCREATOR_ILL_50;D50 !ICCPROFCREATOR_ILL_55;D55 !ICCPROFCREATOR_ILL_60;D60 +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater !ICCPROFCREATOR_ILL_65;D65 !ICCPROFCREATOR_ILL_80;D80 !ICCPROFCREATOR_ILL_DEF;Default !ICCPROFCREATOR_ILL_INC;StdA 2856K -!ICCPROFCREATOR_ILL_TOOLTIP;You can only set the illuminant for ICC v4 profiles. +!ICCPROFCREATOR_ILL_TOOLTIP;You can set the illuminant for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIMARIES;Primaries: !ICCPROFCREATOR_PRIM_ACESP0;ACES AP0 !ICCPROFCREATOR_PRIM_ACESP1;ACES AP1 @@ -908,6 +1740,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !ICCPROFCREATOR_PRIM_BLUX;Blue X !ICCPROFCREATOR_PRIM_BLUY;Blue Y !ICCPROFCREATOR_PRIM_BRUCE;BruceRGB +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 !ICCPROFCREATOR_PRIM_GREX;Green X !ICCPROFCREATOR_PRIM_GREY;Green Y !ICCPROFCREATOR_PRIM_PROPH;Prophoto @@ -915,13 +1748,14 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !ICCPROFCREATOR_PRIM_REDX;Red X !ICCPROFCREATOR_PRIM_REDY;Red Y !ICCPROFCREATOR_PRIM_SRGB;sRGB -!ICCPROFCREATOR_PRIM_TOOLTIP;You can only set custom primaries for ICC v4 profiles. +!ICCPROFCREATOR_PRIM_TOOLTIP;You can set custom primaries for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIM_WIDEG;Widegamut !ICCPROFCREATOR_PROF_V2;ICC v2 !ICCPROFCREATOR_PROF_V4;ICC v4 !ICCPROFCREATOR_SAVEDIALOG_TITLE;Save ICC profile as... !ICCPROFCREATOR_SLOPE;Slope -!ICCPROFCREATOR_TRC_PRESET;Tone response curve: +!ICCPROFCREATOR_TRC_PRESET;Tone response curve +!INSPECTOR_WINDOW_TITLE;Inspector !IPTCPANEL_CATEGORY;Category !IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider. !IPTCPANEL_CITY;City @@ -940,7 +1774,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !IPTCPANEL_DATECREATED;Date created !IPTCPANEL_DATECREATEDHINT;Enter the Date the image was taken. !IPTCPANEL_DESCRIPTION;Description -!IPTCPANEL_DESCRIPTIONHINT;Enter a "caption" describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. +!IPTCPANEL_DESCRIPTIONHINT;Enter a 'caption' describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. !IPTCPANEL_DESCRIPTIONWRITER;Description writer !IPTCPANEL_DESCRIPTIONWRITERHINT;Enter the name of the person involved in writing, editing or correcting the description of the image. !IPTCPANEL_EMBEDDED;Embedded @@ -999,7 +1833,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !MAIN_MSG_QOVERWRITE;Do you want to overwrite it? !MAIN_MSG_SETPATHFIRST;You first have to set a target path in Preferences in order to use this function! !MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue. -!MAIN_MSG_WRITEFAILED;Failed to write\n"%1"\n\nMake sure that the folder exists and that you have write permission to it. +!MAIN_MSG_WRITEFAILED;Failed to write\n'%1'\n\nMake sure that the folder exists and that you have write permission to it. !MAIN_TAB_ADVANCED;Advanced !MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-a !MAIN_TAB_COLOR_TOOLTIP;Shortcut: Alt-c @@ -1015,6 +1849,8 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !MAIN_TAB_FILTER; Filter !MAIN_TAB_INSPECT; Inspect !MAIN_TAB_IPTC;IPTC +!MAIN_TAB_LOCALLAB;Local +!MAIN_TAB_LOCALLAB_TOOLTIP;Shortcut: Alt-o !MAIN_TAB_METADATA;Metadata !MAIN_TAB_METADATA_TOOLTIP;Shortcut: Alt-m !MAIN_TAB_RAW;Raw @@ -1050,16 +1886,15 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !NAVIGATOR_V;V: !NAVIGATOR_XY_FULL;Width: %1, Height: %2 !NAVIGATOR_XY_NA;x: --, y: -- -!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. -!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. -!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. +!OPTIONS_BUNDLED_MISSING;The bundled profile '%1' could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. +!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. +!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. !PARTIALPASTE_ADVANCEDGROUP;Advanced Settings !PARTIALPASTE_BASICGROUP;Basic Settings !PARTIALPASTE_CACORRECTION;Chromatic aberration correction !PARTIALPASTE_CHANNELMIXER;Channel mixer !PARTIALPASTE_CHANNELMIXERBW;Black-and-white !PARTIALPASTE_COARSETRANS;Coarse rotation/flipping -!PARTIALPASTE_COLORAPP;CIECAM02 !PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto-fill !PARTIALPASTE_COMPOSITIONGROUP;Composition Settings !PARTIALPASTE_CROP;Crop @@ -1077,7 +1912,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !PARTIALPASTE_EVERYTHING;Everything !PARTIALPASTE_EXIFCHANGES;Exif !PARTIALPASTE_EXPOSURE;Exposure -!PARTIALPASTE_FILMNEGATIVE;Film Negative +!PARTIALPASTE_FILMNEGATIVE;Film negative !PARTIALPASTE_FILMSIMULATION;Film simulation !PARTIALPASTE_FLATFIELDAUTOSELECT;Flat-field auto-selection !PARTIALPASTE_FLATFIELDBLURRADIUS;Flat-field blur radius @@ -1092,6 +1927,8 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !PARTIALPASTE_LENSGROUP;Lens Related Settings !PARTIALPASTE_LENSPROFILE;Profiled lens correction !PARTIALPASTE_LOCALCONTRAST;Local contrast +!PARTIALPASTE_LOCALLAB;Local Adjustments +!PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings !PARTIALPASTE_METADATA;Metadata mode !PARTIALPASTE_METAGROUP;Metadata settings !PARTIALPASTE_PCVIGNETTE;Vignette filter @@ -1101,6 +1938,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !PARTIALPASTE_PREPROCESS_HOTPIXFILT;Hot pixel filter !PARTIALPASTE_PREPROCESS_LINEDENOISE;Line noise filter !PARTIALPASTE_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!PARTIALPASTE_PREPROCWB;Preprocess White Balance !PARTIALPASTE_PRSHARPENING;Post-resize sharpening !PARTIALPASTE_RAWCACORR_AUTO;CA auto-correction !PARTIALPASTE_RAWCACORR_CAREDBLUE;CA red & blue @@ -1123,6 +1961,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !PARTIALPASTE_SHARPENING;Sharpening (USM/RL) !PARTIALPASTE_SHARPENMICRO;Microcontrast !PARTIALPASTE_SOFTLIGHT;Soft light +!PARTIALPASTE_SPOT;Spot removal !PARTIALPASTE_TM_FATTAL;Dynamic range compression !PARTIALPASTE_VIBRANCE;Vibrance !PARTIALPASTE_VIGNETTING;Vignetting correction @@ -1153,11 +1992,17 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !PREFERENCES_CHUNKSIZE_RAW_RCD;RCD demosaic !PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans demosaic !PREFERENCES_CHUNKSIZE_RGB;RGB processing +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts !PREFERENCES_CLIPPINGIND;Clipping Indication !PREFERENCES_CLUTSCACHE;HaldCLUT Cache !PREFERENCES_CLUTSCACHE_LABEL;Maximum number of cached CLUTs !PREFERENCES_CLUTSDIR;HaldCLUT directory !PREFERENCES_CMMBPC;Black point compensation +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic !PREFERENCES_CROP;Crop Editing !PREFERENCES_CROP_AUTO_FIT;Automatically zoom to fit the crop !PREFERENCES_CROP_GUIDES;Guides shown when not editing the crop @@ -1170,7 +2015,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !PREFERENCES_CURVEBBOXPOS_LEFT;Left !PREFERENCES_CURVEBBOXPOS_RIGHT;Right !PREFERENCES_CUSTPROFBUILD;Custom Processing Profile Builder -!PREFERENCES_CUSTPROFBUILDHINT;Executable (or script) file called when a new initial processing profile should be generated for an image.\n\nThe path of the communication file (*.ini style, a.k.a. "Keyfile") is added as a command line parameter. It contains various parameters required for the scripts and image Exif to allow a rules-based processing profile generation.\n\nWARNING: You are responsible for using double quotes where necessary if you're using paths containing spaces. +!PREFERENCES_CUSTPROFBUILDHINT;Executable (or script) file called when a new initial processing profile should be generated for an image.\n\nThe path of the communication file (*.ini style, a.k.a. 'Keyfile') is added as a command line parameter. It contains various parameters required for the scripts and image Exif to allow a rules-based processing profile generation.\n\nWARNING: You are responsible for using double quotes where necessary if you're using paths containing spaces. !PREFERENCES_CUSTPROFBUILDKEYFORMAT;Keys format !PREFERENCES_CUSTPROFBUILDKEYFORMAT_NAME;Name !PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID @@ -1189,6 +2034,12 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !PREFERENCES_DIRSOFTWARE;Installation directory !PREFERENCES_EDITORCMDLINE;Custom command line !PREFERENCES_EDITORLAYOUT;Editor layout +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output !PREFERENCES_EXTERNALEDITOR;External Editor !PREFERENCES_FBROWSEROPTS;File Browser / Thumbnail Options !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Compact toolbars in File Browser @@ -1205,6 +2056,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !PREFERENCES_HISTOGRAM_TOOLTIP;If enabled, the working profile is used for rendering the main histogram and the Navigator panel, otherwise the gamma-corrected output profile is used. !PREFERENCES_HLTHRESHOLD;Threshold for clipped highlights !PREFERENCES_IMPROCPARAMS;Default Processing Profile +!PREFERENCES_INSPECTORWINDOW;Open inspector in own window or fullscreen !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. @@ -1214,10 +2066,10 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !PREFERENCES_LANG;Language !PREFERENCES_LANGAUTODETECT;Use system language !PREFERENCES_MAXRECENTFOLDERS;Maximum number of recent folders -!PREFERENCES_MENUGROUPEXTPROGS;Group "Open with" -!PREFERENCES_MENUGROUPFILEOPERATIONS;Group "File operations" -!PREFERENCES_MENUGROUPPROFILEOPERATIONS;Group "Processing profile operations" -!PREFERENCES_MENUGROUPRANK;Group "Rank" +!PREFERENCES_MENUGROUPEXTPROGS;Group 'Open with' +!PREFERENCES_MENUGROUPFILEOPERATIONS;Group 'File operations' +!PREFERENCES_MENUGROUPPROFILEOPERATIONS;Group 'Processing profile operations' +!PREFERENCES_MENUGROUPRANK;Group 'Rank' !PREFERENCES_MENUOPTIONS;Context Menu Options !PREFERENCES_MONINTENT;Default rendering intent !PREFERENCES_MONITOR;Monitor @@ -1257,7 +2109,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !PREFERENCES_PRTINTENT;Rendering intent !PREFERENCES_PSPATH;Adobe Photoshop installation directory !PREFERENCES_REMEMBERZOOMPAN;Remember zoom % and pan offset -!PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in "Single Editor Tab Mode" and when "Demosaicing method used for the preview at <100% zoom" is set to "As in PP3". +!PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in 'Single Editor Tab Mode' and when 'Demosaicing method used for the preview at <100% zoom' is set to 'As in PP3'. !PREFERENCES_SAVE_TP_OPEN_NOW;Save tool collapsed/expanded state now !PREFERENCES_SELECTLANG;Select language !PREFERENCES_SERIALIZE_TIFF_READ;TIFF Read Settings @@ -1268,10 +2120,11 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !PREFERENCES_SHOWDATETIME;Show date and time !PREFERENCES_SHOWEXPOSURECOMPENSATION;Append exposure compensation !PREFERENCES_SHOWFILMSTRIPTOOLBAR;Show Filmstrip toolbar +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips !PREFERENCES_SHTHRESHOLD;Threshold for clipped shadows !PREFERENCES_SINGLETAB;Single Editor Tab Mode !PREFERENCES_SINGLETABVERTAB;Single Editor Tab Mode, Vertical Tabs -!PREFERENCES_SND_HELP;Enter a full file path to set a sound, or leave blank for no sound.\nFor system sounds on Windows use "SystemDefault", "SystemAsterisk" etc., and on Linux use "complete", "window-attention" etc. +!PREFERENCES_SND_HELP;Enter a full file path to set a sound, or leave blank for no sound.\nFor system sounds on Windows use 'SystemDefault', 'SystemAsterisk' etc., and on Linux use 'complete', 'window-attention' etc. !PREFERENCES_SND_LNGEDITPROCDONE;Editor processing done !PREFERENCES_SND_QUEUEDONE;Queue processing done !PREFERENCES_SND_THRESHOLDSECS;After seconds @@ -1290,12 +2143,13 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !PREFERENCES_TP_VSCROLLBAR;Hide vertical scrollbar !PREFERENCES_USEBUNDLEDPROFILES;Use bundled profiles !PREFERENCES_WORKFLOW;Layout +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling !PROFILEPANEL_COPYPPASTE;Parameters to copy !PROFILEPANEL_GLOBALPROFILES;Bundled profiles !PROFILEPANEL_LABEL;Processing Profiles !PROFILEPANEL_LOADDLGLABEL;Load Processing Parameters... !PROFILEPANEL_LOADPPASTE;Parameters to load -!PROFILEPANEL_MODE_TIP;Processing profile fill mode.\n\nButton pressed: partial profiles will be converted to full profiles; the missing values will be replaced with hard-coded defaults.\n\nButton released: profiles will be applied as they are, altering only those values which they contain. +!PROFILEPANEL_MODE_TOOLTIP;Processing profile fill mode.\n\nButton pressed: partial profiles will be converted to full profiles; the missing values will be replaced with hard-coded defaults.\n\nButton released: profiles will be applied as they are, altering only those values which they contain. !PROFILEPANEL_MYPROFILES;My profiles !PROFILEPANEL_PASTEPPASTE;Parameters to paste !PROFILEPANEL_PCUSTOM;Custom @@ -1369,6 +2223,12 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF !SAVEDLG_WARNFILENAME;File will be named !SHCSELECTOR_TOOLTIP;Click right mouse button to reset the position of those 3 sliders. +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry !THRESHOLDSELECTOR_B;Bottom !THRESHOLDSELECTOR_BL;Bottom-left !THRESHOLDSELECTOR_BR;Bottom-right @@ -1378,6 +2238,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !THRESHOLDSELECTOR_TR;Top-right !TOOLBAR_TOOLTIP_CROP;Crop selection.\nShortcut: c\nMove the crop using Shift+mouse drag. !TOOLBAR_TOOLTIP_HAND;Hand tool.\nShortcut: h +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. !TOOLBAR_TOOLTIP_WB;Spot white balance.\nShortcut: w !TP_BWMIX_ALGO;Algorithm OYCPM !TP_BWMIX_ALGO_LI;Linear @@ -1408,7 +2269,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_BWMIX_MIXC;Channel Mixer !TP_BWMIX_NEUTRAL;Reset !TP_BWMIX_RGBLABEL;R: %1%% G: %2%% B: %3%% Total: %4%% -!TP_BWMIX_RGBLABEL_HINT;Final RGB factors that take care of all the mixer options.\n"Total" displays the sum of the RGB values:\n- always 100% in relative mode\n- higher (lighter) or lower (darker) than 100% in absolute mode. +!TP_BWMIX_RGBLABEL_HINT;Final RGB factors that take care of all the mixer options.\n'Total' displays the sum of the RGB values:\n- always 100% in relative mode\n- higher (lighter) or lower (darker) than 100% in absolute mode. !TP_BWMIX_SETTING;Presets !TP_BWMIX_SETTING_TOOLTIP;Different presets (film, landscape, etc.) or manual Channel Mixer settings. !TP_BWMIX_SET_HIGHCONTAST;High contrast @@ -1447,6 +2308,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_COARSETRAF_TOOLTIP_ROTRIGHT;Rotate right.\n\nShortcuts:\n] - Multiple Editor Tabs Mode,\nAlt-] - Single Editor Tab Mode. !TP_COARSETRAF_TOOLTIP_VFLIP;Flip vertically. !TP_COLORAPP_ABSOLUTELUMINANCE;Absolute luminance +!TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. !TP_COLORAPP_ALGO;Algorithm !TP_COLORAPP_ALGO_ALL;All !TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC) @@ -1454,41 +2316,60 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_COLORAPP_ALGO_TOOLTIP;Lets you choose between parameter subsets or all parameters. !TP_COLORAPP_BADPIXSL;Hot/bad pixel filter !TP_COLORAPP_BRIGHT;Brightness (Q) -!TP_COLORAPP_BRIGHT_TOOLTIP;Brightness in CIECAM02 takes into account the white's luminosity and differs from L*a*b* and RGB brightness. +!TP_COLORAPP_BRIGHT_TOOLTIP;Brightness in CIECAM is the amount of perceived light emanating from a stimulus. It differs from L*a*b* and RGB brightness. !TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;When setting manually, values above 65 are recommended. +!TP_COLORAPP_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed !TP_COLORAPP_CHROMA;Chroma (C) !TP_COLORAPP_CHROMA_S;Saturation (S) -!TP_COLORAPP_CHROMA_S_TOOLTIP;Saturation in CIECAM02 differs from L*a*b* and RGB saturation. -!TP_COLORAPP_CHROMA_TOOLTIP;Chroma in CIECAM02 differs from L*a*b* and RGB chroma. -!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation +!TP_COLORAPP_CIECAT_DEGREE;Adaptation !TP_COLORAPP_CONTRAST;Contrast (J) !TP_COLORAPP_CONTRAST_Q;Contrast (Q) -!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_CONTRAST_Q_TOOLTIP;Contrast (Q) in CIECAM is based on brightness. It differs from L*a*b* and RGB contrast. +!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast (J) in CIECAM is based on lightness. It 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_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM.\nIf the 'Show CIECAM output histograms in CAL curves' checkbox is enabled, shows the histogram of J after CIECAM.\n\nJ is not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel. !TP_COLORAPP_CURVEEDITOR2;Tone curve 2 -!TP_COLORAPP_CURVEEDITOR2_TOOLTIP;Same usage as with the second exposure tone curve. -!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_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_CURVEEDITOR2_TOOLTIP;Same usage as with the first J(J) tone curve. +!TP_COLORAPP_DATACIE;Show CIECAM output histograms in CAL curves +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_FREE;Free temp + tint + CAT02/16 +[output] +!TP_COLORAPP_GAMUT;Use gamut control in L*a*b* mode +!TP_COLORAPP_GEN;Settings !TP_COLORAPP_HUE;Hue (h) -!TP_COLORAPP_HUE_TOOLTIP;Hue (h) - angle between 0° and 360°. +!TP_COLORAPP_IL41;D41 +!TP_COLORAPP_IL50;D50 +!TP_COLORAPP_IL55;D55 +!TP_COLORAPP_IL60;D60 +!TP_COLORAPP_IL65;D65 +!TP_COLORAPP_IL75;D75 +!TP_COLORAPP_ILA;Incandescent StdA 2856K +!TP_COLORAPP_ILFREE;Free +!TP_COLORAPP_ILLUM;Illuminant +!TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. !TP_COLORAPP_LABEL_CAM02;Image Adjustments !TP_COLORAPP_LABEL_SCENE;Scene Conditions !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_LIGHT_TOOLTIP;Lightness in CIECAM is the clarity of a stimulus relative to the clarity of a stimulus that appears white under similar viewing conditions. It differs from L*a*b* and RGB lightness. !TP_COLORAPP_MEANLUMINANCE;Mean luminance (Yb%) -!TP_COLORAPP_MODEL;WP Model -!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\nWB [RT] + [output]: 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\nWB [RT+CAT02] + [output]: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\nFree temp+green + CAT02 + [output]: temp and green are selected by the user, the output device's white balance is set in Viewing Conditions. +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODEL;WP model +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. +!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\nWB [RT] + [output]: RT's white balance is used for the scene, CIECAM is set to D50, and the output device's white balance is set in Viewing Conditions.\n\nWB [RT+CAT02/16] + [output]: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\nFree temp + tint + CAT02/16 + [output]: temp and tint are selected by the user, the 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_NEUTRAL_TOOLTIP;Reset all sliders checkbox and curves to their default values. !TP_COLORAPP_RSTPRO;Red & skin-tones protection !TP_COLORAPP_RSTPRO_TOOLTIP;Red & skin-tones protection affects both sliders and curves. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. !TP_COLORAPP_SURROUND;Surround +!TP_COLORAPP_SURROUNDSRC;Surround !TP_COLORAPP_SURROUND_AVER;Average !TP_COLORAPP_SURROUND_DARK;Dark !TP_COLORAPP_SURROUND_DIM;Dim @@ -1500,18 +2381,22 @@ 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 set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504 -!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02 +!TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_TONECIE;Use CIECAM for tone mapping !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_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. !TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16 cd/m²). -!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output] +!TP_COLORAPP_WBCAM;WB [RT+CAT02/16] + [output] !TP_COLORAPP_WBRT;WB [RT] + [output] +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. !TP_COLORTONING_AB;o C/L !TP_COLORTONING_AUTOSAT;Automatic !TP_COLORTONING_BALANCE;Balance !TP_COLORTONING_BY;o C/L !TP_COLORTONING_CHROMAC;Opacity -!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L) +!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L). !TP_COLORTONING_HIGHLIGHT;Highlights !TP_COLORTONING_HUE;Hue !TP_COLORTONING_LAB;L*a*b* blending @@ -1539,8 +2424,8 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_COLORTONING_METHOD;Method !TP_COLORTONING_MIDTONES;Midtones !TP_COLORTONING_NEUTRAL;Reset sliders -!TP_COLORTONING_NEUTRAL_TIP;Reset all values (Shadows, Midtones, Highlights) to default. -!TP_COLORTONING_OPACITY;Opacity +!TP_COLORTONING_NEUTRAL_TOOLTIP;Reset all values (Shadows, Midtones, Highlights) to default. +!TP_COLORTONING_OPACITY;Opacity: !TP_COLORTONING_RGBCURVES;RGB - Curves !TP_COLORTONING_RGBSLIDERS;RGB - Sliders !TP_COLORTONING_SA;Saturation Protection @@ -1579,7 +2464,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_DEFRINGE_THRESHOLD;Threshold !TP_DEHAZE_DEPTH;Depth !TP_DEHAZE_LABEL;Haze Removal -!TP_DEHAZE_LUMINANCE;Luminance only +!TP_DEHAZE_SATURATION;Saturation !TP_DEHAZE_SHOW_DEPTH_MAP;Show depth map !TP_DEHAZE_STRENGTH;Strength !TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Auto multi-zones @@ -1612,14 +2497,14 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_DIRPYRDENOISE_MAIN_MODE;Mode !TP_DIRPYRDENOISE_MAIN_MODE_AGGRESSIVE;Aggressive !TP_DIRPYRDENOISE_MAIN_MODE_CONSERVATIVE;Conservative -!TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;"Conservative" preserves low frequency chroma patterns, while "aggressive" obliterates them. +!TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;Conservative preserves low frequency chroma patterns, while aggressive obliterates them. !TP_DIRPYRDENOISE_MEDIAN_METHOD;Median method !TP_DIRPYRDENOISE_MEDIAN_METHOD_CHROMINANCE;Chroma only !TP_DIRPYRDENOISE_MEDIAN_METHOD_LAB;L*a*b* !TP_DIRPYRDENOISE_MEDIAN_METHOD_LABEL;Median Filter !TP_DIRPYRDENOISE_MEDIAN_METHOD_LUMINANCE;Luminance only !TP_DIRPYRDENOISE_MEDIAN_METHOD_RGB;RGB -!TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the "Luminance only" and "L*a*b*" methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the "RGB" mode, it will be performed at the very end of the noise reduction pipeline. +!TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the 'Luminance only' and 'L*a*b*' methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the 'RGB' mode, it will be performed at the very end of the noise reduction pipeline. !TP_DIRPYRDENOISE_MEDIAN_METHOD_WEIGHTED;Weighted L* (little) + a*b* (normal) !TP_DIRPYRDENOISE_MEDIAN_PASSES;Median iterations !TP_DIRPYRDENOISE_MEDIAN_PASSES_TOOLTIP;Applying three median filter iterations with a 3×3 window size often leads to better results than using one median filter iteration with a 7×7 window size. @@ -1644,7 +2529,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_DIRPYREQUALIZER_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. !TP_DIRPYREQUALIZER_THRESHOLD;Threshold !TP_DISTORTION_AMOUNT;Amount -!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_DISTORTION_AUTO_TOOLTIP;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_DISTORTION_LABEL;Distortion Correction !TP_EPD_EDGESTOPPING;Edge stopping !TP_EPD_GAMMA;Gamma @@ -1653,18 +2538,18 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_EPD_SCALE;Scale !TP_EPD_STRENGTH;Strength !TP_EXPOSURE_AUTOLEVELS;Auto Levels -!TP_EXPOSURE_AUTOLEVELS_TIP;Toggles execution of Auto Levels to automatically set Exposure slider values based on an image analysis.\nEnables Highlight Reconstruction if necessary. +!TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Toggles execution of Auto Levels to automatically set Exposure slider values based on an image analysis.\nEnables Highlight Reconstruction if necessary. !TP_EXPOSURE_BLACKLEVEL;Black !TP_EXPOSURE_BRIGHTNESS;Lightness !TP_EXPOSURE_CLIP;Clip % -!TP_EXPOSURE_CLIP_TIP;The fraction of pixels to be clipped in Auto Levels operation. +!TP_EXPOSURE_CLIP_TOOLTIP;The fraction of pixels to be clipped in Auto Levels operation. !TP_EXPOSURE_COMPRHIGHLIGHTS;Highlight compression !TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Highlight compression threshold !TP_EXPOSURE_COMPRSHADOWS;Shadow compression !TP_EXPOSURE_CONTRAST;Contrast !TP_EXPOSURE_CURVEEDITOR1;Tone curve 1 !TP_EXPOSURE_CURVEEDITOR2;Tone curve 2 -!TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Please refer to the "Exposure > Tone Curves" RawPedia article to learn how to achieve the best results by using two tone curves. +!TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Please refer to the 'Exposure > Tone Curves' RawPedia article to learn how to achieve the best results by using two tone curves. !TP_EXPOSURE_EXPCOMP;Exposure compensation !TP_EXPOSURE_HISTMATCHING;Auto-Matched Tone Curve !TP_EXPOSURE_HISTMATCHING_TOOLTIP;Automatically adjust sliders and curves (except exposure compensation) to match the look of the embedded JPEG thumbnail. @@ -1681,10 +2566,16 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_EXPOS_BLACKPOINT_LABEL;Raw Black Points !TP_EXPOS_WHITEPOINT_LABEL;Raw White Points !TP_FILMNEGATIVE_BLUE;Blue ratio -!TP_FILMNEGATIVE_GREEN;Reference exponent (contrast) +!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm +!TP_FILMNEGATIVE_GREEN;Reference exponent +!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green !TP_FILMNEGATIVE_LABEL;Film Negative +!TP_FILMNEGATIVE_OUT_LEVEL;Output level !TP_FILMNEGATIVE_PICK;Pick neutral spots !TP_FILMNEGATIVE_RED;Red ratio +!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. !TP_FILMSIMULATION_LABEL;Film Simulation !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_FILMSIMULATION_STRENGTH;Strength @@ -1712,6 +2603,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_HLREC_BLEND;Blend !TP_HLREC_CIELAB;CIELab Blending !TP_HLREC_ENA_TOOLTIP;Could be activated by Auto Levels. +!TP_HLREC_HLBLUR;Blur !TP_HLREC_LABEL;Highlight reconstruction !TP_HLREC_LUMINANCE;Luminance Recovery !TP_HLREC_METHOD;Method: @@ -1729,7 +2621,9 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !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 available 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_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. !TP_ICM_INPUTCAMERA;Camera standard !TP_ICM_INPUTCAMERAICC;Auto-matched camera profile !TP_ICM_INPUTCUSTOM;Custom @@ -1737,21 +2631,65 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_ICM_INPUTEMBEDDED;Use embedded, if possible !TP_ICM_INPUTNONE;No profile !TP_ICM_INPUTPROFILE;Input Profile +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset !TP_ICM_NOICM;No ICM: sRGB Output !TP_ICM_OUTPUTPROFILE;Output Profile +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 !TP_ICM_PROFILEINTENT;Rendering Intent +!TP_ICM_REDFRAME;Custom Primaries !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 available if the selected DCP has a tone curve. +!TP_ICM_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. !TP_ICM_WORKINGPROFILE;Working Profile +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut !TP_ICM_WORKING_TRC;Tone response curve: +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 !TP_ICM_WORKING_TRC_CUSTOM;Custom !TP_ICM_WORKING_TRC_GAMMA;Gamma +!TP_ICM_WORKING_TRC_LIN;Linear g=1 !TP_ICM_WORKING_TRC_NONE;None !TP_ICM_WORKING_TRC_SLOPE;Slope +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 !TP_ICM_WORKING_TRC_TOOLTIP;Only for built-in profiles. !TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction !TP_IMPULSEDENOISE_THRESH;Threshold @@ -1773,21 +2711,21 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_LABCURVE_CURVEEDITOR_CC_RANGE2;Dull !TP_LABCURVE_CURVEEDITOR_CC_RANGE3;Pastel !TP_LABCURVE_CURVEEDITOR_CC_RANGE4;Saturated -!TP_LABCURVE_CURVEEDITOR_CC_TOOLTIP;Chromaticity according to chromaticity C=f(C) +!TP_LABCURVE_CURVEEDITOR_CC_TOOLTIP;Chromaticity according to chromaticity C=f(C). !TP_LABCURVE_CURVEEDITOR_CH;CH -!TP_LABCURVE_CURVEEDITOR_CH_TOOLTIP;Chromaticity according to hue C=f(H) +!TP_LABCURVE_CURVEEDITOR_CH_TOOLTIP;Chromaticity according to hue C=f(H). !TP_LABCURVE_CURVEEDITOR_CL;CL -!TP_LABCURVE_CURVEEDITOR_CL_TOOLTIP;Chromaticity according to luminance C=f(L) +!TP_LABCURVE_CURVEEDITOR_CL_TOOLTIP;Chromaticity according to luminance C=f(L). !TP_LABCURVE_CURVEEDITOR_HH;HH -!TP_LABCURVE_CURVEEDITOR_HH_TOOLTIP;Hue according to hue H=f(H) +!TP_LABCURVE_CURVEEDITOR_HH_TOOLTIP;Hue according to hue H=f(H). !TP_LABCURVE_CURVEEDITOR_LC;LC -!TP_LABCURVE_CURVEEDITOR_LC_TOOLTIP;Luminance according to chromaticity L=f(C) +!TP_LABCURVE_CURVEEDITOR_LC_TOOLTIP;Luminance according to chromaticity L=f(C). !TP_LABCURVE_CURVEEDITOR_LH;LH -!TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminance according to hue L=f(H) -!TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminance according to luminance L=f(L) +!TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminance according to hue L=f(H). +!TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminance according to luminance L=f(L). !TP_LABCURVE_LABEL;L*a*b* Adjustments !TP_LABCURVE_LCREDSK;Restrict LC to red and skin-tones -!TP_LABCURVE_LCREDSK_TIP;If enabled, the LC Curve affects only red and skin-tones.\nIf disabled, it applies to all tones. +!TP_LABCURVE_LCREDSK_TOOLTIP;If enabled, the LC Curve affects only red and skin-tones.\nIf disabled, it applies to all tones. !TP_LABCURVE_RSTPROTECTION;Red and skin-tones protection !TP_LABCURVE_RSTPRO_TOOLTIP;Works on the Chromaticity slider and the CC curve. !TP_LENSGEOM_AUTOCROP;Auto-Crop @@ -1810,12 +2748,710 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_LOCALCONTRAST_LABEL;Local Contrast !TP_LOCALCONTRAST_LIGHTNESS;Lightness level !TP_LOCALCONTRAST_RADIUS;Radius +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ACTIVSPOT;Enable Spot +!TP_LOCALLAB_AMOUNT;Amount +!TP_LOCALLAB_ARTIF;Shape detection +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALAN;ab-L balance (ΔE) +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALANH;C-H balance (ΔE) +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLCO;Chrominance only +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLINV;Inverse +!TP_LOCALLAB_BLLC;Luminance & Chrominance +!TP_LOCALLAB_BLLO;Luminance only +!TP_LOCALLAB_BLMED;Median +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNOI_EXP;Blur & Noise +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUFR;Blur/Grain & Denoise +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain +!TP_LOCALLAB_BLURCOL;Radius +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURDE;Blur shape detection +!TP_LOCALLAB_BLURLC;Luminance only +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BUTTON_ADD;Add +!TP_LOCALLAB_BUTTON_DEL;Delete +!TP_LOCALLAB_BUTTON_DUPL;Duplicate +!TP_LOCALLAB_BUTTON_REN;Rename +!TP_LOCALLAB_BUTTON_VIS;Show/Hide +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +!TP_LOCALLAB_CAMMODE;CAM model +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CBDL;Contrast by Detail Levels +!TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. +!TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. +!TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. +!TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMA;Chrominance +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACBDL;Chroma +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASKCOL;Chroma +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_CHRRT;Chroma +!TP_LOCALLAB_CIEC;Use Ciecam environment parameters +!TP_LOCALLAB_CIECONTFRA;Contrast +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE;Change tool position +!TP_LOCALLAB_CIEMODE_COM;Default +!TP_LOCALLAB_CIEMODE_DR;Dynamic Range +!TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIEMODE_WAV;Wavelet +!TP_LOCALLAB_CIETOOLEXP;Curves +!TP_LOCALLAB_CIRCRADIUS;Spot size +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COL_NAME;Name +!TP_LOCALLAB_COL_VIS;Status +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRAST;Contrast +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CONTTHR;Contrast Threshold +!TP_LOCALLAB_CONTWFRA;Local contrast +!TP_LOCALLAB_CSTHRESHOLD;Wavelet levels +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DEHAFRA;Dehaze +!TP_LOCALLAB_DEHAZ;Strength +!TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_EXP;Denoise +!TP_LOCALLAB_DEPTH;Depth +!TP_LOCALLAB_DETAIL;Local contrast +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILSH;Details +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_DUPLSPOTNAME;Copy +!TP_LOCALLAB_EDGFRA;Edge sharpness +!TP_LOCALLAB_EDGSHOW;Show all tools +!TP_LOCALLAB_ELI;Ellipse +!TP_LOCALLAB_ENABLE_AFTER_MASK;Use Tone Mapping +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EPSBL;Detail +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EV_NVIS;Hide +!TP_LOCALLAB_EV_NVIS_ALL;Hide all +!TP_LOCALLAB_EV_VIS;Show +!TP_LOCALLAB_EV_VIS_ALL;Show all +!TP_LOCALLAB_EXCLUF;Excluding +!TP_LOCALLAB_EXCLUTYPE;Spot method +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXECLU;Excluding spot +!TP_LOCALLAB_EXFULL;Full image +!TP_LOCALLAB_EXNORM;Normal spot +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA;Chroma compensation +!TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ +!TP_LOCALLAB_EXPCOMPINV;Exposure compensation +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPCURV;Curves +!TP_LOCALLAB_EXPGRAD;Graduated Filter +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_EXPTOOL;Exposure Tools +!TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure +!TP_LOCALLAB_FATAMOUNT;Amount +!TP_LOCALLAB_FATANCHOR;Anchor +!TP_LOCALLAB_FATDETAIL;Detail +!TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). +!TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform +!TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform +!TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAM;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMFRA;Tone response curve (TRC) +!TP_LOCALLAB_GAMM;Gamma +!TP_LOCALLAB_GAMMASKCOL;Gamma +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMSH;Gamma +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADANG;Gradient angle +!TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. +!TP_LOCALLAB_GRADFRA;Graduated Filter Mask +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance +!TP_LOCALLAB_GRADSTR;Gradient strength +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRADSTRLUM;Luma gradient strength +!TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDTWO;Direct +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER;Guided filter radius +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. +!TP_LOCALLAB_INVERS;Inverse +!TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_ISOGR;Distribution (ISO) +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLIGHT;Brightness +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSAT;Saturation +!TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABBLURM;Blur Mask +!TP_LOCALLAB_LABEL;Local Adjustments +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV;Wavelet levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTNESS;Lightness +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LIGHTRETI;Lightness +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_NAME;Add tool to current spot... +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRAST;Local Contrast & Wavelets +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOG;Log Encoding +!TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments +!TP_LOCALLAB_LOG2FRA;Viewing Conditions +!TP_LOCALLAB_LOGAUTO;Automatic +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGEXP;All tools +!TP_LOCALLAB_LOGFRA;Scene Conditions +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGLIGHTL;Lightness (J) +!TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART;Overall strength +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LOG_TOOLNAME;Log Encoding +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMADARKEST;Darkest +!TP_LOCALLAB_LUMAWHITESEST;Lightest +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASK;Curves +!TP_LOCALLAB_MASK2;Contrast curve +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDDECAY;Decay strength +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKRECOTHRES;Recovery threshold +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MODE_EXPERT;Advanced +!TP_LOCALLAB_MODE_NORMAL;Standard +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MRONE;None +!TP_LOCALLAB_MRTHR;Original Image +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NEIGH;Radius +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLDET;Detail recovery +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NLLUM;Strength +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NOISEMETH;Denoise +!TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. +!TP_LOCALLAB_NONENOISE;None +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_OFFS;Offset +!TP_LOCALLAB_OFFSETWAV;Offset +!TP_LOCALLAB_OPACOL;Opacity +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PASTELS2;Vibrance +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_PREVHIDE;Hide additional settings +!TP_LOCALLAB_PREVIEW;Preview ΔE +!TP_LOCALLAB_PREVSHOW;Show additional settings +!TP_LOCALLAB_PROXI;ΔE decay +!TP_LOCALLAB_QUAAGRES;Aggressive +!TP_LOCALLAB_QUACONSER;Conservative +!TP_LOCALLAB_QUALCURV_METHOD;Curve type +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS;Radius +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECT;Rectangle +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name +!TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESID;Residual Image +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RESIDHI;Highlights +!TP_LOCALLAB_RESIDHITHR;Highlights threshold +!TP_LOCALLAB_RESIDSHA;Shadows +!TP_LOCALLAB_RESIDSHATHR;Shadows threshold +!TP_LOCALLAB_RETI;Dehaze & Retinex +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex +!TP_LOCALLAB_REWEI;Reweighting iterates +!TP_LOCALLAB_RGB;RGB Tone Curve +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_ROW_NVIS;Not visible +!TP_LOCALLAB_ROW_VIS;Visible +!TP_LOCALLAB_SATUR;Saturation +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSI;Scope +!TP_LOCALLAB_SENSIEXCLU;Scope +!TP_LOCALLAB_SETTINGS;Settings +!TP_LOCALLAB_SH1;Shadows Highlights +!TP_LOCALLAB_SH2;Equalizer +!TP_LOCALLAB_SHADEX;Shadows +!TP_LOCALLAB_SHADEXCOMP;Shadow compression +!TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHAMASKCOL;Shadows +!TP_LOCALLAB_SHAPETYPE;RT-spot shape +!TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +!TP_LOCALLAB_SHARAMOUNT;Amount +!TP_LOCALLAB_SHARBLUR;Blur radius +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHARITER;Iterations +!TP_LOCALLAB_SHARP;Sharpening +!TP_LOCALLAB_SHARP_TOOLNAME;Sharpening +!TP_LOCALLAB_SHARRADIUS;Radius +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASK;Show mask +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise +!TP_LOCALLAB_SHOWMASKTYP2;Denoise +!TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWREF;Preview ΔE +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMAWAV;Attenuation response +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTM;Soft Light +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SOURCE_ABS;Absolute luminance +!TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_SPOTNAME;New Spot +!TP_LOCALLAB_STD;Standard +!TP_LOCALLAB_STR;Strength +!TP_LOCALLAB_STRBL;Strength +!TP_LOCALLAB_STREN;Compression strength +!TP_LOCALLAB_STRENG;Strength +!TP_LOCALLAB_STRENGR;Strength +!TP_LOCALLAB_STRENGTH;Noise +!TP_LOCALLAB_STRGRID;Strength +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_TARGET_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM;Tone Mapping +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSIT;Transition Gradient +!TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY +!TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. +!TP_LOCALLAB_TRANSITVALUE;Transition value +!TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAV;Local contrast +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVDEN;Luminance denoise +!TP_LOCALLAB_WAVE;Wavelets +!TP_LOCALLAB_WAVEDG;Local contrast +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK;Local contrast +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. !TP_METADATA_EDIT;Apply modifications !TP_METADATA_MODE;Metadata copy mode !TP_METADATA_STRIP;Strip all metadata !TP_METADATA_TUNNEL;Copy unchanged !TP_NEUTRAL;Reset -!TP_NEUTRAL_TIP;Resets exposure sliders to neutral values.\nApplies to the same controls that Auto Levels applies to, regardless of whether you used Auto Levels or not. +!TP_NEUTRAL_TOOLTIP;Resets exposure sliders to neutral values.\nApplies to the same controls that Auto Levels applies to, regardless of whether you used Auto Levels or not. !TP_PCVIGNETTE_FEATHER;Feather !TP_PCVIGNETTE_LABEL;Vignette Filter !TP_PCVIGNETTE_ROUNDNESS;Roundness @@ -1823,8 +3459,29 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_PCVIGNETTE_STRENGTH;Strength !TP_PCVIGNETTE_STRENGTH_TOOLTIP;Filter strength in stops (reached in corners). !TP_PDSHARPENING_LABEL;Capture Sharpening +!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor +!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length +!TP_PERSPECTIVE_CAMERA_FRAME;Correction +!TP_PERSPECTIVE_CAMERA_PITCH;Vertical +!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_CAMERA_YAW;Horizontal +!TP_PERSPECTIVE_CONTROL_LINES;Control lines +!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +!TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. !TP_PERSPECTIVE_HORIZONTAL;Horizontal !TP_PERSPECTIVE_LABEL;Perspective +!TP_PERSPECTIVE_METHOD;Method +!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based +!TP_PERSPECTIVE_METHOD_SIMPLE;Simple +!TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment +!TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +!TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +!TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +!TP_PERSPECTIVE_RECOVERY_FRAME;Recovery !TP_PERSPECTIVE_VERTICAL;Vertical !TP_PFCURVE_CURVEEDITOR_CH;Hue !TP_PREPROCESS_DEADPIXFILT;Dead pixel filter @@ -1841,11 +3498,15 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_PREPROCESS_LINEDENOISE_DIRECTION_VERTICAL;Vertical !TP_PREPROCESS_NO_FOUND;None found !TP_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!TP_PREPROCWB_LABEL;Preprocess White Balance +!TP_PREPROCWB_MODE;Mode +!TP_PREPROCWB_MODE_AUTO;Auto +!TP_PREPROCWB_MODE_CAMERA;Camera !TP_PRSHARPENING_LABEL;Post-Resize Sharpening -!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the "Lanczos" resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. +!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the 'Lanczos' resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. !TP_RAWCACORR_AUTO;Auto-correction !TP_RAWCACORR_AUTOIT;Iterations -!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if "Auto-correction" is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. +!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if 'Auto-correction' is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. !TP_RAWCACORR_CABLUE;Blue !TP_RAWCACORR_CARED;Red !TP_RAWCACORR_LABEL;Chromatic Aberration Correction @@ -1865,9 +3526,11 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_RAW_4PASS;3-pass+fast !TP_RAW_AHD;AHD !TP_RAW_AMAZE;AMaZE +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear !TP_RAW_AMAZEVNG4;AMaZE+VNG4 !TP_RAW_BORDER;Border !TP_RAW_DCB;DCB +!TP_RAW_DCBBILINEAR;DCB+Bilinear !TP_RAW_DCBENHANCE;DCB enhancement !TP_RAW_DCBITERATIONS;Number of DCB iterations !TP_RAW_DCBVNG4;DCB+VNG4 @@ -1894,6 +3557,8 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_RAW_MONO;Mono !TP_RAW_NONE;None (Shows sensor pattern) !TP_RAW_PIXELSHIFT;Pixel Shift +!TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTBLUR;Blur motion mask !TP_RAW_PIXELSHIFTDMETHOD;Demosaic method for motion !TP_RAW_PIXELSHIFTEPERISO;Sensitivity @@ -1903,7 +3568,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL_TOOLTIP;Enabled: Equalize the RGB channels individually.\nDisabled: Use same equalization factor for all channels. !TP_RAW_PIXELSHIFTGREEN;Check green channel for motion !TP_RAW_PIXELSHIFTHOLEFILL;Fill holes in motion mask -!TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask +!TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask. !TP_RAW_PIXELSHIFTMEDIAN;Use median for moving parts !TP_RAW_PIXELSHIFTMEDIAN_TOOLTIP;Use median of all frames instead of selected frame for regions with motion.\nRemoves objects which are at different places in all frames.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTMM_AUTO;Automatic @@ -1918,11 +3583,12 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_RAW_PIXELSHIFTSIGMA;Blur radius !TP_RAW_PIXELSHIFTSIGMA_TOOLTIP;The default radius of 1.0 usually fits well for base ISO.\nIncrease the value for high ISO shots, 5.0 is a good starting point.\nWatch the motion mask while changing the value. !TP_RAW_PIXELSHIFTSMOOTH;Smooth transitions -!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether "Use LMMSE" is selected), or the median of all four frames if "Use median" is selected. +!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether 'Use LMMSE' is selected), or the median of all four frames if 'Use median' is selected. !TP_RAW_RCD;RCD +!TP_RAW_RCDBILINEAR;RCD+Bilinear !TP_RAW_RCDVNG4;RCD+VNG4 !TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix -!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas +!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas. !TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix !TP_RAW_VNG4;VNG4 !TP_RAW_XTRANS;X-Trans @@ -1936,9 +3602,13 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_RESIZE_HEIGHT;Height !TP_RESIZE_LABEL;Resize !TP_RESIZE_LANCZOS;Lanczos +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge !TP_RESIZE_METHOD;Method: !TP_RESIZE_NEAREST;Nearest !TP_RESIZE_SCALE;Scale +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge !TP_RESIZE_SPECIFY;Specify: !TP_RESIZE_W;Width: !TP_RESIZE_WIDTH;Width @@ -1949,7 +3619,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_RETINEX_CURVEEDITOR_CD;L=f(L) !TP_RETINEX_CURVEEDITOR_CD_TOOLTIP;Luminance according to luminance L=f(L)\nCorrect raw data to reduce halos and artifacts. !TP_RETINEX_CURVEEDITOR_LH;Strength=f(H) -!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the "Highlight" retinex method. +!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the 'Highlight' retinex method. !TP_RETINEX_CURVEEDITOR_MAP;L=f(L) !TP_RETINEX_CURVEEDITOR_MAP_TOOLTIP;This curve can be applied alone or with a Gaussian mask or wavelet mask.\nBeware of artifacts! !TP_RETINEX_EQUAL;Equalizer @@ -1957,7 +3627,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_RETINEX_GAIN;Gain !TP_RETINEX_GAINOFFS;Gain and Offset (brightness) !TP_RETINEX_GAINTRANSMISSION;Gain transmission -!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplify or reduce the transmission map to achieve the desired luminance.\nThe x-axis is the transmission.\nThe y-axis is the gain. +!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Increase or reduce the transmission map to achieve the desired luminance. The x-axis is the transmission. The y-axis is the gain. !TP_RETINEX_GAMMA;Gamma !TP_RETINEX_GAMMA_FREE;Free !TP_RETINEX_GAMMA_HIGH;High @@ -1972,7 +3642,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_RETINEX_HIGH;High !TP_RETINEX_HIGHLIG;Highlight !TP_RETINEX_HIGHLIGHT;Highlight threshold -!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust "Neighboring pixels" and to increase the "White-point correction" in the Raw tab -> Raw White Points tool. +!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust 'Neighboring pixels' and to increase the 'White-point correction' in the Raw tab -> Raw White Points tool. !TP_RETINEX_HSLSPACE_LIN;HSL-Linear !TP_RETINEX_HSLSPACE_LOG;HSL-Logarithmic !TP_RETINEX_ITER;Iterations (Tone-mapping) @@ -1991,11 +3661,11 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_RETINEX_MEDIAN;Transmission median filter !TP_RETINEX_METHOD;Method !TP_RETINEX_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Equalize action.\nHigh = Reinforce high light.\nHighlights = Remove magenta in highlights. -!TP_RETINEX_MLABEL;Restored haze-free Min=%1 Max=%2 -!TP_RETINEX_MLABEL_TOOLTIP;Should be near min=0 max=32768\nRestored image with no mixture. +!TP_RETINEX_MLABEL;Restored data Min=%1 Max=%2 +!TP_RETINEX_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. !TP_RETINEX_NEIGHBOR;Radius !TP_RETINEX_NEUTRAL;Reset -!TP_RETINEX_NEUTRAL_TIP;Reset all sliders and curves to their default values. +!TP_RETINEX_NEUTRAL_TOOLTIP;Reset all sliders and curves to their default values. !TP_RETINEX_OFFSET;Offset (brightness) !TP_RETINEX_SCALES;Gaussian gradient !TP_RETINEX_SCALES_TOOLTIP;If slider at 0, all iterations are identical.\nIf > 0 Scale and radius are reduced when iterations increase, and conversely. @@ -2005,9 +3675,9 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_RETINEX_STRENGTH;Strength !TP_RETINEX_THRESHOLD;Threshold !TP_RETINEX_THRESHOLD_TOOLTIP;Limits in/out.\nIn = image source,\nOut = image gauss. -!TP_RETINEX_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sigma=%4 -!TP_RETINEX_TLABEL2;TM Tm=%1 TM=%2 -!TP_RETINEX_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nMean and Sigma.\nTm=Min TM=Max of transmission map. +!TP_RETINEX_TLABEL;TM Datas Min=%1 Max=%2 Mean=%3 Sigma=%4 +!TP_RETINEX_TLABEL2;TM Effective Tm=%1 TM=%2 +!TP_RETINEX_TLABEL_TOOLTIP;ransmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. !TP_RETINEX_TRANF;Transmission !TP_RETINEX_TRANSMISSION;Transmission map !TP_RETINEX_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positives values (max).\nOrdinate: amplification or reduction. @@ -2016,7 +3686,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_RETINEX_VARIANCE_TOOLTIP;Low variance increase local contrast and saturation, but can lead to artifacts. !TP_RETINEX_VIEW;Process !TP_RETINEX_VIEW_MASK;Mask -!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. +!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. !TP_RETINEX_VIEW_NONE;Standard !TP_RETINEX_VIEW_TRAN;Transmission - Auto !TP_RETINEX_VIEW_TRAN2;Transmission - Fixed @@ -2030,7 +3700,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_ROTATE_DEGREE;Degree !TP_ROTATE_LABEL;Rotate !TP_ROTATE_SELECTLINE;Select Straight Line -!TP_SAVEDIALOG_OK_TIP;Shortcut: Ctrl-Enter +!TP_SAVEDIALOG_OK_TOOLTIP;Shortcut: Ctrl-Enter !TP_SHADOWSHLIGHTS_HIGHLIGHTS;Highlights !TP_SHADOWSHLIGHTS_HLTONALW;Highlights tonal width !TP_SHADOWSHLIGHTS_LABEL;Shadows/Highlights @@ -2067,6 +3737,10 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_SHARPENMICRO_UNIFORMITY;Uniformity !TP_SOFTLIGHT_LABEL;Soft Light !TP_SOFTLIGHT_STRENGTH;Strength +!TP_SPOT_COUNTLABEL;%1 point(s) +!TP_SPOT_DEFAULT_SIZE;Default spot size +!TP_SPOT_ENTRYCHANGED;Point changed +!TP_SPOT_LABEL;Spot Removal !TP_TM_FATTAL_AMOUNT;Amount !TP_TM_FATTAL_ANCHOR;Anchor !TP_TM_FATTAL_LABEL;Dynamic Range Compression @@ -2077,9 +3751,9 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE2;Red !TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE3;Red/Yellow !TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE4;Yellow -!TP_VIBRANCE_CURVEEDITOR_SKINTONES_TOOLTIP;Hue according to hue H=f(H) +!TP_VIBRANCE_CURVEEDITOR_SKINTONES_TOOLTIP;Hue according to hue H=f(H). !TP_VIBRANCE_LABEL;Vibrance -!TP_VIBRANCE_PASTELS;Pastel Tones +!TP_VIBRANCE_PASTELS;Pastel tones !TP_VIBRANCE_PASTSATTOG;Link pastel and saturated tones !TP_VIBRANCE_PROTECTSKINS;Protect skin-tones !TP_VIBRANCE_PSTHRESHOLD;Pastel/saturated tones threshold @@ -2100,9 +3774,9 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_WAVELET_7;Level 7 !TP_WAVELET_8;Level 8 !TP_WAVELET_9;Level 9 -!TP_WAVELET_APPLYTO;Apply To +!TP_WAVELET_APPLYTO;Apply to !TP_WAVELET_B0;Black -!TP_WAVELET_B1;Grey +!TP_WAVELET_B1;Gray !TP_WAVELET_B2;Residual !TP_WAVELET_BACKGROUND;Background !TP_WAVELET_BACUR;Curve @@ -2110,9 +3784,15 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_WAVELET_BALANCE_TOOLTIP;Alters the balance between the wavelet directions: vertical-horizontal and diagonal.\nIf contrast, chroma or residual tone mapping are activated, the effect due to balance is amplified. !TP_WAVELET_BALCHRO;Chroma balance !TP_WAVELET_BALCHRO_TOOLTIP;If enabled, the 'Contrast balance' curve or slider also modifies chroma balance. +!TP_WAVELET_BALLUM;Denoise equalizer White-Black !TP_WAVELET_BANONE;None !TP_WAVELET_BASLI;Slider !TP_WAVELET_BATYPE;Contrast balance method +!TP_WAVELET_BL;Blur levels +!TP_WAVELET_BLCURVE;Blur by levels +!TP_WAVELET_BLURFRAME;Blur +!TP_WAVELET_BLUWAV;Attenuation response +!TP_WAVELET_CB_TOOLTIP;With high values you can create special effects, similar to those achieved with the Chroma Module, but focused on the residual image\nWith moderate values you can manually correct the white balance. !TP_WAVELET_CCURVE;Local contrast !TP_WAVELET_CH1;Whole chroma range !TP_WAVELET_CH2;Saturated/pastel @@ -2120,28 +3800,41 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_WAVELET_CHCU;Curve !TP_WAVELET_CHR;Chroma-contrast link strength !TP_WAVELET_CHRO;Saturated/pastel threshold -!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of "contrast levels" and "chroma-contrast link strength" +!TP_WAVELET_CHROFRAME;Denoise chrominance +!TP_WAVELET_CHROMAFRAME;Chroma +!TP_WAVELET_CHROMCO;Chrominance Coarse +!TP_WAVELET_CHROMFI;Chrominance Fine +!TP_WAVELET_CHRWAV;Blur chroma +!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of 'contrast levels' and 'chroma-contrast link strength'. !TP_WAVELET_CHSL;Sliders !TP_WAVELET_CHTYPE;Chrominance method -!TP_WAVELET_COLORT;Opacity Red-Green +!TP_WAVELET_CLA;Clarity +!TP_WAVELET_CLARI;Sharp-mask and Clarity +!TP_WAVELET_COLORT;Opacity red-green !TP_WAVELET_COMPCONT;Contrast +!TP_WAVELET_COMPEXPERT;Advanced !TP_WAVELET_COMPGAMMA;Compression gamma !TP_WAVELET_COMPGAMMA_TOOLTIP;Adjusting the gamma of the residual image allows you to equilibrate the data and histogram. +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. +!TP_WAVELET_COMPNORMAL;Standard !TP_WAVELET_COMPTM;Tone mapping !TP_WAVELET_CONTEDIT;'After' contrast curve +!TP_WAVELET_CONTFRAME;Contrast - Compression !TP_WAVELET_CONTR;Gamut !TP_WAVELET_CONTRA;Contrast !TP_WAVELET_CONTRAST_MINUS;Contrast - !TP_WAVELET_CONTRAST_PLUS;Contrast + -!TP_WAVELET_CONTRA_TOOLTIP;Changes contrast of the residual image. +!TP_WAVELET_CONTRA_TOOLTIP;Changes the residual image contrast. !TP_WAVELET_CTYPE;Chrominance control +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. !TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;Modifies local contrast as a function of the original local contrast (abscissa).\nLow abscissa values represent small local contrast (real values about 10..20).\n50% abscissa represents average local contrast (real value about 100..300).\n66% abscissa represents standard deviation of local contrast (real value about 300..800).\n100% abscissa represents maximum local contrast (real value about 3000..8000). !TP_WAVELET_CURVEEDITOR_CH;Contrast levels=f(Hue) !TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Modifies each level's contrast as a function of hue.\nTake care not to overwrite changes made with the Gamut sub-tool's hue controls.\nThe curve will only have an effect when wavelet contrast level sliders are non-zero. !TP_WAVELET_CURVEEDITOR_CL;L -!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast luminance curve at the end of the wavelet treatment. +!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast-luminance curve at the end of the wavelet processing. !TP_WAVELET_CURVEEDITOR_HH;HH -!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image's hue as a function of hue. +!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image hue as a function of hue. !TP_WAVELET_DALL;All directions !TP_WAVELET_DAUB;Edge performance !TP_WAVELET_DAUB2;D2 - low @@ -2149,61 +3842,99 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_WAVELET_DAUB6;D6 - standard plus !TP_WAVELET_DAUB10;D10 - medium !TP_WAVELET_DAUB14;D14 - high -!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the firsts levels. However the quality is not strictly related to this coefficient and can vary with images and uses. +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the first levels. However the quality is not strictly related to this coefficient and can vary depending on image and use. +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENOISEHUE;Denoise hue equalizer +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_DIRFRAME;Directional contrast !TP_WAVELET_DONE;Vertical !TP_WAVELET_DTHR;Diagonal !TP_WAVELET_DTWO;Horizontal !TP_WAVELET_EDCU;Curve +!TP_WAVELET_EDEFFECT;Attenuation response +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. !TP_WAVELET_EDGCONT;Local contrast -!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+stdev and maxima. -!TP_WAVELET_EDGE;Edge Sharpness +!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+std. dev. and maxima. +!TP_WAVELET_EDGE;Edge sharpness !TP_WAVELET_EDGEAMPLI;Base amplification !TP_WAVELET_EDGEDETECT;Gradient sensitivity !TP_WAVELET_EDGEDETECTTHR;Threshold low (noise) -!TP_WAVELET_EDGEDETECTTHR2;Threshold high (detection) -!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This adjuster lets you target edge detection for example to avoid applying edge sharpness to fine details, such as noise in the sky. +!TP_WAVELET_EDGEDETECTTHR2;Edge enhancement +!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This slider sets a threshold below which finer details won't be considered as an edge. !TP_WAVELET_EDGEDETECT_TOOLTIP;Moving the slider to the right increases edge sensitivity. This affects local contrast, edge settings and noise. !TP_WAVELET_EDGESENSI;Edge sensitivity !TP_WAVELET_EDGREINF_TOOLTIP;Reinforce or reduce the action of the first level, do the opposite to the second level, and leave the rest unchanged. !TP_WAVELET_EDGTHRESH;Detail !TP_WAVELET_EDRAD;Radius -!TP_WAVELET_EDRAD_TOOLTIP;This radius adjustment is very different from those in other sharpening tools. Its value is compared to each level through a complex function. In this sense, a value of zero still has an effect. -!TP_WAVELET_EDSL;Threshold Sliders +!TP_WAVELET_EDRAD_TOOLTIP;This adjustment controls the local enhancement. A value of zero still has an effect. +!TP_WAVELET_EDSL;Threshold sliders !TP_WAVELET_EDTYPE;Local contrast method !TP_WAVELET_EDVAL;Strength !TP_WAVELET_FINAL;Final Touchup +!TP_WAVELET_FINCFRAME;Final local contrast !TP_WAVELET_FINEST;Finest -!TP_WAVELET_HIGHLIGHT;Highlight luminance range +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) +!TP_WAVELET_HIGHLIGHT;Finer levels luminance range !TP_WAVELET_HS1;Whole luminance range -!TP_WAVELET_HS2;Shadows/Highlights +!TP_WAVELET_HS2;Selective luminance range !TP_WAVELET_HUESKIN;Skin hue !TP_WAVELET_HUESKIN_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. -!TP_WAVELET_HUESKY;Sky hue +!TP_WAVELET_HUESKY;Hue range !TP_WAVELET_HUESKY_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. !TP_WAVELET_ITER;Delta balance levels !TP_WAVELET_ITER_TOOLTIP;Left: increase low levels and reduce high levels,\nRight: reduce low levels and increase high levels. -!TP_WAVELET_LABEL;Wavelet Levels +!TP_WAVELET_LABEL;Wavelet levels +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 !TP_WAVELET_LARGEST;Coarsest !TP_WAVELET_LEVCH;Chroma -!TP_WAVELET_LEVDIR_ALL;All levels in all directions -!TP_WAVELET_LEVDIR_INF;Below or equal the level +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVDIR_ALL;All levels, in all directions +!TP_WAVELET_LEVDIR_INF;Finer detail levels, including selected level !TP_WAVELET_LEVDIR_ONE;One level -!TP_WAVELET_LEVDIR_SUP;Above the level +!TP_WAVELET_LEVDIR_SUP;Coarser detail levels, excluding selected level +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 !TP_WAVELET_LEVELS;Wavelet levels -!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of detail levels the image is to be decomposed into. More levels require more RAM and require a longer processing time. +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of wavelet decomposition levels for the image.\nMore levels require more RAM and require a longer processing time. !TP_WAVELET_LEVF;Contrast +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold !TP_WAVELET_LEVLABEL;Preview maximum possible levels = %1 !TP_WAVELET_LEVONE;Level 2 !TP_WAVELET_LEVTHRE;Level 4 !TP_WAVELET_LEVTWO;Level 3 !TP_WAVELET_LEVZERO;Level 1 -!TP_WAVELET_LINKEDG;Link with Edge Sharpness' Strength +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_LINKEDG;Link to Edge Sharpness Strength !TP_WAVELET_LIPST;Enhanced algoritm -!TP_WAVELET_LOWLIGHT;Shadow luminance range +!TP_WAVELET_LOWLIGHT;Coarser levels luminance range +!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. !TP_WAVELET_MEDGREINF;First level !TP_WAVELET_MEDI;Reduce artifacts in blue sky !TP_WAVELET_MEDILEV;Edge detection !TP_WAVELET_MEDILEV_TOOLTIP;When you enable Edge Detection, it is recommanded:\n- to disabled low contrast levels to avoid artifacts,\n- to use high values of gradient sensitivity.\n\nYou can modulate the strength with 'refine' from Denoise and Refine. +!TP_WAVELET_MERGEC;Merge chroma +!TP_WAVELET_MERGEL;Merge luma +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise !TP_WAVELET_NEUTRAL;Neutral !TP_WAVELET_NOIS;Denoise !TP_WAVELET_NOISE;Denoise and Refine @@ -2212,44 +3943,74 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_WAVELET_NPNONE;None !TP_WAVELET_NPTYPE;Neighboring pixels !TP_WAVELET_NPTYPE_TOOLTIP;This algorithm uses the proximity of a pixel and eight of its neighbors. If less difference, edges are reinforced. -!TP_WAVELET_OPACITY;Opacity Blue-Yellow +!TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. +!TP_WAVELET_OLDSH;Algorithm using negatives values +!TP_WAVELET_OPACITY;Opacity blue-yellow !TP_WAVELET_OPACITYW;Contrast balance d/v-h curve -!TP_WAVELET_OPACITYWL;Final local contrast +!TP_WAVELET_OPACITYWL;Local contrast !TP_WAVELET_OPACITYWL_TOOLTIP;Modify the final local contrast at the end of the wavelet treatment.\n\nThe left side represents the smallest local contrast, progressing to the largest local contrast on the right. !TP_WAVELET_PASTEL;Pastel chroma !TP_WAVELET_PROC;Process +!TP_WAVELET_PROTAB;Protection +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_RADIUS;Radius shadows - highlight +!TP_WAVELET_RANGEAB;Range a and b % !TP_WAVELET_RE1;Reinforced !TP_WAVELET_RE2;Unchanged !TP_WAVELET_RE3;Reduced -!TP_WAVELET_RESCHRO;Chroma +!TP_WAVELET_RESBLUR;Blur luminance +!TP_WAVELET_RESBLURC;Blur chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. +!TP_WAVELET_RESCHRO;Strength !TP_WAVELET_RESCON;Shadows !TP_WAVELET_RESCONH;Highlights !TP_WAVELET_RESID;Residual Image !TP_WAVELET_SAT;Saturated chroma !TP_WAVELET_SETTINGS;Wavelet Settings +!TP_WAVELET_SHA;Sharp mask +!TP_WAVELET_SHFRAME;Shadows/Highlights +!TP_WAVELET_SHOWMASK;Show wavelet 'mask' +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_SIGMA;Attenuation response +!TP_WAVELET_SIGMAFIN;Attenuation response +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. !TP_WAVELET_SKIN;Skin targetting/protection !TP_WAVELET_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. -!TP_WAVELET_SKY;Sky targetting/protection -!TP_WAVELET_SKY_TOOLTIP;At -100 sky-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 sky-tones are protected while all other tones are affected. -!TP_WAVELET_STREN;Strength +!TP_WAVELET_SKY;Hue targetting/protection +!TP_WAVELET_SKY_TOOLTIP;Allows you to target or protect a range of hues.\nAt -100 selected hues are targetted.\nAt 0 all hues are treated equally.\nAt +100 selected hues are protected while all other hues are targetted. +!TP_WAVELET_SOFTRAD;Soft radius +!TP_WAVELET_STREN;Refine +!TP_WAVELET_STREND;Strength !TP_WAVELET_STRENGTH;Strength !TP_WAVELET_SUPE;Extra !TP_WAVELET_THR;Shadows threshold -!TP_WAVELET_THRESHOLD;Highlight levels -!TP_WAVELET_THRESHOLD2;Shadow levels -!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels between 9 and 9 minus the value will be affected by the shadow luminance range. Other levels will be fully treated. The highest level possible is limited by the highlight level value (9 minus highlight level value). -!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels beyond the chosen value will be affected by the highlight luminance range. Other levels will be fully treated. The chosen value here limits the highest possible value of the shadow levels. +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_THRESHOLD;Finer levels +!TP_WAVELET_THRESHOLD2;Coarser levels +!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels from the chosen value to the selected number of 'wavelet levels' will be affected by the Shadow luminance range. +!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels below and including the chosen value will be affected by the Highlight luminance range. !TP_WAVELET_THRH;Highlights threshold -!TP_WAVELET_TILESBIG;Big tiles +!TP_WAVELET_TILESBIG;Tiles !TP_WAVELET_TILESFULL;Full image !TP_WAVELET_TILESIZE;Tiling method -!TP_WAVELET_TILESLIT;Little tiles !TP_WAVELET_TILES_TOOLTIP;Processing the full image leads to better quality and is the recommended option, while using tiles is a fall-back solution for users with little RAM. Refer to RawPedia for memory requirements. +!TP_WAVELET_TMEDGS;Edge stopping +!TP_WAVELET_TMSCALE;Scale !TP_WAVELET_TMSTRENGTH;Compression strength -!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out. +!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. !TP_WAVELET_TMTYPE;Compression method !TP_WAVELET_TON;Toning +!TP_WAVELET_USH;None +!TP_WAVELET_USHARP;Clarity method +!TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. +!TP_WAVELET_WAVLOWTHR;Low contrast threshold +!TP_WAVELET_WAVOFFSET;Offset !TP_WBALANCE_AUTO;Auto +!TP_WBALANCE_AUTOITCGREEN;Temperature correlation +!TP_WBALANCE_AUTOOLD;RGB grey +!TP_WBALANCE_AUTO_HEADER;Automatic !TP_WBALANCE_CAMERA;Camera !TP_WBALANCE_CLOUDY;Cloudy !TP_WBALANCE_CUSTOM;Custom @@ -2290,8 +4051,10 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !TP_WBALANCE_SOLUX47;Solux 4700K (vendor) !TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery) !TP_WBALANCE_SPOTWB;Use the pipette to pick the white balance from a neutral patch in the preview. +!TP_WBALANCE_STUDLABEL;Correlation factor: %1 +!TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. !TP_WBALANCE_TEMPBIAS;AWB temperature bias -!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias". +!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the 'auto white balance'\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by 'computedTemp + computedTemp * bias'. !TP_WBALANCE_TEMPERATURE;Temperature !TP_WBALANCE_TUNGSTEN;Tungsten !TP_WBALANCE_WATER1;UnderWater 1 diff --git a/rtdata/languages/English (US) b/rtdata/languages/English (US) index 1bd319e6f..40ad9c57b 100644 --- a/rtdata/languages/English (US) +++ b/rtdata/languages/English (US) @@ -23,7 +23,7 @@ !CURVEEDITOR_HIGHLIGHTS;Highlights !CURVEEDITOR_LIGHTS;Lights !CURVEEDITOR_LINEAR;Linear -!CURVEEDITOR_LOADDLGLABEL;Load curve... +!CURVEEDITOR_LOADDLGLABEL;Load curve !CURVEEDITOR_MINMAXCPOINTS;Equalizer !CURVEEDITOR_NURBS;Control cage !CURVEEDITOR_PARAMETRIC;Parametric @@ -40,7 +40,7 @@ !DYNPROFILEEDITOR_DELETE;Delete !DYNPROFILEEDITOR_EDIT;Edit !DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule -!DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the "re:" prefix to enter\na regular expression. +!DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the 're:' prefix to enter\na regular expression. !DYNPROFILEEDITOR_IMGTYPE_ANY;Any !DYNPROFILEEDITOR_IMGTYPE_HDR;HDR !DYNPROFILEEDITOR_IMGTYPE_PS;Pixel Shift @@ -101,10 +101,10 @@ !EXPORT_MAXHEIGHT;Maximum height: !EXPORT_MAXWIDTH;Maximum width: !EXPORT_PIPELINE;Processing pipeline -!EXPORT_PUTTOQUEUEFAST; Put to queue for fast export +!EXPORT_PUTTOQUEUEFAST;Put to queue for fast export !EXPORT_RAW_DMETHOD;Demosaic method !EXPORT_USE_FAST_PIPELINE;Dedicated (full processing on resized image) -!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_FAST_PIPELINE_TOOLTIP;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) !EXTPROGTARGET_1;raw !EXTPROGTARGET_2;queue-processed @@ -112,7 +112,7 @@ !FILEBROWSER_APPLYPROFILE_PARTIAL;Apply - partial !FILEBROWSER_AUTODARKFRAME;Auto dark-frame !FILEBROWSER_AUTOFLATFIELD;Auto flat-field -!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. +!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply 'find' keywords. !FILEBROWSER_BROWSEPATHHINT;Type a path to navigate to.\n\nKeyboard shortcuts:\nCtrl-o to focus to the path text box.\nEnter / Ctrl-Enter to browse there;\nEsc to clear changes.\nShift-Esc to remove focus.\n\nPath shortcuts:\n~ - user's home directory.\n! - user's pictures directory !FILEBROWSER_CACHE;Cache !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles @@ -146,6 +146,7 @@ !FILEBROWSER_POPUPCOLORLABEL5;Label: Purple !FILEBROWSER_POPUPCOPYTO;Copy to... !FILEBROWSER_POPUPFILEOPERATIONS;File operations +!FILEBROWSER_POPUPINSPECT;Inspect !FILEBROWSER_POPUPMOVEEND;Move to end of queue !FILEBROWSER_POPUPMOVEHEAD;Move to head of queue !FILEBROWSER_POPUPMOVETO;Move to... @@ -221,8 +222,10 @@ !GENERAL_CANCEL;Cancel !GENERAL_CLOSE;Close !GENERAL_CURRENT;Current +!GENERAL_DELETE_ALL;Delete all !GENERAL_DISABLE;Disable !GENERAL_DISABLED;Disabled +!GENERAL_EDIT;Edit !GENERAL_ENABLE;Enable !GENERAL_ENABLED;Enabled !GENERAL_FILE;File @@ -244,17 +247,24 @@ !HISTOGRAM_TOOLTIP_B;Show/Hide blue histogram. !HISTOGRAM_TOOLTIP_BAR;Show/Hide RGB indicator bar. !HISTOGRAM_TOOLTIP_CHRO;Show/Hide chromaticity histogram. +!HISTOGRAM_TOOLTIP_CROSSHAIR;Show/Hide indicator crosshair. !HISTOGRAM_TOOLTIP_G;Show/Hide green histogram. !HISTOGRAM_TOOLTIP_L;Show/Hide CIELab luminance histogram. !HISTOGRAM_TOOLTIP_MODE;Toggle between linear, log-linear and log-log scaling of the histogram. !HISTOGRAM_TOOLTIP_R;Show/Hide red histogram. -!HISTOGRAM_TOOLTIP_RAW;Show/Hide raw histogram. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform !HISTORY_CHANGED;Changed !HISTORY_CUSTOMCURVE;Custom curve !HISTORY_FROMCLIPBOARD;From clipboard !HISTORY_LABEL;History !HISTORY_MSG_1;Photo loaded -!HISTORY_MSG_2;PP3 loaded !HISTORY_MSG_3;PP3 changed !HISTORY_MSG_4;History browsing !HISTORY_MSG_5;Exposure - Lightness @@ -268,9 +278,6 @@ !HISTORY_MSG_13;Exposure - Clip !HISTORY_MSG_14;L*a*b* - Lightness !HISTORY_MSG_15;L*a*b* - Contrast -!HISTORY_MSG_16;- -!HISTORY_MSG_17;- -!HISTORY_MSG_18;- !HISTORY_MSG_19;L*a*b* - L* curve !HISTORY_MSG_20;Sharpening !HISTORY_MSG_21;USM - Radius @@ -296,10 +303,6 @@ !HISTORY_MSG_41;Exposure - Tone curve 1 mode !HISTORY_MSG_42;Exposure - Tone curve 2 !HISTORY_MSG_43;Exposure - Tone curve 2 mode -!HISTORY_MSG_44;Lum. denoising radius -!HISTORY_MSG_45;Lum. denoising edge tolerance -!HISTORY_MSG_46;Color denoising -!HISTORY_MSG_47;Blend ICC highlights with matrix !HISTORY_MSG_48;DCP - Tone curve !HISTORY_MSG_49;DCP illuminant !HISTORY_MSG_50;Shadows/Highlights @@ -307,7 +310,6 @@ !HISTORY_MSG_52;S/H - Shadows !HISTORY_MSG_53;S/H - Highlights tonal width !HISTORY_MSG_54;S/H - Shadows tonal width -!HISTORY_MSG_55;S/H - Local contrast !HISTORY_MSG_56;S/H - Radius !HISTORY_MSG_57;Coarse rotation !HISTORY_MSG_58;Horizontal flipping @@ -319,7 +321,6 @@ !HISTORY_MSG_64;Crop !HISTORY_MSG_65;CA correction !HISTORY_MSG_66;Exposure - Highlight reconstruction -!HISTORY_MSG_67;Exposure - HLR amount !HISTORY_MSG_68;Exposure - HLR method !HISTORY_MSG_69;Working color space !HISTORY_MSG_70;Output color space @@ -330,12 +331,10 @@ !HISTORY_MSG_75;Resize - Method !HISTORY_MSG_76;Exif metadata !HISTORY_MSG_77;IPTC metadata -!HISTORY_MSG_78;- !HISTORY_MSG_79;Resize - Width !HISTORY_MSG_80;Resize - Height !HISTORY_MSG_81;Resize !HISTORY_MSG_82;Profile changed -!HISTORY_MSG_83;S/H - Sharp mask !HISTORY_MSG_84;Perspective correction !HISTORY_MSG_85;Lens Correction - LCP file !HISTORY_MSG_86;RGB Curves - Luminosity mode @@ -382,12 +381,6 @@ !HISTORY_MSG_128;Flat-Field - Blur radius !HISTORY_MSG_129;Flat-Field - Blur type !HISTORY_MSG_130;Auto distortion correction -!HISTORY_MSG_131;NR - Luma -!HISTORY_MSG_132;NR - Chroma -!HISTORY_MSG_133;Output gamma -!HISTORY_MSG_134;Free gamma -!HISTORY_MSG_135;Free gamma -!HISTORY_MSG_136;Free gamma slope !HISTORY_MSG_137;Black level - Green 1 !HISTORY_MSG_138;Black level - Red !HISTORY_MSG_139;Black level - Blue @@ -425,39 +418,39 @@ !HISTORY_MSG_171;L*a*b* - LC curve !HISTORY_MSG_172;L*a*b* - Restrict LC !HISTORY_MSG_173;NR - Detail recovery -!HISTORY_MSG_174;CIECAM02 -!HISTORY_MSG_175;CAM02 - CAT02 adaptation -!HISTORY_MSG_176;CAM02 - Viewing surround -!HISTORY_MSG_177;CAM02 - Scene luminosity -!HISTORY_MSG_178;CAM02 - Viewing luminosity -!HISTORY_MSG_179;CAM02 - White-point model -!HISTORY_MSG_180;CAM02 - Lightness (J) -!HISTORY_MSG_181;CAM02 - Chroma (C) -!HISTORY_MSG_182;CAM02 - Automatic CAT02 -!HISTORY_MSG_183;CAM02 - Contrast (J) -!HISTORY_MSG_184;CAM02 - Scene surround -!HISTORY_MSG_185;CAM02 - Gamut control -!HISTORY_MSG_186;CAM02 - Algorithm -!HISTORY_MSG_187;CAM02 - Red/skin prot. -!HISTORY_MSG_188;CAM02 - Brightness (Q) -!HISTORY_MSG_189;CAM02 - Contrast (Q) -!HISTORY_MSG_190;CAM02 - Saturation (S) -!HISTORY_MSG_191;CAM02 - Colorfulness (M) -!HISTORY_MSG_192;CAM02 - Hue (h) -!HISTORY_MSG_193;CAM02 - Tone curve 1 -!HISTORY_MSG_194;CAM02 - Tone curve 2 -!HISTORY_MSG_195;CAM02 - Tone curve 1 -!HISTORY_MSG_196;CAM02 - Tone curve 2 -!HISTORY_MSG_197;CAM02 - Color curve -!HISTORY_MSG_198;CAM02 - Color curve -!HISTORY_MSG_199;CAM02 - Output histograms -!HISTORY_MSG_200;CAM02 - Tone mapping +!HISTORY_MSG_174;Color Appearance & Lighting +!HISTORY_MSG_175;CAL - SC - Adaptation +!HISTORY_MSG_176;CAL - VC - Surround +!HISTORY_MSG_177;CAL - SC - Absolute luminance +!HISTORY_MSG_178;CAL - VC - Absolute luminance +!HISTORY_MSG_179;CAL - SC - WP model +!HISTORY_MSG_180;CAL - IA - Lightness (J) +!HISTORY_MSG_181;CAL - IA - Chroma (C) +!HISTORY_MSG_182;CAL - SC - Auto adaptation +!HISTORY_MSG_183;CAL - IA - Contrast (J) +!HISTORY_MSG_184;CAL - SC - Surround +!HISTORY_MSG_185;CAL - Gamut control +!HISTORY_MSG_186;CAL - IA - Algorithm +!HISTORY_MSG_187;CAL - IA - Red/skin protection +!HISTORY_MSG_188;CAL - IA - Brightness (Q) +!HISTORY_MSG_189;CAL - IA - Contrast (Q) +!HISTORY_MSG_190;CAL - IA - Saturation (S) +!HISTORY_MSG_191;CAL - IA - Colorfulness (M) +!HISTORY_MSG_192;CAL - IA - Hue (h) +!HISTORY_MSG_193;CAL - IA - Tone curve 1 +!HISTORY_MSG_194;CAL - IA - Tone curve 2 +!HISTORY_MSG_195;CAL - IA - Tone curve 1 mode +!HISTORY_MSG_196;CAL - IA - Tone curve 2 mode +!HISTORY_MSG_197;CAL - IA - Color curve +!HISTORY_MSG_198;CAL - IA - Color curve mode +!HISTORY_MSG_199;CAL - IA - Use CAM output for histograms +!HISTORY_MSG_200;CAL - IA - Use CAM for tone mapping !HISTORY_MSG_201;NR - Chrominance - R&G !HISTORY_MSG_202;NR - Chrominance - B&Y !HISTORY_MSG_203;NR - Color space !HISTORY_MSG_204;LMMSE enhancement steps -!HISTORY_MSG_205;CAM02 - Hot/bad pixel filter -!HISTORY_MSG_206;CAT02 - Auto scene luminosity +!HISTORY_MSG_205;CAL - Hot/bad pixel filter +!HISTORY_MSG_206;CAL - SC - Auto absolute luminance !HISTORY_MSG_207;Defringe - Hue curve !HISTORY_MSG_208;WB - B/R equalizer !HISTORY_MSG_210;GF - Angle @@ -500,7 +493,6 @@ !HISTORY_MSG_247;L*a*b* - LH curve !HISTORY_MSG_248;L*a*b* - HH curve !HISTORY_MSG_249;CbDL - Threshold -!HISTORY_MSG_250;NR - Enhanced !HISTORY_MSG_251;B&W - Algorithm !HISTORY_MSG_252;CbDL - Skin tar/prot !HISTORY_MSG_253;CbDL - Reduce artifacts @@ -524,8 +516,6 @@ !HISTORY_MSG_271;CT - High - Blue !HISTORY_MSG_272;CT - Balance !HISTORY_MSG_273;CT - Color Balance SMH -!HISTORY_MSG_274;CT - Sat. Shadows -!HISTORY_MSG_275;CT - Sat. Highlights !HISTORY_MSG_276;CT - Opacity !HISTORY_MSG_277;--unused-- !HISTORY_MSG_278;CT - Preserve luminance @@ -550,7 +540,6 @@ !HISTORY_MSG_297;NR - Mode !HISTORY_MSG_298;Dead pixel filter !HISTORY_MSG_299;NR - Chrominance curve -!HISTORY_MSG_300;- !HISTORY_MSG_301;NR - Luma control !HISTORY_MSG_302;NR - Chroma method !HISTORY_MSG_303;NR - Chroma method @@ -568,10 +557,10 @@ !HISTORY_MSG_315;W - Residual - Contrast !HISTORY_MSG_316;W - Gamut - Skin tar/prot !HISTORY_MSG_317;W - Gamut - Skin hue -!HISTORY_MSG_318;W - Contrast - Highlight levels -!HISTORY_MSG_319;W - Contrast - Highlight range -!HISTORY_MSG_320;W - Contrast - Shadow range -!HISTORY_MSG_321;W - Contrast - Shadow levels +!HISTORY_MSG_318;W - Contrast - Finer levels +!HISTORY_MSG_319;W - Contrast - Finer range +!HISTORY_MSG_320;W - Contrast - Coarser range +!HISTORY_MSG_321;W - Contrast - Coarser levels !HISTORY_MSG_322;W - Gamut - Avoid color shift !HISTORY_MSG_323;W - ES - Local contrast !HISTORY_MSG_324;W - Chroma - Pastel @@ -635,14 +624,14 @@ !HISTORY_MSG_382;PRS RLD - Amount !HISTORY_MSG_383;PRS RLD - Damping !HISTORY_MSG_384;PRS RLD - Iterations -!HISTORY_MSG_385;W - Residual - Color Balance +!HISTORY_MSG_385;W - Residual - Color balance !HISTORY_MSG_386;W - Residual - CB green high !HISTORY_MSG_387;W - Residual - CB blue high !HISTORY_MSG_388;W - Residual - CB green mid !HISTORY_MSG_389;W - Residual - CB blue mid !HISTORY_MSG_390;W - Residual - CB green low !HISTORY_MSG_391;W - Residual - CB blue low -!HISTORY_MSG_392;W - Residual - Color Balance +!HISTORY_MSG_392;W - Residual - Color balance !HISTORY_MSG_393;DCP - Look table !HISTORY_MSG_394;DCP - Baseline exposure !HISTORY_MSG_395;DCP - Base table @@ -659,7 +648,6 @@ !HISTORY_MSG_406;W - ES - Neighboring pixels !HISTORY_MSG_407;Retinex - Method !HISTORY_MSG_408;Retinex - Radius -!HISTORY_MSG_409;Retinex - Contrast !HISTORY_MSG_410;Retinex - Offset !HISTORY_MSG_411;Retinex - Strength !HISTORY_MSG_412;Retinex - Gaussian gradient @@ -675,7 +663,7 @@ !HISTORY_MSG_422;Retinex - Gamma !HISTORY_MSG_423;Retinex - Gamma slope !HISTORY_MSG_424;Retinex - HL threshold -!HISTORY_MSG_425;Retinex - Log base +!HISTORY_MSG_425;--unused-- !HISTORY_MSG_426;Retinex - Hue equalizer !HISTORY_MSG_427;Output rendering intent !HISTORY_MSG_428;Monitor rendering intent @@ -695,30 +683,45 @@ !HISTORY_MSG_442;Retinex - Scale !HISTORY_MSG_443;Output black point compensation !HISTORY_MSG_444;WB - Temp bias -!HISTORY_MSG_445;Raw sub-image -!HISTORY_MSG_449;PS - ISO adaption -!HISTORY_MSG_452;PS - Show motion -!HISTORY_MSG_453;PS - Show mask only -!HISTORY_MSG_457;PS - Check red/blue -!HISTORY_MSG_462;PS - Check green -!HISTORY_MSG_464;PS - Blur motion mask -!HISTORY_MSG_465;PS - Blur radius -!HISTORY_MSG_468;PS - Fill holes -!HISTORY_MSG_469;PS - Median -!HISTORY_MSG_471;PS - Motion correction -!HISTORY_MSG_472;PS - Smooth transitions -!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_MSG_445;Raw Sub-Image +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_449;PS ISO adaption +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_452;PS Show motion +!HISTORY_MSG_453;PS Show mask only +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_457;PS Check red/blue +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_462;PS Check green +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_464;PS Blur motion mask +!HISTORY_MSG_465;PS Blur radius +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_468;PS Fill holes +!HISTORY_MSG_469;PS Median +!HISTORY_MSG_470;--unused-- +!HISTORY_MSG_471;PS Motion correction +!HISTORY_MSG_472;PS Smooth transitions +!HISTORY_MSG_474;PS Equalize +!HISTORY_MSG_475;PS Equalize channel +!HISTORY_MSG_476;CAL - VC - Temperature +!HISTORY_MSG_477;CAL - VC - Tint +!HISTORY_MSG_478;CAL - VC - Mean luminance +!HISTORY_MSG_479;CAL - VC - Adaptation +!HISTORY_MSG_480;CAL - VC - Auto adaptation +!HISTORY_MSG_481;CAL - SC - Temperature +!HISTORY_MSG_482;CAL - SC - Tint +!HISTORY_MSG_483;CAL - SC - Mean luminance +!HISTORY_MSG_484;CAL - SC - Auto mean luminance !HISTORY_MSG_485;Lens Correction !HISTORY_MSG_486;Lens Correction - Camera !HISTORY_MSG_487;Lens Correction - Lens @@ -729,6 +732,654 @@ !HISTORY_MSG_492;RGB Curves !HISTORY_MSG_493;L*a*b* Adjustments !HISTORY_MSG_494;Capture Sharpening +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_507;Local Spot center +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_516;Local - Color and light +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_527;Local - Color Inverse +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_542;Local - Vib avoid colorshift +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_591;Local - Avoid color shift +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_607;Local - Color Mask C +!HISTORY_MSG_608;Local - Color Mask L +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_611;Local - Color Mask H +!HISTORY_MSG_612;Local - Color Structure +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_615;Local - Blend color +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_618;Local - Use Color Mask +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_624;Local - Color correction grid +!HISTORY_MSG_625;Local - Color correction strength +!HISTORY_MSG_626;Local - Color correction Method +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_634;Local - radius color +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_650;Local - Color mask chroma +!HISTORY_MSG_651;Local - Color mask gamma +!HISTORY_MSG_652;Local - Color mask slope +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_656;Local - Color soft radius +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_760;Local - Color Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_770;Local - Color Mask contrast curve +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_779;Local - Color Mask local contrast curve +!HISTORY_MSG_780;Local - Color Mask shadows +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_783;Local - Color Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_799;Local - Color RGB ToneCurve +!HISTORY_MSG_800;Local - Color ToneCurve Method +!HISTORY_MSG_801;Local - Color ToneCurve Special +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_803;Local - Color Merge +!HISTORY_MSG_804;Local - Color mask Structure +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_806;Local - Color mask Structure as tool +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_808;Local - Color mask curve H(H) +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_821;Local - color grid background +!HISTORY_MSG_822;Local - color background merge +!HISTORY_MSG_823;Local - color background luminance +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_830;Local - Color gradient strength L +!HISTORY_MSG_831;Local - Color gradient angle +!HISTORY_MSG_832;Local - Color gradient strength C +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_834;Local - Color gradient strength H +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_894;Local - Color Preview dE +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_925;Local - Scope color tools +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_928;Local - Common color mask +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_996;Local - Color recovery threshold +!HISTORY_MSG_997;Local - Color threshold mask low +!HISTORY_MSG_998;Local - Color threshold mask high +!HISTORY_MSG_999;Local - Color decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1070;Local - CIECAM colorfullness +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1107;Local - CIECAM Color method +!HISTORY_MSG_1108;Local - CIECAM Color curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_BLSHAPE;Blur by level +!HISTORY_MSG_BLURCWAV;Blur chroma +!HISTORY_MSG_BLURWAV;Blur luminance +!HISTORY_MSG_BLUWAV;Attenuation response +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM !HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors !HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction !HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction @@ -744,22 +1395,42 @@ !HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation !HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask !HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity !HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth !HISTORY_MSG_DEHAZE_ENABLED;Haze Removal -!HISTORY_MSG_DEHAZE_LUMINANCE;Dehaze - Luminance only +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation !HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map !HISTORY_MSG_DEHAZE_STRENGTH;Dehaze - Strength !HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Dual demosaic - Auto threshold !HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Dual demosaic - Contrast threshold +!HISTORY_MSG_EDGEFFECT;Edge Attenuation response +!HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output +!HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space !HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negative +!HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input !HISTORY_MSG_FILMNEGATIVE_VALUES;Film negative values !HISTORY_MSG_HISTMATCHING;Auto-matched tone curve +!HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y !HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primaries !HISTORY_MSG_ICM_OUTPUT_TEMP;Output - ICC-v4 illuminant D !HISTORY_MSG_ICM_OUTPUT_TYPE;Output - Type -!HISTORY_MSG_ICM_WORKING_GAMMA;Working - Gamma -!HISTORY_MSG_ICM_WORKING_SLOPE;Working - Slope -!HISTORY_MSG_ICM_WORKING_TRC_METHOD;Working - TRC method +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_GAMMA;TRC - Gamma +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ICM_WORKING_SLOPE;TRC - Slope +!HISTORY_MSG_ICM_WORKING_TRC_METHOD;TRC method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant !HISTORY_MSG_LOCALCONTRAST_AMOUNT;Local Contrast - Amount !HISTORY_MSG_LOCALCONTRAST_DARKNESS;Local Contrast - Darkness !HISTORY_MSG_LOCALCONTRAST_ENABLED;Local Contrast @@ -774,27 +1445,87 @@ !HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iterations !HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius !HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average !HISTORY_MSG_PIXELSHIFT_DEMOSAIC;PS - Demosaic method for motion !HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;Line noise filter direction !HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode +!HISTORY_MSG_PROTAB;Protection !HISTORY_MSG_PRSHARPEN_CONTRAST;PRS - Contrast threshold +!HISTORY_MSG_RANGEAB;Range ab !HISTORY_MSG_RAWCACORR_AUTOIT;Raw CA Correction - Iterations !HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift !HISTORY_MSG_RAW_BORDER;Raw border !HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge !HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius !HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold !HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace +!HISTORY_MSG_SIGMACOL;Chroma Attenuation response +!HISTORY_MSG_SIGMADIR;Dir Attenuation response +!HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response +!HISTORY_MSG_SIGMATON;Toning Attenuation response !HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light !HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength +!HISTORY_MSG_SPOT;Spot removal +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. +!HISTORY_MSG_TEMPOUT;CAM02 automatic temperature +!HISTORY_MSG_THRESWAV;Balance threshold !HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor -!HISTORY_MSG_TRANS_Method;Geometry - Method +!HISTORY_MSG_TRANS_METHOD;Geometry - Method +!HISTORY_MSG_WAVBALCHROM;Equalizer chrominance +!HISTORY_MSG_WAVBALLUM;Equalizer luminance +!HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVCHROMCO;Chroma coarse +!HISTORY_MSG_WAVCHROMFI;Chroma fine +!HISTORY_MSG_WAVCLARI;Clarity +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVEDGS;Edge stopping +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVLOWTHR;Threshold low contrast +!HISTORY_MSG_WAVMERGEC;Merge C +!HISTORY_MSG_WAVMERGEL;Merge L +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVOFFSET;Offset +!HISTORY_MSG_WAVOLDSH;Old algorithm +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVRADIUS;Radius shadows-highlights +!HISTORY_MSG_WAVSCALE;Scale +!HISTORY_MSG_WAVSHOWMASK;Show wavelet mask +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSIGMA;Attenuation response +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSOFTRAD;Soft radius clarity +!HISTORY_MSG_WAVSOFTRADEND;Soft radius final +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!HISTORY_MSG_WAVUSHAMET;Clarity method !HISTORY_NEWSNAPSHOT;Add !HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s !HISTORY_SNAPSHOT;Snapshot !HISTORY_SNAPSHOTS;Snapshots !ICCPROFCREATOR_COPYRIGHT;Copyright: -!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0" +!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to 'RawTherapee, CC0'. !ICCPROFCREATOR_CUSTOM;Custom !ICCPROFCREATOR_DESCRIPTION;Description: !ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Append gamma and slope values to the description @@ -806,11 +1537,12 @@ !ICCPROFCREATOR_ILL_50;D50 !ICCPROFCREATOR_ILL_55;D55 !ICCPROFCREATOR_ILL_60;D60 +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater !ICCPROFCREATOR_ILL_65;D65 !ICCPROFCREATOR_ILL_80;D80 !ICCPROFCREATOR_ILL_DEF;Default !ICCPROFCREATOR_ILL_INC;StdA 2856K -!ICCPROFCREATOR_ILL_TOOLTIP;You can only set the illuminant for ICC v4 profiles. +!ICCPROFCREATOR_ILL_TOOLTIP;You can set the illuminant for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIMARIES;Primaries: !ICCPROFCREATOR_PRIM_ACESP0;ACES AP0 !ICCPROFCREATOR_PRIM_ACESP1;ACES AP1 @@ -820,6 +1552,7 @@ !ICCPROFCREATOR_PRIM_BLUX;Blue X !ICCPROFCREATOR_PRIM_BLUY;Blue Y !ICCPROFCREATOR_PRIM_BRUCE;BruceRGB +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 !ICCPROFCREATOR_PRIM_GREX;Green X !ICCPROFCREATOR_PRIM_GREY;Green Y !ICCPROFCREATOR_PRIM_PROPH;Prophoto @@ -827,13 +1560,14 @@ !ICCPROFCREATOR_PRIM_REDX;Red X !ICCPROFCREATOR_PRIM_REDY;Red Y !ICCPROFCREATOR_PRIM_SRGB;sRGB -!ICCPROFCREATOR_PRIM_TOOLTIP;You can only set custom primaries for ICC v4 profiles. +!ICCPROFCREATOR_PRIM_TOOLTIP;You can set custom primaries for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIM_WIDEG;Widegamut !ICCPROFCREATOR_PROF_V2;ICC v2 !ICCPROFCREATOR_PROF_V4;ICC v4 !ICCPROFCREATOR_SAVEDIALOG_TITLE;Save ICC profile as... !ICCPROFCREATOR_SLOPE;Slope -!ICCPROFCREATOR_TRC_PRESET;Tone response curve: +!ICCPROFCREATOR_TRC_PRESET;Tone response curve +!INSPECTOR_WINDOW_TITLE;Inspector !IPTCPANEL_CATEGORY;Category !IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider. !IPTCPANEL_CITY;City @@ -852,7 +1586,7 @@ !IPTCPANEL_DATECREATED;Date created !IPTCPANEL_DATECREATEDHINT;Enter the Date the image was taken. !IPTCPANEL_DESCRIPTION;Description -!IPTCPANEL_DESCRIPTIONHINT;Enter a "caption" describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. +!IPTCPANEL_DESCRIPTIONHINT;Enter a 'caption' describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. !IPTCPANEL_DESCRIPTIONWRITER;Description writer !IPTCPANEL_DESCRIPTIONWRITERHINT;Enter the name of the person involved in writing, editing or correcting the description of the image. !IPTCPANEL_EMBEDDED;Embedded @@ -911,7 +1645,7 @@ !MAIN_MSG_QOVERWRITE;Do you want to overwrite it? !MAIN_MSG_SETPATHFIRST;You first have to set a target path in Preferences in order to use this function! !MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue. -!MAIN_MSG_WRITEFAILED;Failed to write\n"%1"\n\nMake sure that the folder exists and that you have write permission to it. +!MAIN_MSG_WRITEFAILED;Failed to write\n'%1'\n\nMake sure that the folder exists and that you have write permission to it. !MAIN_TAB_ADVANCED;Advanced !MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-a !MAIN_TAB_COLOR;Color @@ -928,6 +1662,8 @@ !MAIN_TAB_FILTER; Filter !MAIN_TAB_INSPECT; Inspect !MAIN_TAB_IPTC;IPTC +!MAIN_TAB_LOCALLAB;Local +!MAIN_TAB_LOCALLAB_TOOLTIP;Shortcut: Alt-o !MAIN_TAB_METADATA;Metadata !MAIN_TAB_METADATA_TOOLTIP;Shortcut: Alt-m !MAIN_TAB_RAW;Raw @@ -937,7 +1673,7 @@ !MAIN_TOOLTIP_BACKCOLOR0;Background color of the preview: theme-based\nShortcut: 9 !MAIN_TOOLTIP_BACKCOLOR1;Background color of the preview: black\nShortcut: 9 !MAIN_TOOLTIP_BACKCOLOR2;Background color of the preview: white\nShortcut: 9 -!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle gray\nShortcut: 9 +!MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9 !MAIN_TOOLTIP_BEFOREAFTERLOCK;Lock / Unlock the Before view\n\nLock: keep the Before view unchanged.\nUseful to evaluate the cumulative effect of multiple tools.\nAdditionally, comparisons can be made to any state in the History.\n\nUnlock: the Before view will follow the After 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: l !MAIN_TOOLTIP_INDCLIPPEDH;Clipped highlight indication.\nShortcut: > @@ -967,16 +1703,16 @@ !NAVIGATOR_V;V: !NAVIGATOR_XY_FULL;Width: %1, Height: %2 !NAVIGATOR_XY_NA;x: --, y: -- -!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. -!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. -!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. +!OPTIONS_BUNDLED_MISSING;The bundled profile '%1' could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. +!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. +!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. !PARTIALPASTE_ADVANCEDGROUP;Advanced Settings !PARTIALPASTE_BASICGROUP;Basic Settings !PARTIALPASTE_CACORRECTION;Chromatic aberration correction !PARTIALPASTE_CHANNELMIXER;Channel mixer !PARTIALPASTE_CHANNELMIXERBW;Black-and-white !PARTIALPASTE_COARSETRANS;Coarse rotation/flipping -!PARTIALPASTE_COLORAPP;CIECAM02 +!PARTIALPASTE_COLORAPP;Color Appearance & Lighting !PARTIALPASTE_COLORGROUP;Color Related Settings !PARTIALPASTE_COLORTONING;Color toning !PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto-fill @@ -996,7 +1732,7 @@ !PARTIALPASTE_EVERYTHING;Everything !PARTIALPASTE_EXIFCHANGES;Exif !PARTIALPASTE_EXPOSURE;Exposure -!PARTIALPASTE_FILMNEGATIVE;Film Negative +!PARTIALPASTE_FILMNEGATIVE;Film negative !PARTIALPASTE_FILMSIMULATION;Film simulation !PARTIALPASTE_FLATFIELDAUTOSELECT;Flat-field auto-selection !PARTIALPASTE_FLATFIELDBLURRADIUS;Flat-field blur radius @@ -1012,6 +1748,8 @@ !PARTIALPASTE_LENSGROUP;Lens Related Settings !PARTIALPASTE_LENSPROFILE;Profiled lens correction !PARTIALPASTE_LOCALCONTRAST;Local contrast +!PARTIALPASTE_LOCALLAB;Local Adjustments +!PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings !PARTIALPASTE_METADATA;Metadata mode !PARTIALPASTE_METAGROUP;Metadata settings !PARTIALPASTE_PCVIGNETTE;Vignette filter @@ -1021,6 +1759,7 @@ !PARTIALPASTE_PREPROCESS_HOTPIXFILT;Hot pixel filter !PARTIALPASTE_PREPROCESS_LINEDENOISE;Line noise filter !PARTIALPASTE_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!PARTIALPASTE_PREPROCWB;Preprocess White Balance !PARTIALPASTE_PRSHARPENING;Post-resize sharpening !PARTIALPASTE_RAWCACORR_AUTO;CA auto-correction !PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;CA avoid color shift @@ -1045,6 +1784,7 @@ !PARTIALPASTE_SHARPENING;Sharpening (USM/RL) !PARTIALPASTE_SHARPENMICRO;Microcontrast !PARTIALPASTE_SOFTLIGHT;Soft light +!PARTIALPASTE_SPOT;Spot removal !PARTIALPASTE_TM_FATTAL;Dynamic range compression !PARTIALPASTE_VIBRANCE;Vibrance !PARTIALPASTE_VIGNETTING;Vignetting correction @@ -1080,11 +1820,17 @@ !PREFERENCES_CHUNKSIZE_RAW_RCD;RCD demosaic !PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans demosaic !PREFERENCES_CHUNKSIZE_RGB;RGB processing +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts !PREFERENCES_CLIPPINGIND;Clipping Indication !PREFERENCES_CLUTSCACHE;HaldCLUT Cache !PREFERENCES_CLUTSCACHE_LABEL;Maximum number of cached CLUTs !PREFERENCES_CLUTSDIR;HaldCLUT directory !PREFERENCES_CMMBPC;Black point compensation +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic !PREFERENCES_CROP;Crop Editing !PREFERENCES_CROP_AUTO_FIT;Automatically zoom to fit the crop !PREFERENCES_CROP_GUIDES;Guides shown when not editing the crop @@ -1097,7 +1843,7 @@ !PREFERENCES_CURVEBBOXPOS_LEFT;Left !PREFERENCES_CURVEBBOXPOS_RIGHT;Right !PREFERENCES_CUSTPROFBUILD;Custom Processing Profile Builder -!PREFERENCES_CUSTPROFBUILDHINT;Executable (or script) file called when a new initial processing profile should be generated for an image.\n\nThe path of the communication file (*.ini style, a.k.a. "Keyfile") is added as a command line parameter. It contains various parameters required for the scripts and image Exif to allow a rules-based processing profile generation.\n\nWARNING: You are responsible for using double quotes where necessary if you're using paths containing spaces. +!PREFERENCES_CUSTPROFBUILDHINT;Executable (or script) file called when a new initial processing profile should be generated for an image.\n\nThe path of the communication file (*.ini style, a.k.a. 'Keyfile') is added as a command line parameter. It contains various parameters required for the scripts and image Exif to allow a rules-based processing profile generation.\n\nWARNING: You are responsible for using double quotes where necessary if you're using paths containing spaces. !PREFERENCES_CUSTPROFBUILDKEYFORMAT;Keys format !PREFERENCES_CUSTPROFBUILDKEYFORMAT_NAME;Name !PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID @@ -1116,6 +1862,12 @@ !PREFERENCES_DIRSOFTWARE;Installation directory !PREFERENCES_EDITORCMDLINE;Custom command line !PREFERENCES_EDITORLAYOUT;Editor layout +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output !PREFERENCES_EXTERNALEDITOR;External Editor !PREFERENCES_FBROWSEROPTS;File Browser / Thumbnail Options !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Compact toolbars in File Browser @@ -1133,6 +1885,7 @@ !PREFERENCES_HLTHRESHOLD;Threshold for clipped highlights !PREFERENCES_ICCDIR;Directory containing color profiles !PREFERENCES_IMPROCPARAMS;Default Processing Profile +!PREFERENCES_INSPECTORWINDOW;Open inspector in own window or fullscreen !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. @@ -1144,11 +1897,11 @@ !PREFERENCES_LANG;Language !PREFERENCES_LANGAUTODETECT;Use system language !PREFERENCES_MAXRECENTFOLDERS;Maximum number of recent folders -!PREFERENCES_MENUGROUPEXTPROGS;Group "Open with" -!PREFERENCES_MENUGROUPFILEOPERATIONS;Group "File operations" -!PREFERENCES_MENUGROUPLABEL;Group "Color label" -!PREFERENCES_MENUGROUPPROFILEOPERATIONS;Group "Processing profile operations" -!PREFERENCES_MENUGROUPRANK;Group "Rank" +!PREFERENCES_MENUGROUPEXTPROGS;Group 'Open with' +!PREFERENCES_MENUGROUPFILEOPERATIONS;Group 'File operations' +!PREFERENCES_MENUGROUPLABEL;Group 'Color label' +!PREFERENCES_MENUGROUPPROFILEOPERATIONS;Group 'Processing profile operations' +!PREFERENCES_MENUGROUPRANK;Group 'Rank' !PREFERENCES_MENUOPTIONS;Context Menu Options !PREFERENCES_MONINTENT;Default rendering intent !PREFERENCES_MONITOR;Monitor @@ -1190,7 +1943,7 @@ !PREFERENCES_PRTPROFILE;Color profile !PREFERENCES_PSPATH;Adobe Photoshop installation directory !PREFERENCES_REMEMBERZOOMPAN;Remember zoom % and pan offset -!PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in "Single Editor Tab Mode" and when "Demosaicing method used for the preview at <100% zoom" is set to "As in PP3". +!PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in 'Single Editor Tab Mode' and when 'Demosaicing method used for the preview at <100% zoom' is set to 'As in PP3'. !PREFERENCES_SAVE_TP_OPEN_NOW;Save tool collapsed/expanded state now !PREFERENCES_SELECTLANG;Select language !PREFERENCES_SERIALIZE_TIFF_READ;TIFF Read Settings @@ -1201,10 +1954,11 @@ !PREFERENCES_SHOWDATETIME;Show date and time !PREFERENCES_SHOWEXPOSURECOMPENSATION;Append exposure compensation !PREFERENCES_SHOWFILMSTRIPTOOLBAR;Show Filmstrip toolbar +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips !PREFERENCES_SHTHRESHOLD;Threshold for clipped shadows !PREFERENCES_SINGLETAB;Single Editor Tab Mode !PREFERENCES_SINGLETABVERTAB;Single Editor Tab Mode, Vertical Tabs -!PREFERENCES_SND_HELP;Enter a full file path to set a sound, or leave blank for no sound.\nFor system sounds on Windows use "SystemDefault", "SystemAsterisk" etc., and on Linux use "complete", "window-attention" etc. +!PREFERENCES_SND_HELP;Enter a full file path to set a sound, or leave blank for no sound.\nFor system sounds on Windows use 'SystemDefault', 'SystemAsterisk' etc., and on Linux use 'complete', 'window-attention' etc. !PREFERENCES_SND_LNGEDITPROCDONE;Editor processing done !PREFERENCES_SND_QUEUEDONE;Queue processing done !PREFERENCES_SND_THRESHOLDSECS;After seconds @@ -1224,12 +1978,13 @@ !PREFERENCES_TP_VSCROLLBAR;Hide vertical scrollbar !PREFERENCES_USEBUNDLEDPROFILES;Use bundled profiles !PREFERENCES_WORKFLOW;Layout +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling !PROFILEPANEL_COPYPPASTE;Parameters to copy !PROFILEPANEL_GLOBALPROFILES;Bundled profiles !PROFILEPANEL_LABEL;Processing Profiles !PROFILEPANEL_LOADDLGLABEL;Load Processing Parameters... !PROFILEPANEL_LOADPPASTE;Parameters to load -!PROFILEPANEL_MODE_TIP;Processing profile fill mode.\n\nButton pressed: partial profiles will be converted to full profiles; the missing values will be replaced with hard-coded defaults.\n\nButton released: profiles will be applied as they are, altering only those values which they contain. +!PROFILEPANEL_MODE_TOOLTIP;Processing profile fill mode.\n\nButton pressed: partial profiles will be converted to full profiles; the missing values will be replaced with hard-coded defaults.\n\nButton released: profiles will be applied as they are, altering only those values which they contain. !PROFILEPANEL_MYPROFILES;My profiles !PROFILEPANEL_PASTEPPASTE;Parameters to paste !PROFILEPANEL_PCUSTOM;Custom @@ -1305,6 +2060,12 @@ !SHCSELECTOR_TOOLTIP;Click right mouse button to reset the position of those 3 sliders. !SOFTPROOF_GAMUTCHECK_TOOLTIP;Highlight pixels with out-of-gamut colors with respect to:\n- the printer profile, if one is set and soft-proofing is enabled,\n- the output profile, if a printer profile is not set and soft-proofing is enabled,\n- the monitor profile, if soft-proofing is disabled. !SOFTPROOF_TOOLTIP;Soft-proofing simulates the appearance of the image:\n- when printed, if a printer profile is set in Preferences > Color Management,\n- when viewed on a display that uses the current output profile, if a printer profile is not set. +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry !THRESHOLDSELECTOR_B;Bottom !THRESHOLDSELECTOR_BL;Bottom-left !THRESHOLDSELECTOR_BR;Bottom-right @@ -1315,7 +2076,8 @@ !TOOLBAR_TOOLTIP_COLORPICKER;Lockable Color Picker\n\nWhen the tool is active:\n- Add a picker: left-click.\n- Drag a picker: left-click and drag.\n- Delete a picker: right-click.\n- Delete all pickers: Ctrl+Shift+right-click.\n- Revert to hand tool: right-click outside any picker. !TOOLBAR_TOOLTIP_CROP;Crop selection.\nShortcut: c\nMove the crop using Shift+mouse drag. !TOOLBAR_TOOLTIP_HAND;Hand tool.\nShortcut: h -!TOOLBAR_TOOLTIP_STRAIGHTEN;Straighten / fine rotation.\nShortcut: s\n\nIndicate the vertical or horizontal by drawing a guide line over the image preview. Angle of rotation will be shown next to the guide line. Center of rotation is the geometrical center of the image. +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. +!TOOLBAR_TOOLTIP_STRAIGHTEN;Straighten / fine rotation.\nShortcut: s\n\nIndicate the vertical or horizontal by drawing a guide line over the image. Angle of rotation will be shown next to the guide line. Center of rotation is the geometrical center of the image. !TOOLBAR_TOOLTIP_WB;Spot white balance.\nShortcut: w !TP_BWMIX_ALGO;Algorithm OYCPM !TP_BWMIX_ALGO_LI;Linear @@ -1351,7 +2113,7 @@ !TP_BWMIX_MIXC;Channel Mixer !TP_BWMIX_NEUTRAL;Reset !TP_BWMIX_RGBLABEL;R: %1%% G: %2%% B: %3%% Total: %4%% -!TP_BWMIX_RGBLABEL_HINT;Final RGB factors that take care of all the mixer options.\n"Total" displays the sum of the RGB values:\n- always 100% in relative mode\n- higher (lighter) or lower (darker) than 100% in absolute mode. +!TP_BWMIX_RGBLABEL_HINT;Final RGB factors that take care of all the mixer options.\n'Total' displays the sum of the RGB values:\n- always 100% in relative mode\n- higher (lighter) or lower (darker) than 100% in absolute mode. !TP_BWMIX_RGB_TOOLTIP;Mix the RGB channels. Use presets for guidance.\nPay attention to negative values that may cause artifacts or erratic behavior. !TP_BWMIX_SETTING;Presets !TP_BWMIX_SETTING_TOOLTIP;Different presets (film, landscape, etc.) or manual Channel Mixer settings. @@ -1391,6 +2153,7 @@ !TP_COARSETRAF_TOOLTIP_ROTRIGHT;Rotate right.\n\nShortcuts:\n] - Multiple Editor Tabs Mode,\nAlt-] - Single Editor Tab Mode. !TP_COARSETRAF_TOOLTIP_VFLIP;Flip vertically. !TP_COLORAPP_ABSOLUTELUMINANCE;Absolute luminance +!TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. !TP_COLORAPP_ALGO;Algorithm !TP_COLORAPP_ALGO_ALL;All !TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC) @@ -1400,51 +2163,76 @@ !TP_COLORAPP_BADPIXSL;Hot/bad pixel filter !TP_COLORAPP_BADPIXSL_TOOLTIP;Suppression of hot/bad (brightly colored) pixels.\n0 = No effect\n1 = Median\n2 = Gaussian.\nAlternatively, adjust the image to avoid very dark shadows.\n\nThese artifacts are due to limitations of CIECAM02. !TP_COLORAPP_BRIGHT;Brightness (Q) -!TP_COLORAPP_BRIGHT_TOOLTIP;Brightness in CIECAM02 takes into account the white's luminosity and differs from L*a*b* and RGB brightness. +!TP_COLORAPP_BRIGHT_TOOLTIP;Brightness in CIECAM is the amount of perceived light emanating from a stimulus. It differs from L*a*b* and RGB brightness. !TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;When setting manually, values above 65 are recommended. +!TP_COLORAPP_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed !TP_COLORAPP_CHROMA;Chroma (C) !TP_COLORAPP_CHROMA_M;Colorfulness (M) -!TP_COLORAPP_CHROMA_M_TOOLTIP;Colorfulness in CIECAM02 differs from L*a*b* and RGB colorfulness. +!TP_COLORAPP_CHROMA_M_TOOLTIP;Colorfulness in CIECAM is the perceived amount of hue in relation to gray, an indicator that a stimulus appears to be more or less colored. !TP_COLORAPP_CHROMA_S;Saturation (S) -!TP_COLORAPP_CHROMA_S_TOOLTIP;Saturation in CIECAM02 differs from L*a*b* and RGB saturation. -!TP_COLORAPP_CHROMA_TOOLTIP;Chroma in CIECAM02 differs from L*a*b* and RGB chroma. -!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation +!TP_COLORAPP_CHROMA_S_TOOLTIP;Saturation in CIECAM corresponds to the color of a stimulus in relation to its own brightness. It differs from L*a*b* and RGB saturation. +!TP_COLORAPP_CHROMA_TOOLTIP;Chroma in CIECAM corresponds to the color of a stimulus relative to the clarity of a stimulus that appears white under identical conditions. It differs from L*a*b* and RGB chroma. +!TP_COLORAPP_CIECAT_DEGREE;Adaptation !TP_COLORAPP_CONTRAST;Contrast (J) !TP_COLORAPP_CONTRAST_Q;Contrast (Q) -!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_CONTRAST_Q_TOOLTIP;Contrast (Q) in CIECAM is based on brightness. It differs from L*a*b* and RGB contrast. +!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast (J) in CIECAM is based on lightness. It 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_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM.\nIf the 'Show CIECAM output histograms in CAL curves' checkbox is enabled, shows the histogram of J after CIECAM.\n\nJ is not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel. !TP_COLORAPP_CURVEEDITOR2;Tone curve 2 -!TP_COLORAPP_CURVEEDITOR2_TOOLTIP;Same usage as with the second exposure tone curve. +!TP_COLORAPP_CURVEEDITOR2_TOOLTIP;Same usage as with the first J(J) tone curve. !TP_COLORAPP_CURVEEDITOR3;Color curve -!TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Adjust either chroma, saturation or colorfulness.\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_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_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_CURVEEDITOR3_TOOLTIP;Adjust either chroma, saturation or colorfulness.\n\nShows the histogram of chromaticity (L*a*b*) before CIECAM.\nIf the 'Show CIECAM output histograms in CAL curves' checkbox is enabled, shows the histogram of C, S or M after CIECAM.\n\nC, S and M are not shown in the main histogram panel.\nFor final output refer to the main histogram panel. +!TP_COLORAPP_DATACIE;Show CIECAM output histograms in CAL curves +!TP_COLORAPP_DATACIE_TOOLTIP;Affects histograms shown in Color Appearance & Lightning curves. Does not affect RawTherapee's main histogram.\n\nEnabled: show approximate values for J and C, S or M after the CIECAM adjustments.\nDisabled: show L*a*b* values before CIECAM adjustments. +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_FREE;Free temp + tint + CAT02/16 +[output] +!TP_COLORAPP_GAMUT;Use gamut control in L*a*b* mode +!TP_COLORAPP_GEN;Settings +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. !TP_COLORAPP_HUE;Hue (h) -!TP_COLORAPP_HUE_TOOLTIP;Hue (h) - angle between 0° and 360°. -!TP_COLORAPP_LABEL;CIE Color Appearance Model 2002 +!TP_COLORAPP_HUE_TOOLTIP;Hue (h) is the degree to which a stimulus can be described as similar to a color described as red, green, blue and yellow. +!TP_COLORAPP_IL41;D41 +!TP_COLORAPP_IL50;D50 +!TP_COLORAPP_IL55;D55 +!TP_COLORAPP_IL60;D60 +!TP_COLORAPP_IL65;D65 +!TP_COLORAPP_IL75;D75 +!TP_COLORAPP_ILA;Incandescent StdA 2856K +!TP_COLORAPP_ILFREE;Free +!TP_COLORAPP_ILLUM;Illuminant +!TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. +!TP_COLORAPP_LABEL;Color Appearance & Lighting !TP_COLORAPP_LABEL_CAM02;Image Adjustments !TP_COLORAPP_LABEL_SCENE;Scene Conditions !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_LIGHT_TOOLTIP;Lightness in CIECAM is the clarity of a stimulus relative to the clarity of a stimulus that appears white under similar viewing conditions. It differs from L*a*b* and RGB lightness. !TP_COLORAPP_MEANLUMINANCE;Mean luminance (Yb%) -!TP_COLORAPP_MODEL;WP Model -!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\nWB [RT] + [output]: 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\nWB [RT+CAT02] + [output]: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\nFree temp+green + CAT02 + [output]: temp and green are selected by the user, the output device's white balance is set in Viewing Conditions. +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODEL;WP model +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. +!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\nWB [RT] + [output]: RT's white balance is used for the scene, CIECAM is set to D50, and the output device's white balance is set in Viewing Conditions.\n\nWB [RT+CAT02/16] + [output]: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\nFree temp + tint + CAT02/16 + [output]: temp and tint are selected by the user, the 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_NEUTRAL_TOOLTIP;Reset all sliders checkbox and curves to their default values. !TP_COLORAPP_RSTPRO;Red & skin-tones protection !TP_COLORAPP_RSTPRO_TOOLTIP;Red & skin-tones protection affects both sliders and curves. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. !TP_COLORAPP_SURROUND;Surround +!TP_COLORAPP_SURROUNDSRC;Surround !TP_COLORAPP_SURROUND_AVER;Average !TP_COLORAPP_SURROUND_DARK;Dark !TP_COLORAPP_SURROUND_DIM;Dim !TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet) -!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. +!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device. The darker the viewing conditions, the darker the image will become. Image brightness will not be changed when the viewing conditions are set to average. +!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. !TP_COLORAPP_TCMODE_BRIGHTNESS;Brightness !TP_COLORAPP_TCMODE_CHROMA;Chroma !TP_COLORAPP_TCMODE_COLORF;Colorfulness @@ -1453,19 +2241,23 @@ !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 set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504 -!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02 +!TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_TONECIE;Use CIECAM for tone mapping !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_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. !TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16 cd/m²). -!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output] +!TP_COLORAPP_WBCAM;WB [RT+CAT02/16] + [output] !TP_COLORAPP_WBRT;WB [RT] + [output] +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. !TP_COLORTONING_AB;o C/L !TP_COLORTONING_AUTOSAT;Automatic !TP_COLORTONING_BALANCE;Balance !TP_COLORTONING_BY;o C/L !TP_COLORTONING_CHROMAC;Opacity -!TP_COLORTONING_COLOR;Color -!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L) +!TP_COLORTONING_COLOR;Color: +!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L). !TP_COLORTONING_HIGHLIGHT;Highlights !TP_COLORTONING_HUE;Hue !TP_COLORTONING_LAB;L*a*b* blending @@ -1495,11 +2287,11 @@ !TP_COLORTONING_LUMAMODE;Preserve luminance !TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved. !TP_COLORTONING_METHOD;Method -!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. +!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. !TP_COLORTONING_MIDTONES;Midtones !TP_COLORTONING_NEUTRAL;Reset sliders -!TP_COLORTONING_NEUTRAL_TIP;Reset all values (Shadows, Midtones, Highlights) to default. -!TP_COLORTONING_OPACITY;Opacity +!TP_COLORTONING_NEUTRAL_TOOLTIP;Reset all values (Shadows, Midtones, Highlights) to default. +!TP_COLORTONING_OPACITY;Opacity: !TP_COLORTONING_RGBCURVES;RGB - Curves !TP_COLORTONING_RGBSLIDERS;RGB - Sliders !TP_COLORTONING_SA;Saturation Protection @@ -1517,6 +2309,7 @@ !TP_COLORTONING_TWOCOLOR_TOOLTIP;Standard chroma:\nLinear response, a* = b*.\n\nSpecial chroma:\nLinear response, a* = b*, but unbound - try under the diagonal.\n\nSpecial a* and b*:\nLinear response unbound with separate curves for a* and b*. Intended for special effects.\n\nSpecial chroma 2 colors:\nMore predictable. !TP_COLORTONING_TWOSTD;Standard chroma !TP_CROP_FIXRATIO;Lock ratio +!TP_CROP_GTCENTEREDSQUARE;Centered square !TP_CROP_GTDIAGONALS;Rule of Diagonals !TP_CROP_GTEPASSPORT;Biometric Passport !TP_CROP_GTFRAME;Frame @@ -1542,7 +2335,7 @@ !TP_DEFRINGE_THRESHOLD;Threshold !TP_DEHAZE_DEPTH;Depth !TP_DEHAZE_LABEL;Haze Removal -!TP_DEHAZE_LUMINANCE;Luminance only +!TP_DEHAZE_SATURATION;Saturation !TP_DEHAZE_SHOW_DEPTH_MAP;Show depth map !TP_DEHAZE_STRENGTH;Strength !TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Auto multi-zones @@ -1555,7 +2348,7 @@ !TP_DIRPYRDENOISE_CHROMINANCE_MASTER;Chrominance - Master !TP_DIRPYRDENOISE_CHROMINANCE_METHOD;Method !TP_DIRPYRDENOISE_CHROMINANCE_METHODADVANCED_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. -!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the "Preview" method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. +!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the 'Preview' method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. !TP_DIRPYRDENOISE_CHROMINANCE_PMZ;Preview multi-zones !TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW;Preview !TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Displays the remaining noise levels of the part of the image visible in the preview after wavelet.\n\n>300 Very noisy\n100-300 Noisy\n50-100 A little noisy\n<50 Very low noise\n\nBeware, the values will differ between RGB and L*a*b* mode. The RGB values are less accurate because the RGB mode does not completely separate luminance and chrominance. @@ -1579,14 +2372,14 @@ !TP_DIRPYRDENOISE_MAIN_MODE;Mode !TP_DIRPYRDENOISE_MAIN_MODE_AGGRESSIVE;Aggressive !TP_DIRPYRDENOISE_MAIN_MODE_CONSERVATIVE;Conservative -!TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;"Conservative" preserves low frequency chroma patterns, while "aggressive" obliterates them. +!TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;Conservative preserves low frequency chroma patterns, while aggressive obliterates them. !TP_DIRPYRDENOISE_MEDIAN_METHOD;Median method !TP_DIRPYRDENOISE_MEDIAN_METHOD_CHROMINANCE;Chroma only !TP_DIRPYRDENOISE_MEDIAN_METHOD_LAB;L*a*b* !TP_DIRPYRDENOISE_MEDIAN_METHOD_LABEL;Median Filter !TP_DIRPYRDENOISE_MEDIAN_METHOD_LUMINANCE;Luminance only !TP_DIRPYRDENOISE_MEDIAN_METHOD_RGB;RGB -!TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the "Luminance only" and "L*a*b*" methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the "RGB" mode, it will be performed at the very end of the noise reduction pipeline. +!TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the 'Luminance only' and 'L*a*b*' methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the 'RGB' mode, it will be performed at the very end of the noise reduction pipeline. !TP_DIRPYRDENOISE_MEDIAN_METHOD_WEIGHTED;Weighted L* (little) + a*b* (normal) !TP_DIRPYRDENOISE_MEDIAN_PASSES;Median iterations !TP_DIRPYRDENOISE_MEDIAN_PASSES_TOOLTIP;Applying three median filter iterations with a 3×3 window size often leads to better results than using one median filter iteration with a 7×7 window size. @@ -1614,7 +2407,7 @@ !TP_DIRPYREQUALIZER_THRESHOLD;Threshold !TP_DIRPYREQUALIZER_TOOLTIP;Attempts to reduce artifacts in the transitions between skin colors (hue, chroma, luma) and the rest of the image. !TP_DISTORTION_AMOUNT;Amount -!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_DISTORTION_AUTO_TOOLTIP;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_DISTORTION_LABEL;Distortion Correction !TP_EPD_EDGESTOPPING;Edge stopping !TP_EPD_GAMMA;Gamma @@ -1623,19 +2416,19 @@ !TP_EPD_SCALE;Scale !TP_EPD_STRENGTH;Strength !TP_EXPOSURE_AUTOLEVELS;Auto Levels -!TP_EXPOSURE_AUTOLEVELS_TIP;Toggles execution of Auto Levels to automatically set Exposure slider values based on an image analysis.\nEnables Highlight Reconstruction if necessary. +!TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Toggles execution of Auto Levels to automatically set Exposure slider values based on an image analysis.\nEnables Highlight Reconstruction if necessary. !TP_EXPOSURE_BLACKLEVEL;Black !TP_EXPOSURE_BRIGHTNESS;Lightness !TP_EXPOSURE_CLAMPOOG;Clip out-of-gamut colors !TP_EXPOSURE_CLIP;Clip % -!TP_EXPOSURE_CLIP_TIP;The fraction of pixels to be clipped in Auto Levels operation. +!TP_EXPOSURE_CLIP_TOOLTIP;The fraction of pixels to be clipped in Auto Levels operation. !TP_EXPOSURE_COMPRHIGHLIGHTS;Highlight compression !TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Highlight compression threshold !TP_EXPOSURE_COMPRSHADOWS;Shadow compression !TP_EXPOSURE_CONTRAST;Contrast !TP_EXPOSURE_CURVEEDITOR1;Tone curve 1 !TP_EXPOSURE_CURVEEDITOR2;Tone curve 2 -!TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Please refer to the "Exposure > Tone Curves" RawPedia article to learn how to achieve the best results by using two tone curves. +!TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Please refer to the 'Exposure > Tone Curves' RawPedia article to learn how to achieve the best results by using two tone curves. !TP_EXPOSURE_EXPCOMP;Exposure compensation !TP_EXPOSURE_HISTMATCHING;Auto-Matched Tone Curve !TP_EXPOSURE_HISTMATCHING_TOOLTIP;Automatically adjust sliders and curves (except exposure compensation) to match the look of the embedded JPEG thumbnail. @@ -1652,11 +2445,21 @@ !TP_EXPOS_BLACKPOINT_LABEL;Raw Black Points !TP_EXPOS_WHITEPOINT_LABEL;Raw White Points !TP_FILMNEGATIVE_BLUE;Blue ratio -!TP_FILMNEGATIVE_GREEN;Reference exponent (contrast) -!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. Set the white balance afterwards. +!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm +!TP_FILMNEGATIVE_COLORSPACE;Inversion color space: +!TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space +!TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. +!TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space +!TP_FILMNEGATIVE_GREEN;Reference exponent +!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green +!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. !TP_FILMNEGATIVE_LABEL;Film Negative +!TP_FILMNEGATIVE_OUT_LEVEL;Output level !TP_FILMNEGATIVE_PICK;Pick neutral spots !TP_FILMNEGATIVE_RED;Red ratio +!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. !TP_FILMSIMULATION_LABEL;Film Simulation !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_FILMSIMULATION_STRENGTH;Strength @@ -1688,6 +2491,7 @@ !TP_HLREC_CIELAB;CIELab Blending !TP_HLREC_COLOR;Color Propagation !TP_HLREC_ENA_TOOLTIP;Could be activated by Auto Levels. +!TP_HLREC_HLBLUR;Blur !TP_HLREC_LABEL;Highlight reconstruction !TP_HLREC_LUMINANCE;Luminance Recovery !TP_HLREC_METHOD;Method: @@ -1705,7 +2509,9 @@ !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 available 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_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. !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. @@ -1719,26 +2525,71 @@ !TP_ICM_INPUTNONE_TOOLTIP;Use no input color profile at all.\nUse only in special cases. !TP_ICM_INPUTPROFILE;Input Profile !TP_ICM_LABEL;Color Management +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset !TP_ICM_NOICM;No ICM: sRGB Output !TP_ICM_OUTPUTPROFILE;Output Profile +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 !TP_ICM_PROFILEINTENT;Rendering Intent +!TP_ICM_REDFRAME;Custom Primaries !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 available if the selected DCP has a tone curve. +!TP_ICM_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. !TP_ICM_WORKINGPROFILE;Working Profile +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut !TP_ICM_WORKING_TRC;Tone response curve: +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 !TP_ICM_WORKING_TRC_CUSTOM;Custom !TP_ICM_WORKING_TRC_GAMMA;Gamma +!TP_ICM_WORKING_TRC_LIN;Linear g=1 !TP_ICM_WORKING_TRC_NONE;None !TP_ICM_WORKING_TRC_SLOPE;Slope +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 !TP_ICM_WORKING_TRC_TOOLTIP;Only for built-in profiles. !TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction !TP_IMPULSEDENOISE_THRESH;Threshold !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_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab). !TP_LABCURVE_BRIGHTNESS;Lightness !TP_LABCURVE_CHROMATICITY;Chromaticity !TP_LABCURVE_CHROMA_TOOLTIP;To apply B&W toning, set Chromaticity to -100. @@ -1757,21 +2608,21 @@ !TP_LABCURVE_CURVEEDITOR_CC_RANGE2;Dull !TP_LABCURVE_CURVEEDITOR_CC_RANGE3;Pastel !TP_LABCURVE_CURVEEDITOR_CC_RANGE4;Saturated -!TP_LABCURVE_CURVEEDITOR_CC_TOOLTIP;Chromaticity according to chromaticity C=f(C) +!TP_LABCURVE_CURVEEDITOR_CC_TOOLTIP;Chromaticity according to chromaticity C=f(C). !TP_LABCURVE_CURVEEDITOR_CH;CH -!TP_LABCURVE_CURVEEDITOR_CH_TOOLTIP;Chromaticity according to hue C=f(H) +!TP_LABCURVE_CURVEEDITOR_CH_TOOLTIP;Chromaticity according to hue C=f(H). !TP_LABCURVE_CURVEEDITOR_CL;CL -!TP_LABCURVE_CURVEEDITOR_CL_TOOLTIP;Chromaticity according to luminance C=f(L) +!TP_LABCURVE_CURVEEDITOR_CL_TOOLTIP;Chromaticity according to luminance C=f(L). !TP_LABCURVE_CURVEEDITOR_HH;HH -!TP_LABCURVE_CURVEEDITOR_HH_TOOLTIP;Hue according to hue H=f(H) +!TP_LABCURVE_CURVEEDITOR_HH_TOOLTIP;Hue according to hue H=f(H). !TP_LABCURVE_CURVEEDITOR_LC;LC -!TP_LABCURVE_CURVEEDITOR_LC_TOOLTIP;Luminance according to chromaticity L=f(C) +!TP_LABCURVE_CURVEEDITOR_LC_TOOLTIP;Luminance according to chromaticity L=f(C). !TP_LABCURVE_CURVEEDITOR_LH;LH -!TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminance according to hue L=f(H) -!TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminance according to luminance L=f(L) +!TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminance according to hue L=f(H). +!TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminance according to luminance L=f(L). !TP_LABCURVE_LABEL;L*a*b* Adjustments !TP_LABCURVE_LCREDSK;Restrict LC to red and skin-tones -!TP_LABCURVE_LCREDSK_TIP;If enabled, the LC Curve affects only red and skin-tones.\nIf disabled, it applies to all tones. +!TP_LABCURVE_LCREDSK_TOOLTIP;If enabled, the LC Curve affects only red and skin-tones.\nIf disabled, it applies to all tones. !TP_LABCURVE_RSTPROTECTION;Red and skin-tones protection !TP_LABCURVE_RSTPRO_TOOLTIP;Works on the Chromaticity slider and the CC curve. !TP_LENSGEOM_AUTOCROP;Auto-Crop @@ -1794,12 +2645,794 @@ !TP_LOCALCONTRAST_LABEL;Local Contrast !TP_LOCALCONTRAST_LIGHTNESS;Lightness level !TP_LOCALCONTRAST_RADIUS;Radius +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ACTIVSPOT;Enable Spot +!TP_LOCALLAB_ADJ;Equalizer Color +!TP_LOCALLAB_AMOUNT;Amount +!TP_LOCALLAB_ARTIF;Shape detection +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOID;Avoid color shift +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALAN;ab-L balance (ΔE) +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALANH;C-H balance (ΔE) +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLCO;Chrominance only +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLINV;Inverse +!TP_LOCALLAB_BLLC;Luminance & Chrominance +!TP_LOCALLAB_BLLO;Luminance only +!TP_LOCALLAB_BLMED;Median +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNOI_EXP;Blur & Noise +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUFR;Blur/Grain & Denoise +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain +!TP_LOCALLAB_BLURCOL;Radius +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURDE;Blur shape detection +!TP_LOCALLAB_BLURLC;Luminance only +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +!TP_LOCALLAB_BUTTON_ADD;Add +!TP_LOCALLAB_BUTTON_DEL;Delete +!TP_LOCALLAB_BUTTON_DUPL;Duplicate +!TP_LOCALLAB_BUTTON_REN;Rename +!TP_LOCALLAB_BUTTON_VIS;Show/Hide +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +!TP_LOCALLAB_CAMMODE;CAM model +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CBDL;Contrast by Detail Levels +!TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. +!TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. +!TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. +!TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels +!TP_LOCALLAB_CENTER_X;Center X +!TP_LOCALLAB_CENTER_Y;Center Y +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMA;Chrominance +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACBDL;Chroma +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASKCOL;Chroma +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_CHRRT;Chroma +!TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIEC;Use Ciecam environment parameters +!TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +!TP_LOCALLAB_CIECOLORFRA;Color +!TP_LOCALLAB_CIECONTFRA;Contrast +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE;Change tool position +!TP_LOCALLAB_CIEMODE_COM;Default +!TP_LOCALLAB_CIEMODE_DR;Dynamic Range +!TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIEMODE_WAV;Wavelet +!TP_LOCALLAB_CIETOOLEXP;Curves +!TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIRCRADIUS;Spot size +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COFR;Color & Light +!TP_LOCALLAB_COLORDE;ΔE preview color - intensity +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +!TP_LOCALLAB_COLORSCOPE;Scope (color tools) +!TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +!TP_LOCALLAB_COLOR_CIE;Color curve +!TP_LOCALLAB_COLOR_TOOLNAME;Color & Light +!TP_LOCALLAB_COL_NAME;Name +!TP_LOCALLAB_COL_VIS;Status +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRAST;Contrast +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CONTTHR;Contrast Threshold +!TP_LOCALLAB_CONTWFRA;Local contrast +!TP_LOCALLAB_CSTHRESHOLD;Wavelet levels +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve +!TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DEHAFRA;Dehaze +!TP_LOCALLAB_DEHAZ;Strength +!TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. +!TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_EXP;Denoise +!TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. +!TP_LOCALLAB_DEPTH;Depth +!TP_LOCALLAB_DETAIL;Local contrast +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILSH;Details +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_DUPLSPOTNAME;Copy +!TP_LOCALLAB_EDGFRA;Edge sharpness +!TP_LOCALLAB_EDGSHOW;Show all tools +!TP_LOCALLAB_ELI;Ellipse +!TP_LOCALLAB_ENABLE_AFTER_MASK;Use Tone Mapping +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EPSBL;Detail +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EV_NVIS;Hide +!TP_LOCALLAB_EV_NVIS_ALL;Hide all +!TP_LOCALLAB_EV_VIS;Show +!TP_LOCALLAB_EV_VIS_ALL;Show all +!TP_LOCALLAB_EXCLUF;Excluding +!TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +!TP_LOCALLAB_EXCLUTYPE;Spot method +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXECLU;Excluding spot +!TP_LOCALLAB_EXFULL;Full image +!TP_LOCALLAB_EXNORM;Normal spot +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA;Chroma compensation +!TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. +!TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust color, lightness, contrast and correct small defects such as red-eye, sensor dust etc. +!TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ +!TP_LOCALLAB_EXPCOMPINV;Exposure compensation +!TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPCURV;Curves +!TP_LOCALLAB_EXPGRAD;Graduated Filter +!TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_EXPTOOL;Exposure Tools +!TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure +!TP_LOCALLAB_FATAMOUNT;Amount +!TP_LOCALLAB_FATANCHOR;Anchor +!TP_LOCALLAB_FATDETAIL;Detail +!TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). +!TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform +!TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform +!TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAM;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMFRA;Tone response curve (TRC) +!TP_LOCALLAB_GAMM;Gamma +!TP_LOCALLAB_GAMMASKCOL;Gamma +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMSH;Gamma +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADANG;Gradient angle +!TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. +!TP_LOCALLAB_GRADFRA;Graduated Filter Mask +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance +!TP_LOCALLAB_GRADSTR;Gradient strength +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRADSTRLUM;Luma gradient strength +!TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +!TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +!TP_LOCALLAB_GRIDONE;Color Toning +!TP_LOCALLAB_GRIDTWO;Direct +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER;Guided filter radius +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. +!TP_LOCALLAB_INVERS;Inverse +!TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_ISOGR;Distribution (ISO) +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLIGHT;Brightness +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSAT;Saturation +!TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABBLURM;Blur Mask +!TP_LOCALLAB_LABEL;Local Adjustments +!TP_LOCALLAB_LABGRID;Color correction grid +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV;Wavelet levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTNESS;Lightness +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LIGHTRETI;Lightness +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_NAME;Add tool to current spot... +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRAST;Local Contrast & Wavelets +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOG;Log Encoding +!TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments +!TP_LOCALLAB_LOG2FRA;Viewing Conditions +!TP_LOCALLAB_LOGAUTO;Automatic +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +!TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. +!TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGEXP;All tools +!TP_LOCALLAB_LOGFRA;Scene Conditions +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode). +!TP_LOCALLAB_LOGLIGHTL;Lightness (J) +!TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration. +!TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART;Overall strength +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LOG_TOOLNAME;Log Encoding +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMADARKEST;Darkest +!TP_LOCALLAB_LUMASK;Background color/luma mask +!TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). +!TP_LOCALLAB_LUMAWHITESEST;Lightest +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASK;Curves +!TP_LOCALLAB_MASK2;Contrast curve +!TP_LOCALLAB_MASKCOM;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDDECAY;Decay strength +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. +!TP_LOCALLAB_MASKRECOTHRES;Recovery threshold +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERCOL;Color +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOR;Color Dodge +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHI;Color Burn +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MODE_EXPERT;Advanced +!TP_LOCALLAB_MODE_NORMAL;Standard +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MRONE;None +!TP_LOCALLAB_MRTHR;Original Image +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NEIGH;Radius +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLDET;Detail recovery +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NLLUM;Strength +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NOISEMETH;Denoise +!TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. +!TP_LOCALLAB_NONENOISE;None +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_OFFS;Offset +!TP_LOCALLAB_OFFSETWAV;Offset +!TP_LOCALLAB_OPACOL;Opacity +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PASTELS2;Vibrance +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_PREVHIDE;Hide additional settings +!TP_LOCALLAB_PREVIEW;Preview ΔE +!TP_LOCALLAB_PREVSHOW;Show additional settings +!TP_LOCALLAB_PROXI;ΔE decay +!TP_LOCALLAB_QUAAGRES;Aggressive +!TP_LOCALLAB_QUACONSER;Conservative +!TP_LOCALLAB_QUALCURV_METHOD;Curve type +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS;Radius +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RECT;Rectangle +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name +!TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot +!TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESID;Residual Image +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RESIDHI;Highlights +!TP_LOCALLAB_RESIDHITHR;Highlights threshold +!TP_LOCALLAB_RESIDSHA;Shadows +!TP_LOCALLAB_RESIDSHATHR;Shadows threshold +!TP_LOCALLAB_RETI;Dehaze & Retinex +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex +!TP_LOCALLAB_REWEI;Reweighting iterates +!TP_LOCALLAB_RGB;RGB Tone Curve +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_ROW_NVIS;Not visible +!TP_LOCALLAB_ROW_VIS;Visible +!TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. +!TP_LOCALLAB_SATUR;Saturation +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSI;Scope +!TP_LOCALLAB_SENSIEXCLU;Scope +!TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +!TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +!TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. +!TP_LOCALLAB_SETTINGS;Settings +!TP_LOCALLAB_SH1;Shadows Highlights +!TP_LOCALLAB_SH2;Equalizer +!TP_LOCALLAB_SHADEX;Shadows +!TP_LOCALLAB_SHADEXCOMP;Shadow compression +!TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHAMASKCOL;Shadows +!TP_LOCALLAB_SHAPETYPE;RT-spot shape +!TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +!TP_LOCALLAB_SHARAMOUNT;Amount +!TP_LOCALLAB_SHARBLUR;Blur radius +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHARITER;Iterations +!TP_LOCALLAB_SHARP;Sharpening +!TP_LOCALLAB_SHARP_TOOLNAME;Sharpening +!TP_LOCALLAB_SHARRADIUS;Radius +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASK;Show mask +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise +!TP_LOCALLAB_SHOWMASKTYP2;Denoise +!TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWREF;Preview ΔE +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMAWAV;Attenuation response +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTM;Soft Light +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SOURCE_ABS;Absolute luminance +!TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_SPOTNAME;New Spot +!TP_LOCALLAB_STD;Standard +!TP_LOCALLAB_STR;Strength +!TP_LOCALLAB_STRBL;Strength +!TP_LOCALLAB_STREN;Compression strength +!TP_LOCALLAB_STRENG;Strength +!TP_LOCALLAB_STRENGR;Strength +!TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). +!TP_LOCALLAB_STRENGTH;Noise +!TP_LOCALLAB_STRGRID;Strength +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_TARGET_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM;Tone Mapping +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSIT;Transition Gradient +!TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY +!TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. +!TP_LOCALLAB_TRANSITVALUE;Transition value +!TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) +!TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WARM;Warm/Cool & Color artifacts +!TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the color temperature of the selected area warmer or cooler.\nIt can also reduce color artifacts in some cases. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAV;Local contrast +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVDEN;Luminance denoise +!TP_LOCALLAB_WAVE;Wavelets +!TP_LOCALLAB_WAVEDG;Local contrast +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK;Local contrast +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. !TP_METADATA_EDIT;Apply modifications !TP_METADATA_MODE;Metadata copy mode !TP_METADATA_STRIP;Strip all metadata !TP_METADATA_TUNNEL;Copy unchanged !TP_NEUTRAL;Reset -!TP_NEUTRAL_TIP;Resets exposure sliders to neutral values.\nApplies to the same controls that Auto Levels applies to, regardless of whether you used Auto Levels or not. +!TP_NEUTRAL_TOOLTIP;Resets exposure sliders to neutral values.\nApplies to the same controls that Auto Levels applies to, regardless of whether you used Auto Levels or not. !TP_PCVIGNETTE_FEATHER;Feather !TP_PCVIGNETTE_FEATHER_TOOLTIP;Feathering:\n0 = corners only,\n50 = halfway to center,\n100 = to center. !TP_PCVIGNETTE_LABEL;Vignette Filter @@ -1808,8 +3441,29 @@ !TP_PCVIGNETTE_STRENGTH;Strength !TP_PCVIGNETTE_STRENGTH_TOOLTIP;Filter strength in stops (reached in corners). !TP_PDSHARPENING_LABEL;Capture Sharpening +!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor +!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length +!TP_PERSPECTIVE_CAMERA_FRAME;Correction +!TP_PERSPECTIVE_CAMERA_PITCH;Vertical +!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_CAMERA_YAW;Horizontal +!TP_PERSPECTIVE_CONTROL_LINES;Control lines +!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +!TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. !TP_PERSPECTIVE_HORIZONTAL;Horizontal !TP_PERSPECTIVE_LABEL;Perspective +!TP_PERSPECTIVE_METHOD;Method +!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based +!TP_PERSPECTIVE_METHOD_SIMPLE;Simple +!TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment +!TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +!TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +!TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +!TP_PERSPECTIVE_RECOVERY_FRAME;Recovery !TP_PERSPECTIVE_VERTICAL;Vertical !TP_PFCURVE_CURVEEDITOR_CH;Hue !TP_PFCURVE_CURVEEDITOR_CH_TOOLTIP;Controls defringe strength by color.\nHigher = more,\nLower = less. @@ -1827,11 +3481,15 @@ !TP_PREPROCESS_LINEDENOISE_DIRECTION_VERTICAL;Vertical !TP_PREPROCESS_NO_FOUND;None found !TP_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!TP_PREPROCWB_LABEL;Preprocess White Balance +!TP_PREPROCWB_MODE;Mode +!TP_PREPROCWB_MODE_AUTO;Auto +!TP_PREPROCWB_MODE_CAMERA;Camera !TP_PRSHARPENING_LABEL;Post-Resize Sharpening -!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the "Lanczos" resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. +!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the 'Lanczos' resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. !TP_RAWCACORR_AUTO;Auto-correction !TP_RAWCACORR_AUTOIT;Iterations -!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if "Auto-correction" is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. +!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if 'Auto-correction' is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. !TP_RAWCACORR_AVOIDCOLORSHIFT;Avoid color shift !TP_RAWCACORR_CABLUE;Blue !TP_RAWCACORR_CARED;Red @@ -1852,9 +3510,11 @@ !TP_RAW_4PASS;3-pass+fast !TP_RAW_AHD;AHD !TP_RAW_AMAZE;AMaZE +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear !TP_RAW_AMAZEVNG4;AMaZE+VNG4 !TP_RAW_BORDER;Border !TP_RAW_DCB;DCB +!TP_RAW_DCBBILINEAR;DCB+Bilinear !TP_RAW_DCBENHANCE;DCB enhancement !TP_RAW_DCBITERATIONS;Number of DCB iterations !TP_RAW_DCBVNG4;DCB+VNG4 @@ -1882,6 +3542,8 @@ !TP_RAW_MONO;Mono !TP_RAW_NONE;None (Shows sensor pattern) !TP_RAW_PIXELSHIFT;Pixel Shift +!TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTBLUR;Blur motion mask !TP_RAW_PIXELSHIFTDMETHOD;Demosaic method for motion !TP_RAW_PIXELSHIFTEPERISO;Sensitivity @@ -1892,7 +3554,7 @@ !TP_RAW_PIXELSHIFTEQUALBRIGHT_TOOLTIP;Equalize the brightness of the frames to the brightness of the selected frame.\nIf there are overexposed areas in the frames select the brightest frame to avoid magenta color cast in overexposed areas or enable motion correction. !TP_RAW_PIXELSHIFTGREEN;Check green channel for motion !TP_RAW_PIXELSHIFTHOLEFILL;Fill holes in motion mask -!TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask +!TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask. !TP_RAW_PIXELSHIFTMEDIAN;Use median for moving parts !TP_RAW_PIXELSHIFTMEDIAN_TOOLTIP;Use median of all frames instead of selected frame for regions with motion.\nRemoves objects which are at different places in all frames.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTMM_AUTO;Automatic @@ -1907,11 +3569,12 @@ !TP_RAW_PIXELSHIFTSIGMA;Blur radius !TP_RAW_PIXELSHIFTSIGMA_TOOLTIP;The default radius of 1.0 usually fits well for base ISO.\nIncrease the value for high ISO shots, 5.0 is a good starting point.\nWatch the motion mask while changing the value. !TP_RAW_PIXELSHIFTSMOOTH;Smooth transitions -!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether "Use LMMSE" is selected), or the median of all four frames if "Use median" is selected. +!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether 'Use LMMSE' is selected), or the median of all four frames if 'Use median' is selected. !TP_RAW_RCD;RCD +!TP_RAW_RCDBILINEAR;RCD+Bilinear !TP_RAW_RCDVNG4;RCD+VNG4 !TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix -!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas +!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas. !TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix !TP_RAW_VNG4;VNG4 !TP_RAW_XTRANS;X-Trans @@ -1925,9 +3588,13 @@ !TP_RESIZE_HEIGHT;Height !TP_RESIZE_LABEL;Resize !TP_RESIZE_LANCZOS;Lanczos +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge !TP_RESIZE_METHOD;Method: !TP_RESIZE_NEAREST;Nearest !TP_RESIZE_SCALE;Scale +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge !TP_RESIZE_SPECIFY;Specify: !TP_RESIZE_W;Width: !TP_RESIZE_WIDTH;Width @@ -1938,7 +3605,7 @@ !TP_RETINEX_CURVEEDITOR_CD;L=f(L) !TP_RETINEX_CURVEEDITOR_CD_TOOLTIP;Luminance according to luminance L=f(L)\nCorrect raw data to reduce halos and artifacts. !TP_RETINEX_CURVEEDITOR_LH;Strength=f(H) -!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the "Highlight" retinex method. +!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the 'Highlight' retinex method. !TP_RETINEX_CURVEEDITOR_MAP;L=f(L) !TP_RETINEX_CURVEEDITOR_MAP_TOOLTIP;This curve can be applied alone or with a Gaussian mask or wavelet mask.\nBeware of artifacts! !TP_RETINEX_EQUAL;Equalizer @@ -1946,7 +3613,7 @@ !TP_RETINEX_GAIN;Gain !TP_RETINEX_GAINOFFS;Gain and Offset (brightness) !TP_RETINEX_GAINTRANSMISSION;Gain transmission -!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplify or reduce the transmission map to achieve the desired luminance.\nThe x-axis is the transmission.\nThe y-axis is the gain. +!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Increase or reduce the transmission map to achieve the desired luminance. The x-axis is the transmission. The y-axis is the gain. !TP_RETINEX_GAMMA;Gamma !TP_RETINEX_GAMMA_FREE;Free !TP_RETINEX_GAMMA_HIGH;High @@ -1961,7 +3628,7 @@ !TP_RETINEX_HIGH;High !TP_RETINEX_HIGHLIG;Highlight !TP_RETINEX_HIGHLIGHT;Highlight threshold -!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust "Neighboring pixels" and to increase the "White-point correction" in the Raw tab -> Raw White Points tool. +!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust 'Neighboring pixels' and to increase the 'White-point correction' in the Raw tab -> Raw White Points tool. !TP_RETINEX_HSLSPACE_LIN;HSL-Linear !TP_RETINEX_HSLSPACE_LOG;HSL-Logarithmic !TP_RETINEX_ITER;Iterations (Tone-mapping) @@ -1980,11 +3647,11 @@ !TP_RETINEX_MEDIAN;Transmission median filter !TP_RETINEX_METHOD;Method !TP_RETINEX_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Equalize action.\nHigh = Reinforce high light.\nHighlights = Remove magenta in highlights. -!TP_RETINEX_MLABEL;Restored haze-free Min=%1 Max=%2 -!TP_RETINEX_MLABEL_TOOLTIP;Should be near min=0 max=32768\nRestored image with no mixture. +!TP_RETINEX_MLABEL;Restored data Min=%1 Max=%2 +!TP_RETINEX_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. !TP_RETINEX_NEIGHBOR;Radius !TP_RETINEX_NEUTRAL;Reset -!TP_RETINEX_NEUTRAL_TIP;Reset all sliders and curves to their default values. +!TP_RETINEX_NEUTRAL_TOOLTIP;Reset all sliders and curves to their default values. !TP_RETINEX_OFFSET;Offset (brightness) !TP_RETINEX_SCALES;Gaussian gradient !TP_RETINEX_SCALES_TOOLTIP;If slider at 0, all iterations are identical.\nIf > 0 Scale and radius are reduced when iterations increase, and conversely. @@ -1994,9 +3661,9 @@ !TP_RETINEX_STRENGTH;Strength !TP_RETINEX_THRESHOLD;Threshold !TP_RETINEX_THRESHOLD_TOOLTIP;Limits in/out.\nIn = image source,\nOut = image gauss. -!TP_RETINEX_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sigma=%4 -!TP_RETINEX_TLABEL2;TM Tm=%1 TM=%2 -!TP_RETINEX_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nMean and Sigma.\nTm=Min TM=Max of transmission map. +!TP_RETINEX_TLABEL;TM Datas Min=%1 Max=%2 Mean=%3 Sigma=%4 +!TP_RETINEX_TLABEL2;TM Effective Tm=%1 TM=%2 +!TP_RETINEX_TLABEL_TOOLTIP;ransmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. !TP_RETINEX_TRANF;Transmission !TP_RETINEX_TRANSMISSION;Transmission map !TP_RETINEX_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positives values (max).\nOrdinate: amplification or reduction. @@ -2005,7 +3672,7 @@ !TP_RETINEX_VARIANCE_TOOLTIP;Low variance increase local contrast and saturation, but can lead to artifacts. !TP_RETINEX_VIEW;Process !TP_RETINEX_VIEW_MASK;Mask -!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. +!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. !TP_RETINEX_VIEW_NONE;Standard !TP_RETINEX_VIEW_TRAN;Transmission - Auto !TP_RETINEX_VIEW_TRAN2;Transmission - Fixed @@ -2020,7 +3687,7 @@ !TP_ROTATE_DEGREE;Degree !TP_ROTATE_LABEL;Rotate !TP_ROTATE_SELECTLINE;Select Straight Line -!TP_SAVEDIALOG_OK_TIP;Shortcut: Ctrl-Enter +!TP_SAVEDIALOG_OK_TOOLTIP;Shortcut: Ctrl-Enter !TP_SHADOWSHLIGHTS_HIGHLIGHTS;Highlights !TP_SHADOWSHLIGHTS_HLTONALW;Highlights tonal width !TP_SHADOWSHLIGHTS_LABEL;Shadows/Highlights @@ -2057,6 +3724,11 @@ !TP_SHARPENMICRO_UNIFORMITY;Uniformity !TP_SOFTLIGHT_LABEL;Soft Light !TP_SOFTLIGHT_STRENGTH;Strength +!TP_SPOT_COUNTLABEL;%1 point(s) +!TP_SPOT_DEFAULT_SIZE;Default spot size +!TP_SPOT_ENTRYCHANGED;Point changed +!TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its center then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. +!TP_SPOT_LABEL;Spot Removal !TP_TM_FATTAL_AMOUNT;Amount !TP_TM_FATTAL_ANCHOR;Anchor !TP_TM_FATTAL_LABEL;Dynamic Range Compression @@ -2068,9 +3740,9 @@ !TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE2;Red !TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE3;Red/Yellow !TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE4;Yellow -!TP_VIBRANCE_CURVEEDITOR_SKINTONES_TOOLTIP;Hue according to hue H=f(H) +!TP_VIBRANCE_CURVEEDITOR_SKINTONES_TOOLTIP;Hue according to hue H=f(H). !TP_VIBRANCE_LABEL;Vibrance -!TP_VIBRANCE_PASTELS;Pastel Tones +!TP_VIBRANCE_PASTELS;Pastel tones !TP_VIBRANCE_PASTSATTOG;Link pastel and saturated tones !TP_VIBRANCE_PROTECTSKINS;Protect skin-tones !TP_VIBRANCE_PSTHRESHOLD;Pastel/saturated tones threshold @@ -2094,7 +3766,7 @@ !TP_WAVELET_7;Level 7 !TP_WAVELET_8;Level 8 !TP_WAVELET_9;Level 9 -!TP_WAVELET_APPLYTO;Apply To +!TP_WAVELET_APPLYTO;Apply to !TP_WAVELET_AVOID;Avoid color shift !TP_WAVELET_B0;Black !TP_WAVELET_B1;Gray @@ -2104,12 +3776,18 @@ !TP_WAVELET_BALANCE;Contrast balance d/v-h !TP_WAVELET_BALANCE_TOOLTIP;Alters the balance between the wavelet directions: vertical-horizontal and diagonal.\nIf contrast, chroma or residual tone mapping are activated, the effect due to balance is amplified. !TP_WAVELET_BALCHRO;Chroma balance +!TP_WAVELET_BALCHROM;Equalizer Color !TP_WAVELET_BALCHRO_TOOLTIP;If enabled, the 'Contrast balance' curve or slider also modifies chroma balance. +!TP_WAVELET_BALLUM;Denoise equalizer White-Black !TP_WAVELET_BANONE;None !TP_WAVELET_BASLI;Slider !TP_WAVELET_BATYPE;Contrast balance method -!TP_WAVELET_CBENAB;Toning and Color Balance -!TP_WAVELET_CB_TOOLTIP;For strong values product color-toning by combining it or not with levels decomposition 'toning'\nFor low values you can change the white balance of the background (sky, ...) without changing that of the front plane, generally more contrasted +!TP_WAVELET_BL;Blur levels +!TP_WAVELET_BLCURVE;Blur by levels +!TP_WAVELET_BLURFRAME;Blur +!TP_WAVELET_BLUWAV;Attenuation response +!TP_WAVELET_CBENAB;Toning and Color balance +!TP_WAVELET_CB_TOOLTIP;With high values you can create special effects, similar to those achieved with the Chroma Module, but focused on the residual image\nWith moderate values you can manually correct the white balance. !TP_WAVELET_CCURVE;Local contrast !TP_WAVELET_CH1;Whole chroma range !TP_WAVELET_CH2;Saturated/pastel @@ -2117,29 +3795,42 @@ !TP_WAVELET_CHCU;Curve !TP_WAVELET_CHR;Chroma-contrast link strength !TP_WAVELET_CHRO;Saturated/pastel threshold +!TP_WAVELET_CHROFRAME;Denoise chrominance +!TP_WAVELET_CHROMAFRAME;Chroma +!TP_WAVELET_CHROMCO;Chrominance Coarse +!TP_WAVELET_CHROMFI;Chrominance Fine !TP_WAVELET_CHRO_TOOLTIP;Sets the wavelet level which will be the threshold between saturated and pastel colors.\n1-x: saturated\nx-9: pastel\n\nIf the value exceeds the amount of wavelet levels you are using then it will be ignored. -!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of "contrast levels" and "chroma-contrast link strength" +!TP_WAVELET_CHRWAV;Blur chroma +!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of 'contrast levels' and 'chroma-contrast link strength'. !TP_WAVELET_CHSL;Sliders !TP_WAVELET_CHTYPE;Chrominance method -!TP_WAVELET_COLORT;Opacity Red-Green +!TP_WAVELET_CLA;Clarity +!TP_WAVELET_CLARI;Sharp-mask and Clarity +!TP_WAVELET_COLORT;Opacity red-green !TP_WAVELET_COMPCONT;Contrast +!TP_WAVELET_COMPEXPERT;Advanced !TP_WAVELET_COMPGAMMA;Compression gamma !TP_WAVELET_COMPGAMMA_TOOLTIP;Adjusting the gamma of the residual image allows you to equilibrate the data and histogram. +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. +!TP_WAVELET_COMPNORMAL;Standard !TP_WAVELET_COMPTM;Tone mapping !TP_WAVELET_CONTEDIT;'After' contrast curve +!TP_WAVELET_CONTFRAME;Contrast - Compression !TP_WAVELET_CONTR;Gamut !TP_WAVELET_CONTRA;Contrast !TP_WAVELET_CONTRAST_MINUS;Contrast - !TP_WAVELET_CONTRAST_PLUS;Contrast + -!TP_WAVELET_CONTRA_TOOLTIP;Changes contrast of the residual image. +!TP_WAVELET_CONTRA_TOOLTIP;Changes the residual image contrast. !TP_WAVELET_CTYPE;Chrominance control +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. !TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;Modifies local contrast as a function of the original local contrast (abscissa).\nLow abscissa values represent small local contrast (real values about 10..20).\n50% abscissa represents average local contrast (real value about 100..300).\n66% abscissa represents standard deviation of local contrast (real value about 300..800).\n100% abscissa represents maximum local contrast (real value about 3000..8000). !TP_WAVELET_CURVEEDITOR_CH;Contrast levels=f(Hue) !TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Modifies each level's contrast as a function of hue.\nTake care not to overwrite changes made with the Gamut sub-tool's hue controls.\nThe curve will only have an effect when wavelet contrast level sliders are non-zero. !TP_WAVELET_CURVEEDITOR_CL;L -!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast luminance curve at the end of the wavelet treatment. +!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast-luminance curve at the end of the wavelet processing. !TP_WAVELET_CURVEEDITOR_HH;HH -!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image's hue as a function of hue. +!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image hue as a function of hue. !TP_WAVELET_DALL;All directions !TP_WAVELET_DAUB;Edge performance !TP_WAVELET_DAUB2;D2 - low @@ -2147,62 +3838,101 @@ !TP_WAVELET_DAUB6;D6 - standard plus !TP_WAVELET_DAUB10;D10 - medium !TP_WAVELET_DAUB14;D14 - high -!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the firsts levels. However the quality is not strictly related to this coefficient and can vary with images and uses. +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the first levels. However the quality is not strictly related to this coefficient and can vary depending on image and use. +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENOISEHUE;Denoise hue equalizer +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_DIRFRAME;Directional contrast !TP_WAVELET_DONE;Vertical !TP_WAVELET_DTHR;Diagonal !TP_WAVELET_DTWO;Horizontal !TP_WAVELET_EDCU;Curve +!TP_WAVELET_EDEFFECT;Attenuation response +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. !TP_WAVELET_EDGCONT;Local contrast -!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+stdev and maxima. -!TP_WAVELET_EDGE;Edge Sharpness +!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+std. dev. and maxima. +!TP_WAVELET_EDGE;Edge sharpness !TP_WAVELET_EDGEAMPLI;Base amplification !TP_WAVELET_EDGEDETECT;Gradient sensitivity !TP_WAVELET_EDGEDETECTTHR;Threshold low (noise) -!TP_WAVELET_EDGEDETECTTHR2;Threshold high (detection) -!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This adjuster lets you target edge detection for example to avoid applying edge sharpness to fine details, such as noise in the sky. +!TP_WAVELET_EDGEDETECTTHR2;Edge enhancement +!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This slider sets a threshold below which finer details won't be considered as an edge. !TP_WAVELET_EDGEDETECT_TOOLTIP;Moving the slider to the right increases edge sensitivity. This affects local contrast, edge settings and noise. !TP_WAVELET_EDGESENSI;Edge sensitivity !TP_WAVELET_EDGREINF_TOOLTIP;Reinforce or reduce the action of the first level, do the opposite to the second level, and leave the rest unchanged. !TP_WAVELET_EDGTHRESH;Detail !TP_WAVELET_EDGTHRESH_TOOLTIP;Change the repartition between the first levels and the others. The higher the threshold the more the action is centered on the first levels. Be careful with negative values, they increase the action of high levels and can introduce artifacts. !TP_WAVELET_EDRAD;Radius -!TP_WAVELET_EDRAD_TOOLTIP;This radius adjustment is very different from those in other sharpening tools. Its value is compared to each level through a complex function. In this sense, a value of zero still has an effect. -!TP_WAVELET_EDSL;Threshold Sliders +!TP_WAVELET_EDRAD_TOOLTIP;This adjustment controls the local enhancement. A value of zero still has an effect. +!TP_WAVELET_EDSL;Threshold sliders !TP_WAVELET_EDTYPE;Local contrast method !TP_WAVELET_EDVAL;Strength !TP_WAVELET_FINAL;Final Touchup +!TP_WAVELET_FINCFRAME;Final local contrast !TP_WAVELET_FINEST;Finest -!TP_WAVELET_HIGHLIGHT;Highlight luminance range +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) +!TP_WAVELET_HIGHLIGHT;Finer levels luminance range !TP_WAVELET_HS1;Whole luminance range -!TP_WAVELET_HS2;Shadows/Highlights +!TP_WAVELET_HS2;Selective luminance range !TP_WAVELET_HUESKIN;Skin hue !TP_WAVELET_HUESKIN_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. -!TP_WAVELET_HUESKY;Sky hue +!TP_WAVELET_HUESKY;Hue range !TP_WAVELET_HUESKY_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. !TP_WAVELET_ITER;Delta balance levels !TP_WAVELET_ITER_TOOLTIP;Left: increase low levels and reduce high levels,\nRight: reduce low levels and increase high levels. -!TP_WAVELET_LABEL;Wavelet Levels +!TP_WAVELET_LABEL;Wavelet levels +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 !TP_WAVELET_LARGEST;Coarsest !TP_WAVELET_LEVCH;Chroma -!TP_WAVELET_LEVDIR_ALL;All levels in all directions -!TP_WAVELET_LEVDIR_INF;Below or equal the level +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVDIR_ALL;All levels, in all directions +!TP_WAVELET_LEVDIR_INF;Finer detail levels, including selected level !TP_WAVELET_LEVDIR_ONE;One level -!TP_WAVELET_LEVDIR_SUP;Above the level +!TP_WAVELET_LEVDIR_SUP;Coarser detail levels, excluding selected level +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 !TP_WAVELET_LEVELS;Wavelet levels -!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of detail levels the image is to be decomposed into. More levels require more RAM and require a longer processing time. +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of wavelet decomposition levels for the image.\nMore levels require more RAM and require a longer processing time. !TP_WAVELET_LEVF;Contrast +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold !TP_WAVELET_LEVLABEL;Preview maximum possible levels = %1 !TP_WAVELET_LEVONE;Level 2 !TP_WAVELET_LEVTHRE;Level 4 !TP_WAVELET_LEVTWO;Level 3 !TP_WAVELET_LEVZERO;Level 1 -!TP_WAVELET_LINKEDG;Link with Edge Sharpness' Strength +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_LINKEDG;Link to Edge Sharpness Strength !TP_WAVELET_LIPST;Enhanced algoritm -!TP_WAVELET_LOWLIGHT;Shadow luminance range +!TP_WAVELET_LOWLIGHT;Coarser levels luminance range +!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. !TP_WAVELET_MEDGREINF;First level !TP_WAVELET_MEDI;Reduce artifacts in blue sky !TP_WAVELET_MEDILEV;Edge detection !TP_WAVELET_MEDILEV_TOOLTIP;When you enable Edge Detection, it is recommanded:\n- to disabled low contrast levels to avoid artifacts,\n- to use high values of gradient sensitivity.\n\nYou can modulate the strength with 'refine' from Denoise and Refine. +!TP_WAVELET_MERGEC;Merge chroma +!TP_WAVELET_MERGEL;Merge luma +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise !TP_WAVELET_NEUTRAL;Neutral !TP_WAVELET_NOIS;Denoise !TP_WAVELET_NOISE;Denoise and Refine @@ -2211,50 +3941,81 @@ !TP_WAVELET_NPNONE;None !TP_WAVELET_NPTYPE;Neighboring pixels !TP_WAVELET_NPTYPE_TOOLTIP;This algorithm uses the proximity of a pixel and eight of its neighbors. If less difference, edges are reinforced. -!TP_WAVELET_OPACITY;Opacity Blue-Yellow +!TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. +!TP_WAVELET_OLDSH;Algorithm using negatives values +!TP_WAVELET_OPACITY;Opacity blue-yellow !TP_WAVELET_OPACITYW;Contrast balance d/v-h curve -!TP_WAVELET_OPACITYWL;Final local contrast +!TP_WAVELET_OPACITYWL;Local contrast !TP_WAVELET_OPACITYWL_TOOLTIP;Modify the final local contrast at the end of the wavelet treatment.\n\nThe left side represents the smallest local contrast, progressing to the largest local contrast on the right. !TP_WAVELET_PASTEL;Pastel chroma !TP_WAVELET_PROC;Process +!TP_WAVELET_PROTAB;Protection +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_RADIUS;Radius shadows - highlight +!TP_WAVELET_RANGEAB;Range a and b % !TP_WAVELET_RE1;Reinforced !TP_WAVELET_RE2;Unchanged !TP_WAVELET_RE3;Reduced -!TP_WAVELET_RESCHRO;Chroma +!TP_WAVELET_RESBLUR;Blur luminance +!TP_WAVELET_RESBLURC;Blur chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. +!TP_WAVELET_RESCHRO;Strength !TP_WAVELET_RESCON;Shadows !TP_WAVELET_RESCONH;Highlights !TP_WAVELET_RESID;Residual Image !TP_WAVELET_SAT;Saturated chroma !TP_WAVELET_SETTINGS;Wavelet Settings +!TP_WAVELET_SHA;Sharp mask +!TP_WAVELET_SHFRAME;Shadows/Highlights +!TP_WAVELET_SHOWMASK;Show wavelet 'mask' +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_SIGMA;Attenuation response +!TP_WAVELET_SIGMAFIN;Attenuation response +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. !TP_WAVELET_SKIN;Skin targetting/protection !TP_WAVELET_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. -!TP_WAVELET_SKY;Sky targetting/protection -!TP_WAVELET_SKY_TOOLTIP;At -100 sky-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 sky-tones are protected while all other tones are affected. -!TP_WAVELET_STREN;Strength +!TP_WAVELET_SKY;Hue targetting/protection +!TP_WAVELET_SKY_TOOLTIP;Allows you to target or protect a range of hues.\nAt -100 selected hues are targetted.\nAt 0 all hues are treated equally.\nAt +100 selected hues are protected while all other hues are targetted. +!TP_WAVELET_SOFTRAD;Soft radius +!TP_WAVELET_STREN;Refine +!TP_WAVELET_STREND;Strength !TP_WAVELET_STRENGTH;Strength !TP_WAVELET_SUPE;Extra !TP_WAVELET_THR;Shadows threshold -!TP_WAVELET_THRESHOLD;Highlight levels -!TP_WAVELET_THRESHOLD2;Shadow levels -!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels between 9 and 9 minus the value will be affected by the shadow luminance range. Other levels will be fully treated. The highest level possible is limited by the highlight level value (9 minus highlight level value). -!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels beyond the chosen value will be affected by the highlight luminance range. Other levels will be fully treated. The chosen value here limits the highest possible value of the shadow levels. +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_THRESHOLD;Finer levels +!TP_WAVELET_THRESHOLD2;Coarser levels +!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels from the chosen value to the selected number of 'wavelet levels' will be affected by the Shadow luminance range. +!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels below and including the chosen value will be affected by the Highlight luminance range. !TP_WAVELET_THRH;Highlights threshold -!TP_WAVELET_TILESBIG;Big tiles +!TP_WAVELET_TILESBIG;Tiles !TP_WAVELET_TILESFULL;Full image !TP_WAVELET_TILESIZE;Tiling method -!TP_WAVELET_TILESLIT;Little tiles !TP_WAVELET_TILES_TOOLTIP;Processing the full image leads to better quality and is the recommended option, while using tiles is a fall-back solution for users with little RAM. Refer to RawPedia for memory requirements. +!TP_WAVELET_TMEDGS;Edge stopping +!TP_WAVELET_TMSCALE;Scale !TP_WAVELET_TMSTRENGTH;Compression strength -!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out. +!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. !TP_WAVELET_TMTYPE;Compression method !TP_WAVELET_TON;Toning +!TP_WAVELET_TONFRAME;Excluded colors +!TP_WAVELET_USH;None +!TP_WAVELET_USHARP;Clarity method +!TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. +!TP_WAVELET_WAVLOWTHR;Low contrast threshold +!TP_WAVELET_WAVOFFSET;Offset !TP_WBALANCE_AUTO;Auto +!TP_WBALANCE_AUTOITCGREEN;Temperature correlation +!TP_WBALANCE_AUTOOLD;RGB grey +!TP_WBALANCE_AUTO_HEADER;Automatic !TP_WBALANCE_CAMERA;Camera !TP_WBALANCE_CLOUDY;Cloudy !TP_WBALANCE_CUSTOM;Custom !TP_WBALANCE_DAYLIGHT;Daylight (sunny) !TP_WBALANCE_EQBLUERED;Blue/Red equalizer -!TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behavior of "white balance" by modulating the blue/red balance.\nThis can be useful when shooting conditions:\na) are far from the standard illuminant (e.g. underwater),\nb) are far from conditions where calibrations were performed,\nc) where the matrices or ICC profiles are unsuitable. +!TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behavior of 'white balance' by modulating the blue/red balance.\nThis can be useful when shooting conditions:\na) are far from the standard illuminant (e.g. underwater),\nb) are far from conditions where calibrations were performed,\nc) where the matrices or ICC profiles are unsuitable. !TP_WBALANCE_FLASH55;Leica !TP_WBALANCE_FLASH60;Standard, Canon, Pentax, Olympus !TP_WBALANCE_FLASH65;Nikon, Panasonic, Sony, Minolta @@ -2290,8 +4051,10 @@ !TP_WBALANCE_SOLUX47;Solux 4700K (vendor) !TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery) !TP_WBALANCE_SPOTWB;Use the pipette to pick the white balance from a neutral patch in the preview. +!TP_WBALANCE_STUDLABEL;Correlation factor: %1 +!TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. !TP_WBALANCE_TEMPBIAS;AWB temperature bias -!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias". +!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the 'auto white balance'\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by 'computedTemp + computedTemp * bias'. !TP_WBALANCE_TEMPERATURE;Temperature !TP_WBALANCE_TUNGSTEN;Tungsten !TP_WBALANCE_WATER1;UnderWater 1 diff --git a/rtdata/languages/Espanol (Castellano) b/rtdata/languages/Espanol (Castellano) new file mode 100644 index 000000000..ede64894f --- /dev/null +++ b/rtdata/languages/Espanol (Castellano) @@ -0,0 +1,4068 @@ +#01 Español - Castellano +#02 2022-10-08 Francisco Lorés y Javier Bartol, para la versión 5.9 + +ABOUT_TAB_BUILD;Versión +ABOUT_TAB_CREDITS;Reconocimientos +ABOUT_TAB_LICENSE;Licencia +ABOUT_TAB_RELEASENOTES;Notas sobre la versión +ABOUT_TAB_SPLASH;Pantalla inicial +ADJUSTER_RESET_TO_DEFAULT;Clic - restaurar al valor predeterminado.\nCtrl+clic - restaurar al valor inicial. +BATCH_PROCESSING;Revelado por lotes +CURVEEDITOR_AXIS_IN;E: +CURVEEDITOR_AXIS_LEFT_TAN;TI: +CURVEEDITOR_AXIS_OUT;S: +CURVEEDITOR_AXIS_RIGHT_TAN;TD: +CURVEEDITOR_CATMULLROM;Flexible +CURVEEDITOR_CURVE;Curva +CURVEEDITOR_CURVES;Curvas +CURVEEDITOR_CUSTOM;Personalizada +CURVEEDITOR_DARKS;Medios tonos oscuros +CURVEEDITOR_EDITPOINT_HINT;Activa la edición de los valores de entrada/salida de los nodos.\nPara seleccionar un nodo, se hace clic en él con el botón derecho.\nPara anular la selección del nodo, se hace clic con el botón derecho en alguna zona vacía. +CURVEEDITOR_HIGHLIGHTS;Luces +CURVEEDITOR_LIGHTS;Medios tonos claros +CURVEEDITOR_LINEAR;Lineal +CURVEEDITOR_LOADDLGLABEL;Cargar curva... +CURVEEDITOR_MINMAXCPOINTS;Ecualizador +CURVEEDITOR_NURBS;Jaula de control +CURVEEDITOR_PARAMETRIC;Paramétrica +CURVEEDITOR_SAVEDLGLABEL;Guardar curva... +CURVEEDITOR_SHADOWS;Sombras +CURVEEDITOR_TOOLTIPCOPY;Copia la curva actual al portapapeles. +CURVEEDITOR_TOOLTIPLINEAR;Restablece la curva a línea recta. +CURVEEDITOR_TOOLTIPLOAD;Carga una curva desde un archivo. +CURVEEDITOR_TOOLTIPPASTE;Pega la curva desde el portapapeles. +CURVEEDITOR_TOOLTIPSAVE;Guarda la curva actual. +CURVEEDITOR_TYPE;Tipo: +DIRBROWSER_FOLDERS;Carpetas +DONT_SHOW_AGAIN;No volver a mostrar este mensaje. +DYNPROFILEEDITOR_DELETE;Borrar +DYNPROFILEEDITOR_EDIT;Editar +DYNPROFILEEDITOR_EDIT_RULE;Editar la regla del perfil dinámico +DYNPROFILEEDITOR_ENTRY_TOOLTIP;El filtrado no distingue entre mayúsculas y minúsculas.\nPara introducir una expresión regular se utiliza el prefijo «re:». +DYNPROFILEEDITOR_IMGTYPE_ANY;Cualquiera +DYNPROFILEEDITOR_IMGTYPE_HDR;Alto rango dinámico (HDR) +DYNPROFILEEDITOR_IMGTYPE_PS;Pixel Shift +DYNPROFILEEDITOR_IMGTYPE_STD;Estándar +DYNPROFILEEDITOR_MOVE_DOWN;Mover hacia abajo +DYNPROFILEEDITOR_MOVE_UP;Mover hacia arriba +DYNPROFILEEDITOR_NEW;Nuevo +DYNPROFILEEDITOR_NEW_RULE;Nueva regla de perfil dinámico +DYNPROFILEEDITOR_PROFILE;Perfil de revelado +EDITWINDOW_TITLE;Edición de imagen +EDIT_OBJECT_TOOLTIP;Muestra una retícula auxiliar en la vista previa, que permite ajustar los diferentes parámetros de la herramienta. +EDIT_PIPETTE_TOOLTIP;Para agregar un punto de ajuste a la curva, se mantiene presionada la tecla Ctrl mientras se hace clic con el ratón sobre el lugar deseado de la vista previa.\nPara ajustar el punto, se mantiene presionada la tecla Ctrl mientras se hace clic sobre el área correspondiente de la vista previa, y a continuación se suelta la tecla Ctrl (a no ser que se necesite un control preciso) y se mueve el ratón hacia arriba o hacia abajo, con lo que el punto se moverá arriba o abajo en la curva. +EXIFFILTER_APERTURE;Apertura +EXIFFILTER_CAMERA;Cámara +EXIFFILTER_EXPOSURECOMPENSATION;Compensación de exposición (EV) +EXIFFILTER_FILETYPE;Tipo de archivo +EXIFFILTER_FOCALLEN;Distancia focal +EXIFFILTER_IMAGETYPE;Tipo de imagen +EXIFFILTER_ISO;ISO +EXIFFILTER_LENS;Objetivo +EXIFFILTER_METADATAFILTER;Activar los filtros de metadatos +EXIFFILTER_SHUTTER;Velocidad de obturación +EXIFPANEL_ADDEDIT;Agregar/Editar +EXIFPANEL_ADDEDITHINT;Agrega nuevo atributo o cambia atributo. +EXIFPANEL_ADDTAGDLG_ENTERVALUE;Introducir valor +EXIFPANEL_ADDTAGDLG_SELECTTAG;Seleccionar atributo +EXIFPANEL_ADDTAGDLG_TITLE;Agregar/Editar atributo +EXIFPANEL_KEEP;Conservar +EXIFPANEL_KEEPHINT;Conserva los atributos seleccionados al escribir el archivo. +EXIFPANEL_REMOVE;Borrar +EXIFPANEL_REMOVEHINT;Quita los atributos seleccionados al escribir el archivo. +EXIFPANEL_RESET;Restablecer +EXIFPANEL_RESETALL;Restablecer todo +EXIFPANEL_RESETALLHINT;Restablece todos los atributos a los valores predeterminados. +EXIFPANEL_RESETHINT;Restablece los atributos seleccionados a los valores predeterminados. +EXIFPANEL_SHOWALL;Mostrar todo +EXIFPANEL_SUBDIRECTORY;Subdirectorio +EXPORT_BYPASS;Pasos del revelado que se ignorarán +EXPORT_BYPASS_ALL;Seleccionar / Deseleccionar todo +EXPORT_BYPASS_DEFRINGE;Ignorar «Quitar borde púrpura» +EXPORT_BYPASS_DIRPYRDENOISE;Ignorar «Reducción de ruido» +EXPORT_BYPASS_DIRPYREQUALIZER;Ignorar «Contraste por niveles de detalle» +EXPORT_BYPASS_EQUALIZER;Ignorar «Niveles de ondícula» +EXPORT_BYPASS_RAW_CA;Ignorar «Corrección de aberración cromática [raw]» +EXPORT_BYPASS_RAW_CCSTEPS;Ignorar «Eliminación de colores falsos [raw]» +EXPORT_BYPASS_RAW_DCB_ENHANCE;Ignorar «Pasos de mejora de DCB [raw]» +EXPORT_BYPASS_RAW_DCB_ITERATIONS;Ignorar «Iteraciones de DCB [raw]» +EXPORT_BYPASS_RAW_DF;Ignorar «Foto negra [raw]» +EXPORT_BYPASS_RAW_FF;Ignorar «Imagen de Campo plano [raw]» +EXPORT_BYPASS_RAW_GREENTHRESH;Ignorar «Equilibrado de verdes [raw]» +EXPORT_BYPASS_RAW_LINENOISE;Ignorar «Filtro de ruido de línea [raw]» +EXPORT_BYPASS_RAW_LMMSE_ITERATIONS;Ignorar «Pasos de mejora de LMMSE [raw]» +EXPORT_BYPASS_SHARPENEDGE;Ignorar «Nitidez de bordes» +EXPORT_BYPASS_SHARPENING;Ignorar «Nitidez» +EXPORT_BYPASS_SHARPENMICRO;Ignorar «Microcontraste» +EXPORT_FASTEXPORTOPTIONS;Selección del tipo de Exportacion rápida +EXPORT_INSTRUCTIONS;La Exportación rápida pretende reducir la cantidad de recursos y tiempo necesarios para revelar las fotos.\n\nSe puede escoger entre reducir la imagen y procesarla con todas las herramientas, o procesar sólo con algunas herramientas y después reducir la imagen.\n\nSe recomienda la Exportación rápida cuando la velocidad es prioritaria, generando más rápidamente imágenes de menor resolución, o si se desea cambiar el tamaño de una o muchas imágenes sin modificar sus parámetros de revelado. +EXPORT_MAXHEIGHT;Altura máxima: +EXPORT_MAXWIDTH;Anchura máxima: +EXPORT_PIPELINE;Circuito de revelado +EXPORT_PUTTOQUEUEFAST;Enviar a la cola para exportación rápida +EXPORT_RAW_DMETHOD;Método de desentramado +EXPORT_USE_FAST_PIPELINE;Circuito rápido (cambia el tamaño al principio) +EXPORT_USE_FAST_PIPELINE_TOOLTIP;Usa un circuito de revelado que favorece la velocidad a costa de la calidad: el cambio de tamaño de la imagen se realiza lo antes posible, en lugar de hacerlo al final como en el circuito normal.\n\nEl incremento de velocidad puede ser importante, pero probablemente aparecerán artefactos de compresión y se producirá una degradación general de la calidad en el archivo de salida. +EXPORT_USE_NORMAL_PIPELINE;Circuito estándar (cambia el tamaño al final) +EXTPROGTARGET_1;raw +EXTPROGTARGET_2;revelado en la cola +FILEBROWSER_APPLYPROFILE;Aplicar perfil +FILEBROWSER_APPLYPROFILE_PARTIAL;Aplicar perfil (parcialmente) +FILEBROWSER_AUTODARKFRAME;Foto negra automática +FILEBROWSER_AUTOFLATFIELD;Campo plano automático +FILEBROWSER_BROWSEPATHBUTTONHINT;Pulsando este botón se examina la carpeta seleccionada, se vuelve a cargar la carpeta y se aplican las palabras clave de búsqueda. +FILEBROWSER_BROWSEPATHHINT;Aquí se escribe la ruta a examinar.\n\nAtajos de teclado:\nCtrl-o para poner el foco en el campo de texto para la ruta.\nIntro / Ctrl-Intro para examinar la ruta indicada;\nEsc para borrar los cambios.\nMayús-Esc para quitar el foco.\n\nAbreviaturas de rutas:\n~ - carpeta personal del usuario.\n! - carpeta de imágenes del usuario. +FILEBROWSER_CACHE;Caché +FILEBROWSER_CACHECLEARFROMFULL;Borrar todo, incluso los perfiles en caché +FILEBROWSER_CACHECLEARFROMPARTIAL;Borrar todo, excepto los perfiles del caché +FILEBROWSER_CLEARPROFILE;Borrar el perfil +FILEBROWSER_COLORLABEL_TOOLTIP;Etiqueta con un color.\n\nSe puede utilizar el menú desplegable o los atajos de teclado:\nMayús-Ctrl-0 Sin color\nMayús-Ctrl-1 Rojo\nMayús-Ctrl-2 Amarillo\nMayús-Ctrl-3 Verde\nMayús-Ctrl-4 Azul\nMayús-Ctrl-5 Morado +FILEBROWSER_COPYPROFILE;Copiar perfil +FILEBROWSER_CURRENT_NAME;Nombre actual: +FILEBROWSER_DARKFRAME;Foto Negra +FILEBROWSER_DELETEDIALOG_ALL;¿Está seguro de que desea borrar permanentemente los %1 archivos que hay en la papelera? +FILEBROWSER_DELETEDIALOG_HEADER;Confirmación para borrar archivo: +FILEBROWSER_DELETEDIALOG_SELECTED;¿Está seguro de que desea borrar permanentemente los %1 archivos seleccionados? +FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;¿Está seguro de que desea borrar los %1 archivos seleccionados, incluyendo las versiones reveladas en la cola? +FILEBROWSER_EMPTYTRASH;Vaciar la papelera +FILEBROWSER_EMPTYTRASHHINT;Borra definitivamente los archivos de la papelera. +FILEBROWSER_EXTPROGMENU;Abrir con +FILEBROWSER_FLATFIELD;Campo plano +FILEBROWSER_MOVETODARKFDIR;Mover a la carpeta de fotos negras +FILEBROWSER_MOVETOFLATFIELDDIR;Mover a la carpeta de campos planos +FILEBROWSER_NEW_NAME;Nuevo nombre: +FILEBROWSER_OPENDEFAULTVIEWER;Visor de imágenes predeterminado de Windows (revelado en la cola) +FILEBROWSER_PARTIALPASTEPROFILE;Pegar perfil (parcialmente) +FILEBROWSER_PASTEPROFILE;Pegar perfil +FILEBROWSER_POPUPCANCELJOB;Cancelar trabajo +FILEBROWSER_POPUPCOLORLABEL;Etiquetar con un color +FILEBROWSER_POPUPCOLORLABEL0;Etiqueta: Ninguna +FILEBROWSER_POPUPCOLORLABEL1;Etiqueta: Roja +FILEBROWSER_POPUPCOLORLABEL2;Etiqueta: Amarilla +FILEBROWSER_POPUPCOLORLABEL3;Etiqueta: Verde +FILEBROWSER_POPUPCOLORLABEL4;Etiqueta: Azul +FILEBROWSER_POPUPCOLORLABEL5;Etiqueta: Morada +FILEBROWSER_POPUPCOPYTO;Copiar a... +FILEBROWSER_POPUPFILEOPERATIONS;Operaciones con archivos +FILEBROWSER_POPUPINSPECT;Inspeccionar +FILEBROWSER_POPUPMOVEEND;Mover al final de la cola +FILEBROWSER_POPUPMOVEHEAD;Mover al inicio de la cola +FILEBROWSER_POPUPMOVETO;Mover a... +FILEBROWSER_POPUPOPEN;Abrir +FILEBROWSER_POPUPOPENINEDITOR;Abrir en el Editor +FILEBROWSER_POPUPPROCESS;Enviar la imagen a la cola +FILEBROWSER_POPUPPROCESSFAST;Enviar a la cola (Exportación rápida) +FILEBROWSER_POPUPPROFILEOPERATIONS;Operaciones con perfiles de revelado +FILEBROWSER_POPUPRANK;Asignar rango +FILEBROWSER_POPUPRANK0;Sin rango +FILEBROWSER_POPUPRANK1;Rango 1 * +FILEBROWSER_POPUPRANK2;Rango 2 ** +FILEBROWSER_POPUPRANK3;Rango 3 *** +FILEBROWSER_POPUPRANK4;Rango 4 **** +FILEBROWSER_POPUPRANK5;Rango 5 ***** +FILEBROWSER_POPUPREMOVE;Borrar permanentemente +FILEBROWSER_POPUPREMOVEINCLPROC;Borrar (incluyendo los ficheros generados por la cola) +FILEBROWSER_POPUPRENAME;Renombrar +FILEBROWSER_POPUPSELECTALL;Seleccionar todo +FILEBROWSER_POPUPTRASH;Mover la imagen a la papelera +FILEBROWSER_POPUPUNRANK;Quitar el rango +FILEBROWSER_POPUPUNTRASH;Sacar de la papelera +FILEBROWSER_QUERYBUTTONHINT;Borrar la búsqueda +FILEBROWSER_QUERYHINT;Aquí se escriben los nombres de archivo que se desea buscar. También se puede indicar sólo una parte del nombre del archivo. Los términos de la búsqueda se separan mediante comas (por ej.1001,1004,1199)\nLos términos de búsqueda no deseados se pueden excluir añadiendo el prefijo !=\npor ej. !=1001,1004,1199\n\nAtajos de teclado:\nCtrl-f - lleva el foco al cuadro de texto Buscar:\nIntro - realiza la búsqueda,\nEsc - borra el cuadro de texto Buscar:\nMayús-Esc - quita el foco del cuadro de texto Buscar:. +FILEBROWSER_QUERYLABEL;Buscar: +FILEBROWSER_RANK1_TOOLTIP;Rango 1 *\nAtajo de teclado: Mayús-1 +FILEBROWSER_RANK2_TOOLTIP;Rango 2 **\nAtajo de teclado: Mayús-2 +FILEBROWSER_RANK3_TOOLTIP;Rango 3 ***\nAtajo de teclado: Mayús-3 +FILEBROWSER_RANK4_TOOLTIP;Rango 4 ****\nAtajo de teclado: Mayús-4 +FILEBROWSER_RANK5_TOOLTIP;Rango 5 *****\nAtajo de teclado: Mayús-5 +FILEBROWSER_RENAMEDLGLABEL;Renombrar el archivo +FILEBROWSER_RESETDEFAULTPROFILE;Restablecer el perfil a los valores predeterminados +FILEBROWSER_SELECTDARKFRAME;Seleccionar Foto Negra... +FILEBROWSER_SELECTFLATFIELD;Seleccionar Campo Plano... +FILEBROWSER_SHOWCOLORLABEL1HINT;Muestra imágenes etiquetadas con color rojo.\nAtajo de teclado: Alt-1 +FILEBROWSER_SHOWCOLORLABEL2HINT;Muestra imágenes etiquetadas con color amarillo.\nAtajo de teclado: Alt-2 +FILEBROWSER_SHOWCOLORLABEL3HINT;Muestra imágenes etiquetadas con color verde.\nAtajo de teclado: Alt-3 +FILEBROWSER_SHOWCOLORLABEL4HINT;Muestra imágenes etiquetadas con color azul.\nAtajo de teclado: Alt-4 +FILEBROWSER_SHOWCOLORLABEL5HINT;Muestra imágenes etiquetadas con color morado.\nAtajo de teclado: Alt-5 +FILEBROWSER_SHOWDIRHINT;Quita todos los filtros.\nAtajo de teclado: d +FILEBROWSER_SHOWEDITEDHINT;Muestra las imágenes editadas.\nAtajo de teclado: 7 +FILEBROWSER_SHOWEDITEDNOTHINT;Muestra las imágenes no editadas.\nAtajo de teclado: 6 +FILEBROWSER_SHOWEXIFINFO;Muestra los datos Exif.\n\nAtajos de teclado:\ni - Modo de Editor de pestañas múltiples,\nAlt-i - Modo de Editor de pestaña única. +FILEBROWSER_SHOWNOTTRASHHINT;Muestra sólo las imágenes no borradas. +FILEBROWSER_SHOWORIGINALHINT;Muestra sólo las imágenes originales.\n\nCuando existen varias imágenes con el mismo nombre de archivo pero con diferentes extensiones, la que se considera original es aquella cuya extensión está más cerca de la parte superior de la lista de extensiones analizadas en Preferencias > Navegador de archivos > Extensiones analizadas. +FILEBROWSER_SHOWRANK1HINT;Muestra las imágenes con 1 estrella.\nAtajo de teclado: 1 +FILEBROWSER_SHOWRANK2HINT;Muestra las imágenes con 2 estrellas.\nAtajo de teclado: 2 +FILEBROWSER_SHOWRANK3HINT;Muestra las imágenes con 3 estrellas.\nAtajo de teclado: 3 +FILEBROWSER_SHOWRANK4HINT;Muestra las imágenes con 4 estrellas.\nAtajo de teclado: 4 +FILEBROWSER_SHOWRANK5HINT;Muestra las imágenes con 5 estrellas.\nAtajo de teclado: 5 +FILEBROWSER_SHOWRECENTLYSAVEDHINT;Muestra las imágenes guardadas recientemente.\nAtajo de teclado: Alt-7 +FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Muestra las imágenes que no se han guardado recientemente.\nAtajo de teclado: Alt-6 +FILEBROWSER_SHOWTRASHHINT;Muestra el contenido de la papelera.\nAtajo de teclado: Ctrl-t +FILEBROWSER_SHOWUNCOLORHINT;Muestra las imágenes sin etiqueta de color.\nAtajo de teclado: Alt-0 +FILEBROWSER_SHOWUNRANKHINT;Muestra las imágenes sin rango.\nAtajo de teclado: 0 +FILEBROWSER_THUMBSIZE;Tamaño de las miniaturas +FILEBROWSER_UNRANK_TOOLTIP;Borra el rango.\nAtajo de teclado:May - 0 +FILEBROWSER_ZOOMINHINT;Aumenta las miniaturas.\nAtajos de teclado:\n+ - Modo de Editor de pestañas múltiples,\nAlt-+ - Modo de Editor de Pestaña Única +FILEBROWSER_ZOOMOUTHINT;Reduce las miniaturas.\nAtajos de teclado:\n- - Modo de Editor de pestañas múltiples,\nAlt-- - Modo de Editor de pestaña única +FILECHOOSER_FILTER_ANY;Todos los archivos +FILECHOOSER_FILTER_COLPROF;Perfiles de color (*.icc) +FILECHOOSER_FILTER_CURVE;Archivos de curva +FILECHOOSER_FILTER_LCP;Perfiles de corrección de objetivos +FILECHOOSER_FILTER_PP;Perfiles de revelado +FILECHOOSER_FILTER_SAME;El mismo formato que la foto actual +FILECHOOSER_FILTER_TIFF;Archivos TIFF +GENERAL_ABOUT;Acerca de +GENERAL_AFTER;Después +GENERAL_APPLY;Aplicar +GENERAL_ASIMAGE;Como la imagen +GENERAL_AUTO;Automático +GENERAL_BEFORE;Antes +GENERAL_CANCEL;Cancelar +GENERAL_CLOSE;Cerrar +GENERAL_CURRENT;Actual +GENERAL_DELETE_ALL;Borrar todo +GENERAL_DISABLE;Desactivar +GENERAL_DISABLED;Desactivado +GENERAL_EDIT;Editar +GENERAL_ENABLE;Activar +GENERAL_ENABLED;Activado +GENERAL_FILE;Archivo +GENERAL_HELP;Ayuda +GENERAL_LANDSCAPE;Apaisado +GENERAL_NA;n/d +GENERAL_NO;No +GENERAL_NONE;Ninguno +GENERAL_OK;Aceptar +GENERAL_OPEN;Abrir +GENERAL_PORTRAIT;Vertical +GENERAL_RESET;Reiniciar +GENERAL_SAVE;Guardar +GENERAL_SAVE_AS;Guardar como... +GENERAL_SLIDER;Deslizador +GENERAL_UNCHANGED;(Sin cambios) +GENERAL_WARNING;Advertencia +GIMP_PLUGIN_INFO;¡Bienvenido al módulo para GIMP de RawTherapee!\nCuando haya terminado de editar, simplemente cierre la aplicación RawTherapee y la imagen se abrirá automáticamente en GIMP. +HISTOGRAM_TOOLTIP_B;Muestra/oculta el canal azul en el histograma. +HISTOGRAM_TOOLTIP_BAR;Muestra/oculta la barra indicadora RGB. +HISTOGRAM_TOOLTIP_CHRO;Muestra/oculta el histograma de cromaticidad. +HISTOGRAM_TOOLTIP_CROSSHAIR;Muestra/oculta el indicador en cruz. +HISTOGRAM_TOOLTIP_G;Muestra/oculta el canal verde en el histograma. +HISTOGRAM_TOOLTIP_L;Muestra/oculta el histograma de luminancia CIELAB. +HISTOGRAM_TOOLTIP_MODE;Cambia entre la escala lineal, la logarítmica-lineal y la escala logarítmica (o doble logarítmica) del histograma. +HISTOGRAM_TOOLTIP_R;Muestra/oculta el canal rojo en el histograma. +HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Muestra/oculta opciones adicionales del histograma. +HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Ajusta el brillo del vectorscopio. +HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histograma +HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Histograma raw +HISTOGRAM_TOOLTIP_TYPE_PARADE;Analizador en forma de onda por canales +HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Vectorscopio de matiz-cromaticidad +HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Vectorscopio de matiz-saturación +HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Analizador en forma de onda +HISTORY_CHANGED;Modificado +HISTORY_CUSTOMCURVE;Curva personalizada +HISTORY_FROMCLIPBOARD;Desde el portapapeles +HISTORY_LABEL;Historial +HISTORY_MSG_1;Foto sin modificar +HISTORY_MSG_3;Perfil cambiado +HISTORY_MSG_4;Navegar por el historial +HISTORY_MSG_5;Exposición - Claridad +HISTORY_MSG_6;Exposición - Contraste +HISTORY_MSG_7;Exposición - Negro +HISTORY_MSG_8;Exposición - Compensación de exposición +HISTORY_MSG_9;Exposición - Compresión de luces +HISTORY_MSG_10;Exposición - Compresión de sombras +HISTORY_MSG_11;Exposición - Curva tonal 1 +HISTORY_MSG_12;Exposición - Niveles automáticos +HISTORY_MSG_13;Exposición - Tonos recortados +HISTORY_MSG_14;L*a*b* - Claridad +HISTORY_MSG_15;L*a*b* - Contraste +HISTORY_MSG_19;L*a*b* - Curva L* +HISTORY_MSG_20;Nitidez +HISTORY_MSG_21;Máscara de nitidez - Radio +HISTORY_MSG_22;Máscara de nitidez - Cantidad +HISTORY_MSG_23;Máscara de nitidez - Umbral +HISTORY_MSG_24;Máscara de nitidez - Nitidez sólo en bordes +HISTORY_MSG_25;Máscara de nitidez - Radio de detección de bordes +HISTORY_MSG_26;Máscara de nitidez - Tolerancia de bordes +HISTORY_MSG_27;Máscara de nitidez - Control de halo +HISTORY_MSG_28;Máscara de nitidez - Intensidad del control de halo +HISTORY_MSG_29;Nitidez - Método +HISTORY_MSG_30;Deconvolución RL - Radio +HISTORY_MSG_31;Deconvolución RL - Cantidad +HISTORY_MSG_32;Deconvolución RL - Amortiguación +HISTORY_MSG_33;Deconvolución RL - Iteraciones +HISTORY_MSG_34;Corrección de objetivo - Distorsión +HISTORY_MSG_35;Corrección de objetivo - Viñeteo +HISTORY_MSG_36;Corrección de objetivo - Aberración cromática +HISTORY_MSG_37;Exposición - Niveles automáticos +HISTORY_MSG_38;Balance de blancos - Método +HISTORY_MSG_39;Balance de blancos - Temperatura de color +HISTORY_MSG_40;Balance de blancos - Tinte (dominante de color) +HISTORY_MSG_41;Exposición - Modo de la curva tonal 1 +HISTORY_MSG_42;Exposición - Curva tonal 2 +HISTORY_MSG_43;Exposición - Modo de la curva tonal 2 +HISTORY_MSG_48;DCP - Curva tonal +HISTORY_MSG_49;Iluminante DCP +HISTORY_MSG_50;Sombras/Luces +HISTORY_MSG_51;Sombras/Luces - Luces +HISTORY_MSG_52;Sombras/Luces - Sombras +HISTORY_MSG_53;Sombras/Luces - Amplitud tonal de luces +HISTORY_MSG_54;Sombras/Luces - Amplitud tonal de las sombras +HISTORY_MSG_56;Sombras/Luces - Radio +HISTORY_MSG_57;Rotación imprecisa +HISTORY_MSG_58;Volteo horizontal +HISTORY_MSG_59;Volteo vertical +HISTORY_MSG_60;Rotación +HISTORY_MSG_61;Relleno automático +HISTORY_MSG_62;Corrección de distorsión +HISTORY_MSG_63;Instantánea seleccionada +HISTORY_MSG_64;Recortar +HISTORY_MSG_65;Corrección de aberraciones cromáticas +HISTORY_MSG_66;Exposición - Reconstrucción de luces +HISTORY_MSG_68;Exposición - Método de Reconstrucción de luces +HISTORY_MSG_69;Espacio de color de trabajo +HISTORY_MSG_70;Espacio de color de salida +HISTORY_MSG_71;Espacio de color de entrada +HISTORY_MSG_72;Corrección de viñeteo - Cantidad +HISTORY_MSG_73;Mezclador de canal +HISTORY_MSG_74;Cambio de tamaño - Escala +HISTORY_MSG_75;Cambio de tamaño - Método +HISTORY_MSG_76;Metadatos Exif +HISTORY_MSG_77;Metadatos IPTC +HISTORY_MSG_79;Cambio de tamaño - Anchura +HISTORY_MSG_80;Cambio de tamaño - Altura +HISTORY_MSG_81;Cambio de tamaño +HISTORY_MSG_82;Perfil con cambios +HISTORY_MSG_84;Corrección de perspectiva +HISTORY_MSG_85;Corrección de objetivo - archivo LCP +HISTORY_MSG_86;Curvas RGB - Modo de luminosidad +HISTORY_MSG_87;Reducción de ruido impulsivo +HISTORY_MSG_88;Reducción de ruido impulsivo - Umbral +HISTORY_MSG_89;Reducción de ruido +HISTORY_MSG_90;Reducción de ruido - Luminancia +HISTORY_MSG_91;Reducción de ruido - Maestro de cromaticidad +HISTORY_MSG_92;Reducción de ruido - Gamma +HISTORY_MSG_93;Contraste por niveles de detalle - Valor +HISTORY_MSG_94;Contraste por niveles de detalle +HISTORY_MSG_95;L*a*b* - Cromaticidad +HISTORY_MSG_96;L*a*b* - Curva «a*» +HISTORY_MSG_97;L*a*b* - Curva «b*» +HISTORY_MSG_98;Método de desentramado +HISTORY_MSG_99;Filtro de píxel «caliente» +HISTORY_MSG_100;Exposición - Saturación +HISTORY_MSG_101;Ecualizador HSV - Matiz +HISTORY_MSG_102;Ecualizador HSV - Saturación +HISTORY_MSG_103;Ecualizador HSV - Valor +HISTORY_MSG_104;Ecualizador HSV +HISTORY_MSG_105;Quitar borde púrpura +HISTORY_MSG_106;Quitar borde púrpura - Radio +HISTORY_MSG_107;Quitar borde púrpura - Umbral +HISTORY_MSG_108;Exposición - Umbral de compresión de luces +HISTORY_MSG_109;Cambio de tamaño - Rectángulo límite +HISTORY_MSG_110;Cambio de tamaño - Aplicado a +HISTORY_MSG_111;L*a*b* - Evitar el cambio de color +HISTORY_MSG_112;--Sin Uso-- +HISTORY_MSG_113;L*a*b* - Protección de rojos y color de piel +HISTORY_MSG_114;Iteraciones DCB +HISTORY_MSG_115;Supresión de color falso +HISTORY_MSG_116;Mejora de DCB +HISTORY_MSG_117;Corrección de aberraciones cromáticas en raw - Rojo +HISTORY_MSG_118;Corrección de aberraciones cromáticas en raw - Azul +HISTORY_MSG_119;Filtro de ruido de línea +HISTORY_MSG_120;Equilibrado de verdes +HISTORY_MSG_121;Corrección de aberraciones cromáticas en raw - Automática +HISTORY_MSG_122;Foto Negra - Selección automática +HISTORY_MSG_123;Foto Negra - Archivo +HISTORY_MSG_124;Corrección del punto blanco +HISTORY_MSG_126;Campo plano - Archivo +HISTORY_MSG_127;Campo plano - Selección automática +HISTORY_MSG_128;Campo plano - Radio de difuminado +HISTORY_MSG_129;Campo plano - Tipo de difuminado +HISTORY_MSG_130;Corrección automática de distorsión +HISTORY_MSG_137;Nivel de punto negro - Verde 1 +HISTORY_MSG_138;Nivel de punto negro - Rojo +HISTORY_MSG_139;Nivel de punto negro - Azul +HISTORY_MSG_140;Nivel de punto negro - Verde 2 +HISTORY_MSG_141;Nivel de punto negro - Vincular verdes +HISTORY_MSG_142;Nitidez de bordes - Iteraciones +HISTORY_MSG_143;Nitidez de bordes - Cantidad +HISTORY_MSG_144;Microcontraste - Cantidad +HISTORY_MSG_145;Microcontraste - Uniformidad +HISTORY_MSG_146;Nitidez de bordes +HISTORY_MSG_147;Nitidez de bordes - Sólo luminancia +HISTORY_MSG_148;Microcontraste +HISTORY_MSG_149;Microcontraste - Matriz de 3×3 +HISTORY_MSG_150;Reducción de artefactos/ruido tras el desentramado +HISTORY_MSG_151;Vivacidad +HISTORY_MSG_152;Vivacidad - Tonos pastel +HISTORY_MSG_153;Vivacidad - Tonos saturados +HISTORY_MSG_154;Vivacidad - Protección de tonos de piel +HISTORY_MSG_155;Vivacidad - Evitar cambio de tono +HISTORY_MSG_156;Vivacidad - Vincular tonos pastel/saturados +HISTORY_MSG_157;Vivacidad - Umbral de tonos pastel/saturados +HISTORY_MSG_158;Mapeo tonal - Intensidad +HISTORY_MSG_159;Mapeo tonal - Detección de bordes +HISTORY_MSG_160;Mapeo tonal - Escala +HISTORY_MSG_161;Mapeo tonal - Iteraciones de reponderación +HISTORY_MSG_162;Mapeo tonal +HISTORY_MSG_163;Curvas RGB - Rojo +HISTORY_MSG_164;Curvas RGB - Verde +HISTORY_MSG_165;Curvas RGB - Azul +HISTORY_MSG_166;Exposición - Reiniciar +HISTORY_MSG_167;Método de desentramado +HISTORY_MSG_168;L*a*b* - curva CC +HISTORY_MSG_169;L*a*b* - curva CH +HISTORY_MSG_170;Vivacidad - curva HH +HISTORY_MSG_171;L*a*b* - curva LC +HISTORY_MSG_172;L*a*b* - Restringir curva LC +HISTORY_MSG_173;Reducción de ruido - Reconstrucción de detalle +HISTORY_MSG_174;Apariencia de color e Iluminación (AC & I) +HISTORY_MSG_175;AC & I - Condic. escena - Adaptación +HISTORY_MSG_176;AC & I - Condic. visualiz. - Contexto visual +HISTORY_MSG_177;AC & I - Condic. escena - Luminosidad absoluta +HISTORY_MSG_178;AC & I - Condic. visualiz. - Luminosidad absoluta +HISTORY_MSG_179;AC & I - Condic. escena - Modelo de punto blanco +HISTORY_MSG_180;AC & I - Ajustes imagen - Claridad (J) +HISTORY_MSG_181;AC & I - Ajustes imagen - Cromaticidad (C) +HISTORY_MSG_182;AC & I - Condic. escena - Adapt. automática +HISTORY_MSG_183;AC & I - Ajustes imagen - Contraste (J) +HISTORY_MSG_184;AC & I - Condic. escena - Contexto de la escena +HISTORY_MSG_185;AC & I - Control del rango de colores +HISTORY_MSG_186;AC & I - Ajustes imagen - Algoritmo +HISTORY_MSG_187;AC & I - Ajustes imagen - Protección de rojos/piel +HISTORY_MSG_188;AC & I - Ajustes imagen - Brillo (Q) +HISTORY_MSG_189;AC & I - Ajustes imagen - Contraste (Q) +HISTORY_MSG_190;AC & I - Ajustes imagen - Saturación (S) +HISTORY_MSG_191;AC & I - Ajustes imagen - Colorido (M) +HISTORY_MSG_192;AC & I - Ajustes imagen - Matiz (h) +HISTORY_MSG_193;AC & I - Ajustes imagen - Curva tonal 1 +HISTORY_MSG_194;AC & I - Ajustes imagen - Curva tonal 2 +HISTORY_MSG_195;AC & I - Ajustes imagen - Curva tonal 1 +HISTORY_MSG_196;AC & I - Ajustes imagen - Curva tonal 2 +HISTORY_MSG_197;AC & I - Ajustes imagen - Curva de color +HISTORY_MSG_198;AC & I - Ajustes imagen - Modo curva de color +HISTORY_MSG_199;AC & I - Ajustes imagen - Usar salida CAM para histogramas de salida +HISTORY_MSG_200;AC & I - Ajustes imagen - Usar CAM para mapeo tonal +HISTORY_MSG_201;Reducción de ruido - Cromaticidad R/V +HISTORY_MSG_202;Reducción de ruido - Cromaticidad A/Am +HISTORY_MSG_203;Reducción de ruido - Espacio de color +HISTORY_MSG_204;Pasos de mejora de LMMSE +HISTORY_MSG_205;AC & I - Filtro de píxel caliente/muerto +HISTORY_MSG_206;AC & I - Luminosidad automática de la escena +HISTORY_MSG_207;Quitar borde púrpura - Curva de matiz +HISTORY_MSG_208;Balance de blancos - Compensador azul/rojo +HISTORY_MSG_210;Filtro graduado - Ángulo +HISTORY_MSG_211;Filtro graduado +HISTORY_MSG_212;Filtro de viñeteo - Intensidad +HISTORY_MSG_213;Filtro de viñeteo +HISTORY_MSG_214;Blanco y negro +HISTORY_MSG_215;B/N - Mezclador de canales Rojo +HISTORY_MSG_216;B/N - Mezclador de canales Verde +HISTORY_MSG_217;B/N - Mezclador de canales Azul +HISTORY_MSG_218;B/N - Gamma Rojo +HISTORY_MSG_219;B/N - Gamma Verde +HISTORY_MSG_220;B/N - Gamma Azul +HISTORY_MSG_221;B/N - Filtro de color +HISTORY_MSG_222;B/N - Ajustes preestablecidos +HISTORY_MSG_223;B/N - Mezclador de canales Naranja +HISTORY_MSG_224;B/N - Mezclador de canales Amarillo +HISTORY_MSG_225;B/N - Mezclador de canales Cian +HISTORY_MSG_226;B/N - Mezclador de canales Magenta +HISTORY_MSG_227;B/N - Mezclador de canales Púrpura +HISTORY_MSG_228;B/N - Compensador de luminancia +HISTORY_MSG_229;B/N - Ajustar color complementario +HISTORY_MSG_230;B/N - Modo +HISTORY_MSG_231;B/N - Curva «Antes» +HISTORY_MSG_232;B/N - Tipo de curva «Antes» +HISTORY_MSG_233;B/N - Curva «Después» +HISTORY_MSG_234;B/N - Tipo de curva «Después» +HISTORY_MSG_235;B/N - Mezclador de canales Automático +HISTORY_MSG_236;--Sin uso-- +HISTORY_MSG_237;B/N - Mezclador de canales +HISTORY_MSG_238;Filtro graduado - Ancho gradiente +HISTORY_MSG_239;Filtro graduado - Intensidad +HISTORY_MSG_240;Filtro graduado - Centro +HISTORY_MSG_241;Filtro de viñeteo - Ancho gradiente +HISTORY_MSG_242;Filtro de viñeteo - Redondez +HISTORY_MSG_243;Corrección de Viñeteo - Radio +HISTORY_MSG_244;Corrección de Viñeteo - Intensidad +HISTORY_MSG_245;Corrección de Viñeteo - Centro +HISTORY_MSG_246;L*a*b* - Curva CL +HISTORY_MSG_247;L*a*b* - Curva LH +HISTORY_MSG_248;L*a*b* - Curva HH +HISTORY_MSG_249;Contraste por niveles de detalle - Umbral +HISTORY_MSG_251;B/N - Algoritmo +HISTORY_MSG_252;Contraste por niveles de detalle - Selección/protección de piel +HISTORY_MSG_253;Contraste por niveles de detalle - Reducción de artefactos +HISTORY_MSG_254;Contraste por niveles de detalle - Matiz de la piel +HISTORY_MSG_255;Reducción de ruido - Filtro de mediana +HISTORY_MSG_256;Reducción de ruido - Tipo de mediana +HISTORY_MSG_257;Virado de color +HISTORY_MSG_258;Virado de color - Curva de color +HISTORY_MSG_259;Virado de color - Curva de opacidad +HISTORY_MSG_260;Virado de color - Opacidad a*[b*] +HISTORY_MSG_261;Virado de color - Método +HISTORY_MSG_262;Virado de color - Opacidad b* +HISTORY_MSG_263;Virado de color - Sombras Rojo +HISTORY_MSG_264;Virado de color - Sombras Verde +HISTORY_MSG_265;Virado de color - Sombras Azul +HISTORY_MSG_266;Virado de color - Medios Rojo +HISTORY_MSG_267;Virado de color - Medios Verde +HISTORY_MSG_268;Virado de color - Medios Azul +HISTORY_MSG_269;Virado de color - Luces Rojo +HISTORY_MSG_270;Virado de color - Luces Verde +HISTORY_MSG_271;Virado de color - Luces Azul +HISTORY_MSG_272;Virado de color - Balance +HISTORY_MSG_273;Virado de color - Balance de color SMAL +HISTORY_MSG_276;Virado de color - Opacidad +HISTORY_MSG_277;--no usado-- +HISTORY_MSG_278;Virado de color - Conservar luminancia +HISTORY_MSG_279;Virado de color - Sombras +HISTORY_MSG_280;Virado de color - Luces +HISTORY_MSG_281;Virado de color - Intensidad de saturación +HISTORY_MSG_282;Virado de color - Umbral de saturación +HISTORY_MSG_283;Virado de color - Intensidad +HISTORY_MSG_284;Virado de color - Protección automática de saturación +HISTORY_MSG_285;Reducción de ruido - Mediana Método +HISTORY_MSG_286;Reducción de ruido - Mediana Tipo +HISTORY_MSG_287;Reducción de ruido - Mediana Iteraciones +HISTORY_MSG_288;Campo plano - Control de sobreexposición +HISTORY_MSG_289;Campo plano - Control de sobreexposición automático +HISTORY_MSG_290;Nivel de punto negro - Rojo +HISTORY_MSG_291;Nivel de punto negro - Verde +HISTORY_MSG_292;Nivel de punto negro - Azul +HISTORY_MSG_293;Simulación de película fotográfica +HISTORY_MSG_294;Simulación de película fotográfica - Intensidad +HISTORY_MSG_295;Simulación de película fotográfica - Película +HISTORY_MSG_296;Reducción de ruido - Curva de luminancia +HISTORY_MSG_297;Reducción de ruido - Modo +HISTORY_MSG_298;Filtro de píxel muerto +HISTORY_MSG_299;Reducción de ruido - Curva de cromaticidad +HISTORY_MSG_301;Reducción de ruido - Control de luminancia +HISTORY_MSG_302;Reducción de ruido - Método de cromaticidad +HISTORY_MSG_303;Reducción de ruido - Método de cromaticidad +HISTORY_MSG_304;Ondículas - Niveles de contraste +HISTORY_MSG_305;Niveles de ondícula +HISTORY_MSG_306;Ondículas - Proceso +HISTORY_MSG_307;Ondículas - Proceso +HISTORY_MSG_308;Ondículas - Dirección del proceso +HISTORY_MSG_309;Ondículas - Nitidez de bordes Detalle +HISTORY_MSG_310;Ondículas - Residual Selección/protección cielo +HISTORY_MSG_311;Ondículas - Niveles de ondícula +HISTORY_MSG_312;Ondículas - Residual Umbral de sombras +HISTORY_MSG_313;Ondículas - Cromaticidad Saturado/pastel +HISTORY_MSG_314;Ondículas - Rango de colores Reducción de artefactos +HISTORY_MSG_315;Ondículas - Residual Contraste +HISTORY_MSG_316;Ondículas - Rango de colores Selección/protección de piel +HISTORY_MSG_317;Ondículas - Rango de colores Tono de piel +HISTORY_MSG_318;Ondículas - Contraste Niveles más finos +HISTORY_MSG_319;Ondículas - Contraste Rango más fino +HISTORY_MSG_320;Ondículas - Contraste Rango más grueso +HISTORY_MSG_321;Ondículas - Contraste Niveles más gruesos +HISTORY_MSG_322;Ondículas - Rango de colores Evitar cambio de color +HISTORY_MSG_323;Ondículas - Nitidez de bordes Contraste local +HISTORY_MSG_324;Ondículas - Cromaticidad Pastel +HISTORY_MSG_325;Ondículas - Cromaticidad Saturado +HISTORY_MSG_326;Ondículas - Cromaticidad Método +HISTORY_MSG_327;Ondículas - Contraste Aplicar a +HISTORY_MSG_328;Ondículas - Cromaticidad Intensidad del vínculo +HISTORY_MSG_329;Ondículas - Virado Opacidad RV +HISTORY_MSG_330;Ondículas - Virado Opacidad AzAm +HISTORY_MSG_331;Ondículas - Niveles de contraste Extra +HISTORY_MSG_332;Ondículas - Método de teselado +HISTORY_MSG_333;Ondículas - Residual Sombras +HISTORY_MSG_334;Ondículas - Residual Cromaticidad +HISTORY_MSG_335;Ondículas - Residual Luces +HISTORY_MSG_336;Ondículas - Residual Umbral de luces +HISTORY_MSG_337;Ondículas - Residual Matiz del cielo +HISTORY_MSG_338;Ondículas - Nitidez de bordes Radio +HISTORY_MSG_339;Ondículas - Nitidez de bordes Intensidad +HISTORY_MSG_340;Ondículas - Intensidad +HISTORY_MSG_341;Ondículas - Rendimiento en bordes +HISTORY_MSG_342;Ondículas - Nitidez de bordes Primer nivel +HISTORY_MSG_343;Ondículas - Niveles de cromaticidad +HISTORY_MSG_344;Ondículas - Método de cromaticidad deslizador/curva +HISTORY_MSG_345;Ondículas - Nitidez de bordes Contraste local +HISTORY_MSG_346;Ondículas - Nitidez de bordes Método de contraste local +HISTORY_MSG_347;Ondículas - Reducción de ruido Nivel 1 +HISTORY_MSG_348;Ondículas - Reducción de ruido Nivel 2 +HISTORY_MSG_349;Ondículas - Reducción de ruido Nivel 3 +HISTORY_MSG_350;Ondículas - Reducción de ruido Detección de bordes +HISTORY_MSG_351;Ondículas - Residual Curva HH +HISTORY_MSG_352;Ondículas - Fondo +HISTORY_MSG_353;Ondículas - Nitidez de bordes Sensibilidad del gradiente +HISTORY_MSG_354;Ondículas - Nitidez de bordes Reforzada +HISTORY_MSG_355;Ondículas - Nitidez de bordes Umbral bajo +HISTORY_MSG_356;Ondículas - Nitidez de bordes Umbral alto +HISTORY_MSG_357;Ondículas - Reducción de ruido Vincular con nitidez de bordes +HISTORY_MSG_358;Ondículas - Rango de colores CH +HISTORY_MSG_359;Píxel caliente/muerto - Umbral +HISTORY_MSG_360;Mapeo tonal - Gamma +HISTORY_MSG_361;Ondículas - Final Equilibrio de cromaticidad +HISTORY_MSG_362;Ondículas - Residual Método de compresión +HISTORY_MSG_363;Ondículas - Residual Intensidad de compresión +HISTORY_MSG_364;Ondículas - Final Equilibrio de contraste +HISTORY_MSG_365;Ondículas - Final Equilibrio de delta +HISTORY_MSG_366;Ondículas - Residual Gamma de compresión +HISTORY_MSG_367;Ondículas - Final Curva de contraste «Después» +HISTORY_MSG_368;Ondículas - Final Equilibrio de contraste +HISTORY_MSG_369;Ondículas - Final Método de equilibrado +HISTORY_MSG_370;Ondículas - Final Curva de contraste local +HISTORY_MSG_371;Nitidez tras cambio de tamaño +HISTORY_MSG_372;Nitidez camb. tam. - Máscara Radio +HISTORY_MSG_373;Nitidez camb. tam. - Máscara Cantidad +HISTORY_MSG_374;Nitidez camb. tam. - Máscara Umbral +HISTORY_MSG_375;Nitidez camb. tam. - Máscara Enfocar sólo bordes +HISTORY_MSG_376;Nitidez camb. tam. - Máscara Radio detección bordes +HISTORY_MSG_377;Nitidez camb. tam. - Máscara Tolerancia bordes +HISTORY_MSG_378;Nitidez camb. tam. - Máscara Control de halo +HISTORY_MSG_379;Nitidez camb. tam. - Máscara Cantidad control de halo +HISTORY_MSG_380;Nitidez camb. tam. - Método +HISTORY_MSG_381;Nitidez camb. tam. - Deconv. RL Radio +HISTORY_MSG_382;Nitidez camb. tam. - Deconv. RL Cantidad +HISTORY_MSG_383;Nitidez camb. tam. - Deconv. RL Amortiguación +HISTORY_MSG_384;Nitidez camb. tam. - Deconv. RL Iteraciones +HISTORY_MSG_385;Ondículas - Residual Balance de color +HISTORY_MSG_386;Ondículas - Residual Bal. color verde alto +HISTORY_MSG_387;Ondículas - Residual Bal. color azul alto +HISTORY_MSG_388;Ondículas - Residual Bal. color verde medio +HISTORY_MSG_389;Ondículas - Residual Bal. color azul medio +HISTORY_MSG_390;Ondículas - Residual Bal. color verde bajo +HISTORY_MSG_391;Ondículas - Residual Bal. color azul bajo +HISTORY_MSG_392;Ondículas - Residual Balance de color +HISTORY_MSG_393;DCP - Tabla de sustitución +HISTORY_MSG_394;DCP - Exposición base +HISTORY_MSG_395;DCP - Tabla base +HISTORY_MSG_396;Ondículas - Sub-herram. Contraste +HISTORY_MSG_397;Ondículas - Sub-herram. Cromaticidad +HISTORY_MSG_398;Ondículas - Sub-herram. Nitidez bordes +HISTORY_MSG_399;Ondículas - Sub-herram. Residual +HISTORY_MSG_400;Ondículas - Sub-herram. Final +HISTORY_MSG_401;Ondículas - Sub-herram. Virado +HISTORY_MSG_402;Ondículas - Sub-herram. Reducc. ruido +HISTORY_MSG_403;Ondículas - Nitidez de bordes Sensibilidad bordes +HISTORY_MSG_404;Ondículas - Nitidez de bordes Amplificación base +HISTORY_MSG_405;Ondículas - Reducc. ruido Nivel 4 +HISTORY_MSG_406;Ondículas - Nitidez de bordes Píxels vecinos +HISTORY_MSG_407;Retinex - Método +HISTORY_MSG_408;Retinex - Radio +HISTORY_MSG_410;Retinex - Desplazamiento +HISTORY_MSG_411;Retinex - Intensidad +HISTORY_MSG_412;Retinex - Gradiente gaussiano +HISTORY_MSG_413;Retinex - Contraste +HISTORY_MSG_414;Retinex - Histograma - L*a*b* +HISTORY_MSG_415;Retinex - Transmisión +HISTORY_MSG_416;Retinex +HISTORY_MSG_417;Retinex - Mediana de transmisión +HISTORY_MSG_418;Retinex - Umbral +HISTORY_MSG_419;Retinex - Espacio de color +HISTORY_MSG_420;Retinex - Histograma - HSL +HISTORY_MSG_421;Retinex - Gamma +HISTORY_MSG_422;Retinex - Gamma +HISTORY_MSG_423;Retinex - Pendiente de gamma +HISTORY_MSG_424;Retinex - Umbral luces +HISTORY_MSG_425;-- no usado -- +HISTORY_MSG_426;Retinex - Ecualizador de matiz +HISTORY_MSG_427;Tipo de conversión del rango de colores de salida +HISTORY_MSG_428;Tipo de conversión del rango de colores del monitor +HISTORY_MSG_429;Retinex - Iteraciones +HISTORY_MSG_430;Retinex - Gradiente de transmisión +HISTORY_MSG_431;Retinex - Gradiente de intensidad +HISTORY_MSG_432;Retinex - Máscara Luces +HISTORY_MSG_433;Retinex - Máscara Ancho tonal luces +HISTORY_MSG_434;Retinex - Máscara Sombras +HISTORY_MSG_435;Retinex - Máscara Ancho tonal sombras +HISTORY_MSG_436;Retinex - Máscara Radio +HISTORY_MSG_437;Retinex - Máscara Método +HISTORY_MSG_438;Retinex - Máscara Ecualizador +HISTORY_MSG_439;Retinex - Proceso +HISTORY_MSG_440;Contraste por niveles de detalle - Método +HISTORY_MSG_441;Retinex - Ganancia de transmisión +HISTORY_MSG_442;Retinex - Escala +HISTORY_MSG_443;Compensación punto negro de salida +HISTORY_MSG_444;Balance de blancos - Sesgo de temperatura +HISTORY_MSG_445;Sub-imagen raw +HISTORY_MSG_446;-- no usado -- +HISTORY_MSG_447;-- no usado -- +HISTORY_MSG_448;-- no usado -- +HISTORY_MSG_449;PixelShift - Adaptación ISO +HISTORY_MSG_450;-- no usado -- +HISTORY_MSG_451;-- no usado -- +HISTORY_MSG_452;PixelShift - Mostrar movimiento +HISTORY_MSG_453;PixelShift - Mostrar sólo la máscara +HISTORY_MSG_454;-- no usado -- +HISTORY_MSG_455;-- no usado -- +HISTORY_MSG_456;-- no usado -- +HISTORY_MSG_457;PixelShift - Comprobar rojo/azul +HISTORY_MSG_458;-- no usado -- +HISTORY_MSG_459;-- no usado -- +HISTORY_MSG_460;-- no usado -- +HISTORY_MSG_461;-- no usado -- +HISTORY_MSG_462;PixelShift - Comprobar verde +HISTORY_MSG_463;-- no usado -- +HISTORY_MSG_464;PixelShift - Difuminar máscara de movimiento +HISTORY_MSG_465;PixelShift - Radio de difuminado +HISTORY_MSG_466;-- no usado -- +HISTORY_MSG_467;-- no usado -- +HISTORY_MSG_468;PixelShift - Rellenar huecos +HISTORY_MSG_469;PixelShift - Mediana +HISTORY_MSG_470;-- no usado -- +HISTORY_MSG_471;PixelShift - Corrección de movimiento +HISTORY_MSG_472;PixelShift - Suavizar transiciones +HISTORY_MSG_474;PixelShift - Ecualizar +HISTORY_MSG_475;PixelShift - Ecualizar canal +HISTORY_MSG_476;AC & I - Condic. visualiz. - Temperatura +HISTORY_MSG_477;AC & I - Condic. visualiz. - Tinte +HISTORY_MSG_478;AC & I - Condic. visualiz. - Luminancia media +HISTORY_MSG_479;AC & I - Condic. visualiz. - Adaptación +HISTORY_MSG_480;AC & I - Condic. visualiz. - Adaptac. automática +HISTORY_MSG_481;AC & I - Condic. escena - Temperatura +HISTORY_MSG_482;AC & I - Condic. escena - Tinte +HISTORY_MSG_483;AC & I - Condic. escena - Luminancia media +HISTORY_MSG_484;AC & I - Condic. escena -Lumin. media auto +HISTORY_MSG_485;Corrección de objetivo +HISTORY_MSG_486;Corrección de objetivo - Cámara +HISTORY_MSG_487;Corrección de objetivo - Objetivo +HISTORY_MSG_488;Compresión de rango dinámico +HISTORY_MSG_489;Compresión de rango dinámico - Detalle +HISTORY_MSG_490;Compresión de rango dinámico - Cantidad +HISTORY_MSG_491;Balance de blancos +HISTORY_MSG_492;Curvas RGB +HISTORY_MSG_493;Ajustes L*a*b* +HISTORY_MSG_494;Nitidez en captura +HISTORY_MSG_496;Local - Punto borrado +HISTORY_MSG_497;Local - Punto seleccionado +HISTORY_MSG_498;Local - Nombre del punto +HISTORY_MSG_499;Local - Visibilidad del punto +HISTORY_MSG_500;Local - Forma del punto +HISTORY_MSG_501;Local - Método del punto +HISTORY_MSG_502;Local - Método de forma del punto +HISTORY_MSG_503;Local - locX del punto +HISTORY_MSG_504;Local - locXL del punto +HISTORY_MSG_505;Local - locY del punto +HISTORY_MSG_506;Local - locYT del punto +HISTORY_MSG_507;Local - Centro del punto +HISTORY_MSG_508;Local - Radio circular del punto +HISTORY_MSG_509;Local - Método de calidad del punto +HISTORY_MSG_510;Local - Transición del punto +HISTORY_MSG_511;Local - Umbral del punto +HISTORY_MSG_512;Local - Decaimiento de ΔE del punto +HISTORY_MSG_513;Local - Ámbito del punto +HISTORY_MSG_514;Local - Estructura del punto +HISTORY_MSG_515;Ajustes Locales +HISTORY_MSG_516;Local - Color y luz +HISTORY_MSG_517;Local - Activar super +HISTORY_MSG_518;Local - Claridad +HISTORY_MSG_519;Local - Contraste +HISTORY_MSG_520;Local - Cromaticidad +HISTORY_MSG_521;Local - Ámbito +HISTORY_MSG_522;Local - Método de curva +HISTORY_MSG_523;Local - Curva LL +HISTORY_MSG_524;Local - Curva CC +HISTORY_MSG_525;Local - Curva LH +HISTORY_MSG_526;Local - Curva H +HISTORY_MSG_527;Local - Color inverso +HISTORY_MSG_528;Local - Exposición +HISTORY_MSG_529;Local - Compens. expos. +HISTORY_MSG_530;Local - Expos. Compresión luces +HISTORY_MSG_531;Local - Expos. Umbral compr. luces +HISTORY_MSG_532;Local - Expos. Nivel de negro +HISTORY_MSG_533;Local - Expos. Compresión sombras +HISTORY_MSG_534;Local - Cálido/Frío +HISTORY_MSG_535;Local - Expos. Ámbito +HISTORY_MSG_536;Local - Expos. Curva contraste +HISTORY_MSG_537;Local - Vivacidad +HISTORY_MSG_538;Local - Vivac. Saturados +HISTORY_MSG_539;Local - Vivac. Pastel +HISTORY_MSG_540;Local - Vivac. Umbral +HISTORY_MSG_541;Local - Vivac. Proteger tonos piel +HISTORY_MSG_542;Local - Vivac. Evitar la deriva de colores +HISTORY_MSG_543;Local - Vivac. Vincular +HISTORY_MSG_544;Local - Vivac. Ámbito +HISTORY_MSG_545;Local - Vivac. Curva H +HISTORY_MSG_546;Local - Difuminado y ruido +HISTORY_MSG_547;Local - Radio +HISTORY_MSG_548;Local - Ruido +HISTORY_MSG_549;Local - Difumin. Ámbito +HISTORY_MSG_550;Local - Difumin. Método +HISTORY_MSG_551;Local - Difumin. Sólo luminancia +HISTORY_MSG_552;Local - Mapeo tonal +HISTORY_MSG_553;Local - MT Intens. compresión +HISTORY_MSG_554;Local - MT Gamma +HISTORY_MSG_555;Local - MT Parada en bordes +HISTORY_MSG_556;Local - MT Escala +HISTORY_MSG_557;Local - MT Reponderación +HISTORY_MSG_558;Local - MT Ámbito +HISTORY_MSG_559;Local - Retinex +HISTORY_MSG_560;Local - Reti. Método +HISTORY_MSG_561;Local - Reti. Intensidad +HISTORY_MSG_562;Local - Reti. Cromaticidad +HISTORY_MSG_563;Local - Reti. Radio +HISTORY_MSG_564;Local - Reti. Contraste +HISTORY_MSG_565;Local - Ámbito +HISTORY_MSG_566;Local - Reti. Curva de ganancia +HISTORY_MSG_567;Local - Reti. Inverso +HISTORY_MSG_568;Local - Nitidez +HISTORY_MSG_569;Local - Nitidez Radio +HISTORY_MSG_570;Local - Nitidez Cantidad +HISTORY_MSG_571;Local - Nitidez Amortiguación +HISTORY_MSG_572;Local - Nitidez Iteraciones +HISTORY_MSG_573;Local - Nitidez Ámbito +HISTORY_MSG_574;Local - Nitidez Inverso +HISTORY_MSG_575;Local - Contraste niveles detalle +HISTORY_MSG_576;Local - CPND Mult +HISTORY_MSG_577;Local - CPND Cromaticidad +HISTORY_MSG_578;Local - CPND Umbral +HISTORY_MSG_579;Local - CPND Ámbito +HISTORY_MSG_580;-- no usado -- +HISTORY_MSG_581;Local - RD Lumin. fino 1 +HISTORY_MSG_582;Local - RD Lumin. grueso +HISTORY_MSG_583;Local - RD Lumin. detalle +HISTORY_MSG_584;Local - RD Ecualiz. blanco-negro +HISTORY_MSG_585;Local - RD Cromaticidad fino +HISTORY_MSG_586;Local - RD Cromaticidad grueso +HISTORY_MSG_587;Local - RD Cromaticidad detalle +HISTORY_MSG_588;Local - RD Ecualiz. azul-rojo +HISTORY_MSG_589;Local - RD Filtro bilateral +HISTORY_MSG_590;Local - RD Ámbito +HISTORY_MSG_591;Local - Evitar la deriva de colores +HISTORY_MSG_592;Local - Nitidez Contraste +HISTORY_MSG_593;Local - Contraste local +HISTORY_MSG_594;Local - CL Radio +HISTORY_MSG_595;Local - CL Cantidad +HISTORY_MSG_596;Local - CL Oscuridad +HISTORY_MSG_597;Local - CL Claridad +HISTORY_MSG_598;Local - CL Ámbito +HISTORY_MSG_599;Local - Reti. Quitar neblina +HISTORY_MSG_600;Local - Luz suave Activar +HISTORY_MSG_601;Local - Luz suave Intensidad +HISTORY_MSG_602;Local - Luz suave Ámbito +HISTORY_MSG_603;Local - Nitidez Radio difuminado +HISTORY_MSG_605;Local - Elecc. máscara previsualiz. +HISTORY_MSG_606;Local - Punto seleccionado +HISTORY_MSG_607;Local - Color Máscara C +HISTORY_MSG_608;Local - Color Máscara L +HISTORY_MSG_609;Local - Expos. Máscara C +HISTORY_MSG_610;Local - Expos. Máscara L +HISTORY_MSG_611;Local - Color Máscara H +HISTORY_MSG_612;Local - Color Estructura +HISTORY_MSG_613;Local - Expos. Estructura +HISTORY_MSG_614;Local - Expos. Máscara H +HISTORY_MSG_615;Local - Mezcla color +HISTORY_MSG_616;Local - Mezcla exposic. +HISTORY_MSG_617;Local - Difumin. exposic. +HISTORY_MSG_618;Local - Usar máscara color +HISTORY_MSG_619;Local - Usar máscara exposic. +HISTORY_MSG_620;Local - Difumin. color +HISTORY_MSG_621;Local - Expos. Inverso +HISTORY_MSG_622;Local - Excluir estructura +HISTORY_MSG_623;Local - Expos. Compensac. cromaticidad +HISTORY_MSG_624;Local - Cuadrícula correcc. color +HISTORY_MSG_625;Local - Intensidad correcc. color +HISTORY_MSG_626;Local - Método correcc. color +HISTORY_MSG_627;Local - Sombras/Luces +HISTORY_MSG_628;Local - S/AL Luces +HISTORY_MSG_629;Local - S/AL Ancho tonal luces +HISTORY_MSG_630;Local - S/AL Sombras +HISTORY_MSG_631;Local - S/AL Ancho tonal sombras +HISTORY_MSG_632;Local - S/AL Radio +HISTORY_MSG_633;Local - S/AL Ámbito +HISTORY_MSG_634;Local - Radio color +HISTORY_MSG_635;Local - Radio exposición +HISTORY_MSG_636;Local - Herramienta añadida +HISTORY_MSG_637;Local - S/AL Máscara C +HISTORY_MSG_638;Local - S/AL Máscara L +HISTORY_MSG_639;Local - S/AL Máscara H +HISTORY_MSG_640;Local - S/AL Mezcla +HISTORY_MSG_641;Local - S/AL Usar máscara +HISTORY_MSG_642;Local - S/AL Radio +HISTORY_MSG_643;Local - S/AL Difuminar +HISTORY_MSG_644;Local - S/AL Inverso +HISTORY_MSG_645;Local - Balance ΔE ab-L +HISTORY_MSG_646;Local - Expos. Cromaticidad máscara +HISTORY_MSG_647;Local - Expos. Gamma máscara +HISTORY_MSG_648;Local - Expos. Pendiente máscara +HISTORY_MSG_649;Local - Expos. Radio suave +HISTORY_MSG_650;Local - Color Cromaticidad máscara +HISTORY_MSG_651;Local - Color Gamma máscara +HISTORY_MSG_652;Local - Color Pendiente máscara +HISTORY_MSG_653;Local - S/AL Cromaticidad máscara +HISTORY_MSG_654;Local - S/AL Gamma máscara +HISTORY_MSG_655;Local - S/AL Pendiente máscara +HISTORY_MSG_656;Local - Color Radio suave +HISTORY_MSG_657;Local - Reti. Reducir artefactos +HISTORY_MSG_658;Local - CPND Radio suave +HISTORY_MSG_659;Local - Transición-decaim. de punto +HISTORY_MSG_660;Local - CPND Claridad +HISTORY_MSG_661;Local - CPND Contraste residual +HISTORY_MSG_662;Local - Reducc. ruido Lumin. fino 0 +HISTORY_MSG_663;Local - Reducc. ruido Lumin. fino 2 +HISTORY_MSG_664;-- no usado -- +HISTORY_MSG_665;Local - CPND Mezcla máscara +HISTORY_MSG_666;Local - CPND Radio máscara +HISTORY_MSG_667;Local - CPND Cromaticidad máscara +HISTORY_MSG_668;Local - CPND Gamma máscara +HISTORY_MSG_669;Local - CPND Pendiente máscara +HISTORY_MSG_670;Local - CPND Máscara C +HISTORY_MSG_671;Local - CPND Máscara L +HISTORY_MSG_672;Local - CPND Máscara CL +HISTORY_MSG_673;Local - Usar máscara CPND +HISTORY_MSG_674;Local - Herramienta suprimida +HISTORY_MSG_675;Local - Mapeo tonal Radio suave +HISTORY_MSG_676;Local - Transición-diferenciación punto +HISTORY_MSG_677;Local - Mapeo tonal Cantidad +HISTORY_MSG_678;Local - Mapeo tonal Saturación +HISTORY_MSG_679;Local - Retinex Máscara C +HISTORY_MSG_680;Local - Reti. Máscara L +HISTORY_MSG_681;Local - Reti. Máscara CL +HISTORY_MSG_682;Local - Reti. Máscara +HISTORY_MSG_683;Local - Reti. Mezcla máscara +HISTORY_MSG_684;Local - Reti. Radio máscara +HISTORY_MSG_685;Local - Reti. Cromaticidad máscara +HISTORY_MSG_686;Local - Reti. Gamma máscara +HISTORY_MSG_687;Local - Reti. Pendiente máscara +HISTORY_MSG_688;Local - Herramienta suprimida +HISTORY_MSG_689;Local - Reti. Mapa transmisión máscara +HISTORY_MSG_690;Local - Reti. Escala +HISTORY_MSG_691;Local - Reti. Oscuridad +HISTORY_MSG_692;Local - Reti. Claridad +HISTORY_MSG_693;Local - Reti. Umbral +HISTORY_MSG_694;Local - Reti. Umbral laplaciana +HISTORY_MSG_695;Local - Método suave +HISTORY_MSG_696;Local - Reti. Normalizar +HISTORY_MSG_697;Local - MT Normalizar +HISTORY_MSG_698;Local - CL Fast Fourier +HISTORY_MSG_699;Local - Reti. Fast Fourier +HISTORY_MSG_701;Local - Expos. Sombras +HISTORY_MSG_702;Local - Expos. Método +HISTORY_MSG_703;Local - Expos. Umbral laplaciana +HISTORY_MSG_704;Local - Expos. Balance PDE +HISTORY_MSG_705;Local - Expos. Linealidad +HISTORY_MSG_706;Local - MT Máscara C +HISTORY_MSG_707;Local - MT Máscara L +HISTORY_MSG_708;Local - MT Máscara CL +HISTORY_MSG_709;Local - Usar máscara MT +HISTORY_MSG_710;Local - MT Mezcla máscara +HISTORY_MSG_711;Local - MT Radio máscara +HISTORY_MSG_712;Local - MT Cromaticidad máscara +HISTORY_MSG_713;Local - MT Gamma máscara +HISTORY_MSG_714;Local - MT Pendiente máscara +HISTORY_MSG_716;Local - Método local +HISTORY_MSG_717;Local - Contraste local +HISTORY_MSG_718;Local - CL Niveles +HISTORY_MSG_719;Local - CL L residual +HISTORY_MSG_720;Local - Máscara difumin. C +HISTORY_MSG_721;Local - Máscara difumin. L +HISTORY_MSG_722;Local - Máscara difumin. CL +HISTORY_MSG_723;Local - Usar máscara difumin. +HISTORY_MSG_725;Local - Máscara difumin. Mezcla +HISTORY_MSG_726;Local - Máscara difumin. Radio +HISTORY_MSG_727;Local - Máscara difumin. Cromaticidad +HISTORY_MSG_728;Local - Máscara difumin. Gamma +HISTORY_MSG_729;Local - Máscara difumin. Pendiente +HISTORY_MSG_730;Local - Método difumin. +HISTORY_MSG_731;Local - Método mediana +HISTORY_MSG_732;Local - Iteraciones mediana +HISTORY_MSG_733;Local - Radio suave +HISTORY_MSG_734;Local - Detalle +HISTORY_MSG_738;Local - CL Fusionar L +HISTORY_MSG_739;Local - CL Radio suave +HISTORY_MSG_740;Local - CL Fusionar C +HISTORY_MSG_741;Local - CL Residual C +HISTORY_MSG_742;Local - Expos. Gamma laplaciana +HISTORY_MSG_743;Local - Expos. Fattal cantidad +HISTORY_MSG_744;Local - Expos. Fattal detalle +HISTORY_MSG_745;Local - Expos. Fattal desplazamiento +HISTORY_MSG_746;Local - Expos. Fattal sigma +HISTORY_MSG_747;Local - Punto creado +HISTORY_MSG_748;Local - Expos. Reducc. ruido +HISTORY_MSG_749;Local - Reti. Profundidad +HISTORY_MSG_750;Local - Reti. Modo log - lineal +HISTORY_MSG_751;Local - Reti. Saturación elim. neblina +HISTORY_MSG_752;Local - Reti. Desplazamiento +HISTORY_MSG_753;Local - Reti. Mapa transmisión +HISTORY_MSG_754;Local - Reti. Recorte +HISTORY_MSG_755;Local - MT Usar máscara MT +HISTORY_MSG_756;Local - Expos. usar algor. máscara exposic. +HISTORY_MSG_757;Local - Expos. Máscara laplaciana +HISTORY_MSG_758;Local - Reti. Máscara laplaciana +HISTORY_MSG_759;Local - Expos. Máscara laplaciana +HISTORY_MSG_760;Local - Color Máscara laplaciana +HISTORY_MSG_761;Local - S/AL Máscara laplaciana +HISTORY_MSG_762;Local - CPND Máscara laplaciana +HISTORY_MSG_763;Local - Difumin. Máscara laplaciana +HISTORY_MSG_764;Local - Resolver PDE Máscara laplaciana +HISTORY_MSG_765;Local - RR Umbral detalle +HISTORY_MSG_766;Local - Difumin. Fast Fourier +HISTORY_MSG_767;Local - Grano ISO +HISTORY_MSG_768;Local - Grano Intensidad +HISTORY_MSG_769;Local - Grano Escala +HISTORY_MSG_770;Local - Color Curva contraste máscara +HISTORY_MSG_771;Local - Expos. Curva contraste máscara +HISTORY_MSG_772;Local - S/AL Curva contraste máscara +HISTORY_MSG_773;Local - MT Curva contraste máscara +HISTORY_MSG_774;Local - Reti. Curva contraste máscara +HISTORY_MSG_775;Local - CPND Curva contraste máscara +HISTORY_MSG_776;Local - Difumin. Curva contraste máscara RR +HISTORY_MSG_777;Local - Difumin. Curva contraste local máscara +HISTORY_MSG_778;Local - Máscara luces +HISTORY_MSG_779;Local - Color Curva contraste local máscara +HISTORY_MSG_780;Local - Color Máscara sombras +HISTORY_MSG_781;Local - Nivel ondículas máscara contraste +HISTORY_MSG_782;Local - Difumin. Niveles ondículas máscara red. ruido +HISTORY_MSG_783;Local - Color Niveles ondículas +HISTORY_MSG_784;Local - ΔE máscara +HISTORY_MSG_785;Local - Ámbito ΔE máscara +HISTORY_MSG_786;Local - S/AL Método +HISTORY_MSG_787;Local - Multiplicador Ecualizador +HISTORY_MSG_788;Local - Detalle Ecualizador +HISTORY_MSG_789;Local - S/AL Cantidad máscara +HISTORY_MSG_790;Local - S/AL punto ancla máscara +HISTORY_MSG_791;Local - Máscara Curvas L cortas +HISTORY_MSG_792;Local - Máscara Luminancia fondo +HISTORY_MSG_793;Local - S/AL Gamma TRC +HISTORY_MSG_794;Local - S/AL Pendiente TRC +HISTORY_MSG_795;Local - Máscara Guardar/restaurar imagen +HISTORY_MSG_796;Local - Referencias recursivas +HISTORY_MSG_797;Local - Fusión original Método +HISTORY_MSG_798;Local - Opacidad +HISTORY_MSG_799;Local - Color Curva tonal RGB +HISTORY_MSG_800;Local - Color Método curva tonal +HISTORY_MSG_801;Local - Color Curva tonal especial +HISTORY_MSG_802;Local - Umbral de contraste +HISTORY_MSG_803;Local - Color Fusión +HISTORY_MSG_804;Local - Color Máscara de estructura +HISTORY_MSG_805;Local - Difuminado/Ruido Máscara estructura +HISTORY_MSG_806;Local - Color Máscara estructura como herram. +HISTORY_MSG_807;Local - Difumin. Máscara estructura como herram. +HISTORY_MSG_808;Local - Color Máscara Curva H(H) +HISTORY_MSG_809;Local - Vivac. Máscara Curva C(C) +HISTORY_MSG_810;Local - Vivac. Máscara Curva L(L) +HISTORY_MSG_811;Local - Vivac. Máscara Curva LC(H) +HISTORY_MSG_813;Local - Usar máscara Vivac. +HISTORY_MSG_814;Local - Vivac. Máscara Mezcla +HISTORY_MSG_815;Local - Vivac. Máscara Radio +HISTORY_MSG_816;Local - Vivac. Máscara cromaticidad +HISTORY_MSG_817;Local - Vivac. Máscara Gamma +HISTORY_MSG_818;Local - Vivac. Máscara Pendiente +HISTORY_MSG_819;Local - Vivac. Máscara Laplaciana +HISTORY_MSG_820;Local - Vivac. Máscara Curva contraste +HISTORY_MSG_821;Local - Color Rejilla fondo +HISTORY_MSG_822;Local - Color Fusión fondo +HISTORY_MSG_823;Local - Color Luminancia fondo +HISTORY_MSG_824;Local - Exp. Intens. gradiente máscara +HISTORY_MSG_825;Local - Exp. Ángulo gradiente máscara +HISTORY_MSG_826;Local - Exp. Intens. gradiente +HISTORY_MSG_827;Local - Exp. Ángulo gradiente +HISTORY_MSG_828;Local - S/AL Intens. gradiente +HISTORY_MSG_829;Local - S/AL Ángulo gradiente +HISTORY_MSG_830;Local - Color Intens. gradiente L +HISTORY_MSG_831;Local - Color Ángulo gradiente +HISTORY_MSG_832;Local - Color Intens. gradiente C +HISTORY_MSG_833;Local - Gradiente degradado +HISTORY_MSG_834;Local - Color Intens. gradiente H +HISTORY_MSG_835;Local - Vivac. Intens. gradiente L +HISTORY_MSG_836;Local - Vivac. Ángulo gradiente +HISTORY_MSG_837;Local - Vivac. Intens. gradiente C +HISTORY_MSG_838;Local - Vivac. Intens. gradiente H +HISTORY_MSG_839;Local - Complejidad software +HISTORY_MSG_840;Local - Curva CL +HISTORY_MSG_841;Local - Curva LC +HISTORY_MSG_842;Local - Máscara difumin. Radio +HISTORY_MSG_843;Local - Máscara difumin. Umbral contraste +HISTORY_MSG_844;Local - Máscara difumin. FFTW +HISTORY_MSG_845;Local - Codific. Log +HISTORY_MSG_846;Local - Codific. Log Auto +HISTORY_MSG_847;Local - Codific. Log Origen +HISTORY_MSG_849;Local - Codific. Log Origen auto +HISTORY_MSG_850;Local - Codific. Log N_Ev +HISTORY_MSG_851;Local - Codific. Log B_Ev +HISTORY_MSG_852;Local - Codific. Log Destino +HISTORY_MSG_853;Local - Codific. Log contraste loc. +HISTORY_MSG_854;Local - Codific. Log Ámbito +HISTORY_MSG_855;Local - Codific. Log Imagen completa +HISTORY_MSG_856;Local - Codific. Log Rango sombras +HISTORY_MSG_857;Local - Ondíc. Difumin. residual +HISTORY_MSG_858;Local - Ondíc. Difumin. sólo luma +HISTORY_MSG_859;Local - Ondíc. Difumin. máx. +HISTORY_MSG_860;Local - Ondíc. Difum. niveles +HISTORY_MSG_861;Local - Ondíc. Niveles contraste +HISTORY_MSG_862;Local - Ondíc. Atenuac. contraste +HISTORY_MSG_863;Local - Ondíc. Fusionar imagen orig. +HISTORY_MSG_864;Local - Ondíc. dir Atenuac. contraste +HISTORY_MSG_865;Local - Ondíc. dir Delta contraste +HISTORY_MSG_866;Local - Ondíc. dir Compresión +HISTORY_MSG_868;Local - balance ΔE C-H +HISTORY_MSG_869;Local - Ondíc. por nivel +HISTORY_MSG_870;Local - Ondíc. Máscara Curva H +HISTORY_MSG_871;Local - Ondíc. Máscara Curva C +HISTORY_MSG_872;Local - Ondíc. Máscara Curva L +HISTORY_MSG_873;Local - Ondíc. Máscara +HISTORY_MSG_875;Local - Ondíc. Mezcla máscara +HISTORY_MSG_876;Local - Ondíc. Suaviz. máscara +HISTORY_MSG_877;Local - Ondíc. Cromaticidad máscara +HISTORY_MSG_878;Local - Ondíc. Curva contraste máscara +HISTORY_MSG_879;Local - Ondíc. Contraste cromaticidad +HISTORY_MSG_880;Local - Ondíc. Difumin. cromaticidad +HISTORY_MSG_881;Local - Ondíc. Desplazam. contraste +HISTORY_MSG_882;Local - Ondíc. Difuminado +HISTORY_MSG_883;Local - Ondíc. Contraste por nivel +HISTORY_MSG_884;Local - Ondíc. dir Contraste +HISTORY_MSG_885;Local - Ondíc. Mapeo tonal +HISTORY_MSG_886;Local - Ondíc. Mapeo tonal comprimir +HISTORY_MSG_887;Local - Ondíc. Mapeo tonal comprimir residual +HISTORY_MSG_888;Local - Contraste ondíc. Umbr. balance +HISTORY_MSG_889;Local - Contraste ondíc. Intens. Graduado +HISTORY_MSG_890;Local - Contraste ondíc. Ángulo Graduado +HISTORY_MSG_891;Local - Contraste ondíc. Graduado +HISTORY_MSG_892;Local - Codific. Log Intens. Graduado +HISTORY_MSG_893;Local - Codific. Log Ángulo Graduado +HISTORY_MSG_894;Local - Color Vista previa ΔE +HISTORY_MSG_897;Local - RD Contraste ondíc. Intens. +HISTORY_MSG_898;Local - RD Contraste ondíc. Radio +HISTORY_MSG_899;Local - RD Contraste ondíc. Detalle +HISTORY_MSG_900;Local - RD Contraste ondíc. Gradiente +HISTORY_MSG_901;Local - RD Contraste ondíc. Umbr. bajo +HISTORY_MSG_902;Local - RD Contraste ondíc. Umbr. alto +HISTORY_MSG_903;Local - RD Contraste ondíc. Contraste local +HISTORY_MSG_904;Local - RD Contraste ondíc. Primer nivel +HISTORY_MSG_905;Local - RD Contraste ondíc. Nitidez bordes +HISTORY_MSG_906;Local - RD Contraste ondíc. Sensib. +HISTORY_MSG_907;Local - RD Contraste ondíc. Amplif. +HISTORY_MSG_908;Local - RD Contraste ondíc. Vecindad +HISTORY_MSG_909;Local - RD Contraste ondíc. Mostrar +HISTORY_MSG_910;Local - Rendimiento de ondículas en bordes +HISTORY_MSG_911;Local - Difumin. cromaticidad Luma +HISTORY_MSG_912;Local - Difumin. Intens. filtro guiado +HISTORY_MSG_913;Local - Contraste ondíc. Sigma RD +HISTORY_MSG_914;Local - Difumin. Ondíc. Sigma BL +HISTORY_MSG_915;Local - Bordes Ondíc. Sigma ED +HISTORY_MSG_916;Local - Residual Ondíc. sombras +HISTORY_MSG_917;Local - Residual Ondíc. umbr. sombras +HISTORY_MSG_918;Local - Residual Ondíc. luces +HISTORY_MSG_919;Local - Residual Ondíc. umbr. luces +HISTORY_MSG_920;Local - Ondíc. sigma LC +HISTORY_MSG_921;Local - Ondíc. Graduado sigma LC2 +HISTORY_MSG_922;Local - Cambios en B/N +HISTORY_MSG_923;Local - Modo Complejidad herram. +HISTORY_MSG_924;-- no usado -- +HISTORY_MSG_925;Local - Ámbito herram. color +HISTORY_MSG_926;Local - Mostrar tipo máscara +HISTORY_MSG_927;Local - Sombras +HISTORY_MSG_928;Local - Máscara Común color +HISTORY_MSG_929;Local - Máscara Común Ámbito +HISTORY_MSG_930;Local - Máscara Común Mezclar luma +HISTORY_MSG_931;Local - Máscara Común Activar +HISTORY_MSG_932;Local - Máscara Común Radio suave +HISTORY_MSG_933;Local - Máscara Común Laplaciana +HISTORY_MSG_934;Local - Máscara Común Cromaticidad +HISTORY_MSG_935;Local - Máscara Común Gamma +HISTORY_MSG_936;Local - Máscara Común Pendiente +HISTORY_MSG_937;Local - Máscara Común Curva C(C) +HISTORY_MSG_938;Local - Máscara Común Curva L(L) +HISTORY_MSG_939;Local - Máscara Común Curva LC(H) +HISTORY_MSG_940;Local - Máscara Común Estructura como herram. +HISTORY_MSG_941;Local - Máscara Común Intens. estructura +HISTORY_MSG_942;Local - Máscara Común Curva H(H) +HISTORY_MSG_943;Local - Máscara Común FFT +HISTORY_MSG_944;Local - Máscara Común Radio difumin. +HISTORY_MSG_945;Local - Máscara Común Umbr. contraste +HISTORY_MSG_946;Local - Máscara Común Sombras +HISTORY_MSG_947;Local - Máscara Común Curva contraste +HISTORY_MSG_948;Local - Máscara Común Curva ondíc. +HISTORY_MSG_949;Local - Máscara Común Umbral niveles +HISTORY_MSG_950;Local - Máscara Común Intens. FG +HISTORY_MSG_951;Local - Máscara Común Ángulo FG +HISTORY_MSG_952;Local - Máscara Común Radio suave +HISTORY_MSG_953;Local - Máscara Común Mezcla cromaticidad +HISTORY_MSG_954;Local - Mostrar/ocultar herram. +HISTORY_MSG_955;Local - Activar punto +HISTORY_MSG_956;Local - Curva CH +HISTORY_MSG_957;Local - Modo reducc. ruido +HISTORY_MSG_958;Local - Mostrar/ocultar ajustes +HISTORY_MSG_959;Local - Difumin. inverso +HISTORY_MSG_960;Local - Codific. Log - CAT16 +HISTORY_MSG_961;Local - Codific. Log Ciecam +HISTORY_MSG_962;Local - Codific. Log Luma abs. Origen +HISTORY_MSG_963;Local - Codific. Log Luma abs. Destino +HISTORY_MSG_964;Local - Codific. Log Entorno +HISTORY_MSG_965;Local - Codific. Log Saturación s +HISTORY_MSG_966;Local - Codific. Log Contraste J +HISTORY_MSG_967;Local - Codific. Log Máscara Curva C +HISTORY_MSG_968;Local - Codific. Log Máscara Curva L +HISTORY_MSG_969;Local - Codific. Log Máscara Curva H +HISTORY_MSG_970;Local - Codific. Log Máscara Activar +HISTORY_MSG_971;Local - Codific. Log Máscara Mezcla +HISTORY_MSG_972;Local - Codific. Log Máscara Radio +HISTORY_MSG_973;Local - Codific. Log Máscara cromaticidad +HISTORY_MSG_974;Local - Codific. Log Máscara Contraste +HISTORY_MSG_975;Local - Codific. Log Claridad J +HISTORY_MSG_977;Local - Codific. Log Contraste Q +HISTORY_MSG_978;Local - Codific. Log Entorno orig. +HISTORY_MSG_979;Local - Codific. Log Brillo Q +HISTORY_MSG_980;Local - Codific. Log Colorido M +HISTORY_MSG_981;Local - Codific. Log Intensidad +HISTORY_MSG_982;Local - Ecualizador matiz +HISTORY_MSG_983;Local - Reducc. ruido Máscara Umbr. alto +HISTORY_MSG_984;Local - Reducc. ruido Máscara Umbr. bajo +HISTORY_MSG_985;Local - Reducc. ruido Laplaciana +HISTORY_MSG_986;Local - Reducc. ruido Reforzar +HISTORY_MSG_987;Local - Filtro guiado Umbr. recup. +HISTORY_MSG_988;Local - Filtro guiado Máscara Umbr. bajo +HISTORY_MSG_989;Local - Filtro guiado Máscara Umbr. alto +HISTORY_MSG_990;Local - Reducc. ruido Umbr. recup. +HISTORY_MSG_991;Local - Reducc. ruido Máscara Umbr. bajo +HISTORY_MSG_992;Local - Reducc. ruido Máscara Umbr. alto +HISTORY_MSG_993;Local - Reducc. ruido Alg. inverso +HISTORY_MSG_994;Local - Filtro guiado Alg. inverso +HISTORY_MSG_995;Local - Reducc. ruido Decaim. +HISTORY_MSG_996;Local - Color Umbr. recup. +HISTORY_MSG_997;Local - Color Máscara Umbr. bajo +HISTORY_MSG_998;Local - Color Máscara Umbr. alto +HISTORY_MSG_999;Local - Color Decaim. +HISTORY_MSG_1000;Local - Reducc. ruido luma gris +HISTORY_MSG_1001;Local - Log Umbr. recup. +HISTORY_MSG_1002;Local - Log Máscara Umbr. bajo +HISTORY_MSG_1003;Local - Log Máscara Umbr. alto +HISTORY_MSG_1004;Local - Log Decaim. +HISTORY_MSG_1005;Local - Exp Umbr. recup. +HISTORY_MSG_1006;Local - Exp Máscara Umbr. bajo +HISTORY_MSG_1007;Local - Exp Máscara Umbr. alto +HISTORY_MSG_1008;Local - Exp Decaim. +HISTORY_MSG_1009;Local - S/AL Umbr. recup. +HISTORY_MSG_1010;Local - S/AL Máscara Umbr. bajo +HISTORY_MSG_1011;Local - S/AL Máscara Umbr. alto +HISTORY_MSG_1012;Local - S/AL Decaim. +HISTORY_MSG_1013;Local - Vivac. Umbr. recup. +HISTORY_MSG_1014;Local - Vivac. Máscara Umbr. bajo +HISTORY_MSG_1015;Local - Vivac. Máscara Umbr. alto +HISTORY_MSG_1016;Local - Vivac. Decaim. +HISTORY_MSG_1017;Local - LC Umbr. recup. +HISTORY_MSG_1018;Local - LC Máscara Umbr. bajo +HISTORY_MSG_1019;Local - LC Máscara Umbr. alto +HISTORY_MSG_1020;Local - LC Decaim. +HISTORY_MSG_1021;Local - Reducc. ruido cromaticidad gris +HISTORY_MSG_1022;Local - MT Umbr. recup. +HISTORY_MSG_1023;Local - MT Máscara Umbr. bajo +HISTORY_MSG_1024;Local - MT Máscara Umbr. alto +HISTORY_MSG_1025;Local - MT Decaim. +HISTORY_MSG_1026;Local - CPND Umbr. recup. +HISTORY_MSG_1027;Local - CPND Máscara Umbr. bajo +HISTORY_MSG_1028;Local - CPND Máscara Umbr. alto +HISTORY_MSG_1029;Local - CPND Decaim. +HISTORY_MSG_1030;Local - Reti Umbr. recup. +HISTORY_MSG_1031;Local - Reti Máscara Umbr. bajo +HISTORY_MSG_1032;Local - Reti Máscara Umbr. alto +HISTORY_MSG_1033;Local - Reti Decaim. +HISTORY_MSG_1034;Local - Medias NL - Intensidad +HISTORY_MSG_1035;Local - Medias NL - Detalle +HISTORY_MSG_1036;Local - Medias NL - Parcela +HISTORY_MSG_1037;Local - Medias NL - Radio +HISTORY_MSG_1038;Local - Medias NL - gamma +HISTORY_MSG_1039;Local - Grano - gamma +HISTORY_MSG_1040;Local - Punto - Radio suave +HISTORY_MSG_1041;Local - Punto - Munsell +HISTORY_MSG_1042;Local - Codific. log. - Umbral +HISTORY_MSG_1043;Local - Exp - Normalizar +HISTORY_MSG_1044;Local - Contraste local Intens. +HISTORY_MSG_1045;Local - Color y Luz Intens. +HISTORY_MSG_1046;Local - Reducc. ruido Intens. +HISTORY_MSG_1047;Local - S/AL y Ecualiz. tono Intens. +HISTORY_MSG_1048;Local - RD y Expos. Intens. +HISTORY_MSG_1049;Local - MT Intensidad +HISTORY_MSG_1050;Local - Codific. log. Cromaticidad +HISTORY_MSG_1051;Local - gamma ondícula Residual +HISTORY_MSG_1052;Local - pendiente ondícula Residual +HISTORY_MSG_1053;Local - gamma Reducc. ruido +HISTORY_MSG_1054;Local - gamma Ondícula +HISTORY_MSG_1055;Local - gamma Color y luz +HISTORY_MSG_1056;Local - gamma RD y Exposición +HISTORY_MSG_1057;Local - CIECAM activado +HISTORY_MSG_1058;Local - CIECAM Intensidad global +HISTORY_MSG_1059;Local - CIECAM Gris auto +HISTORY_MSG_1060;Local - CIECAM luminancia media fuente +HISTORY_MSG_1061;Local - CIECAM absoluta fuente +HISTORY_MSG_1062;Local - CIECAM entorno fuente +HISTORY_MSG_1063;Local - CIECAM Saturación +HISTORY_MSG_1064;Local - CIECAM Cromaticidad +HISTORY_MSG_1065;Local - CIECAM claridad J +HISTORY_MSG_1066;Local - CIECAM brillo +HISTORY_MSG_1067;Local - CIECAM Contraste J +HISTORY_MSG_1068;Local - CIECAM umbral +HISTORY_MSG_1069;Local - CIECAM contraste Q +HISTORY_MSG_1070;Local - CIECAM colorido +HISTORY_MSG_1071;Local - CIECAM Luminancia absoluta +HISTORY_MSG_1072;Local - CIECAM Luminancia media +HISTORY_MSG_1073;Local - CIECAM Cat16 +HISTORY_MSG_1074;Local - CIECAM Contraste local +HISTORY_MSG_1075;Local - CIECAM Visualiz. entorno +HISTORY_MSG_1076;Local - CIECAM Ámbito +HISTORY_MSG_1077;Local - CIECAM Modo +HISTORY_MSG_1078;Local - Protecc. rojos y piel +HISTORY_MSG_1079;Local - CIECAM Sigmoide intens. J +HISTORY_MSG_1080;Local - CIECAM Sigmoide umbral +HISTORY_MSG_1081;Local - CIECAM Sigmoide mezcla +HISTORY_MSG_1082;Local - CIECAM Sigmoide Q EvBlanco EvNegro +HISTORY_MSG_1083;Local - CIECAM Matiz +HISTORY_MSG_1084;Local - Usa Ev Negro - Ev Blanco +HISTORY_MSG_1085;Local - Jz claridad +HISTORY_MSG_1086;Local - Jz contraste +HISTORY_MSG_1087;Local - Jz cromaticidad +HISTORY_MSG_1088;Local - Jz matiz +HISTORY_MSG_1089;Local - Jz Sigmoide intens. +HISTORY_MSG_1090;Local - Jz Sigmoide umbral +HISTORY_MSG_1091;Local - Jz Sigmoide mezcla +HISTORY_MSG_1092;Local - Jz Adaptación +HISTORY_MSG_1093;Local - Modelo CAM +HISTORY_MSG_1094;Local - Jz luces +HISTORY_MSG_1095;Local - Jz umbral luces +HISTORY_MSG_1096;Local - Jz sombras +HISTORY_MSG_1097;Local - Jz umbral sombras +HISTORY_MSG_1098;Local - Jz radio S/AL +HISTORY_MSG_1099;Local - Curva Cz(Hz) +HISTORY_MSG_1100;Local - Jz Referencia 100 +HISTORY_MSG_1101;Local - Jz Remapeo CP +HISTORY_MSG_1102;Local - Curva Jz(Hz) +HISTORY_MSG_1103;Local - Nitidez gamma +HISTORY_MSG_1104;Local - Vivacidad gamma +HISTORY_MSG_1105;Local - CIECAM Método tono +HISTORY_MSG_1106;Local - CIECAM Curva tonal +HISTORY_MSG_1107;Local - CIECAM Método Color +HISTORY_MSG_1108;Local - CIECAM Curva Color +HISTORY_MSG_1109;Local - Curva Jz(Jz) +HISTORY_MSG_1110;Local - Curva Cz(Cz) +HISTORY_MSG_1111;Local - Curva Cz(Jz) +HISTORY_MSG_1112;Local - Forzar Jz +HISTORY_MSG_1113;Local - HDR CP +HISTORY_MSG_1114;Local - Cie activar máscara +HISTORY_MSG_1115;Local - Cie Máscara curva C +HISTORY_MSG_1116;Local - Cie Máscara curva L +HISTORY_MSG_1117;Local - Cie Máscara curva H +HISTORY_MSG_1118;Local - Cie Máscara mezcla +HISTORY_MSG_1119;Local - Cie Máscara radio +HISTORY_MSG_1120;Local - Cie Máscara cromaticidad +HISTORY_MSG_1121;Local - Cie Máscara curva contraste +HISTORY_MSG_1122;Local - Cie Máscara umbral recuperac. +HISTORY_MSG_1123;Local - Cie Máscara recuperac. oscuro +HISTORY_MSG_1124;Local - Cie Máscara recuperac. claro +HISTORY_MSG_1125;Local - Cie Máscara recuperac. decaim. +HISTORY_MSG_1126;Local - Cie Máscara laplaciana +HISTORY_MSG_1127;Local - Cie Máscara gamma +HISTORY_MSG_1128;Local - Cie Máscara pendiente +HISTORY_MSG_1129;Local - Cie Luminancia relativa +HISTORY_MSG_1130;Local - Cie Saturación Jz +HISTORY_MSG_1131;Local - Reducc. ruido crom. máscara +HISTORY_MSG_1132;Local - Cie Ondíc. sigma Jz +HISTORY_MSG_1133;Local - Cie Ondíc. nivel Jz +HISTORY_MSG_1134;Local - Cie Ondíc. contraste local Jz +HISTORY_MSG_1135;Local - Cie Ondíc. claridad Jz +HISTORY_MSG_1136;Local - Cie Ondíc. claridad Cz +HISTORY_MSG_1137;Local - Cie Ondíc. claridad suave +HISTORY_MSG_1138;Local - Local - Curva Hz(Hz) +HISTORY_MSG_1139;Local - Jz Curvas suaves H +HISTORY_MSG_1140;Local - Jz Umbral cromaticidad +HISTORY_MSG_1141;Local - Curva cromat. Jz(Hz) +HISTORY_MSG_1142;Local - intensidad suave +HISTORY_MSG_1143;Local - Jz Ev Negro +HISTORY_MSG_1144;Local - Jz Ev Blanco +HISTORY_MSG_1145;Local - Jz Codific. Log +HISTORY_MSG_1146;Local - Jz Codific. Log gris objetivo +HISTORY_MSG_1147;Local - Jz Ev Negro Ev Blanco +HISTORY_MSG_1148;Local - Jz Sigmoide +HISTORY_MSG_1149;Local - Sigmoide Q +HISTORY_MSG_1150;Local - Codif. log. Q en vez de Sigmoide Q +HISTORY_MSG_BLSHAPE;Difuminado por niveles +HISTORY_MSG_BLURCWAV;Difuminar cromaticidad +HISTORY_MSG_BLURWAV;Difuminar luminancia +HISTORY_MSG_BLUWAV;Respuesta de atenuación +HISTORY_MSG_CATCAT;AC & I - Ajustes - Modo +HISTORY_MSG_CATCOMPLEX;AC & I - Ajustes - Complejidad +HISTORY_MSG_CATMODEL;AC & I - Ajustes - CAM +HISTORY_MSG_CLAMPOOG;Recortar colores fuera de rango +HISTORY_MSG_COLORTONING_LABGRID_VALUE;Virado - Corrección de color +HISTORY_MSG_COLORTONING_LABREGION_AB;Virado - Corrección de color +HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;Virado - Canal +HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;Virado - Región máscara C +HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;Virado - Máscara H +HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;Virado - Claridad +HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;Virado - Máscara L +HISTORY_MSG_COLORTONING_LABREGION_LIST;Virado - Lista +HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;Virado - Difuminado máscara región +HISTORY_MSG_COLORTONING_LABREGION_OFFSET;Virado - Desplazamiento región +HISTORY_MSG_COLORTONING_LABREGION_POWER;Virado - Potencia región +HISTORY_MSG_COLORTONING_LABREGION_SATURATION;Virado - Saturación +HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;Virado - Mostrar máscara región +HISTORY_MSG_COLORTONING_LABREGION_SLOPE;Virado - Pendiente región +HISTORY_MSG_COMPLEX;Complejidad ondículas +HISTORY_MSG_COMPLEXRETI;Complejidad Retinex +HISTORY_MSG_DEHAZE_DEPTH;Elim. neblina - Profundidad +HISTORY_MSG_DEHAZE_ENABLED;Elim. neblina +HISTORY_MSG_DEHAZE_SATURATION;Elim. neblina - Saturación +HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Elim. neblina - Mostrar mapa profundidad +HISTORY_MSG_DEHAZE_STRENGTH;Elim. neblina - Intensidad +HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Desentramado doble - Umbral auto +HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Desentramado doble - Umbral contraste +HISTORY_MSG_EDGEFFECT;Respuesta de atenuación en bordes +HISTORY_MSG_FILMNEGATIVE_BALANCE;Película negativa - Salida de referencia +HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Espacio de color película negativa +HISTORY_MSG_FILMNEGATIVE_ENABLED;Película negativa +HISTORY_MSG_FILMNEGATIVE_REF_SPOT;Película negativa - Entrada de referencia +HISTORY_MSG_FILMNEGATIVE_VALUES;Valores película negativa +HISTORY_MSG_HISTMATCHING;Curva tonal autoajustada +HISTORY_MSG_HLBL;Propagación de color - difuminado +HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +HISTORY_MSG_ICM_AINTENT;Convers. rango colores perfil abstracto +HISTORY_MSG_ICM_BLUX;Primarios Azul X +HISTORY_MSG_ICM_BLUY;Primarios Azul Y +HISTORY_MSG_ICM_FBW;Blanco y negro +HISTORY_MSG_ICM_GREX;Primarios Verde X +HISTORY_MSG_ICM_GREY;Primarios Verde Y +HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Salida - Primarios +HISTORY_MSG_ICM_OUTPUT_TEMP;Salida - ICC-v4 iluminante D +HISTORY_MSG_ICM_OUTPUT_TYPE;Salida - Tipo +HISTORY_MSG_ICM_PRESER;Preservar tonos pastel +HISTORY_MSG_ICM_REDX;Primarios Rojo X +HISTORY_MSG_ICM_REDY;Primarios Rojo Y +HISTORY_MSG_ICM_WORKING_GAMMA;Espacio trabajo - Gamma +HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Método de iluminante +HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Método de primarios +HISTORY_MSG_ICM_WORKING_SLOPE;Espacio trabajo - Pendiente +HISTORY_MSG_ICM_WORKING_TRC_METHOD;Espacio trabajo - Método TRC +HISTORY_MSG_ILLUM;AC & I - Condic. escena - Iluminante +HISTORY_MSG_LOCALCONTRAST_AMOUNT;Contraste local - Cantidad +HISTORY_MSG_LOCALCONTRAST_DARKNESS;Contraste local - Oscuridad +HISTORY_MSG_LOCALCONTRAST_ENABLED;Contraste local +HISTORY_MSG_LOCALCONTRAST_LIGHTNESS;Contraste local - Claridad +HISTORY_MSG_LOCALCONTRAST_RADIUS;Contraste local - Radio +HISTORY_MSG_METADATA_MODE;Modo copia metadatos +HISTORY_MSG_MICROCONTRAST_CONTRAST;Microcontraste - Umbral contraste +HISTORY_MSG_PDSHARPEN_AUTO_CONTRAST;Nitidez tras captura - Umbral auto +HISTORY_MSG_PDSHARPEN_AUTO_RADIUS;Nitidez tras captura - Radio auto +HISTORY_MSG_PDSHARPEN_CHECKITER;Nitidez tras captura - Autolimitar iteraciones +HISTORY_MSG_PDSHARPEN_CONTRAST;Nitidez tras captura - Umbral contraste +HISTORY_MSG_PDSHARPEN_ITERATIONS;Nitidez tras captura - Iteraciones +HISTORY_MSG_PDSHARPEN_RADIUS;Nitidez tras captura - Radio +HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;Nitidez tras captura - Aumento radio esquinas +HISTORY_MSG_PERSP_CAM_ANGLE;Perspectiva - Cámara +HISTORY_MSG_PERSP_CAM_FL;Perspectiva - Cámara +HISTORY_MSG_PERSP_CAM_SHIFT;Perspectiva - Cámara +HISTORY_MSG_PERSP_CTRL_LINE;Perspectiva - Líneas de control +HISTORY_MSG_PERSP_METHOD;Perspectiva - Método +HISTORY_MSG_PERSP_PROJ_ANGLE;Perspectiva - Recuperación +HISTORY_MSG_PERSP_PROJ_ROTATE;Perspectiva - Rotación PCA +HISTORY_MSG_PERSP_PROJ_SHIFT;Perspectiva - PCA +HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Promedio +HISTORY_MSG_PIXELSHIFT_DEMOSAIC;PixelShift - Método desentramado para movim. +HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;Dirección filtro ruido de línea +HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;Filtro líneas autofoco dif. fase +HISTORY_MSG_PREPROCWB_MODE;Modo preprocesado WB +HISTORY_MSG_PROTAB;Protección +HISTORY_MSG_PRSHARPEN_CONTRAST;Nitidez tras cambio tamaño - Umbral contraste +HISTORY_MSG_RANGEAB;Rango ab +HISTORY_MSG_RAWCACORR_AUTOIT;Corrección aberrac. cromát. raw - Iteraciones +HISTORY_MSG_RAWCACORR_COLORSHIFT;Corrección aberrac. cromát. raw - Evitar la deriva de colores +HISTORY_MSG_RAW_BORDER;Borde raw +HISTORY_MSG_RESIZE_ALLOWUPSCALING;Cambio tamaño - Permitir aumento +HISTORY_MSG_RESIZE_LONGEDGE;Cambio tamaño - Lado largo +HISTORY_MSG_RESIZE_SHORTEDGE;Cambio tamaño - Lado corto +HISTORY_MSG_SHARPENING_BLUR;Nitidez - Radio difuminado +HISTORY_MSG_SHARPENING_CONTRAST;Nitidez - Umbral de contraste +HISTORY_MSG_SH_COLORSPACE;Sombras/Luces - Espacio de color +HISTORY_MSG_SIGMACOL;Respuesta atenuación cromaticidad +HISTORY_MSG_SIGMADIR;Respuesta atenuación dir. +HISTORY_MSG_SIGMAFIN;Respuesta atenuación contraste final +HISTORY_MSG_SIGMATON;Respuesta atenuación virado +HISTORY_MSG_SOFTLIGHT_ENABLED;Luz suave +HISTORY_MSG_SOFTLIGHT_STRENGTH;Luz suave - Intensidad +HISTORY_MSG_SPOT;Elim. manchas +HISTORY_MSG_SPOT_ENTRY;Elim. manchas - Punto modif. +HISTORY_MSG_TEMPOUT;Temperatura automática CAM02 +HISTORY_MSG_THRESWAV;Umbral de balance +HISTORY_MSG_TM_FATTAL_ANCHOR;Compresión rango dinámico - Anclaje +HISTORY_MSG_TRANS_METHOD;Geometría - Método +HISTORY_MSG_WAVBALCHROM;Ecualizador cromaticidad +HISTORY_MSG_WAVBALLUM;Ecualizador luminancia +HISTORY_MSG_WAVBL;Difuminar niveles +HISTORY_MSG_WAVCHR;Difumin. niveles - difumin. cromat. +HISTORY_MSG_WAVCHROMCO;Cromaticidad grueso +HISTORY_MSG_WAVCHROMFI;Cromaticidad fino +HISTORY_MSG_WAVCLARI;Claridad +HISTORY_MSG_WAVDENLH;Nivel 5 +HISTORY_MSG_WAVDENOISE;Contraste local +HISTORY_MSG_WAVDENOISEH;Contraste local niveles altos +HISTORY_MSG_WAVDETEND;Detalles suaves +HISTORY_MSG_WAVEDGS;Parada en bordes +HISTORY_MSG_WAVGUIDH;Contraste local - Ecualizador de matiz +HISTORY_MSG_WAVHUE;Ecualizador de matiz +HISTORY_MSG_WAVLABGRID_VALUE;Virado - excluir colores +HISTORY_MSG_WAVLEVDEN;Contraste local niveles altos +HISTORY_MSG_WAVLEVELSIGM;Reducc. ruido - radio +HISTORY_MSG_WAVLEVSIGM;Radio +HISTORY_MSG_WAVLIMDEN;Interacción 56 14 +HISTORY_MSG_WAVLOWTHR;Umbral bajo contraste +HISTORY_MSG_WAVMERGEC;Combinar C +HISTORY_MSG_WAVMERGEL;Combinar L +HISTORY_MSG_WAVMIXMET;Contraste local de referencia +HISTORY_MSG_WAVOFFSET;Desplazamiento +HISTORY_MSG_WAVOLDSH;Algoritmo antiguo +HISTORY_MSG_WAVQUAMET;Modo reducc. ruido +HISTORY_MSG_WAVRADIUS;Radio sombras-luces +HISTORY_MSG_WAVSCALE;Escala +HISTORY_MSG_WAVSHOWMASK;Mostrar máscara ondículas +HISTORY_MSG_WAVSIGM;Sigma +HISTORY_MSG_WAVSIGMA;Respuesta de atenuación +HISTORY_MSG_WAVSLIMET;Método +HISTORY_MSG_WAVSOFTRAD;Claridad radio suave +HISTORY_MSG_WAVSOFTRADEND;Radio suave final +HISTORY_MSG_WAVSTREND;Intensidad suave +HISTORY_MSG_WAVTHRDEN;Umbral contraste local +HISTORY_MSG_WAVTHREND;Umbral contraste local +HISTORY_MSG_WAVUSHAMET;Método de claridad +HISTORY_NEWSNAPSHOT;Añadir instantánea +HISTORY_NEWSNAPSHOT_TOOLTIP;Atajo de teclado: Alt-s +HISTORY_SNAPSHOT;Instantánea +HISTORY_SNAPSHOTS;Instantáneas +ICCPROFCREATOR_COPYRIGHT;Copyright: +ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Restablecer el copyright predeterminado, concedido a «RawTherapee, CC0». +ICCPROFCREATOR_CUSTOM;Personalizado +ICCPROFCREATOR_DESCRIPTION;Descripción: +ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Adjuntar los valores de gamma y pendiente a la descripción +ICCPROFCREATOR_DESCRIPTION_TOOLTIP;Dejar en blanco para establecer la descripción predeterminada. +ICCPROFCREATOR_GAMMA;Gamma +ICCPROFCREATOR_ICCVERSION;Versión de ICC: +ICCPROFCREATOR_ILL;Iluminante: +ICCPROFCREATOR_ILL_41;D41 +ICCPROFCREATOR_ILL_50;D50 +ICCPROFCREATOR_ILL_55;D55 +ICCPROFCREATOR_ILL_60;D60 +ICCPROFCREATOR_ILL_63;D63: DCI-P3 Sala de cine +ICCPROFCREATOR_ILL_65;D65 +ICCPROFCREATOR_ILL_80;D80 +ICCPROFCREATOR_ILL_DEF;Predeterminado +ICCPROFCREATOR_ILL_INC;StdA 2856K +ICCPROFCREATOR_ILL_TOOLTIP;Se puede ajustar el iluminante para perfiles ICC v4 y también para perfiles ICC v2. +ICCPROFCREATOR_PRIMARIES;Primarios: +ICCPROFCREATOR_PRIM_ACESP0;ACES AP0 +ICCPROFCREATOR_PRIM_ACESP1;ACES AP1 +ICCPROFCREATOR_PRIM_ADOBE;Adobe RGB (1998) +ICCPROFCREATOR_PRIM_BEST;BestRGB +ICCPROFCREATOR_PRIM_BETA;BetaRGB +ICCPROFCREATOR_PRIM_BLUX;Azul X +ICCPROFCREATOR_PRIM_BLUY;Azul Y +ICCPROFCREATOR_PRIM_BRUCE;BruceRGB +ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 +ICCPROFCREATOR_PRIM_GREX;Verde X +ICCPROFCREATOR_PRIM_GREY;Verde Y +ICCPROFCREATOR_PRIM_PROPH;Prophoto +ICCPROFCREATOR_PRIM_REC2020;Rec2020 +ICCPROFCREATOR_PRIM_REDX;Rojo X +ICCPROFCREATOR_PRIM_REDY;Rojo Y +ICCPROFCREATOR_PRIM_SRGB;sRGB +ICCPROFCREATOR_PRIM_TOOLTIP;Se pueden ajustar primarios personalizados para perfiles ICC v4 y también para perfiles ICC v2. +ICCPROFCREATOR_PRIM_WIDEG;Widegamut +ICCPROFCREATOR_PROF_V2;ICC v2 +ICCPROFCREATOR_PROF_V4;ICC v4 +ICCPROFCREATOR_SAVEDIALOG_TITLE;Guardar perfil ICC como... +ICCPROFCREATOR_SLOPE;Pendiente +ICCPROFCREATOR_TRC_PRESET;Curva de respuesta de tono: +INSPECTOR_WINDOW_TITLE;Inspeccionar +IPTCPANEL_CATEGORY;Categoría +IPTCPANEL_CATEGORYHINT;Identifica el tema de la imagen en opinión del proveedor. +IPTCPANEL_CITY;Ciudad +IPTCPANEL_CITYHINT;Nombre de la ciudad mostrada en esta imagen. +IPTCPANEL_COPYHINT;Copia los ajustes IPTC al portapapeles. +IPTCPANEL_COPYRIGHT;Información de copyright +IPTCPANEL_COPYRIGHTHINT;Información acerca del propietario actual del copyright para esta imagen, como © 2008 Jane Doe. +IPTCPANEL_COUNTRY;País +IPTCPANEL_COUNTRYHINT;Nombre del país mostrado en esta imagen. +IPTCPANEL_CREATOR;Creador +IPTCPANEL_CREATORHINT;Nombre de la persona que creó esta imagen. +IPTCPANEL_CREATORJOBTITLE;Profesión del creador +IPTCPANEL_CREATORJOBTITLEHINT;Profesión de la persona indicada en el campo Creador. +IPTCPANEL_CREDIT;Reconocimientos +IPTCPANEL_CREDITHINT;Quién debe recibir los reconocimientos cuando esta imagen se publique. +IPTCPANEL_DATECREATED;Fecha de creación +IPTCPANEL_DATECREATEDHINT;Fecha en que se tomó esta imagen. +IPTCPANEL_DESCRIPTION;Descripción +IPTCPANEL_DESCRIPTIONHINT;Descripción de los quién, qué y por qué de lo que está ocurriendo en esta imagen. Esto podría incluir nombres de personas y/o su papel en la acción que está teniendo lugar en la imagen. +IPTCPANEL_DESCRIPTIONWRITER;Escritor de la descripción +IPTCPANEL_DESCRIPTIONWRITERHINT;Nombre de la persona que ha escrito, editado o corregido la descripción de la imagen. +IPTCPANEL_EMBEDDED;Embebido +IPTCPANEL_EMBEDDEDHINT;Restablece los datos IPTC embebidos en el archivo de imagen. +IPTCPANEL_HEADLINE;Titular +IPTCPANEL_HEADLINEHINT;Breve sinopsis o resumen publicable del contenido de la imagen. +IPTCPANEL_INSTRUCTIONS;Instrucciones +IPTCPANEL_INSTRUCTIONSHINT;Información acerca de embargos u otras restricciones no cubiertas por el campo Copyright. +IPTCPANEL_KEYWORDS;Palabras clave +IPTCPANEL_KEYWORDSHINT;Cualquier número de palabras clave, términos o frases usadas para expresar la temática de la imagen. +IPTCPANEL_PASTEHINT;Pega ajustes IPTC desde el portapapeles. +IPTCPANEL_PROVINCE;Provincia o estado +IPTCPANEL_PROVINCEHINT;Nombre de la provincia o estado mostrado en esta imagen. +IPTCPANEL_RESET;Restablecer +IPTCPANEL_RESETHINT;Restablece los valores predeterminados del perfil. +IPTCPANEL_SOURCE;Fuente +IPTCPANEL_SOURCEHINT;Nombre de una persona o parte que tiene un papel en la cadena de suministro del contenido, como la persona o entidad de la que se ha recibido esta imagen. +IPTCPANEL_SUPPCATEGORIES;Categorías adicionales +IPTCPANEL_SUPPCATEGORIESHINT;Refina aún más el tema de la imagen. +IPTCPANEL_TITLE;Título +IPTCPANEL_TITLEHINT;Nombre verbal y legible para la imagen. Puede ser el nombre del archivo de imagen. +IPTCPANEL_TRANSREFERENCE;Identificador del trabajo +IPTCPANEL_TRANSREFERENCEHINT;Número o identificador necesario para el control del flujo de trabajo o el seguimiento. +MAIN_BUTTON_FULLSCREEN;Pantalla completa +MAIN_BUTTON_ICCPROFCREATOR;Creador de perfiles ICC +MAIN_BUTTON_NAVNEXT_TOOLTIP;Navega a la imagen siguiente a la que está abierta en el Editor.\nAtajo de teclado: Mayús-F4\n\nPara navegar a la imagen siguiente a la miniatura actualmente seleccionada en el Navegador de archivos o la Tira de imágenes:\nAtajo de teclado: F4 +MAIN_BUTTON_NAVPREV_TOOLTIP;Navega a la imagen anterior a la que está abierta en el Editor.\nAtajo de teclado: Mayús-F3\n\nPara navegar a la imagen anterior a la miniatura actualmente seleccionada en el Navegador de archivos o la Tira de imágenes:\nAtajo de teclado: F3 +MAIN_BUTTON_NAVSYNC_TOOLTIP;Sincroniza el Navegador de archivos o la Tira de imágenes con el Editor para mostrar la miniatura de la imagen actualmente abierta, y suprime cualquier filtro activo.\nAtajo de teclado: x\n\nIgual que lo anterior, pero sin suprimir los filtros activos:\nAtajo de teclado: y\n(Obsérvese que la miniatura de la imagen abierta no se mostrará si está filtrada). +MAIN_BUTTON_PREFERENCES;Preferencias +MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;Envía la imagen actual a la cola de procesamiento.\nAtajo de teclado: Ctrl+b +MAIN_BUTTON_SAVE_TOOLTIP;Guarda la imagen actual.\nAtajo de teclado: Ctrl+s\nGuarda el perfil actual (.pp3).\nAtajo de teclado: Ctrl+Mayús+s +MAIN_BUTTON_SENDTOEDITOR;Editar la imagen en un editor externo +MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;Edita la imagen actual en un editor externo.\nAtajo de teclado: Ctrl+e +MAIN_BUTTON_SHOWHIDESIDEPANELS_TOOLTIP;Muestra/oculta todos los paneles laterales.\nAtajo de teclado: m +MAIN_BUTTON_UNFULLSCREEN;Salir de pantalla completa +MAIN_FRAME_EDITOR;Editor +MAIN_FRAME_EDITOR_TOOLTIP;Editor.\nAtajo de teclado: Ctrl-F4 +MAIN_FRAME_FILEBROWSER;Navegador de archivos +MAIN_FRAME_FILEBROWSER_TOOLTIP;Navegador de archivos.\nAtajo de teclado: Ctrl-F2 +MAIN_FRAME_PLACES;Ubicaciones +MAIN_FRAME_PLACES_ADD;Añadir +MAIN_FRAME_PLACES_DEL;Borrar +MAIN_FRAME_QUEUE;Cola +MAIN_FRAME_QUEUE_TOOLTIP;Cola de revelado.\nAtajo de teclado: Ctrl-F3 +MAIN_FRAME_RECENT;Carpetas recientes +MAIN_MSG_ALREADYEXISTS;El archivo ya existe. +MAIN_MSG_CANNOTLOAD;No se puede cargar la imagen +MAIN_MSG_CANNOTSAVE;Error al guardar el archivo +MAIN_MSG_CANNOTSTARTEDITOR;No se puede arrancar el editor. +MAIN_MSG_CANNOTSTARTEDITOR_SECONDARY;Por favor, establezca la ruta correcta en Preferencias. +MAIN_MSG_EMPTYFILENAME;¡Nombre de archivo no especificado! +MAIN_MSG_IMAGEUNPROCESSED;Esta orden necesita que todas las imágenes seleccionadas se procesen primero en la cola. +MAIN_MSG_NAVIGATOR;Navegador +MAIN_MSG_OPERATIONCANCELLED;Operación cancelada +MAIN_MSG_PATHDOESNTEXIST;La ruta\n\n%1\n\nno existe. Por favor, establezca una ruta correcta en Preferencias. +MAIN_MSG_QOVERWRITE;¿Desea sobreescribirlo? +MAIN_MSG_SETPATHFIRST;¡Para usar esta función, primero se debe establecer una ruta de destino en Preferencias! +MAIN_MSG_TOOMANYOPENEDITORS;Demasiados editores abiertos.\nPor favor, cierre un editor para continuar. +MAIN_MSG_WRITEFAILED;No se ha podido escribir\n«%1»\n\nAsegúrese de que la carpeta existe, y que tiene permiso de escritura en ella. +MAIN_TAB_ADVANCED;Avanzado +MAIN_TAB_ADVANCED_TOOLTIP;Atajo de teclado: Alt-w +MAIN_TAB_COLOR;Color +MAIN_TAB_COLOR_TOOLTIP;Atajo de teclado: Alt-c +MAIN_TAB_DETAIL;Detalle +MAIN_TAB_DETAIL_TOOLTIP;Atajo de teclado: Alt-d +MAIN_TAB_DEVELOP; Revelado por lotes +MAIN_TAB_EXIF;Exif +MAIN_TAB_EXPORT;Exportación rápida +MAIN_TAB_EXPOSURE;Exposición +MAIN_TAB_EXPOSURE_TOOLTIP;Atajo de teclado: Alt-e +MAIN_TAB_FAVORITES;Favoritos +MAIN_TAB_FAVORITES_TOOLTIP;Atajo de teclado: Alt-u +MAIN_TAB_FILTER; Filtro +MAIN_TAB_INSPECT; Inspeccionar +MAIN_TAB_IPTC;IPTC +MAIN_TAB_LOCALLAB;Local +MAIN_TAB_LOCALLAB_TOOLTIP;Atajo de teclado: Alt-o +MAIN_TAB_METADATA;Metadatos +MAIN_TAB_METADATA_TOOLTIP;Atajo de teclado: Alt-m +MAIN_TAB_RAW;Raw +MAIN_TAB_RAW_TOOLTIP;Atajo de teclado: Alt-r +MAIN_TAB_TRANSFORM;Transformar +MAIN_TAB_TRANSFORM_TOOLTIP;Atajo de teclado: Alt-t +MAIN_TOOLTIP_BACKCOLOR0;Color de fondo de la vista previa: Color del tema\nAtajo de teclado: 9 +MAIN_TOOLTIP_BACKCOLOR1;Color de fondo de la vista previa: Negro\nAtajo de teclado: 9 +MAIN_TOOLTIP_BACKCOLOR2;Color de fondo de la vista previa: Blanco\nAtajo de teclado: 9 +MAIN_TOOLTIP_BACKCOLOR3;Color de fondo de la vista previa: Gris medio\nAtajo de teclado: 9 +MAIN_TOOLTIP_BEFOREAFTERLOCK;Bloquear / Desbloquear la vista Antes\n\nBloquear: la vista Antes permanece sin cambios.\nEs útil para evaluar los efectos acumulados de varias herramientas.\nAdicionalmente, se pueden hacer comparaciones con cualquier estado en la Historia.\n\nDesbloquear: la vista Antes mostrará un paso de edición por detrás de la vista Después, es decir, mostrará la imagen antes de los efectos de la herramienta actualmente usada. +MAIN_TOOLTIP_HIDEHP;Muestra/oculta el panel izquierdo (incluyendo la historia).\nAtajo de teclado: l +MAIN_TOOLTIP_INDCLIPPEDH;Indicación de recorte de luces.\nAtajo de teclado: > +MAIN_TOOLTIP_INDCLIPPEDS;Indicación de recorte de sombras.\nAtajo de teclado: < +MAIN_TOOLTIP_PREVIEWB;Vista previa del canal azul.\nAtajo de teclado: b +MAIN_TOOLTIP_PREVIEWFOCUSMASK;Vista previa de la máscara de foco.\nAtajo de teclado: Mayús-f\n\nEs más precisa en imágenes con poca profundidad de campo, bajo ruido y a niveles altos de ampliación.\nPara mejorar la precisión de la detección en imágenes ruidosas, se debe reducir la ampliación de la vista previa al 10-30%. +MAIN_TOOLTIP_PREVIEWG;Vista previa del canal verde.\nAtajo de teclado: g +MAIN_TOOLTIP_PREVIEWL;Vista previa de la luminancia.\nAtajo de teclado: v\n\nL = 0.299*R + 0.587*G + 0.114*B +MAIN_TOOLTIP_PREVIEWR;Vista previa del canal rojo.\nAtajo de teclado: r +MAIN_TOOLTIP_PREVIEWSHARPMASK;Vista previa de la máscara de contraste de nitidez.\nAtajo de teclado: p\n\nSólo funciona cuando la nitidez está activada y el nivel de ampliación es >= 100%. +MAIN_TOOLTIP_QINFO;Información rápida sobre la imagen.\nAtajo de teclado: i +MAIN_TOOLTIP_SHOWHIDELP1;Muestra/oculta el panel izquierdo.\nAtajo de teclado: l +MAIN_TOOLTIP_SHOWHIDERP1;Muestra/oculta el panel derecho.\nAtajo de teclado: Alt-l +MAIN_TOOLTIP_SHOWHIDETP1;Muestra/oculta el panel superior.\nAtajo de teclado: Mayús-l +MAIN_TOOLTIP_THRESHOLD;Umbral +MAIN_TOOLTIP_TOGGLE;Activa/desactiva la vista Antes/Después.\nAtajo de teclado: Mayús-b +MONITOR_PROFILE_SYSTEM;Predeterminado del sistema +NAVIGATOR_B;B: +NAVIGATOR_G;G: +NAVIGATOR_H;H: +NAVIGATOR_LAB_A;a*: +NAVIGATOR_LAB_B;b*: +NAVIGATOR_LAB_L;L*: +NAVIGATOR_NA; -- +NAVIGATOR_R;R: +NAVIGATOR_S;S: +NAVIGATOR_V;V: +NAVIGATOR_XY_FULL;Anchura: %1, Altura: %2 +NAVIGATOR_XY_NA;x: --, y: -- +OPTIONS_BUNDLED_MISSING;El perfil incorporado «%1» no se encuentra.\n\nLa instalación puede estar dañada.\n\nEn su lugar se usarán valores internos predeterminados. +OPTIONS_DEFIMG_MISSING;El perfil predeterminado para fotos no-raw no se encuentra o no se ha establecido.\n\nPor favor, compruebe su carpeta de perfiles, es posible que no exista o esté dañada.\n\nEn su lugar se usará «%1». +OPTIONS_DEFRAW_MISSING;El perfil predeterminado para fotos raw no se encuentra o no se ha establecido.\n\nPor favor, compruebe su carpeta de perfiles, es posible que no exista o esté dañada.\n\nEn su lugar se usará «%1». +PARTIALPASTE_ADVANCEDGROUP;Ajustes avanzados +PARTIALPASTE_BASICGROUP;Ajustes básicos +PARTIALPASTE_CACORRECTION;Corrección de aberración cromática +PARTIALPASTE_CHANNELMIXER;Mezclador de canales +PARTIALPASTE_CHANNELMIXERBW;Blanco y negro +PARTIALPASTE_COARSETRANS;Rotación/Volteo grueso +PARTIALPASTE_COLORAPP;Apariencia de color e Iluminación +PARTIALPASTE_COLORGROUP;Ajustes de color +PARTIALPASTE_COLORTONING;Virado de color +PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto-llenado +PARTIALPASTE_COMPOSITIONGROUP;Ajustes de composición +PARTIALPASTE_CROP;Recorte +PARTIALPASTE_DARKFRAMEAUTOSELECT;Auto-selección de foto negra +PARTIALPASTE_DARKFRAMEFILE;Archivo de foto negra +PARTIALPASTE_DEFRINGE;Eliminación de borde púrpura +PARTIALPASTE_DEHAZE;Eliminación de neblina +PARTIALPASTE_DETAILGROUP;Ajustes de detalle +PARTIALPASTE_DIALOGLABEL;Pegado parcial de perfil de revelado +PARTIALPASTE_DIRPYRDENOISE;Reducción de ruido +PARTIALPASTE_DIRPYREQUALIZER;Contraste por niveles de detalle +PARTIALPASTE_DISTORTION;Corrección de distorsión +PARTIALPASTE_EPD;Mapeo tonal +PARTIALPASTE_EQUALIZER;Niveles de ondículas +PARTIALPASTE_EVERYTHING;Todo +PARTIALPASTE_EXIFCHANGES;Exif +PARTIALPASTE_EXPOSURE;Exposición +PARTIALPASTE_FILMNEGATIVE;Película negativa +PARTIALPASTE_FILMSIMULATION;Simulación de película +PARTIALPASTE_FLATFIELDAUTOSELECT;Auto-selección de campo plano +PARTIALPASTE_FLATFIELDBLURRADIUS;Radio de difuminado de campo plano +PARTIALPASTE_FLATFIELDBLURTYPE;Tipo de difuminado de campo plano +PARTIALPASTE_FLATFIELDCLIPCONTROL;Control de recorte de campo plano +PARTIALPASTE_FLATFIELDFILE;Archivo de campo plano +PARTIALPASTE_GRADIENT;Filtro graduado +PARTIALPASTE_HSVEQUALIZER;Ecualizador HSV +PARTIALPASTE_ICMSETTINGS;Ajustes de gestión de color +PARTIALPASTE_IMPULSEDENOISE;Reducción de ruido impulsivo +PARTIALPASTE_IPTCINFO;IPTC +PARTIALPASTE_LABCURVE;Ajustes L*a*b* +PARTIALPASTE_LENSGROUP;Ajustes del objetivo +PARTIALPASTE_LENSPROFILE;Perfil de corrección de objetivo +PARTIALPASTE_LOCALCONTRAST;Contraste local +PARTIALPASTE_LOCALLAB;Ajustes locales +PARTIALPASTE_LOCALLABGROUP;Config. Ajustes locales +PARTIALPASTE_METADATA;Modo de metadatos +PARTIALPASTE_METAGROUP;Ajustes de metadatos +PARTIALPASTE_PCVIGNETTE;Filtro de viñeteado +PARTIALPASTE_PERSPECTIVE;Perspectiva +PARTIALPASTE_PREPROCESS_DEADPIXFILT;Filtro de píxels muertos +PARTIALPASTE_PREPROCESS_GREENEQUIL;Equilibrado de verdes +PARTIALPASTE_PREPROCESS_HOTPIXFILT;Filtro de píxels calientes +PARTIALPASTE_PREPROCESS_LINEDENOISE;Filtro de ruido de línea +PARTIALPASTE_PREPROCESS_PDAFLINESFILTER;Filtro de líneas autofoco por dif. fase +PARTIALPASTE_PREPROCWB;Preprocesado balance de blancos +PARTIALPASTE_PRSHARPENING;Nitidez tras cambio de tamaño +PARTIALPASTE_RAWCACORR_AUTO;Autocorrección aberración cromática +PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;Evitar la deriva de colores (aberración cromática) +PARTIALPASTE_RAWCACORR_CAREDBLUE;Aberración cromática rojo y azul +PARTIALPASTE_RAWEXPOS_BLACK;Niveles de negro +PARTIALPASTE_RAWEXPOS_LINEAR;Corrección del punto blanco +PARTIALPASTE_RAWGROUP;Ajustes Raw +PARTIALPASTE_RAW_BORDER;Borde Raw +PARTIALPASTE_RAW_DCBENHANCE;Mejora DCB +PARTIALPASTE_RAW_DCBITERATIONS;Iteraciones DCB +PARTIALPASTE_RAW_DMETHOD;Método de desentramado +PARTIALPASTE_RAW_FALSECOLOR;Supresión de falso color +PARTIALPASTE_RAW_IMAGENUM;Sub-imagen +PARTIALPASTE_RAW_LMMSEITERATIONS;Pasos de mejora LMMSE +PARTIALPASTE_RAW_PIXELSHIFT;Pixel Shift +PARTIALPASTE_RESIZE;Cambio de tamaño +PARTIALPASTE_RETINEX;Retinex +PARTIALPASTE_RGBCURVES;Curvas RGB +PARTIALPASTE_ROTATION;Rotación +PARTIALPASTE_SHADOWSHIGHLIGHTS;Sombras/Luces +PARTIALPASTE_SHARPENEDGE;Bordes +PARTIALPASTE_SHARPENING;Nitidez (USM/RL) +PARTIALPASTE_SHARPENMICRO;Microcontraste +PARTIALPASTE_SOFTLIGHT;Luz suave +PARTIALPASTE_SPOT;Eliminación de manchas +PARTIALPASTE_TM_FATTAL;Compresión de rango dinámico +PARTIALPASTE_VIBRANCE;Vivacidad +PARTIALPASTE_VIGNETTING;Corrección de viñeteado +PARTIALPASTE_WHITEBALANCE;Balance de blancos +PREFERENCES_ADD;Añadir +PREFERENCES_APPEARANCE;Apariencia +PREFERENCES_APPEARANCE_COLORPICKERFONT;Tipo de letra del muestreador de color +PREFERENCES_APPEARANCE_CROPMASKCOLOR;Color de la máscara de recorte +PREFERENCES_APPEARANCE_MAINFONT;Tipo de letra principal +PREFERENCES_APPEARANCE_NAVGUIDECOLOR;Color de la guía del navegador +PREFERENCES_APPEARANCE_PSEUDOHIDPI;Modo pseudo-HiDPI +PREFERENCES_APPEARANCE_THEME;Tema +PREFERENCES_APPLNEXTSTARTUP;Se necesita reiniciar +PREFERENCES_AUTOMONPROFILE;Usar el perfil de color del monitor principal del sistema operativo +PREFERENCES_AUTOSAVE_TP_OPEN;Guardar estado expandido/replegado de las herramientas al salir +PREFERENCES_BATCH_PROCESSING;Procesamiento por lotes +PREFERENCES_BEHADDALL;Todos a «Añadir» +PREFERENCES_BEHADDALLHINT;Pone todos los parámetros en el modo Añadir.\nLos ajustes de los parámetros en el panel de la herramienta de lotes serán incrementos sobre los valores almacenados. +PREFERENCES_BEHAVIOR;Comportamiento +PREFERENCES_BEHSETALL;Todos a «Establecer» +PREFERENCES_BEHSETALLHINT;Pone todos los parámetros en el modo Establecer.\nLos ajustes de los parámetros en el panel de la herramienta de lotes serán absolutos, y se mostrarán los valores reales. +PREFERENCES_CACHECLEAR;Limpiar +PREFERENCES_CACHECLEAR_ALL;Limpiar todos los archivos en caché: +PREFERENCES_CACHECLEAR_ALLBUTPROFILES;Limpiar todos los archivos en caché excepto los perfiles de procesamiento: +PREFERENCES_CACHECLEAR_ONLYPROFILES;Limpia solamente los perfiles de procesamiento en caché: +PREFERENCES_CACHECLEAR_SAFETY;Sólo se limpian los archivos en caché. Los perfiles de procesamiento almacenados junto con las imágenes originales no se tocan. +PREFERENCES_CACHEMAXENTRIES;Máximo número de entradas en caché +PREFERENCES_CACHEOPTS;Opciones de caché +PREFERENCES_CACHETHUMBHEIGHT;Altura máxima de las miniaturas +PREFERENCES_CHUNKSIZES;Teselas por hilo de ejecución +PREFERENCES_CHUNKSIZE_RAW_AMAZE;Desentramado AMaZE +PREFERENCES_CHUNKSIZE_RAW_CA;Corrección de aberración cromática raw +PREFERENCES_CHUNKSIZE_RAW_RCD;Desentramado RCD +PREFERENCES_CHUNKSIZE_RAW_XT;Desentramado X-Trans +PREFERENCES_CHUNKSIZE_RGB;Procesado RGB +PREFERENCES_CIE;Ciecam +PREFERENCES_CIEARTIF;Evitar los artefactos +PREFERENCES_CLIPPINGIND;Indicación de recorte +PREFERENCES_CLUTSCACHE;Caché de HaldCLUT +PREFERENCES_CLUTSCACHE_LABEL;Número máximo de CLUTs en caché +PREFERENCES_CLUTSDIR;Carpeta de HaldCLUT +PREFERENCES_CMMBPC;Compensación de punto negro +PREFERENCES_COMPLEXITYLOC;Complejidad predeterminada para ajustes locales +PREFERENCES_COMPLEXITY_EXP;Avanzado +PREFERENCES_COMPLEXITY_NORM;Estándar +PREFERENCES_COMPLEXITY_SIMP;Básico +PREFERENCES_CROP;Edición del recorte +PREFERENCES_CROP_AUTO_FIT;Ajustar automáticamente el recorte al tamaño de la vista previa +PREFERENCES_CROP_GUIDES;Se muestran las guías mientras no se edita el recorte +PREFERENCES_CROP_GUIDES_FRAME;Marco +PREFERENCES_CROP_GUIDES_FULL;Original +PREFERENCES_CROP_GUIDES_NONE;Ninguna +PREFERENCES_CURVEBBOXPOS;Posición de los botones de copiar/pegar curva +PREFERENCES_CURVEBBOXPOS_ABOVE;Encima +PREFERENCES_CURVEBBOXPOS_BELOW;Debajo +PREFERENCES_CURVEBBOXPOS_LEFT;Izquierda +PREFERENCES_CURVEBBOXPOS_RIGHT;Derecha +PREFERENCES_CUSTPROFBUILD;Constructor de perfiles de revelado personalizados +PREFERENCES_CUSTPROFBUILDHINT;Archivo ejecutable (o archivo de órdenes) que se invoca cuando ha de generarse un perfil de revelado inicial nuevo para una imagen.\n\nLa ruta del archivo de comunicación (similar a un archivo *.ini, también llamado «Keyfile») se añade como un parámetro de línea de orden. Contiene varios parámetros necesarios para los archivos de órdenes y los datos Exif de la imagen, a fin de facilitar la generación de perfiles de procesamiento en función de reglas.\n\nADVERTENCIA:El usuario es responsable de usar comillas dobles donde sea necesario si se están usando rutas que contienen espacios. +PREFERENCES_CUSTPROFBUILDKEYFORMAT;Formato de claves +PREFERENCES_CUSTPROFBUILDKEYFORMAT_NAME;Nombre +PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID +PREFERENCES_CUSTPROFBUILDPATH;Ruta ejecutable +PREFERENCES_DARKFRAMEFOUND;Encontrada +PREFERENCES_DARKFRAMESHOTS;tomas +PREFERENCES_DARKFRAMETEMPLATES;plantillas +PREFERENCES_DATEFORMAT;Formato de fecha +PREFERENCES_DATEFORMATHINT;Se pueden usar las siguientes cadenas de formateo:\n%y - año\n%m - mes\n%d - día\n\nPor ejemplo, el estándar ISO 8601 dicta un formato de fecha como sigue:\n%y-%m-%d +PREFERENCES_DIRDARKFRAMES;Carpeta de fotos negras +PREFERENCES_DIRECTORIES;Carpetas +PREFERENCES_DIRHOME;Carpeta del usuario +PREFERENCES_DIRLAST;Última carpeta visitada +PREFERENCES_DIROTHER;Otra +PREFERENCES_DIRSELECTDLG;Seleccionar carpeta de imágenes durante el arranque... +PREFERENCES_DIRSOFTWARE;Carpeta de instalación +PREFERENCES_EDITORCMDLINE;Línea de orden personalizada +PREFERENCES_EDITORLAYOUT;Disposición del Editor +PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Ignorar el perfil de salida +PREFERENCES_EXTEDITOR_DIR;Carpeta de salida +PREFERENCES_EXTEDITOR_DIR_CURRENT;La misma que la imagen de entrada +PREFERENCES_EXTEDITOR_DIR_CUSTOM;Personalizada +PREFERENCES_EXTEDITOR_DIR_TEMP;Carpeta temporal del sistema operativo +PREFERENCES_EXTEDITOR_FLOAT32;Salida TIFF 32 bits coma flotante +PREFERENCES_EXTERNALEDITOR;Editor externo +PREFERENCES_FBROWSEROPTS;Opciones de Navegador de archivos/Miniaturas +PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Barras de herramientas compactas en Navegador de archivos +PREFERENCES_FLATFIELDFOUND;Encontrado +PREFERENCES_FLATFIELDSDIR;Carpeta de archivos de campo plano +PREFERENCES_FLATFIELDSHOTS;tomas +PREFERENCES_FLATFIELDTEMPLATES;plantillas +PREFERENCES_FORIMAGE;Para fotos no-raw +PREFERENCES_FORRAW;Para fotos raw +PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;La misma altura de miniaturas en la Tira de imágenes y en el Navegador de archivos +PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;El uso de tamaños de miniatura distintos necesita más tiempo de procesamiento cada vez que se cambia entre el Editor y el Navegador de archivos. +PREFERENCES_GIMPPATH;Carpeta de instalación de GIMP +PREFERENCES_HISTOGRAMPOSITIONLEFT;Histograma en panel izquierdo +PREFERENCES_HISTOGRAM_TOOLTIP;Si se activa, se usará el perfil de trabajo para mostrar el histograma principal y el panel del Navegador. Si se desactiva, se usará el perfil de salida con corrección gamma. +PREFERENCES_HLTHRESHOLD;Umbral de recorte de luces +PREFERENCES_ICCDIR;Carpeta de perfiles de color +PREFERENCES_IMPROCPARAMS;Perfil de revelado predeterminado +PREFERENCES_INSPECTORWINDOW;Abrir inspector en su propia ventana o en pantalla completa +PREFERENCES_INSPECT_LABEL;Inspeccionar +PREFERENCES_INSPECT_MAXBUFFERS_LABEL;Número máximo de imágenes en caché +PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Establece el número máximo de imágenes almacenadas en caché al pasar el cursor sobre ellas en el Navegador de archivos; en los sistemas con poca memoria RAM (2 GB) este valor debe ajustarse a 1 o 2. +PREFERENCES_INTENT_ABSOLUTE;Colorimétrico absoluto +PREFERENCES_INTENT_PERCEPTUAL;Perceptual +PREFERENCES_INTENT_RELATIVE;Colorimétrico relativo +PREFERENCES_INTENT_SATURATION;Saturación +PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Mostrar miniatura JPEG embebida si el raw no se ha editado +PREFERENCES_LANG;Idioma +PREFERENCES_LANGAUTODETECT;Usar idioma del sistema +PREFERENCES_MAXRECENTFOLDERS;Número máximo de carpetas recientes +PREFERENCES_MENUGROUPEXTPROGS;Grupo «Abrir con» +PREFERENCES_MENUGROUPFILEOPERATIONS;Grupo «Operaciones con archivos» +PREFERENCES_MENUGROUPLABEL;Grupo «Etiquetas de color» +PREFERENCES_MENUGROUPPROFILEOPERATIONS;Grupo «Operaciones con perfiles» +PREFERENCES_MENUGROUPRANK;Grupo «Asignar rango» +PREFERENCES_MENUOPTIONS;Opciones de menú contextual +PREFERENCES_MONINTENT;Método predeterminado de conversión de rango de colores +PREFERENCES_MONITOR;Monitor +PREFERENCES_MONPROFILE;Perfil de color predeterminado +PREFERENCES_MONPROFILE_WARNOSX;Debido a las limitaciones de MacOS, sólo está soportado sRGB. +PREFERENCES_MULTITAB;Modo de Editor de varias pestañas +PREFERENCES_MULTITABDUALMON;Modo de Editor de varias pestañas en segundo monitor, si está disponible +PREFERENCES_NAVIGATIONFRAME;Navegación +PREFERENCES_OVERLAY_FILENAMES;Superponer nombres de archivo en las miniaturas del Navegador de archivos +PREFERENCES_OVERLAY_FILENAMES_FILMSTRIP;Superponer nombres de archivo en miniaturas en la Tira de imágenes +PREFERENCES_OVERWRITEOUTPUTFILE;Sobreescribir archivos de salida existentes +PREFERENCES_PANFACTORLABEL;Tasa de amplificación del desplazamiento de vista previa +PREFERENCES_PARSEDEXT;Extensiones de archivo analizadas +PREFERENCES_PARSEDEXTADD;Añadir extensión de archivo +PREFERENCES_PARSEDEXTADDHINT;Añade la extensión introducida a la lista. +PREFERENCES_PARSEDEXTDELHINT;Borra la extensión seleccionada de la lista. +PREFERENCES_PARSEDEXTDOWNHINT;Mueve la extensión seleccionada hacia abajo en la lista. +PREFERENCES_PARSEDEXTUPHINT;Mueve la extensión seleccionada hacia arriba en la lista. +PREFERENCES_PERFORMANCE_MEASURE;Medir +PREFERENCES_PERFORMANCE_MEASURE_HINT;Anota los tiempos de procesamiento en la consola. +PREFERENCES_PERFORMANCE_THREADS;Hilos de ejecución +PREFERENCES_PERFORMANCE_THREADS_LABEL;Número máximo de hilos para Reducción de ruido y Niveles de ondículas (0 = Automático) +PREFERENCES_PREVDEMO;Método de desentramado de la vista previa +PREFERENCES_PREVDEMO_FAST;Rápido +PREFERENCES_PREVDEMO_LABEL;Método de desentramado usado para la vista previa a ampliaciones <100%: +PREFERENCES_PREVDEMO_SIDECAR;Como en PP3 +PREFERENCES_PRINTER;Impresora (Prueba de impresión) +PREFERENCES_PROFILEHANDLING;Manejo de perfiles de procesamiento +PREFERENCES_PROFILELOADPR;Prioridad de carga de perfiles de procesamiento +PREFERENCES_PROFILEPRCACHE;Perfil en caché +PREFERENCES_PROFILEPRFILE;Perfil junto a archivo de entrada +PREFERENCES_PROFILESAVEBOTH;Guardar perfil de revelado tanto en caché como junto al archivo de entrada +PREFERENCES_PROFILESAVECACHE;Guardar perfil de revelado en caché +PREFERENCES_PROFILESAVEINPUT;Guardar perfil de revelado junto al archivo de entrada +PREFERENCES_PROFILESAVELOCATION;Ubicación donde guardar el perfil de revelado +PREFERENCES_PROFILE_NONE;Ninguno +PREFERENCES_PROPERTY;Propiedad +PREFERENCES_PRTINTENT;Método de conversión del rango de colores +PREFERENCES_PRTPROFILE;Perfil de color +PREFERENCES_PSPATH;Carpeta de instalación de Adobe Photoshop +PREFERENCES_REMEMBERZOOMPAN;Recordar el % de ampliación y la posición de desplazamiento +PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Recuerda el % de ampliación y la posición de desplazamiento de la imagen actual al abrir una nueva imagen.\n\nEsta opción sólo funciona en el modo «Editor de pestaña única» y cuando el «Método de desentramado usado para la vista previa a ampliaciones <100%» está configurado a «Como en PP3». +PREFERENCES_SAVE_TP_OPEN_NOW;Guardar ahora el estado expandido/replegado de las herramientas +PREFERENCES_SELECTLANG;Seleccionar idioma +PREFERENCES_SERIALIZE_TIFF_READ;Ajustes de lectura de TIFF +PREFERENCES_SERIALIZE_TIFF_READ_LABEL;Serializar lectura de archivos TIFF +PREFERENCES_SERIALIZE_TIFF_READ_TOOLTIP;Al activar esta opción, cuando se trabaje con carpetas que contengan archivos TIFF no comprimidos, el rendimiento de la generación de miniaturas puede aumentar. +PREFERENCES_SET;Establecer +PREFERENCES_SHOWBASICEXIF;Mostrar info Exif básica +PREFERENCES_SHOWDATETIME;Mostrar fecha y hora +PREFERENCES_SHOWEXPOSURECOMPENSATION;Adjuntar compensación de exposición +PREFERENCES_SHOWFILMSTRIPTOOLBAR;Mostrar la barra de herramientas de la Tira de imágenes +PREFERENCES_SHOWTOOLTIP;Mostrar información emergente de herramientas de Ajustes locales +PREFERENCES_SHTHRESHOLD;Umbral de recorte de sombras +PREFERENCES_SINGLETAB;Modo de Editor de pestaña única +PREFERENCES_SINGLETABVERTAB;Modo de Editor de pestaña única, pestañas verticales +PREFERENCES_SND_HELP;Para configurar un sonido, se introduce aquí una ruta completa y nombre de archivo, o bien se deja en blanco si no se desea sonido.\nPara los sonidos de sistema en Windows, se usa «SystemDefault», «SystemAsterisk», etc., y en Linux se usa «complete», «window-attention», etc. +PREFERENCES_SND_LNGEDITPROCDONE;Procesado del Editor terminado +PREFERENCES_SND_QUEUEDONE;Procesado de la cola terminado +PREFERENCES_SND_THRESHOLDSECS;Después de segundos +PREFERENCES_STARTUPIMDIR;Carpeta de imagen al arrancar +PREFERENCES_TAB_BROWSER;Navegador de archivos +PREFERENCES_TAB_COLORMGR;Gestión de color +PREFERENCES_TAB_DYNAMICPROFILE;Reglas de perfiles dinámicos +PREFERENCES_TAB_GENERAL;General +PREFERENCES_TAB_IMPROC;Procesamiento de imágenes +PREFERENCES_TAB_PERFORMANCE;Rendimiento +PREFERENCES_TAB_SOUND;Sonidos +PREFERENCES_THUMBNAIL_INSPECTOR_JPEG;Vista previa de JPEG embebido +PREFERENCES_THUMBNAIL_INSPECTOR_MODE;Imagen a mostrar +PREFERENCES_THUMBNAIL_INSPECTOR_RAW;Reproducción neutra del raw +PREFERENCES_THUMBNAIL_INSPECTOR_RAW_IF_NO_JPEG_FULLSIZE;JPEG embebido si existe a tamaño máximo, raw neutro si no existe +PREFERENCES_TP_LABEL;Panel de herramientas: +PREFERENCES_TP_VSCROLLBAR;Ocultar barra de desplazamiento vertical +PREFERENCES_USEBUNDLEDPROFILES;Usar perfiles incorporados +PREFERENCES_WORKFLOW;Disposición +PREFERENCES_ZOOMONSCROLL;Ampliar imágenes desplazando +PROFILEPANEL_COPYPPASTE;Parámetros a copiar +PROFILEPANEL_GLOBALPROFILES;Perfiles incorporados +PROFILEPANEL_LABEL;Perfiles de procesamiento +PROFILEPANEL_LOADDLGLABEL;Cargar parámetros de procesamiento... +PROFILEPANEL_LOADPPASTE;Parámetros a cargar +PROFILEPANEL_MODE_TOOLTIP;Modo de rellenado del perfil de revelado.\n\nBotón pulsado: los perfiles parciales se convertirán en completos; los valores no presentes se reemplazarán por los internos predeterminados del programa.\n\nBotón no pulsado: los perfiles se aplicarán tal como están, alterando solamente los valores de los parámetros que contienen. +PROFILEPANEL_MYPROFILES;Mis perfiles +PROFILEPANEL_PASTEPPASTE;Parámetros a pegar +PROFILEPANEL_PCUSTOM;Personalizado +PROFILEPANEL_PDYNAMIC;Dinámico +PROFILEPANEL_PFILE;Desde archivo +PROFILEPANEL_PINTERNAL;Neutro +PROFILEPANEL_PLASTSAVED;Último guardado +PROFILEPANEL_SAVEDLGLABEL;Guardar parámetros de procesamiento... +PROFILEPANEL_SAVEPPASTE;Parámetros a guardar +PROFILEPANEL_TOOLTIPCOPY;Copia el perfil de revelado actual al portapapeles.\nCtrl-clic para seleccionar los parámetros a copiar. +PROFILEPANEL_TOOLTIPLOAD;Carga un perfil desde un archivo.\nCtrl-clic para seleccionar los parámetros a cargar. +PROFILEPANEL_TOOLTIPPASTE;Pega un perfil desde el portapapeles.\nCtrl-clic para seleccionar los parámetros a pegar. +PROFILEPANEL_TOOLTIPSAVE;Guarda el perfil actual.\nCtrl-clic para seleccionar los parámetros a guardar. +PROGRESSBAR_DECODING;Decodificando... +PROGRESSBAR_GREENEQUIL;Equilibrado de verdes... +PROGRESSBAR_HLREC;Reconstrucción de luces... +PROGRESSBAR_HOTDEADPIXELFILTER;Filtro de píxel caliente/muerto... +PROGRESSBAR_LINEDENOISE;Filtro de ruido de línea... +PROGRESSBAR_LOADING;Cargando imagen... +PROGRESSBAR_LOADINGTHUMBS;Cargando miniaturas... +PROGRESSBAR_LOADJPEG;Cargando archivo JPEG... +PROGRESSBAR_LOADPNG;Cargando archivo PNG... +PROGRESSBAR_LOADTIFF;Cargando archivo TIFF... +PROGRESSBAR_NOIMAGES;No se encuentran imágenes +PROGRESSBAR_PROCESSING;Procesando imagen... +PROGRESSBAR_PROCESSING_PROFILESAVED;Perfil de revelado guardado +PROGRESSBAR_RAWCACORR;Corrección AC raw... +PROGRESSBAR_READY;Listo +PROGRESSBAR_SAVEJPEG;Guardando archivo JPEG... +PROGRESSBAR_SAVEPNG;Guardando archivo PNG... +PROGRESSBAR_SAVETIFF;Guardando archivo TIFF... +PROGRESSBAR_SNAPSHOT_ADDED;Instantánea añadida +PROGRESSDLG_PROFILECHANGEDINBROWSER;Perfil de revelado cambiado en Navegador +QINFO_FRAMECOUNT;%2 tomas +QINFO_HDR;HDR / %2 toma(s) +QINFO_ISO;ISO +QINFO_NOEXIF;Datos Exif no disponibles. +QINFO_PIXELSHIFT;Pixel Shift / %2 toma(s) +QUEUE_AUTOSTART;Arranque automático +QUEUE_AUTOSTART_TOOLTIP;Inicia automáticamente el revelado cuando un nuevo trabajo llega a la cola. +QUEUE_DESTFILENAME;Ruta y nombre de archivo +QUEUE_FORMAT_TITLE;Formato de archivo +QUEUE_LOCATION_FOLDER;Guardar en carpeta +QUEUE_LOCATION_TEMPLATE;Usar plantilla +QUEUE_LOCATION_TEMPLATE_TOOLTIP;Especifica la ubicación de la salida en función de la ubicación de la foto origen, de la puntuación o rango, del estado en la papelera o de la posición en la cola.\n\nSi se usa el siguiente nombre de ruta y archivo como ejemplo:\n/home/tom/photos/2010-10-31/photo1.raw\nel significado de las cadenas de formato es como sigue:\n%d4 = home\n%d3 = tom\n%d2 = photos\n%d1 = 2010-10-31\n%f = photo1\n%p1 = /home/tom/photos/2010-10-31/\n%p2 = /home/tom/photos/\n%p3 = /home/tom/\n%p4 = /home/\n\n%r será reemplazado por la puntuación de la foto. Si la foto no tiene puntuación, se usará «0». Si la foto está en la papelera, se usará «x».\n\n%s1, ..., %s9 serán reemplazados por la posición inicial de la foto en la cola en el momento en que ésta arranca. El número especifica cuántos dígitos tendrá la posición, por ejemplo %s3 da como resultado «001».\n\nSi se desea guardar la imagen de salida junto con la imagen origen, se escribirá:\n%p1/%f\n\nSi se desea guardar la imagen de salida en una carpeta llamada «converted» ubicada en la carpeta de la foto origen, se escribirá:\n%p1/converted/%f\n\nSi se desea guardar la imagen de salida en\n«/home/tom/photos/converted/2010-10-31», se escribirá:\n%p2/converted/%d1/%f +QUEUE_LOCATION_TITLE;Ubicación de salida +QUEUE_STARTSTOP_TOOLTIP;Inicia o detiene el revelado de imágenes en la cola.\n\nAtajo de teclado: Ctrl+s +SAMPLEFORMAT_0;Formato de datos desconocido +SAMPLEFORMAT_1;8 bits sin signo +SAMPLEFORMAT_2;16 bits sin signo +SAMPLEFORMAT_4;24 bits LogLuv +SAMPLEFORMAT_8;32 bits LogLuv +SAMPLEFORMAT_16;16 bits coma flotante +SAMPLEFORMAT_32;24 bits coma flotante +SAMPLEFORMAT_64;32 bits coma flotante +SAVEDLG_AUTOSUFFIX;Añadir automáticamente un sufijo si el archivo ya existe +SAVEDLG_FILEFORMAT;Formato de archivo +SAVEDLG_FILEFORMAT_FLOAT; coma flotante +SAVEDLG_FORCEFORMATOPTS;Forzar opciones de guardado +SAVEDLG_JPEGQUAL;Calidad JPEG +SAVEDLG_PUTTOQUEUE;Enviar a la cola de procesamiento +SAVEDLG_PUTTOQUEUEHEAD;Situar en la cabecera de la cola de procesamiento +SAVEDLG_PUTTOQUEUETAIL;Situar al final de la cola de procesamiento +SAVEDLG_SAVEIMMEDIATELY;Guardar inmediatamente +SAVEDLG_SAVESPP;Guardar parámetros de procesamiento junto con la imagen +SAVEDLG_SUBSAMP;Submuestreo +SAVEDLG_SUBSAMP_1;Máxima compresión +SAVEDLG_SUBSAMP_2;Equilibrado +SAVEDLG_SUBSAMP_3;Máxima calidad +SAVEDLG_SUBSAMP_TOOLTIP;Máxima compresión:\nJ:a:b 4:2:0\nh/v 2/2\nColor reducido a la mitad horizontal y verticalmente.\n\nEquilibrado:\nJ:a:b 4:2:2\nh/v 2/1\nColor reducido a la mitad horizontalmente.\n\nMáxima calidad:\nJ:a:b 4:4:4\nh/v 1/1\nSin submuestreo de cromaticidad. +SAVEDLG_TIFFUNCOMPRESSED;TIFF sin compresión +SAVEDLG_WARNFILENAME;El archivo se nombrará +SHCSELECTOR_TOOLTIP;La posición de estos tres deslizadores se reinicia haciendo clic en el botón derecho del ratón. +SOFTPROOF_GAMUTCHECK_TOOLTIP;Destaca los píxels con colores fuera de rango con respecto a:\n\n- el perfil de la impresora, si éste está establecido y la prueba de impresión está activada,\n- el perfil de salida, si no se ha establecido un perfil de impresora y la prueba de impresión está activada,\n- el perfil del monitor, si la prueba de impresión está desactivada. +SOFTPROOF_TOOLTIP;La prueba de impresión simula la apariencia de la imagen:\n\n- cuando se imprima, si se ha establecido un perfil de impresora en Preferencias > Gestión de color,\n- cuando se visualiza en una pantalla que usa el perfil de salida actual, si no se ha establecido un perfil de impresora. +TC_PRIM_BLUX;Azul X +TC_PRIM_BLUY;Azul Y +TC_PRIM_GREX;Verde X +TC_PRIM_GREY;Verde Y +TC_PRIM_REDX;Rojo X +TC_PRIM_REDY;Rojo Y +THRESHOLDSELECTOR_B;Inferior +THRESHOLDSELECTOR_BL;Inferior-izquierda +THRESHOLDSELECTOR_BR;Inferior-derecha +THRESHOLDSELECTOR_HINT;Los puntos de control individuales se mueven manteniendo pulsada la tecla Mayús. +THRESHOLDSELECTOR_T;Superior +THRESHOLDSELECTOR_TL;Superior-izquierda +THRESHOLDSELECTOR_TR;Superior-derecha +TOOLBAR_TOOLTIP_COLORPICKER;Muestreador de color bloqueable.\n\nCuando la herramienta está activa:\n- Añadir un muestreador: clic-izquierdo.\n- Arrastrar un muestreador: clic-izquierdo y arrastrar.\n- Borrar un muestreador: clic-derecho.\n- Borrar todos los muestreadores: Ctrl+Mayús+clic-derecho.\n- Revertir a herramienta Mano: clic-derecho fuera de los muestreadores. +TOOLBAR_TOOLTIP_CROP;Selección de Recorte.\nAtajo de teclado: c\nEl recorte se mueve usando Mayús+arrastrar. +TOOLBAR_TOOLTIP_HAND;Herramienta Mano.\nAtajo de teclado: h +TOOLBAR_TOOLTIP_PERSPECTIVE;Corrección de perspectiva\n\nPermite editar líneas de control para corregir la distorsión de perspectiva. Para aplicar la corrección, se debe pulsar de nuevo este botón. +TOOLBAR_TOOLTIP_STRAIGHTEN;Enderezado / Rotación fina.\nAtajo de teclado: s\n\nLa línea vertical u horizontal se indica dibujando una línea guía sobre la vista previa de la imagen. Se mostrará el ángulo de rotación junto a la línea guía. El centro de rotación es el centro geométrico de la imagen. +TOOLBAR_TOOLTIP_WB;Balance de blancos por muestreo.\nAtajo de teclado: w +TP_BWMIX_ALGO;Algoritmo OYCPM +TP_BWMIX_ALGO_LI;Lineal +TP_BWMIX_ALGO_SP;Efectos especiales +TP_BWMIX_ALGO_TOOLTIP;Lineal: producirá una respuesta lineal normal.\nEfectos especiales: se producirán efectos especiales mediante la mezcla no lineal de canales. +TP_BWMIX_AUTOCH;Automático +TP_BWMIX_CC_ENABLED;Ajustar color complementario +TP_BWMIX_CC_TOOLTIP;Actívese para permitir el ajuste automático de los colores complementarios en modo ROYGCBPM. +TP_BWMIX_CHANNEL;Ecualizador de luminancia +TP_BWMIX_CURVEEDITOR1;Curva «Antes» +TP_BWMIX_CURVEEDITOR2;Curva «Después» +TP_BWMIX_CURVEEDITOR_AFTER_TOOLTIP;Curva tonal, después de la conversión a B/N, al final del tratamiento. +TP_BWMIX_CURVEEDITOR_BEFORE_TOOLTIP;Curva tonal, justo antes de la conversión a B/N.\nPuede tener en cuenta los componentes de color. +TP_BWMIX_CURVEEDITOR_LH_TOOLTIP;Luminancia en función del matiz L=f(H).\nAtención a los valores extremos, ya que pueden causar artefactos. +TP_BWMIX_FILTER;Filtro de color +TP_BWMIX_FILTER_BLUE;Azul +TP_BWMIX_FILTER_BLUEGREEN;Azul-verde +TP_BWMIX_FILTER_GREEN;Verde +TP_BWMIX_FILTER_GREENYELLOW;Verde-amarillo +TP_BWMIX_FILTER_NONE;Ninguno +TP_BWMIX_FILTER_PURPLE;Púrpura +TP_BWMIX_FILTER_RED;Rojo +TP_BWMIX_FILTER_REDYELLOW;Rojo-amarillo +TP_BWMIX_FILTER_TOOLTIP;El filtro de color simula las tomas realizadas con un filtro coloreado situado delante del objetivo. Los filtros coloreados reducen la transmisión de rangos de color específicos, y en consecuencia afectan a su claridad. Por ejemplo, un filtro rojo oscurece el cielo azul. +TP_BWMIX_FILTER_YELLOW;Amarillo +TP_BWMIX_GAMMA;Corrección gamma +TP_BWMIX_GAM_TOOLTIP;Corrige la gamma para cada canal RGB. +TP_BWMIX_LABEL;Blanco y negro +TP_BWMIX_MET;Método +TP_BWMIX_MET_CHANMIX;Mezclador de canales +TP_BWMIX_MET_DESAT;Desaturación +TP_BWMIX_MET_LUMEQUAL;Ecualizador de luminancia +TP_BWMIX_MIXC;Mezclador de canales +TP_BWMIX_NEUTRAL;Reiniciar +TP_BWMIX_RGBLABEL;R: %1%% G: %2%% B: %3%% Total: %4%% +TP_BWMIX_RGBLABEL_HINT;Factores RGB finales que se encargan de todas las opciones del mezclador.\n«Total» muestra la suma de los valores RGB:\n- siempre es 100% en modo relativo\n- mayor (más claro) o menor (más oscuro) que el 100% en modo absoluto. +TP_BWMIX_RGB_TOOLTIP;Mezcla los canales RGB. Los ajustes preestablecidos pueden usarse como guía.\nAtención a los valores negativos, pues pueden causar artefactos o un comportamiento errático. +TP_BWMIX_SETTING;Preestablecidos +TP_BWMIX_SETTING_TOOLTIP;Diferentes ajustes preestablecidos (película, paisaje, etc.) o ajustes manuales del Mezclador de canales. +TP_BWMIX_SET_HIGHCONTAST;Alto contraste +TP_BWMIX_SET_HIGHSENSIT;Alta sensibilidad +TP_BWMIX_SET_HYPERPANCHRO;Hiper Pancromático +TP_BWMIX_SET_INFRARED;Infrarrojo +TP_BWMIX_SET_LANDSCAPE;Paisaje +TP_BWMIX_SET_LOWSENSIT;Baja sensibilidad +TP_BWMIX_SET_LUMINANCE;Luminancia +TP_BWMIX_SET_NORMCONTAST;Contraste normal +TP_BWMIX_SET_ORTHOCHRO;Ortocromático +TP_BWMIX_SET_PANCHRO;Pancromático +TP_BWMIX_SET_PORTRAIT;Retrato +TP_BWMIX_SET_RGBABS;RGB absoluto +TP_BWMIX_SET_RGBREL;RGB relativo +TP_BWMIX_SET_ROYGCBPMABS;ROYGCBPM absoluto +TP_BWMIX_SET_ROYGCBPMREL;ROYGCBPM relativo +TP_BWMIX_TCMODE_FILMLIKE;B/N como película +TP_BWMIX_TCMODE_SATANDVALBLENDING;B/N Mezcla de saturación y valor +TP_BWMIX_TCMODE_STANDARD;B/N Estándar +TP_BWMIX_TCMODE_WEIGHTEDSTD;B/N Estándar ponderado +TP_BWMIX_VAL;L +TP_CACORRECTION_BLUE;Azul +TP_CACORRECTION_LABEL;Corrección de aberración cromática +TP_CACORRECTION_RED;Rojo +TP_CBDL_AFT;Después de Blanco y negro +TP_CBDL_BEF;Antes de Blanco y negro +TP_CBDL_METHOD;Posición del proceso +TP_CBDL_METHOD_TOOLTIP;Elige dónde posicionar la herramienta Contraste por niveles de detalle: o bien después de la herramienta Blanco y negro, lo que hace que trabaje en el espacio L*a*b*, o bien antes de ella, lo que hace que trabaje en el espacio RGB. +TP_CHMIXER_BLUE;Canal azul +TP_CHMIXER_GREEN;Canal verde +TP_CHMIXER_LABEL;Mezclador de canales +TP_CHMIXER_RED;Canal rojo +TP_COARSETRAF_TOOLTIP_HFLIP;Voltea horizontalmente. +TP_COARSETRAF_TOOLTIP_ROTLEFT;Gira a la izquierda.\n\nAtajos de teclado:\n[ - Modo de Editor de varias pestañas,\nAlt-[ - Modo de Editor de pestaña única. +TP_COARSETRAF_TOOLTIP_ROTRIGHT;Gira a la derecha.\n\nAtajos de teclado:\n] - Modo de Editor de varias pestañas,\nAlt-] - Modo de Editor de pestaña única. +TP_COARSETRAF_TOOLTIP_VFLIP;Voltea verticalmente. +TP_COLORAPP_ABSOLUTELUMINANCE;Luminancia absoluta +TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponde a la luminancia en cd/m² en el momento de la toma, calculada de forma automática a partir de los datos Exif. +TP_COLORAPP_ALGO;Algoritmo +TP_COLORAPP_ALGO_ALL;Todos +TP_COLORAPP_ALGO_JC;Claridad + Cromaticidad (JC) +TP_COLORAPP_ALGO_JS;Claridad + Saturación (JS) +TP_COLORAPP_ALGO_QM;Claridad + Colorido (QM) +TP_COLORAPP_ALGO_TOOLTIP;Permite escoger entre subconjuntos de parámetros o todos los parámetros. +TP_COLORAPP_BADPIXSL;Filtro de píxels calientes/muertos +TP_COLORAPP_BADPIXSL_TOOLTIP;Supresión de píxels calientes/muertos (de un color brillante).\n0 = Sin efecto\n1 = Mediana\n2 = Gaussiano.\nAlternativamente, ajusta la imagen para evitar sombras muy oscuras.\n\nEstos artefactos se deben a limitaciones de CIECAM02. +TP_COLORAPP_BRIGHT;Brillo (Q) +TP_COLORAPP_BRIGHT_TOOLTIP;El Brillo en CIECAM es la cantidad de luz percibida que emana de un estímulo. Difiere del brillo de L*a*b* y RGB. +TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;Si se ajusta manualmente, se recomiendan valores por encima de 65. +TP_COLORAPP_CATCLASSIC;Clásico +TP_COLORAPP_CATMET_TOOLTIP;Clásico: funcionamiento tradicional de CIECAM. Las transformaciones de adaptación cromática se aplican separadamente en «Condiciones de la escena» e iluminante básico por un lado, y en el iluminante básico y «Condiciones de entorno» por otro.\n\nSimétrico: La adaptación cromática se basa en el balance de blancos. Los ajustes «Condiciones de la escena», «Ajustes de imagen» y «Condiciones de entorno» se neutralizan.\n\nMezcla: Como la opción «Clásico», pero en este caso, la adaptación cromática se basa en el balance de blancos. +TP_COLORAPP_CATMOD;Modo Cat02/16 +TP_COLORAPP_CATSYMGEN;Automático simétrico +TP_COLORAPP_CATSYMSPE;Mezcla +TP_COLORAPP_CHROMA;Cromaticidad (C) +TP_COLORAPP_CHROMA_M;Colorido (M) +TP_COLORAPP_CHROMA_M_TOOLTIP;El colorido en CIECAM es la cantidad percibida de matiz en relación al gris, un indicador de que un estímulo parece estar más o menos coloreado. +TP_COLORAPP_CHROMA_S;Saturación (S) +TP_COLORAPP_CHROMA_S_TOOLTIP;La Saturación en CIECAM corresponde al color de un estímulo en relación a su propio brillo. Difiere de la saturación L*a*b* y RGB. +TP_COLORAPP_CHROMA_TOOLTIP;La Cromaticidad en CIECAM corresponde al color de un estímulo relativo a la claridad de un estímulo que parece blanco bajo idénticas condiciones. Difiere de la cromaticidad L*a*b* y RGB. +TP_COLORAPP_CIECAT_DEGREE;Adaptación +TP_COLORAPP_CONTRAST;Contraste (J) +TP_COLORAPP_CONTRAST_Q;Contraste (Q) +TP_COLORAPP_CONTRAST_Q_TOOLTIP;El Contraste (Q) en CIECAM se basa en el brillo. Difiere del contraste en L*a*b* y RGB. +TP_COLORAPP_CONTRAST_TOOLTIP;El Contraste (J) en CIECAM se basa en la claridad. Difiere del contraste en L*a*b* y RGB. +TP_COLORAPP_CURVEEDITOR1;Curva tonal 1 +TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Muestra el histograma de L* (L*a*b*) antes de CIECAM.\nSi la casilla «Mostrar histogramas de salida de CIECAM en curvas» está activada, muestra el histograma de J después de CIECAM.\n\nJ no se muestra en el panel del histograma principal.\n\nPara la salida final, se puede consultar el panel del histograma principal. +TP_COLORAPP_CURVEEDITOR2;Curva tonal 2 +TP_COLORAPP_CURVEEDITOR2_TOOLTIP;El mismo uso que la primera curva tonal J(J). +TP_COLORAPP_CURVEEDITOR3;Curva de color +TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Ajusta la cromaticidad, la saturación o el colorido.\n\nMuestra el histograma de cromaticidad (L*a*b*) antes de CIECAM.\nSi la casilla «Mostrar histogramas de salida de CIECAM en curvas» está activada, muestra el histograma de C, S o M después de CIECAM.\n\nC, S y M no se muestran en el panel del histograma principal.\nPara la salida final, se puede consultar el panel del histograma principal. +TP_COLORAPP_DATACIE;Histogramas de salida CIECAM en las curvas +TP_COLORAPP_DATACIE_TOOLTIP;Si está activado, los histogramas en las curvas CIECAM muestran los valores/rangos aproximados de J, y C, S o M después de los ajustes de CIECAM.\nEsta selección no influye en el histograma principal.\n\nSi está desactivado, los histogramas en las curvas CIECAM muestran los valores L*a*b* antes de los ajustes de CIECAM. +TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 es una adaptación cromática. Convierte los valores de una imagen cuyo punto blanco es el de un iluminante dado (por ejemplo D65) a nuevos valores cuyo punto blanco es el del nuevo iluminante. Consúltese el Modelo de Punto Blanco (por ejemplo, D50 or D55). +TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 es una adaptación cromática. Convierte los valores de una imagen cuyo punto blanco es el de un iluminante dado (por ejemplo D50) a nuevos valores cuyo punto blanco es el del nuevo iluminante. Consúltese el Modelo de Punto Blanco (por ejemplo D75). +TP_COLORAPP_FREE;Temperatura+verde libres + CAT02/16 + [salida] +TP_COLORAPP_GAMUT;Emplear el control de rango de colores en el modo L*a*b* +TP_COLORAPP_GEN;Ajustes +TP_COLORAPP_GEN_TOOLTIP;Este módulo está basado en los modelos de apariencia de color CIECAM, que se diseñaron para simular mejor cómo la visión humana percibe los colores bajo diferentes condiciones de iluminación, por ejemplo, contra fondos diferentes.\n\nTiene en cuenta el entorno de cada color y modifica su apariencia para que sea lo más cercana posible a la percepción humana.\n\nTambién adapta la salida a las condiciones de visualización previstas (monitor, TV, proyector, impresora, etc.) de modo que la apariencia cromática se preserve para todos los entornos de escena y visualización. +TP_COLORAPP_HUE;Matiz (h) +TP_COLORAPP_HUE_TOOLTIP;Matiz (h) es el grado en que un estímulo puede describirse como similar a un color descrito como rojo, verde, azul y amarillo. +TP_COLORAPP_IL41;D41 +TP_COLORAPP_IL50;D50 +TP_COLORAPP_IL55;D55 +TP_COLORAPP_IL60;D60 +TP_COLORAPP_IL65;D65 +TP_COLORAPP_IL75;D75 +TP_COLORAPP_ILA;Incandescente StdA 2856K +TP_COLORAPP_ILFREE;Libre +TP_COLORAPP_ILLUM;Iluminante +TP_COLORAPP_ILLUM_TOOLTIP;Selecciona el iluminante más cercano a las condiciones de toma.\nEn general será D50, pero puede cambiar en función de la hora y la latitud. +TP_COLORAPP_LABEL;Apariencia de Color e Iluminación +TP_COLORAPP_LABEL_CAM02;Ajustes de imagen +TP_COLORAPP_LABEL_SCENE;Condiciones de la escena +TP_COLORAPP_LABEL_VIEWING;Condiciones de visualización +TP_COLORAPP_LIGHT;Claridad (J) +TP_COLORAPP_LIGHT_TOOLTIP;La Claridad en CIECAM es la claridad de un estímulo relativa a la claridad de un estímulo que parece blanco bajo condiciones de visualización similares. Difiere de la claridad en L*a*b* y RGB. +TP_COLORAPP_MEANLUMINANCE;Luminancia media (Yb%) +TP_COLORAPP_MOD02;CIECAM02 +TP_COLORAPP_MOD16;CIECAM16 +TP_COLORAPP_MODEL;Modelo de punto blanco +TP_COLORAPP_MODELCAT;Modelo CAM +TP_COLORAPP_MODELCAT_TOOLTIP;Permite elegir entre CIECAM02 o CIECAM16.\nA veces CIECAM02 será más preciso.\nCIECAM16 debería generar menos artefactos. +TP_COLORAPP_MODEL_TOOLTIP;Modelo de punto blanco.\n\nWB [RT] + [salida]: Se usa el balance de blancos de RT para la escena, CIECAM02/16 se ajusta a D50, y el balance de blancos del dispositivo de salida se ajusta en Condiciones de visualización.\n\nWB [RT+CAT02/16] + [salida]: CAT02 usa los ajustes de balance de blancos de RT, y el balance de blancos del dispositivo de salida se ajusta en Condiciones de visualización.\n\nTemperatura+verde libres + CAT02 + [salida]:El usuario elige la temperatura y el nivel de verde, y el balance de blancos del dispositivo de salida se ajusta en Condiciones de visualización. +TP_COLORAPP_NEUTRAL;Restablecer +TP_COLORAPP_NEUTRAL_TOOLTIP;Restablece todos los deslizadores, casillas de verificación y curvas a sus valores predeterminados. +TP_COLORAPP_RSTPRO;Protección de rojo y tonos de piel +TP_COLORAPP_RSTPRO_TOOLTIP;La Protección de rojo y tonos de piel afecta tanto a los deslizadores como a las curvas. +TP_COLORAPP_SOURCEF_TOOLTIP;Corresponde a las condiciones de toma y cómo llevar las condiciones y los datos a una zona «normal». «Normal» significa aquí condiciones y datos promedio o estándar, es decir, sin tener en cuenta las correcciones CIECAM. +TP_COLORAPP_SURROUND;Entorno de visualización +TP_COLORAPP_SURROUNDSRC;Entorno (Iluminación de escena) +TP_COLORAPP_SURROUND_AVER;Promedio +TP_COLORAPP_SURROUND_DARK;Oscuro +TP_COLORAPP_SURROUND_DIM;Luz tenue +TP_COLORAPP_SURROUND_EXDARK;Muy oscuro +TP_COLORAPP_SURROUND_TOOLTIP;Cambia los tonos y colores teniendo en cuenta las condiciones de visualización del dispositivo de salida.\n\nPromedio: Entorno de luz promedio (estándar). La imagen no cambiará.\n\nLuz tenue: Entorno con luz tenue (TV). La imagen se volverá un poco oscura.\n\nOscuro: Entorno oscuro (proyector). La imagen se volverá más oscura.\n\nMuy oscuro: Entorno muy oscuro. La imagen se volverá muy oscura. +TP_COLORAPP_SURSOURCE_TOOLTIP;Cambia tonos y colores para tener en cuenta las condiciones de la escena.\n\nPromedio: Entorno de luz promedio (estándar). La imagen no cambiará.\n\nTenue: Entorno tenue. La imagen se volverá ligeramente brillante.\n\nOscuro: Entorno oscuro. La imagen se volverá más brillante.\n\nMuy oscuro: Entorno muy oscuro. La imagen se volverá muy brillante. +TP_COLORAPP_TCMODE_BRIGHTNESS;Brillo +TP_COLORAPP_TCMODE_CHROMA;Cromaticidad +TP_COLORAPP_TCMODE_COLORF;Colorido +TP_COLORAPP_TCMODE_LABEL1;Modo de curva 1 +TP_COLORAPP_TCMODE_LABEL2;Modo de curva 2 +TP_COLORAPP_TCMODE_LABEL3;Modo de curva de cromaticidad +TP_COLORAPP_TCMODE_LIGHTNESS;Claridad +TP_COLORAPP_TCMODE_SATUR;Saturación +TP_COLORAPP_TEMP2_TOOLTIP;O bien modo simétrico, Temp = balance de blancos.\nO bien, se selecciona el iluminante, poniendo siempre Tinte=1.\n\nA Temp=2856 K\nD41 Temp=4100 K\nD50 Temp=5003 K\nD55 Temp=5503 K\nD60 Temp=6000 K\nD65 Temp=6504 K\nD75 Temp=7504 K +TP_COLORAPP_TEMP_TOOLTIP;Para seleccionar un iluminante, se ajusta siempre Tinte=1.\n\nTemp A=2856 K\nTemp D50=5003 K\nTemp D55=5503 K\nTemp D65=6504 K\nTemp D75=7504 K +TP_COLORAPP_TONECIE;Mapeo tonal mediante CIECAM +TP_COLORAPP_TONECIE_TOOLTIP;Si esta opción está desactivada, el mapeo tonal se realiza en el espacio L*a*b*.\nSi está activada, el mapeo tonal se realiza mediante CIECAM02.\nLa herramienta Mapeo tonal debe estar activada para que este ajuste tenga efectos. +TP_COLORAPP_VIEWINGF_TOOLTIP;Tiene en cuenta el medio en el que se visualizará la imagen final (monitor, TV, proyector, impresora, etc.), así como su entorno. Este proceso tomará los datos procedentes del proceso «Ajustes de imagen» y los «llevará» al medio de visualización, de tal modo que se tendrán en cuenta las condiciones de visualización. +TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP;Luminancia absoluta del entorno de visualización\n(normalmente 16 cd/m²). +TP_COLORAPP_WBCAM;WB [RT+CAT02] + [salida] +TP_COLORAPP_WBRT;WB [RT] + [salida] +TP_COLORAPP_YBOUT_TOOLTIP;Yb es la luminancia relativa del fondo, expresada en % de gris. Un gris al 18% corresponde a una luminancia del fondo, expresada en CIE L, del 50%.\nEste dato debe tener en cuenta la luminancia promedio de la imagen. +TP_COLORAPP_YBSCEN_TOOLTIP;Yb es la luminancia relativa del fondo, expresada en % de gris. Un gris al 18% corresponde a una luminancia del fondo, expresada en CIE L, del 50%.\nEste dato se calcula a partir de la luminancia promedio de la imagen. +TP_COLORTONING_AB;o C/L +TP_COLORTONING_AUTOSAT;Automático +TP_COLORTONING_BALANCE;Balance +TP_COLORTONING_BY;o C/L +TP_COLORTONING_CHROMAC;Opacidad +TP_COLORTONING_COLOR;Color +TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Opacidad de cromaticidad en función de la luminancia oC=f(L) +TP_COLORTONING_HIGHLIGHT;Luces +TP_COLORTONING_HUE;Matiz +TP_COLORTONING_LAB;Mezcla L*a*b* +TP_COLORTONING_LABEL;Virado de color +TP_COLORTONING_LABGRID;Cuadrícula de corrección de color L*a*b* +TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4 +TP_COLORTONING_LABREGIONS;Regiones de corrección de color +TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2 +TP_COLORTONING_LABREGION_CHANNEL;Canal +TP_COLORTONING_LABREGION_CHANNEL_ALL;Todos +TP_COLORTONING_LABREGION_CHANNEL_B;Azul +TP_COLORTONING_LABREGION_CHANNEL_G;Verde +TP_COLORTONING_LABREGION_CHANNEL_R;Rojo +TP_COLORTONING_LABREGION_CHROMATICITYMASK;C +TP_COLORTONING_LABREGION_HUEMASK;H +TP_COLORTONING_LABREGION_LIGHTNESS;Claridad +TP_COLORTONING_LABREGION_LIGHTNESSMASK;L +TP_COLORTONING_LABREGION_LIST_TITLE;Corrección +TP_COLORTONING_LABREGION_MASK;Máscara +TP_COLORTONING_LABREGION_MASKBLUR;Difuminado de máscara +TP_COLORTONING_LABREGION_OFFSET;Compensación +TP_COLORTONING_LABREGION_POWER;Potencia +TP_COLORTONING_LABREGION_SATURATION;Saturación +TP_COLORTONING_LABREGION_SHOWMASK;Mostrar máscara +TP_COLORTONING_LABREGION_SLOPE;Pendiente +TP_COLORTONING_LUMA;Luminancia +TP_COLORTONING_LUMAMODE;Preservar luminancia +TP_COLORTONING_LUMAMODE_TOOLTIP;Si está activado, cuando se cambie un color (rojo, verde, cian, azul, etc.), la luminancia de cada píxel se preservará. +TP_COLORTONING_METHOD;Método +TP_COLORTONING_METHOD_TOOLTIP;Los métodos «Mezcla L*a*b*», «Deslizadores RGB» y «Curvas RGB» usan la mezcla interpolada de color.\n\nLos métodos «Balance de color (Sombras/Tonos medios/Luces)» y «Saturación 2 colores» usan colores directos.\n\nLa herramienta Blanco y negro se puede activar mientras se usa cualquier método de virado de color, lo que permite el virado. +TP_COLORTONING_MIDTONES;Tonos medios +TP_COLORTONING_NEUTRAL;Reiniciar deslizadores +TP_COLORTONING_NEUTRAL_TOOLTIP;Reiniciar todos los valores (Sombras, Tonos medios, Luces) a los predeterminados. +TP_COLORTONING_OPACITY;Opacidad +TP_COLORTONING_RGBCURVES;RGB - Curvas +TP_COLORTONING_RGBSLIDERS;RGB - Deslizadores +TP_COLORTONING_SA;Protección de saturación +TP_COLORTONING_SATURATEDOPACITY;Intensidad +TP_COLORTONING_SATURATIONTHRESHOLD;Umbral +TP_COLORTONING_SHADOWS;Sombras +TP_COLORTONING_SPLITCO;Sombras/Tonos medios/Luces +TP_COLORTONING_SPLITCOCO;Balance de color (Sombras/Tonos medios/Luces) +TP_COLORTONING_SPLITLR;Saturación 2 colores +TP_COLORTONING_STR;Intensidad +TP_COLORTONING_STRENGTH;Intensidad +TP_COLORTONING_TWO2;Cromaticidad especial «2 colores» +TP_COLORTONING_TWOALL;Cromaticidad especial +TP_COLORTONING_TWOBY;Especial a* y b* +TP_COLORTONING_TWOCOLOR_TOOLTIP;Cromaticidad estándar:\nRespuesta lineal, a* = b*.\n\nCromaticidad especial:\nRespuesta lineal, a* = b*, pero no limitada: pruébese bajo la diagonal.\n\nEspecial a* y b*:\nRespuesta lineal no limitada con curvas separadas para a* y b*. Pensado para efectos especiales.\n\nCromaticidad especial 2 colores:\nMás predecible. +TP_COLORTONING_TWOSTD;Cromaticidad estándar +TP_CROP_FIXRATIO;Fijar proporciones +TP_CROP_GTCENTEREDSQUARE;Cuadrado centrado +TP_CROP_GTDIAGONALS;Regla de las diagonales +TP_CROP_GTEPASSPORT;Pasaporte biométrico +TP_CROP_GTFRAME;Marco +TP_CROP_GTGRID;Cuadrícula +TP_CROP_GTHARMMEANS;Proporciones armónicas +TP_CROP_GTNONE;Ninguna +TP_CROP_GTRULETHIRDS;Regla de los tercios +TP_CROP_GTTRIANGLE1;Triángulos de oro 1 +TP_CROP_GTTRIANGLE2;Triángulos de oro 2 +TP_CROP_GUIDETYPE;Tipo de guía: +TP_CROP_H;Altura +TP_CROP_LABEL;Recortar +TP_CROP_PPI;PPI +TP_CROP_RESETCROP;Reiniciar +TP_CROP_SELECTCROP;Seleccionar recorte +TP_CROP_W;Anchura +TP_CROP_X;Izquierda +TP_CROP_Y;Arriba +TP_DARKFRAME_AUTOSELECT;Auto-selección +TP_DARKFRAME_LABEL;Foto negra +TP_DEFRINGE_LABEL;Quitar borde púrpura +TP_DEFRINGE_RADIUS;Radio +TP_DEFRINGE_THRESHOLD;Umbral +TP_DEHAZE_DEPTH;Profundidad +TP_DEHAZE_LABEL;Eliminación de neblina +TP_DEHAZE_SATURATION;Saturación +TP_DEHAZE_SHOW_DEPTH_MAP;Mostrar mapa de profundidad +TP_DEHAZE_STRENGTH;Intensidad +TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Auto multi-zonas +TP_DIRPYRDENOISE_CHROMINANCE_AUTOGLOBAL;Automático global +TP_DIRPYRDENOISE_CHROMINANCE_BLUEYELLOW;Cromaticidad - Azul-Amarillo +TP_DIRPYRDENOISE_CHROMINANCE_CURVE;Curva de cromaticidad +TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;Incrementa (multiplica) el valor de todos los deslizadores de cromaticidad.\nEsta curva permite ajustar la intensidad de reducción de ruido cromático en función de la cromaticidad; por ejemplo, para incrementar la acción en áreas de baja saturación y reducirla en las de alta saturación. +TP_DIRPYRDENOISE_CHROMINANCE_FRAME;Cromaticidad +TP_DIRPYRDENOISE_CHROMINANCE_MANUAL;Manual +TP_DIRPYRDENOISE_CHROMINANCE_MASTER;Cromaticidad - Maestro +TP_DIRPYRDENOISE_CHROMINANCE_METHOD;Método +TP_DIRPYRDENOISE_CHROMINANCE_METHODADVANCED_TOOLTIP;Manual:\nActúa en toda la imagen.\nEl usuario controla los ajustes de reducción de ruido manualmente.\n\nAutomático global:\nActúa en toda la imagen.\nSe usan 9 zonas para calcular un ajuste global de reducción de ruido de cromaticidad.\n\nVista previa:\nActúa en toda la imagen.\nLa parte de la imagen visible en la vista previa se usa para calcular los ajustes globales de reducción de ruido de cromaticidad. +TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActúa en toda la imagen.\nEl usuario controla los ajustes de reducción de ruido manualmente.\n\nAutomático global\nActúa en toda la imagen.\nSe usan 9 zonas para calcular un ajuste global de reducción de ruido de cromaticidad.\n\nAutomático multi-zona\nNo visible en vista previa: sólo funciona al guardar la imagen, pero puedes tener una idea de los resultados esperados usando el método «Vista previa», haciendo coincidir el tamaño y centro de la tesela con el tamaño y centro de la vista previa.\nLa imagen se divide en teselas (entre 10 y 70 según el tamaño de la imagen), y cada tesela recibe sus propios ajustes de reducción de ruido de cromaticidad.\n\nVista previa\nActúa en toda la imagen.\nLa parte de la imagen visible en la vista previa se usa para calcular los ajustes globales de reducción de ruido de cromaticidad. +TP_DIRPYRDENOISE_CHROMINANCE_PMZ;Vista previa multi-zona +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW;Vista previa +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Muestra los niveles residuales de ruido de la parte de la imagen visible en la vista previa después de las ondículas.\n\n>300 Muy ruidoso\n100-300 Ruidoso\n50-100 Un poco ruidoso\n<50 Muy bajo ruido\n\nAtención, los valores diferirán entre los modos RGB y L*a*b*. Los valores RGB son menos precisos, porque el modo RGB no separa completamente la luminancia y la cromaticidad. +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_INFO;Tamaño de vista previa=%1, Centro: Px=%2 Py=%3 +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_NOISEINFO;Ruido en vista previa: Media=%1 Alto=%2 +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_NOISEINFO_EMPTY;Ruido en vista previa: Media= - Alto= - +TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_TILEINFO;Tamaño de tesela=%1, Centro: Tx=%2 Ty=%3 +TP_DIRPYRDENOISE_CHROMINANCE_REDGREEN;Cromaticidad - Rojo-Verde +TP_DIRPYRDENOISE_LABEL;Reducción de ruido +TP_DIRPYRDENOISE_LUMINANCE_CONTROL;Control de luminancia +TP_DIRPYRDENOISE_LUMINANCE_CURVE;Curva de luminancia +TP_DIRPYRDENOISE_LUMINANCE_DETAIL;Recuperación de detalle +TP_DIRPYRDENOISE_LUMINANCE_FRAME;Luminancia +TP_DIRPYRDENOISE_LUMINANCE_SMOOTHING;Luminancia +TP_DIRPYRDENOISE_MAIN_COLORSPACE;Espacio de color +TP_DIRPYRDENOISE_MAIN_COLORSPACE_LAB;L*a*b* +TP_DIRPYRDENOISE_MAIN_COLORSPACE_RGB;RGB +TP_DIRPYRDENOISE_MAIN_COLORSPACE_TOOLTIP;Para imágenes raw se puede usar tanto el método RGB como el L*a*b*.\n\nPara imágenes no raw, se usará el método L*a*b*, independientemente de lo seleccionado. +TP_DIRPYRDENOISE_MAIN_GAMMA;Gamma +TP_DIRPYRDENOISE_MAIN_GAMMA_TOOLTIP;Gamma varía la intensidad de la reducción de ruido en función del rango de tonos. Los valores menores actuarán más en las sombras, mientras que los valores mayores extenderán el efecto a los tonos más brillantes. +TP_DIRPYRDENOISE_MAIN_MODE;Modo +TP_DIRPYRDENOISE_MAIN_MODE_AGGRESSIVE;Agresivo +TP_DIRPYRDENOISE_MAIN_MODE_CONSERVATIVE;Conservador +TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;«Conservador» preserva los patrones de cromaticidad de baja frecuencia, mientras que «Agresivo» los destruye. +TP_DIRPYRDENOISE_MEDIAN_METHOD;Método de mediana +TP_DIRPYRDENOISE_MEDIAN_METHOD_CHROMINANCE;Sólo cromaticidad +TP_DIRPYRDENOISE_MEDIAN_METHOD_LAB;L*a*b* +TP_DIRPYRDENOISE_MEDIAN_METHOD_LABEL;Filtro de mediana +TP_DIRPYRDENOISE_MEDIAN_METHOD_LUMINANCE;Sólo luminancia +TP_DIRPYRDENOISE_MEDIAN_METHOD_RGB;RGB +TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;Si se usan los métodos «Sólo luminancia» y «L*a*b*», el filtrado de mediana se realizará justo después del paso de ondículas en el circuito de reducción de ruido.\nSi se usa el modo «RGB», se realizará al final del circuito de reducción de ruido. +TP_DIRPYRDENOISE_MEDIAN_METHOD_WEIGHTED;L* ponderado (pequeño) + a*b* (normal) +TP_DIRPYRDENOISE_MEDIAN_PASSES;Iteraciones de mediana +TP_DIRPYRDENOISE_MEDIAN_PASSES_TOOLTIP;La aplicación de tres iteraciones de filtro de mediana con un tamaño de ventana de 3x3 a menudo proporciona mejores resultados que el uso de una iteración de filtro de mediana con un tamaño de ventana de 7x7. +TP_DIRPYRDENOISE_MEDIAN_TYPE;Tipo de mediana +TP_DIRPYRDENOISE_MEDIAN_TYPE_TOOLTIP;Aplica un filtro de mediana del tamaño de ventana deseado. Cuanto mayor sea el tamaño de la ventana, más tiempo tardará.\n\n3x3 suave: trata 5 píxels en una ventana de 3x3 píxels.\n3x3: trata 9 píxels en una ventana de 3x3 píxels.\n5x5 suave: trata 13 píxels en una ventana de 5x5 píxels.\n5x5: trata 25 píxels en una ventana de 5x5 píxels.\n7x7: trata 49 píxels en una ventana de 7x7 píxels.\n9x9: trata 81 píxels en una ventana de 9x9 píxels.\n\nA veces es posible conseguir mayor calidad realizando varias iteraciones con un tamaño de ventana más pequeño que con una sola iteración y un tamaño de ventana mayor. +TP_DIRPYRDENOISE_TYPE_3X3;3x3 +TP_DIRPYRDENOISE_TYPE_3X3SOFT;3x3 suave +TP_DIRPYRDENOISE_TYPE_5X5;5x5 +TP_DIRPYRDENOISE_TYPE_5X5SOFT;5x5 suave +TP_DIRPYRDENOISE_TYPE_7X7;7x7 +TP_DIRPYRDENOISE_TYPE_9X9;9x9 +TP_DIRPYREQUALIZER_ALGO;Rango de colores de piel +TP_DIRPYREQUALIZER_ALGO_TOOLTIP;Fino: más cercano a los colores de la piel, minimizando la acción en otros colores\nGrande: evita más artefactos. +TP_DIRPYREQUALIZER_ARTIF;Reducir artefactos +TP_DIRPYREQUALIZER_HUESKIN;Matiz de piel +TP_DIRPYREQUALIZER_HUESKIN_TOOLTIP;La parte superior de la pirámide es donde el algoritmo actúa a su máxima intensidad.\nLas rampas hacia la parte inferior son las zonas de transición.\nSi se necesita mover la zona significativamente hacia la izquierda o hacia la derecha, o si hay artefactos, el balance de blancos es incorrecto.\nSe puede reducir ligeramente la zona para evitar que el resto de la imagen se vea afectado. +TP_DIRPYREQUALIZER_LABEL;Contraste por niveles de detalle +TP_DIRPYREQUALIZER_LUMACOARSEST;El más grueso +TP_DIRPYREQUALIZER_LUMACONTRAST_MINUS;Contraste - +TP_DIRPYREQUALIZER_LUMACONTRAST_PLUS;Contraste + +TP_DIRPYREQUALIZER_LUMAFINEST;El más fino +TP_DIRPYREQUALIZER_LUMANEUTRAL;Neutro +TP_DIRPYREQUALIZER_SKIN;Focalización/protección de piel +TP_DIRPYREQUALIZER_SKIN_TOOLTIP;Al valor -100, el efecto se focaliza en los tonos de piel.\nAl valor 0, todos los tonos se tratan por igual.\nAl valor +100, los tonos de piel se protegen, mientras que todos los demás se ven afectados. +TP_DIRPYREQUALIZER_THRESHOLD;Umbral +TP_DIRPYREQUALIZER_TOOLTIP;Intenta reducir los artefactos en las transiciones entre colores de piel (matiz, cromaticidad, luminancia) y el resto de la imagen. +TP_DISTORTION_AMOUNT;Cantidad +TP_DISTORTION_AUTO_TOOLTIP;Corrige automáticamente la distorsión del objetivo en archivos raw, contrastándola con la imagen JPEG embebida, si ésta existe y su distorsión de objetivo ha sido corregida automáticamente por la cámara. +TP_DISTORTION_LABEL;Corrección de distorsión +TP_EPD_EDGESTOPPING;Parada en bordes +TP_EPD_GAMMA;Gamma +TP_EPD_LABEL;Mapeo tonal +TP_EPD_REWEIGHTINGITERATES;Iteraciones de reponderación +TP_EPD_SCALE;Escala +TP_EPD_STRENGTH;Intensidad +TP_EXPOSURE_AUTOLEVELS;Niveles automáticos +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Activa/desactiva la ejecución de Niveles automáticos, que ajusta automáticamente los valores de los deslizadores de Exposición basándose en un análisis de la imagen.\nSi es necesario, se activa la Reconstrucción de luces. +TP_EXPOSURE_BLACKLEVEL;Negro +TP_EXPOSURE_BRIGHTNESS;Brillo +TP_EXPOSURE_CLAMPOOG;Recortar colores fuera de rango +TP_EXPOSURE_CLIP;% Recorte +TP_EXPOSURE_CLIP_TOOLTIP;La fracción de píxels que quedarán recortados tras la ejecución de Niveles automáticos. +TP_EXPOSURE_COMPRHIGHLIGHTS;Compresión de luces +TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Umbral de compresión de luces +TP_EXPOSURE_COMPRSHADOWS;Compresión de sombras +TP_EXPOSURE_CONTRAST;Contraste +TP_EXPOSURE_CURVEEDITOR1;Curva tonal 1 +TP_EXPOSURE_CURVEEDITOR2;Curva tonal 2 +TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Por favor, consúltese el artículo «Exposición > Curvas tonales» de RawPedia para saber cómo obtener los mejores resultados usando dos curvas tonales. +TP_EXPOSURE_EXPCOMP;Compensación de exposición +TP_EXPOSURE_HISTMATCHING;Curva tonal auto-ajustada +TP_EXPOSURE_HISTMATCHING_TOOLTIP;Ajusta automáticamente los deslizadores y curvas (excepto la compensación de exposición) para igualar el aspecto de la miniatura JPEG embebida. +TP_EXPOSURE_LABEL;Exposición +TP_EXPOSURE_SATURATION;Saturación +TP_EXPOSURE_TCMODE_FILMLIKE;Similar a película +TP_EXPOSURE_TCMODE_LABEL1;Modo de Curva 1 +TP_EXPOSURE_TCMODE_LABEL2;Modo de Curva 2 +TP_EXPOSURE_TCMODE_LUMINANCE;Luminancia +TP_EXPOSURE_TCMODE_PERCEPTUAL;Perceptual +TP_EXPOSURE_TCMODE_SATANDVALBLENDING;Mezcla de saturación y valor +TP_EXPOSURE_TCMODE_STANDARD;Estándar +TP_EXPOSURE_TCMODE_WEIGHTEDSTD;Estándar ponderado +TP_EXPOS_BLACKPOINT_LABEL;Puntos de negro Raw +TP_EXPOS_WHITEPOINT_LABEL;Puntos de blanco Raw +TP_FILMNEGATIVE_BLUE;Proporción de azul +TP_FILMNEGATIVE_BLUEBALANCE;Frío/Cálido +TP_FILMNEGATIVE_COLORSPACE;Espacio de color de inversión: +TP_FILMNEGATIVE_COLORSPACE_INPUT;Espacio de color de entrada +TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Selecciona el momento en que se realizará la inversión del negativo:\n\nEspacio de color de entrada: realiza la inversión antes de que se aplique el perfil de entrada, como en versiones anteriores de RawTherapee.\n\nEspacio de color de trabajo: realiza la inversión después de aplicar el perfil de entrada, usando el perfil de trabajo actualmente seleccionado. +TP_FILMNEGATIVE_COLORSPACE_WORKING;Espacio de color de trabajo +TP_FILMNEGATIVE_GREEN;Exponente de referencia +TP_FILMNEGATIVE_GREENBALANCE;Magenta/Verde +TP_FILMNEGATIVE_GUESS_TOOLTIP;Establece automáticamente las proporciones de rojo y azul tomando dos muestras que tenían un matiz neutro (sin color) en la escena original. Las muestras deben diferir en brillo. +TP_FILMNEGATIVE_LABEL;Película negativa +TP_FILMNEGATIVE_OUT_LEVEL;Nivel de salida +TP_FILMNEGATIVE_PICK;Tomar muestras neutras +TP_FILMNEGATIVE_RED;Proporción de rojo +TP_FILMNEGATIVE_REF_LABEL;RGB de entrada: %1 +TP_FILMNEGATIVE_REF_PICK;Muestreo de balance de blancos +TP_FILMNEGATIVE_REF_TOOLTIP;Toma una muestra de gris para el balance de blancos de la imagen positiva de salida. +TP_FILMSIMULATION_LABEL;Simulación de película +TP_FILMSIMULATION_SLOWPARSEDIR;RawTherapee está configurado para buscar las imágenes Hald CLUT, que se usan en la herramienta Simulación de película, en una carpeta que está tardando mucho en cargarse.\nCompruébese qué carpeta se está utilizando en Preferencias > Procesamiento de imágenes > Simulación de película.\nSe debe hacer que RawTherapee apunte, o bien a una carpeta que sólo contenga imágenes Hald CLUT y nada más, o a una carpeta vacía si no se desea usar la herramienta Simulación de película.\n\nConsúltese el artículo Simulación de película en RawPedia para más información.\n\n¿Desea cancelar la exploración ahora? +TP_FILMSIMULATION_STRENGTH;Intensidad +TP_FILMSIMULATION_ZEROCLUTSFOUND;Debe configurarse la carpeta HaldCLUT en Preferencias. +TP_FLATFIELD_AUTOSELECT;Auto-selección +TP_FLATFIELD_BLURRADIUS;Radio de difuminado +TP_FLATFIELD_BLURTYPE;Tipo de difuminado +TP_FLATFIELD_BT_AREA;Área +TP_FLATFIELD_BT_HORIZONTAL;Horizontal +TP_FLATFIELD_BT_VERTHORIZ;Vertical + Horizontal +TP_FLATFIELD_BT_VERTICAL;Vertical +TP_FLATFIELD_CLIPCONTROL;Control de recorte +TP_FLATFIELD_CLIPCONTROL_TOOLTIP;Control de recorte evita el recorte de luces causado por la aplicación del Campo plano. Si ya hay luces recortadas antes de aplicar el Campo plano, se usa el valor 0. +TP_FLATFIELD_LABEL;Campo plano +TP_GENERAL_11SCALE_TOOLTIP;Los efectos de esta herramienta sólo son visibles o precisos a una escala de vista previa de 1:1. +TP_GRADIENT_CENTER;Centro +TP_GRADIENT_CENTER_X;Centro X +TP_GRADIENT_CENTER_X_TOOLTIP;Desplaza el gradiente a la izquierda (valores negativos) o a la derecha (valores positivos). +TP_GRADIENT_CENTER_Y;Centro Y +TP_GRADIENT_CENTER_Y_TOOLTIP;Desplaza el gradiente hacia arriba (valores negativos) o hacia abajo (valores positivos). +TP_GRADIENT_DEGREE;Ángulo +TP_GRADIENT_DEGREE_TOOLTIP;Ángulo de rotación en grados. +TP_GRADIENT_FEATHER;Anchura del gradiente +TP_GRADIENT_FEATHER_TOOLTIP;Anchura del gradiente en porcentaje de la diagonal de la imagen. +TP_GRADIENT_LABEL;Filtro graduado +TP_GRADIENT_STRENGTH;Intensidad +TP_GRADIENT_STRENGTH_TOOLTIP;Intensidad del filtro en pasos. +TP_HLREC_BLEND;Mezcla +TP_HLREC_CIELAB;Mezcla CIELab +TP_HLREC_COLOR;Propagación de color +TP_HLREC_ENA_TOOLTIP;La Recuperación de luces puede ser activada por los Niveles automáticos. +TP_HLREC_HLBLUR;Difuminar +TP_HLREC_LABEL;Recuperación de luces +TP_HLREC_LUMINANCE;Recuperación de luminancia +TP_HLREC_METHOD;Método: +TP_HSVEQUALIZER_CHANNEL;Canal +TP_HSVEQUALIZER_HUE;H +TP_HSVEQUALIZER_LABEL;Ecualizador HSV +TP_HSVEQUALIZER_SAT;S +TP_HSVEQUALIZER_VAL;V +TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Compensación de exposición de referencia +TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;Cuando el DCP seleccionado incluye una compensación de exposición, RawTherapee la aplica a la exposición de referencia. +TP_ICM_APPLYHUESATMAP;Tabla base +TP_ICM_APPLYHUESATMAP_TOOLTIP;Cuando el DCP seleccionado incluye una tabla base (HueSatMap), RawTherapee la aplica a la imagen. +TP_ICM_APPLYLOOKTABLE;Tabla de sustitución (LUT) +TP_ICM_APPLYLOOKTABLE_TOOLTIP;Cuando el DCP seleccionado incluye una tabla de sustitución (LUT), RawTherapee la aplica a los colores de la imagen. +TP_ICM_BPC;Compensación del punto negro +TP_ICM_DCPILLUMINANT;Iluminante +TP_ICM_DCPILLUMINANT_INTERPOLATED;Interpolado +TP_ICM_DCPILLUMINANT_TOOLTIP;Si el perfil DCP tiene embebidos dos iluminantes, se podrá escoger cuál se utilizará.\n\nEl valor predeterminado es «Interpolado», que es una mezcla de los dos en función del balance de blancos. +TP_ICM_FBW;Conversión a Blanco y Negro +TP_ICM_ILLUMPRIM_TOOLTIP;En esta lista se selecciona el iluminante más cercano a las condiciones de la toma.\n\nSólo se pueden hacer cambios cuando la selección «Primarios de destino» está puesta a «A medida (deslizadores)». +TP_ICM_INPUTCAMERA;Cámara genérica +TP_ICM_INPUTCAMERAICC;Perfil de cámara seleccionado automáticamente +TP_ICM_INPUTCAMERAICC_TOOLTIP;Usa los perfiles de color de entrada ICC o DCP de RawTherapee, específicos para la cámara.\n\nEstos perfiles son más precisos que los de matriz de color, más simples, aunque no están disponibles para todas las cámaras.\n\nEstos perfiles están almacenados en las carpetas «/iccprofiles/input» y «/dcpprofiles» y se cargan automáticamente en función de la coincidencia del nombre del archivo del perfil con el nombre exacto del modelo de cámara. +TP_ICM_INPUTCAMERA_TOOLTIP;Esta opción escoge entre:\n\n- una matriz de color simple obtenida de dcraw\n- una versión mejorada de RawTherapee (la que esté disponible según el modelo de cámara)\n- la matriz embebida en el archivo DNG +TP_ICM_INPUTCUSTOM;Personalizado +TP_ICM_INPUTCUSTOM_TOOLTIP;Selecciona un perfil de color DCP/ICC personalizado para la cámara. +TP_ICM_INPUTDLGLABEL;Seleccionar perfil de entrada DCP/ICC... +TP_ICM_INPUTEMBEDDED;Usar embebido si es posible +TP_ICM_INPUTEMBEDDED_TOOLTIP;Usar perfil de color embebido en archivos no raw. +TP_ICM_INPUTNONE;Sin perfil de color +TP_ICM_INPUTNONE_TOOLTIP;No usar ningún perfil de color.\nUtilizar sólo en casos especiales. +TP_ICM_INPUTPROFILE;Perfil de entrada +TP_ICM_LABEL;Gestión del color +TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +TP_ICM_NEUTRAL;Reiniciar +TP_ICM_NOICM;Sin ICM: salida sRGB +TP_ICM_OUTPUTPROFILE;Perfil de salida +TP_ICM_OUTPUTPROFILE_TOOLTIP;De forma predeterminada, todos los perfiles «RTv4» o «RTv2» tienen la Curva de Reproducción de Tonos (TRC) del espacio sRGB: g=2.4 s=12.92\n\nCon el «Generador de perfiles ICC» se pueden generar perfiles v4 o v2 escogiendo entre las siguientes opciones:\n\n- Primarios: Personalizado, Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB.\n\n- Curva de reproducción de tono: Personalizado, BT709, sRGB, lineal, estándar g=2.2, estándar g=1.8, alta g=1.3 s=3.35, baja g=2.6 s=6.9, Lab g=3.0 s=9.03296\n\n- Iluminante: Predeterminado, D41, D50, D55, D60, D65, D80, stdA 2856K. +TP_ICM_PRIMBLU_TOOLTIP;Primarios Azul:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +TP_ICM_PRIMGRE_TOOLTIP;Primarios Verde:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +TP_ICM_PRIMILLUM_TOOLTIP;Los colores primarios conforman los límites del espacio de color, y escogerlos adecuadamente es complejo y requiere mucha precisión.\n\nAl establecerlos aquí, se transforma radicalmente la distribución de colores de la imagen, por lo que requiere de gran cantidad de experimentación.\n\nSin embargo, es posible realizar tanto ajustes globales sutiles como ajustes extremos. +TP_ICM_PRIMRED_TOOLTIP;Primarios Rojo:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 +TP_ICM_PROFILEINTENT;Método de conversión del rango de colores +TP_ICM_REDFRAME;Primarios a medida +TP_ICM_SAVEREFERENCE;Guardar imagen de referencia +TP_ICM_SAVEREFERENCE_APPLYWB;Aplicar balance de blancos +TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;En general, se debe aplicar el balance de blancos cuando se guardan imágenes para crear perfiles ICC, y no aplicarlo para crear perfiles DCP. +TP_ICM_SAVEREFERENCE_TOOLTIP;Guarda una imagen TIFF lineal basada en los datos raw y antes de que se les aplique el perfil de entrada.\n\nEl resultado puede usarse para calibrar y generar un perfil personalizado de la cámara. +TP_ICM_TONECURVE;Curva tonal +TP_ICM_TONECURVE_TOOLTIP;Cuando el DCP seleccionado incluye una curva tonal, RawTherapee la aplica a la imagen. +TP_ICM_TRCFRAME;Perfil abstracto +TP_ICM_TRCFRAME_TOOLTIP;También se conocen como perfiles «sintéticos» o «virtuales» y permiten modificar globalmente los tonos de la imagen.\n\nSe pueden hacer cambios en:\n\n- La «Curva de reproducción tonal», que modifica los tonos de la imagen.\n- El «Iluminante», que permite cambiar los primarios del perfil para adaptarlos a las condiciones de la toma.\n- Los «Primarios de destino», que permite cambiar los primarios de destino, con dos usos principales: mezclador de canales y calibración.\n\nNota: Los perfiles abstractos tienen en cuenta los perfiles de trabajo incorporados sin modificarlos. No funcionan con perfiles de trabajo a medida. +TP_ICM_TRC_TOOLTIP;Permite cambiar la «curva de reproducción tonal» (TRC) predeterminada de RawTherapee (TRC sRGB, con g=2.4 y s=12.92).\n\nEsta TRC modifica los tonos de la imagen. Los valores RGB y L*a*b*, el histograma y la salida (pantalla, TIF, JPG) cambian:\n\n- La «Gamma» actúa principalmente en los tonos claros.\n- La «Pendiente» actúa principalmente en los tonos oscuros.\n\nSe puede elegir cualquier par de valores de gamma y pendiente (valores > 1) y el algoritmo se asegurará de que hay continuidad entre las partes lineal y parabólica de la curva.\n\nCualquier selección distinta de «Ninguna» activa la lista de selección «Primarios de destino», y dependiendo del valor de ésta, la lista desplegable «Iluminante». +TP_ICM_WORKINGPROFILE;Perfil de trabajo +TP_ICM_WORKING_CIEDIAG;Diagrama CIE xy +TP_ICM_WORKING_ILLU;Iluminante +TP_ICM_WORKING_ILLU_1500;Tungsteno 1500K +TP_ICM_WORKING_ILLU_2000;Tungsteno 2000K +TP_ICM_WORKING_ILLU_D41;D41 +TP_ICM_WORKING_ILLU_D50;D50 +TP_ICM_WORKING_ILLU_D55;D55 +TP_ICM_WORKING_ILLU_D60;D60 +TP_ICM_WORKING_ILLU_D65;D65 +TP_ICM_WORKING_ILLU_D80;D80 +TP_ICM_WORKING_ILLU_D120;D120 +TP_ICM_WORKING_ILLU_NONE;Predeterminado +TP_ICM_WORKING_ILLU_STDA;stdA 2875K +TP_ICM_WORKING_PRESER;Preservar los tonos pastel +TP_ICM_WORKING_PRIM;Primarios de destino +TP_ICM_WORKING_PRIMFRAME_TOOLTIP;Si se selecciona «Diagrama CIE xy personalizado» en la lista desplegable «Primarios de destino», se modificarán directamente en el gráfico los valores de los tres primarios.\n\nHay que tener en cuenta que en este caso la posición del punto blanco en el gráfico no se actualizará. +TP_ICM_WORKING_PRIM_AC0;ACESp0 +TP_ICM_WORKING_PRIM_ACE;ACESp1 +TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +TP_ICM_WORKING_PRIM_BET;Beta RGB +TP_ICM_WORKING_PRIM_BRU;BruceRGB +TP_ICM_WORKING_PRIM_BST;BestRGB +TP_ICM_WORKING_PRIM_CUS;A medida (deslizadores) +TP_ICM_WORKING_PRIM_CUSGR;A medida (Diagrama CIE xy) +TP_ICM_WORKING_PRIM_NONE;Predeterminado +TP_ICM_WORKING_PRIM_PROP;ProPhoto +TP_ICM_WORKING_PRIM_REC;Rec2020 +TP_ICM_WORKING_PRIM_SRGB;sRGB +TP_ICM_WORKING_PRIM_WID;WideGamut +TP_ICM_WORKING_TRC;Curva de respuesta de tono: +TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +TP_ICM_WORKING_TRC_22;Adobe g=2.2 +TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 +TP_ICM_WORKING_TRC_CUSTOM;Personalizada +TP_ICM_WORKING_TRC_GAMMA;Gamma +TP_ICM_WORKING_TRC_LIN;Lineal g=1 +TP_ICM_WORKING_TRC_NONE;Ninguna +TP_ICM_WORKING_TRC_SLOPE;Pendiente +TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 +TP_ICM_WORKING_TRC_TOOLTIP;Aquí se selecciona uno de los perfiles incorporados en RawTherapee, que será el que utilizará el motor del programa. +TP_IMPULSEDENOISE_LABEL;Reducción de ruido impulsivo +TP_IMPULSEDENOISE_THRESH;Umbral +TP_LABCURVE_AVOIDCOLORSHIFT;Evitar la deriva de colores +TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP;Encaja los colores en el rango del espacio de color de trabajo y aplica la corrección de Munsell. +TP_LABCURVE_BRIGHTNESS;Luminosidad +TP_LABCURVE_CHROMATICITY;Cromaticidad +TP_LABCURVE_CHROMA_TOOLTIP;Para aplicar virado de color en B/N, se ajusta la cromaticidad a -100. +TP_LABCURVE_CONTRAST;Contraste +TP_LABCURVE_CURVEEDITOR;Curva de luminancia +TP_LABCURVE_CURVEEDITOR_A_RANGE1;Verde saturado +TP_LABCURVE_CURVEEDITOR_A_RANGE2;Verde pastel +TP_LABCURVE_CURVEEDITOR_A_RANGE3;Rojo pastel +TP_LABCURVE_CURVEEDITOR_A_RANGE4;Rojo saturado +TP_LABCURVE_CURVEEDITOR_B_RANGE1;Azul saturado +TP_LABCURVE_CURVEEDITOR_B_RANGE2;Azul pastel +TP_LABCURVE_CURVEEDITOR_B_RANGE3;Amarillo pastel +TP_LABCURVE_CURVEEDITOR_B_RANGE4;Amarillo saturado +TP_LABCURVE_CURVEEDITOR_CC;CC +TP_LABCURVE_CURVEEDITOR_CC_RANGE1;Neutro +TP_LABCURVE_CURVEEDITOR_CC_RANGE2;Mate +TP_LABCURVE_CURVEEDITOR_CC_RANGE3;Pastel +TP_LABCURVE_CURVEEDITOR_CC_RANGE4;Saturado +TP_LABCURVE_CURVEEDITOR_CC_TOOLTIP;Cromaticidad en función de la cromaticidad C=f(C) +TP_LABCURVE_CURVEEDITOR_CH;CH +TP_LABCURVE_CURVEEDITOR_CH_TOOLTIP;Cromaticidad en función del matiz C=f(H) +TP_LABCURVE_CURVEEDITOR_CL;CL +TP_LABCURVE_CURVEEDITOR_CL_TOOLTIP;Cromaticidad en función de la luminancia C=f(L) +TP_LABCURVE_CURVEEDITOR_HH;HH +TP_LABCURVE_CURVEEDITOR_HH_TOOLTIP;Matiz en función del matiz H=f(H) +TP_LABCURVE_CURVEEDITOR_LC;LC +TP_LABCURVE_CURVEEDITOR_LC_TOOLTIP;Luminancia en función de la cromaticidad L=f(C) +TP_LABCURVE_CURVEEDITOR_LH;LH +TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminancia en función del matiz L=f(H) +TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminancia en función de la luminancia L=f(L) +TP_LABCURVE_LABEL;Ajustes L*a*b* +TP_LABCURVE_LCREDSK;Restringir LC a rojos y tonos de piel +TP_LABCURVE_LCREDSK_TOOLTIP;Si se activa, la curva LC afecta solamente a los rojos y los tonos de piel.\nSi se desactiva, afecta a todos los tonos. +TP_LABCURVE_RSTPROTECTION;Protección de rojos y tonos de piel +TP_LABCURVE_RSTPRO_TOOLTIP;Opera sobre el deslizador de Cromaticidad y la curva CC. +TP_LENSGEOM_AUTOCROP;Auto-recorte +TP_LENSGEOM_FILL;Auto-relleno +TP_LENSGEOM_LABEL;Objetivo / Geometría +TP_LENSGEOM_LIN;Lineal +TP_LENSGEOM_LOG;Logarítmico +TP_LENSPROFILE_CORRECTION_AUTOMATCH;Selección automática +TP_LENSPROFILE_CORRECTION_LCPFILE;Archivo LCP +TP_LENSPROFILE_CORRECTION_MANUAL;Selección manual +TP_LENSPROFILE_LABEL;Corrección de objetivo con perfil +TP_LENSPROFILE_LENS_WARNING;Advertencia: si el factor de recorte usado para el perfilado de objetivo es mayor que el factor de recorte de la cámara, los resultados podrían ser erróneos. +TP_LENSPROFILE_MODE_HEADER;Perfil del objetivo +TP_LENSPROFILE_USE_CA;Aberración cromática +TP_LENSPROFILE_USE_GEOMETRIC;Distorsión geométrica +TP_LENSPROFILE_USE_HEADER;Selecciona las distorsiones a corregir: +TP_LENSPROFILE_USE_VIGNETTING;Viñeteado +TP_LOCALCONTRAST_AMOUNT;Intensidad +TP_LOCALCONTRAST_DARKNESS;Énfasis en las sombras +TP_LOCALCONTRAST_LABEL;Contraste local +TP_LOCALCONTRAST_LIGHTNESS;Énfasis en las luces +TP_LOCALCONTRAST_RADIUS;Radio +TP_LOCALLAB_ACTIV;Sólo luminancia +TP_LOCALLAB_ACTIVSPOT;Activar punto +TP_LOCALLAB_ADJ;Ecualizador Azul-Amarillo/Rojo-Verde +TP_LOCALLAB_AMOUNT;Cantidad +TP_LOCALLAB_ARTIF;Detección de forma +TP_LOCALLAB_ARTIF_TOOLTIP;El umbral de ámbito de ΔE aumenta el rango de ámbito de ΔE. Los valores altos son para imágenes con una gama de colores muy extensa.\nEl aumento del decaimiento de ΔE puede mejorar la detección de forma, pero también puede reducir el ámbito. +TP_LOCALLAB_AUTOGRAY;Luminancia media Auto (Yb%) +TP_LOCALLAB_AUTOGRAYCIE;Auto +TP_LOCALLAB_AVOID;Evitar la deriva de colores +TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Encaja los colores en el rango del espacio de color de trabajo y aplica la corrección de Munsell (L*a*b* Perceptual Uniforme).\nLa corrección de Munsell siempre se desactiva cuando se usa Jz o CAM16. +TP_LOCALLAB_AVOIDMUN;Sólo corrección de Munsell +TP_LOCALLAB_AVOIDMUN_TOOLTIP;La corrección de Munsell siempre se desactiva cuando se usa Jz o CAM16. +TP_LOCALLAB_AVOIDRAD;Radio suave +TP_LOCALLAB_BALAN;Balance ab-L (ΔE) +TP_LOCALLAB_BALANEXP;Balance de Laplaciana +TP_LOCALLAB_BALANH;Balance C-H (ΔE) +TP_LOCALLAB_BALAN_TOOLTIP;Cambia los parámetros del algoritmo de ΔE.\nTiene en cuenta más o menos a*b* o L*, o más o menos C o H.\nNo usar para Reducción de ruido. +TP_LOCALLAB_BASELOG;Rango de sombras (base del logaritmo) +TP_LOCALLAB_BILATERAL;Filtro bilateral +TP_LOCALLAB_BLACK_EV;Ev Negro +TP_LOCALLAB_BLCO;Sólo cromaticidad +TP_LOCALLAB_BLENDMASKCOL;Mezcla +TP_LOCALLAB_BLENDMASKMASK;Sumar/restar máscara de luminancia +TP_LOCALLAB_BLENDMASKMASKAB;Sumar/restar máscara de cromaticidad +TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;Si este deslizador = 0, no se realiza ninguna acción.\nSuma o resta la máscara de la imagen original. +TP_LOCALLAB_BLENDMASK_TOOLTIP;Si Mezcla = 0, sólo mejora la detección de forma.\nSi Mezcla > 0, la máscara se añade a la imagen. Si Mezcla < 0, la máscara se substrae de la imagen. +TP_LOCALLAB_BLGUID;Filtro guiado +TP_LOCALLAB_BLINV;Inverso +TP_LOCALLAB_BLLC;Luminancia y cromaticidad +TP_LOCALLAB_BLLO;Sólo luminancia +TP_LOCALLAB_BLMED;Mediana +TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal - difuminado y ruido directo con todos los ajustes.\nDifuminado y ruido inverso con todos los ajustes. Cuidado, algunos resultados pueden ser curiosos. +TP_LOCALLAB_BLNOI_EXP;Difuminado y ruido +TP_LOCALLAB_BLNORM;Normal +TP_LOCALLAB_BLUFR;Difuminado/Grano y Reducción de ruido +TP_LOCALLAB_BLUMETHOD_TOOLTIP;Para difuminar el fondo y aislar el primer plano:\n\n- Se difumina el fondo, cubriendo completamente la imagen con un punto RT (valores altos para Ámbito y Transición, y «Normal» o «Inverso» en la casilla de verificación).\n- Se aísla el primer plano, usando uno o más puntos RT «Excluyentes», y se aumenta el ámbito.\n\nEste módulo (incluyendo la «Mediana» y el «Filtro guiado») puede usarse además de la reducción de ruido del menú principal. +TP_LOCALLAB_BLUR;Difuminado gaussiano - Ruido - Grano +TP_LOCALLAB_BLURCOL;Radio +TP_LOCALLAB_BLURCOLDE_TOOLTIP;La imagen usada para calcular ΔE se difumina ligeramente para evitar tener en cuenta píxels aislados. +TP_LOCALLAB_BLURDE;Difuminado detección de forma +TP_LOCALLAB_BLURLC;Sólo luminancia +TP_LOCALLAB_BLURLEVELFRA;Niveles de difuminado +TP_LOCALLAB_BLURMASK_TOOLTIP;Usa un difuminado de radio grande para crear una máscara que permite variar el contraste de la imagen y/o oscurecer/aclarar partes de ella. +TP_LOCALLAB_BLURRMASK_TOOLTIP;Permite variar el «radio» del difuminado gaussiano (0 a 1000). +TP_LOCALLAB_BLUR_TOOLNAME;Difuminado/Grano y Reducción de ruido - 1 +TP_LOCALLAB_BLWH;Todos los cambios forzados en Blanco y negro +TP_LOCALLAB_BLWH_TOOLTIP;Fuerza los componentes de color «a» y «b» a cero.\nEs útil para el procesado en blanco y negro, o para la simulación de película. +TP_LOCALLAB_BUTTON_ADD;Añadir +TP_LOCALLAB_BUTTON_DEL;Borrar +TP_LOCALLAB_BUTTON_DUPL;Duplicar +TP_LOCALLAB_BUTTON_REN;Cambiar nombre +TP_LOCALLAB_BUTTON_VIS;Mostrar/ocultar +TP_LOCALLAB_BWFORCE;Usa Ev Negro y Ev Blanco +TP_LOCALLAB_CAM16PQREMAP;LP HDR (Luminancia pico) +TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;CP (Cuantificador perceptual) adaptado a CAM16. Permite cambiar la función CP interna (normalmente 10000 cd/m² - predeterminado 100 cd/m² - desactivada para 100 cd/m²).\nSe puede usar para adaptar a diferentes dispositivos e imágenes. +TP_LOCALLAB_CAM16_FRA;Ajustes de imagen Cam16 +TP_LOCALLAB_CAMMODE;Modelo CAM +TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +TP_LOCALLAB_CATAD;Adaptación cromática - Cat16 +TP_LOCALLAB_CBDL;Contraste por niveles de detalle +TP_LOCALLAB_CBDLCLARI_TOOLTIP;Realza el contraste local de los tonos medios. +TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Igual que las ondículas.\nEl primer nivel (0) actúa en detalles de 2x2 píxels.\nEl último nivel (5) actúa en detalles de 64x64 píxels. +TP_LOCALLAB_CBDL_THRES_TOOLTIP;Evita el aumento de nitidez del ruido. +TP_LOCALLAB_CBDL_TOOLNAME;Contraste por niveles de detalle - 2 +TP_LOCALLAB_CENTER_X;Centro X +TP_LOCALLAB_CENTER_Y;Centro Y +TP_LOCALLAB_CH;Curvas CL - LC +TP_LOCALLAB_CHROMA;Cromaticidad +TP_LOCALLAB_CHROMABLU;Niveles de cromaticidad +TP_LOCALLAB_CHROMABLU_TOOLTIP;Aumenta o reduce el efecto, dependiendo de los ajustes de luminancia.\nLos valores por debajo de 1 reducen el efecto. Los valores mayores que 1 aumentan el efecto. +TP_LOCALLAB_CHROMACBDL;Cromaticidad +TP_LOCALLAB_CHROMACB_TOOLTIP;Aumenta o reduce el efecto, dependiendo de los ajustes de luminancia.\nLos valores por debajo de 1 reducen el efecto. Los valores mayores que 1 aumentan el efecto. +TP_LOCALLAB_CHROMALEV;Niveles de cromaticidad +TP_LOCALLAB_CHROMASKCOL;Cromaticidad +TP_LOCALLAB_CHROMASK_TOOLTIP;Cambia la cromaticidad de la máscara si ésta existe (por ejemplo, C(C) o LC(H) están activadas). +TP_LOCALLAB_CHROML;Cromaticidad (C) +TP_LOCALLAB_CHRRT;Cromaticidad +TP_LOCALLAB_CIE;Apariencia de color (Cam16 y JzCzHz) +TP_LOCALLAB_CIEC;Usar los parámetros de entorno de Ciecam +TP_LOCALLAB_CIECAMLOG_TOOLTIP;Este módulo se basa en el Modelo de Apariencia de Color CIECAM, que se diseñó para simular mejor cómo percibe la visión humana los colores bajo diferentes condiciones de iluminación.\nEl primer proceso de Ciecam, «Condiciones de la escena», se lleva a cabo por la codificación logarítmica. También usa la «Luminancia absoluta» en el momento de la toma.\nEl segundo proceso Ciecam, «Ajustes de imagen», se simplifica, y usa solamente 3 variables (contraste local, contraste J, saturación s).\nEl tercer proceso Ciecam, «Condiciones de visualización», adapta la salida a las condiciones de visualización deseadas (monitor, TV, proyector, impresora, etc.), de modo que se preserve la apariencia cromática y de contraste para cualquier entorno de visualización. +TP_LOCALLAB_CIECOLORFRA;Color +TP_LOCALLAB_CIECONTFRA;Contrasta +TP_LOCALLAB_CIELIGHTCONTFRA;Iluminación y contraste +TP_LOCALLAB_CIELIGHTFRA;Iluminación +TP_LOCALLAB_CIEMODE;Cambiar la posición de la herramienta +TP_LOCALLAB_CIEMODE_COM;Predeterminado +TP_LOCALLAB_CIEMODE_DR;Rango dinámico +TP_LOCALLAB_CIEMODE_TM;Mapeo tonal +TP_LOCALLAB_CIEMODE_TOOLTIP;En modo Predeterminado, se añade Ciecam al final del proceso. «Máscara y modificaciones» y «Recuperación basada en la máscara de luminancia» están disponibles para «Cam16 y JzCzHz».\nTambién se puede integrar Ciecam en otras herramientas si se desea (Mapeo tonal, Ondícula, Rango dinámico, Codificación log). Los resultados para estas herramientas serán diferentes de los obtenidos sin Ciecam. En este modo, también es posible usar «Máscara y modificaciones» y «Recuperación basada en la máscara de luminancia». +TP_LOCALLAB_CIEMODE_WAV;Ondícula +TP_LOCALLAB_CIETOOLEXP;Curvas +TP_LOCALLAB_CIE_TOOLNAME;Apariencia de color (Cam16 y JzCzHz) +TP_LOCALLAB_CIRCRADIUS;Tamaño del punto +TP_LOCALLAB_CIRCRAD_TOOLTIP;Contiene las referencias del punto RT, útil para la detección de forma (matiz, luminancia, cromaticidad, Sobel).\nLos valores bajos pueden ser útiles para el tratamiento del follaje.\nLos valores altos pueden ser útiles para el tratamiento de la piel. +TP_LOCALLAB_CLARICRES;Fusionar cromaticidad +TP_LOCALLAB_CLARIFRA;Claridad y Máscara de nitidez - Mezclar y suavizar imágenes +TP_LOCALLAB_CLARIJZ_TOOLTIP;Niveles 0 a 4 (incluido): Se activa «Máscara de nitidez».\nNiveles 5 y superiores: Se activa «Claridad». +TP_LOCALLAB_CLARILRES;Fusionar luminancia +TP_LOCALLAB_CLARISOFT;Radio suave +TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;El deslizador «Radio suave» (algoritmo de filtro guiado) reduce los halos e irregularidades en Claridad, Máscara de nitidez y Ondículas de contraste local Jz. +TP_LOCALLAB_CLARISOFT_TOOLTIP;El deslizador «Radio suave» (algoritmo del filtro guiado) reduce los halos e irregularidades, tanto para Claridad y Máscara de nitidez como para todos los procesos de pirámide de ondículas. Para desactivarlo, se ajusta el deslizador a cero. +TP_LOCALLAB_CLARITYML;Claridad +TP_LOCALLAB_CLARI_TOOLTIP;Niveles 0 a 4 (incluido): Se activa «Máscara de nitidez».\nNiveles 5 y superiores: Se activa «Claridad».\nEs útil si se usa «Mapeo tonal por niveles de ondículas». +TP_LOCALLAB_CLIPTM;Recortar los datos restaurados (ganancia) +TP_LOCALLAB_COFR;Color y Luz +TP_LOCALLAB_COLORDE;Color vista previa ΔE - intensidad +TP_LOCALLAB_COLORDEPREV_TOOLTIP;El botón Vista previa de ΔE sólo funcionará si se ha activado una (y sólo una) de las herramientas del menú «Añadir herramienta al punto actual».\nPara poder ver la Vista previa de ΔE con varias herramientas activadas, se utiliza Máscara y modificaciones - Vista previa de ΔE. +TP_LOCALLAB_COLORDE_TOOLTIP;Muestra una previsualización de color azul para la selección de ΔE si es negativa, y verde si es positiva.\n\nMáscara y modificaciones (mostrar áreas modificadas sin máscara): muestra las modificaciones reales si es positivo, muestra las modificaciones mejoradas (sólo luminancia) en azul, y en amarillo si es negativo. +TP_LOCALLAB_COLORSCOPE;Ámbito (herramientas de color) +TP_LOCALLAB_COLORSCOPE_TOOLTIP;Deslizador común para Color y Luz, Sombras/Luces y Vivacidad.\nOtras herramientas tienen sus propios controles de ámbito. +TP_LOCALLAB_COLOR_CIE;Curva de color +TP_LOCALLAB_COLOR_TOOLNAME;Color y Luz - 11 +TP_LOCALLAB_COL_NAME;Nombre +TP_LOCALLAB_COL_VIS;Estado +TP_LOCALLAB_COMPFRA;Contraste direccional +TP_LOCALLAB_COMPREFRA;Mapeo tonal por niveles de ondículas +TP_LOCALLAB_CONTCOL;Umbral de contraste +TP_LOCALLAB_CONTFRA;Contraste por nivel +TP_LOCALLAB_CONTRAST;Contraste +TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Permite cambiar libremente el contraste de la máscara.\n\nSu función es similar a la de los deslizadores Gamma y Pendiente.\n\nPermite actuar sobre ciertas partes de la imagen (normalmente las partes más claras de la máscara, usando la curva para excluir las partes oscuras). Puede crear artefactos. +TP_LOCALLAB_CONTRESID;Contraste +TP_LOCALLAB_CONTTHMASK_TOOLTIP;Permite determinar qué partes de la imagen se verán impactadas en función de la textura. +TP_LOCALLAB_CONTTHR;Umbral de contraste +TP_LOCALLAB_CONTWFRA;Contraste local +TP_LOCALLAB_CSTHRESHOLD;Ψ Niveles de ondícula +TP_LOCALLAB_CSTHRESHOLDBLUR;Ψ Selección de nivel de ondícula +TP_LOCALLAB_CURV;Claridad - Contraste - Cromaticidad «Super» +TP_LOCALLAB_CURVCURR;Normal +TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;Si las curvas están en la parte superior, la máscara es completamente negra y no realiza transformación en la imagen.\n\nA medida que se hace bajar la curva, la máscara aumenta gradualmente su brillo y colorido, y la imagen cambia más y más.\n\nLa línea gris de transición representa los valores de referencia (cromaticidad, luminancia, matiz).\n\nPuedes elegir posicionar o no la parte superior de las curvas en esta transición. +TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;Si las curvas están en la parte superior, la máscara es completamente negra y no se hacen cambios a la imagen.\n\nA medida que se hace bajar la curva, la máscara aumenta gradualmente su colorido y brillo, cambiando progresivamente la imagen.\n\nSe recomienda (aunque no es obligatorio) posicionar la parte superior de las curvas en la línea límite gris que representa los valores de referencia de cromaticidad, luma y matiz para el punto RT. +TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;Para activar las curvas, la lista desplegable «Tipo de curva» se sitúa a «Normal». +TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Curva tonal +TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), puede usarse con L(H) en Color y Luz. +TP_LOCALLAB_CURVEMETHOD_TOOLTIP;«Normal»: la curva L=f(L) usa el mismo algoritmo que el deslizador de claridad. +TP_LOCALLAB_CURVES_CIE;Curva tonal +TP_LOCALLAB_CURVNONE;Desactivar curvas +TP_LOCALLAB_DARKRETI;Oscuridad +TP_LOCALLAB_DEHAFRA;Eliminación de neblina +TP_LOCALLAB_DEHAZ;Intensidad +TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Elimina la neblina atmosférica. Aumenta la saturación y el detalle globales.\nPuede quitar dominantes de color, pero también puede introducir una dominante azul, que puede corregirse con otras herramientas. +TP_LOCALLAB_DEHAZ_TOOLTIP;Los valores negativos añaden neblina. +TP_LOCALLAB_DELTAD;Balance de Delta +TP_LOCALLAB_DELTAEC;ΔE Máscara de imagen +TP_LOCALLAB_DENOI1_EXP;Reducción de ruido basada en máscara de luminancia +TP_LOCALLAB_DENOI2_EXP;Recuperación basada en máscara de luminancia +TP_LOCALLAB_DENOIBILAT_TOOLTIP;Permite reducir el ruido impulsivo o de «sal y pimienta». +TP_LOCALLAB_DENOICHROC_TOOLTIP;Permite tratar manchas y aglomeraciones de ruido. +TP_LOCALLAB_DENOICHRODET_TOOLTIP;Permite recuperar el detalle de la cromaticidad, aplicando progresivamente una transformada de Fourier (DCT). +TP_LOCALLAB_DENOICHROF_TOOLTIP;Permite ajustar el ruido de cromaticidad de detalle fino. +TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Permite dirigir la reducción de ruido de cromaticidad, ya sea hacia el azul-amarillo o hacia el rojo-verde. +TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Permite llevar a cabo más o menos reducción de ruido, tanto en las sombras como en las luces. +TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Permite recuperar el detalle de la luminancia, aplicando progresivamente una transformada de Fourier (DCT). +TP_LOCALLAB_DENOIMASK;Reducc. ruido cromatic. máscara +TP_LOCALLAB_DENOIMASK_TOOLTIP;Para todas las herramientas, permite controlar el nivel de ruido cromático de la máscara.\nEs útil para un mejor control de la cromaticidad y para evitar artefactos cuando se usa la curva LC(h). +TP_LOCALLAB_DENOIQUA_TOOLTIP;El modo Conservador preserva el detalle de baja frecuencia. El modo Agresivo elimina el detalle de baja frecuencia.\nLos modos Conservador y Agresivo usan ondículas y DCT, y pueden usarse junto con «Medias no locales - Luminancia». +TP_LOCALLAB_DENOITHR_TOOLTIP;Ajusta la detección de bordes para ayudar a reducir el ruido en áreas uniformes y de bajo contraste. +TP_LOCALLAB_DENOI_EXP;Reducción de ruido +TP_LOCALLAB_DENOI_TOOLTIP;Este módulo puede usarse para la reducción de ruido, ya sea por sí mismo (al final del circuito de revelado), o además del módulo Reducción de ruido en la pestaña Detalle (que opera al principio del circuito de revelado).\nEl ámbito permite diferenciar la acción en función del color (ΔE).\nTamaño mínimo del punto RT: 128x128 +TP_LOCALLAB_DEPTH;Profundidad +TP_LOCALLAB_DETAIL;Contraste local +TP_LOCALLAB_DETAILFRA;Detección de bordes +TP_LOCALLAB_DETAILSH;Detalles +TP_LOCALLAB_DETAILTHR;Umbral de detalle de luminancia y cromaticidad (DCT ƒ) +TP_LOCALLAB_DIVGR;Gamma +TP_LOCALLAB_DUPLSPOTNAME;Copiar +TP_LOCALLAB_EDGFRA;Nitidez en bordes +TP_LOCALLAB_EDGSHOW;Mostrar todas las herramientas +TP_LOCALLAB_ELI;Elipse +TP_LOCALLAB_ENABLE_AFTER_MASK;Usar Mapeo tonal +TP_LOCALLAB_ENABLE_MASK;Activar máscara +TP_LOCALLAB_ENABLE_MASKAFT;Usar todos los algoritmos de Exposición +TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;Si está activado, la máscara usa los datos restaurados después del Mapa de transmisión, en lugar de los datos originales. +TP_LOCALLAB_ENH;Mejorado +TP_LOCALLAB_ENHDEN;Mejorado + reducc. ruido de cromaticidad +TP_LOCALLAB_EPSBL;Detalle +TP_LOCALLAB_EQUIL;Normalizar luminancia +TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruye la luminancia, de modo que la media y la varianza de la imagen de salida son idénticas a las de la imagen original. +TP_LOCALLAB_ESTOP;Parada en bordes +TP_LOCALLAB_EV_DUPL;Copia de +TP_LOCALLAB_EV_NVIS;Ocultar +TP_LOCALLAB_EV_NVIS_ALL;Ocultar todo +TP_LOCALLAB_EV_VIS;Mostrar +TP_LOCALLAB_EV_VIS_ALL;Mostrar todo +TP_LOCALLAB_EXCLUF;Excluyente +TP_LOCALLAB_EXCLUF_TOOLTIP;El modo «Excluyente» evita que los puntos adyacentes influencien ciertas partes de la imagen. Ajustando «Ámbito», se extenderá el rango de colores.\nTambién se pueden añadir herramientas a un punto Excluyente y usarlas del mismo modo que para un punto normal. +TP_LOCALLAB_EXCLUTYPE;Método de punto +TP_LOCALLAB_EXCLUTYPE_TOOLTIP;El punto normal usa datos recursivos.\n\nEl punto excluyente reinicia todos los datos de ajuste local.\n\nPuede usarse para cancelar total o parcialmente una acción anterior, o para llevar a cabo operaciones en modo Inverso.\n\nImagen completa permite usar las herramientas de ajuste local en la imagen completa.\n\nLos delimitadores del punto RT se establecen más allá de los límites de la vista previa de la imagen.\nLa transición se ajusta a 100.\n\nObsérvese que puede ser necesario reposicionar ligeramente el punto RT y ajustar el tamaño del punto para obtener el efecto deseado.\n\nPor favor, téngase en cuenta que el uso de la Reducción de ruido, las Ondículas o FFTW en modo de imagen completa consume grandes cantidades de memoria, y puede provocar que el programa se estrelle en sistemas con poca capacidad. +TP_LOCALLAB_EXECLU;Punto excluyente +TP_LOCALLAB_EXFULL;Imagen completa +TP_LOCALLAB_EXNORM;Punto normal +TP_LOCALLAB_EXPCBDL_TOOLTIP;Puede usarse para eliminar marcas en el sensor o en el objetivo, reduciendo el contraste en el/los nivel(es) de detalle apropiado(s). +TP_LOCALLAB_EXPCHROMA;Compensación de cromaticidad +TP_LOCALLAB_EXPCHROMA_TOOLTIP;Se debe usar en asociación con «Compensación de exposición f» y «Atenuador de contraste f» para evitar desaturar los colores. +TP_LOCALLAB_EXPCOLOR_TOOLTIP;Ajusta el color, la claridad y el contraste, y corrige pequeños defectos como los ojos rojos, el polvo del sensor, etc. +TP_LOCALLAB_EXPCOMP;Compensación de exposición ƒ +TP_LOCALLAB_EXPCOMPINV;Compensación de exposición +TP_LOCALLAB_EXPCOMP_TOOLTIP;Para retratos o imágenes con un gradiente de color bajo. Se puede cambiar la «Detección de forma» en «Ajustes»:\n\nSe debe aumentar «Umbral de ámbito ΔE»\nSe debe reducir «Decaimiento ΔE»\nSe debe aumentar «Balance ab-L (ΔE)». +TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;Consúltese la documentación de Niveles de ondículas.\nHay algunas diferencias en la versión Local: hay más herramientas y más posibilidades de trabajar en niveles de detalle individuales.\nPor ejemplo, el mapeo tonal en un nivel de ondícula. +TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Se deben evitar puntos demasiado pequeños (< 32x32 pixels).\nDebe usarse un «Valor de transición» bajo y un «Decaimiento de transición» y «Ámbito» altos, para simular puntos RT pequeños y tratar los defectos.\nPuede utilizarse «Claridad y Máscara nítida y Mezcla y Suavizar Imágenes» si es necesario, ajustando «Radio suave» para reducir los artefactos. +TP_LOCALLAB_EXPCURV;Curvas +TP_LOCALLAB_EXPGRAD;Filtro graduado +TP_LOCALLAB_EXPGRADCOL_TOOLTIP;Hay un Filtro graduado disponible en Color y Luz (gradientes de luminancia, cromaticidad y matiz, y «Fusión de archivos»), Exposición (gradiente de luminancia), Máscara de exposición (gradiente de luminancia), Sombras/Luces (gradiente de luminancia), Vivacidad (gradiente de luminancia, cromaticidad y matiz), Contraste local y Pirámide de ondículas (gradiente de contraste local).\nEl difuminado está en Ajustes. +TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Cambia la fusión de las imágenes transformada/original. +TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Cambia el comportamiento en imágenes con demasiado o demasiado poco contraste, añadiendo una curva de gamma antes y después de la transformada de Laplace. +TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Cambia el comportamiento en imágenes subexpuestas, añadiendo un componente lineal antes de aplicar la transformada de Laplace. +TP_LOCALLAB_EXPLAP_TOOLTIP;Si se desplaza el deslizador hacia la derecha, el contraste se reducirá progresivamente. +TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Permite usar los modos de fusión de capas de GIMP o Photoshop (c), como Diferencia, Multiplicar, Luz suave, Superponer, etc., con control de opacidad.\n\nImagen original: fusiona el punto RT actual con la imagen original.\n\nPunto anterior: fusiona el punto RT actual con el anterior (si existe un punto anterior). Si sólo hay un punto RT, anterior = original.\n\nFondo: fusiona el punto RT con la luminancia y el color del fondo (menos posibilidades). +TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Aplica un filtro de mediana antes de la transformada de Laplace para evitar artefactos (ruido).\nTambién se puede usar la herramienta «Reducción de ruido». +TP_LOCALLAB_EXPOSE;Rango dinámico y Exposición +TP_LOCALLAB_EXPOSURE_TOOLTIP;Modifica la exposición en el espacio L*a*b, usando algoritmos PDE de Laplaciana para tener en cuenta ΔE y minimizar los artefactos. +TP_LOCALLAB_EXPRETITOOLS;Herramientas Retinex avanzadas +TP_LOCALLAB_EXPSHARP_TOOLTIP;Punto RT mínimo 39*39.\nPara simular puntos RT más pequeños, se debe usar valores bajos de transición y valores altos de «Decaimiento de transición» y «Ámbito». +TP_LOCALLAB_EXPTOOL;Herramientas de exposición +TP_LOCALLAB_EXP_TOOLNAME;Rango dinámico y Exposición - 10 +TP_LOCALLAB_FATAMOUNT;Cantidad +TP_LOCALLAB_FATANCHOR;Anclaje +TP_LOCALLAB_FATDETAIL;Detalle +TP_LOCALLAB_FATFRA;Compresión de rango dinámico ƒ +TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – usa el algoritmo de mapeo tonal Fattal. +TP_LOCALLAB_FATLEVEL;Sigma +TP_LOCALLAB_FATSHFRA;Máscara de compresión de rango dinámico ƒ +TP_LOCALLAB_FEATH_TOOLTIP;Anchura del gradiente como porcentaje de la diagonal del punto.\nUsado por todos los filtros graduados en todas las herramientas.\nNo realiza ninguna acción si no se ha activado un filtro graduado. +TP_LOCALLAB_FEATVALUE;Gradiente de degradado (Filtros graduados) +TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +TP_LOCALLAB_FFTMASK_TOOLTIP;Utiliza una transformada de Fourier para mejorar la calidad (necesita más memoria y tiempo de procesamiento). +TP_LOCALLAB_FFTW;ƒ - Usar la Transformada Rápida de Fourier +TP_LOCALLAB_FFTWBLUR;ƒ - Usar siempre la Transformada Rápida de Fourier +TP_LOCALLAB_FULLIMAGE;Ev de negro y de blanco para la imagen completa +TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calcula los niveles Ev para la imagen completa. +TP_LOCALLAB_GAM;Gamma +TP_LOCALLAB_GAMC;Gamma +TP_LOCALLAB_GAMCOL_TOOLTIP;Aplica una gamma a los datos de luminosidad L*a*b*.\nSi gamma = 3.0, se usará una luminosidad «lineal». +TP_LOCALLAB_GAMC_TOOLTIP;Aplica una gamma a los datos de luminosidad L*a*b* antes y después del tratamiento con Pirámide 1 y Pirámide 2.\nSi gamma = 3.0, se usará una luminosidad «lineal». +TP_LOCALLAB_GAMFRA;Curva de respuesta de tono (TRC) +TP_LOCALLAB_GAMM;Gamma +TP_LOCALLAB_GAMMASKCOL;Gamma +TP_LOCALLAB_GAMMASK_TOOLTIP;La Gamma y la Pendiente permiten una transformación suave y libre de artefactos de la máscara, modificando progresivamente «L» para evitar cualquier discontinuidad. +TP_LOCALLAB_GAMSH;Gamma +TP_LOCALLAB_GAMW;Gamma (pirámides de ondículas) +TP_LOCALLAB_GRADANG;Ángulo del gradiente +TP_LOCALLAB_GRADANG_TOOLTIP;Ángulo de rotación en grados : -180 0 +180. +TP_LOCALLAB_GRADFRA;Máscara del filtro graduado +TP_LOCALLAB_GRADGEN_TOOLTIP;Ajusta la intensidad del gradiente de luminancia. +TP_LOCALLAB_GRADLOGFRA;Luminancia del filtro graduado +TP_LOCALLAB_GRADSTR;Intensidad del gradiente +TP_LOCALLAB_GRADSTRAB_TOOLTIP;Ajusta la intensidad del gradiente de cromaticidad. +TP_LOCALLAB_GRADSTRCHRO;Intensidad de gradiente de cromaticidad +TP_LOCALLAB_GRADSTRHUE;Intensidad de gradiente de matiz +TP_LOCALLAB_GRADSTRHUE2;Intensidad de gradiente de matiz +TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Ajusta la intensidad del gradiente de matiz. +TP_LOCALLAB_GRADSTRLUM;Intensidad de gradiente de luminancia +TP_LOCALLAB_GRAINFRA;Grano de película 1:1 +TP_LOCALLAB_GRAINFRA2;Grosor +TP_LOCALLAB_GRAIN_TOOLTIP;Añade grano similar a la película a la imagen. +TP_LOCALLAB_GRALWFRA;Filtro graduado (contraste local) +TP_LOCALLAB_GRIDFRAME_TOOLTIP;Esta herramienta se puede usar como un pincel. Usa un punto pequeño y adapta la transición y su decaimiento.\nSólo el modo NORMAL, y al final el Matiz, la Saturación, el Color y la Luminosidad, tienen que ver con la Fusión del fondo (ΔE). +TP_LOCALLAB_GRIDMETH_TOOLTIP;Virado de color: la luminancia se tiene en cuenta al variar la cromaticidad. Equivalente a H=f(H) si el «punto blanco» en la rejilla permanece en cero y sólo se varía el «punto negro». Equivale a «Virado de color» si se varían los dos puntos.\n\nDirecto: sólo actúa sobre la cromaticidad. +TP_LOCALLAB_GRIDONE;Virado de color +TP_LOCALLAB_GRIDTWO;Directo +TP_LOCALLAB_GUIDBL;Radio suave +TP_LOCALLAB_GUIDBL_TOOLTIP;Aplica un filtro guiado con radio ajustable. Permite reducir los artefactos o difuminar la imagen. +TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Cambia la función de distribución del filtro guiado. Los valores negativos simulan un difuminado gaussiano. +TP_LOCALLAB_GUIDFILTER;Radio del filtro guiado +TP_LOCALLAB_GUIDFILTER_TOOLTIP;Puede reducir o aumentar los artefactos. +TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensidad del filtro guiado. +TP_LOCALLAB_HHMASK_TOOLTIP;Ajustes finos de matiz, por ejemplo para la piel. +TP_LOCALLAB_HIGHMASKCOL;Luces +TP_LOCALLAB_HLH;Curvas H +TP_LOCALLAB_HUECIE;Matiz +TP_LOCALLAB_IND;Independiente (ratón) +TP_LOCALLAB_INDSL;Independiente (ratón + deslizadores) +TP_LOCALLAB_INVBL;Inverso +TP_LOCALLAB_INVBL_TOOLTIP;La alternativa al modo «Inverso» es el uso de dos puntos RT.\n\nPrimer punto:\nImagen completa - delimitador fuera de la vista previa\nForma del punto RT: rectángulo. Transición 100\n\nSegundo punto: Excluyente. +TP_LOCALLAB_INVERS;Inverso +TP_LOCALLAB_INVERS_TOOLTIP;Si se selecciona, ofrece menos posibilidades (Inverso).\n\nAlternativa: usa dos puntos.\n\nPrimer punto:\nImagen completa - delimitador fuera de la vista previa.\nForma del punto RT: rectángulo. Transición 100\n\nSegundo punto: punto excluyente.\n\n Inverso activará esta herramienta en el área exterior al punto RT, mientras que el área interior al punto permanecerá sin cambios. +TP_LOCALLAB_INVMASK;Algoritmo inverso +TP_LOCALLAB_ISOGR;Distribución (ISO) +TP_LOCALLAB_JAB;Usa Ev Negro y Ev Blanco +TP_LOCALLAB_JABADAP_TOOLTIP;Adaptación perceptual uniforme.\nAjusta automáticamente la relación entre Jz y la saturación, teniendo en cuenta la «Luminancia absoluta». +TP_LOCALLAB_JZ100;Referencia Jz 100 cd/m² +TP_LOCALLAB_JZ100_TOOLTIP;Ajusta automáticamente el nivel de referencia Jz de 100 cd/m² (señal de imagen).\nCambia el nivel de saturación y la acción de “adaptación PU” (Adaptación perceptual uniforme). +TP_LOCALLAB_JZADAP;Adaptación PU +TP_LOCALLAB_JZCH;Cromaticidad +TP_LOCALLAB_JZCHROM;Cromaticidad +TP_LOCALLAB_JZCLARICRES;Fusionar cromaticidad Cz +TP_LOCALLAB_JZCLARILRES;Fusionar Jz +TP_LOCALLAB_JZCONT;Contraste +TP_LOCALLAB_JZFORCE;Forzar máx. Jz a 1 +TP_LOCALLAB_JZFORCE_TOOLTIP;Permite forzar el valor máximo de Jz a 1, a fin de conseguir una mejor respuesta de deslizadores y curvas. +TP_LOCALLAB_JZFRA;Ajustes de imagen Jz Cz Hz +TP_LOCALLAB_JZHFRA;Curvas Hz +TP_LOCALLAB_JZHJZFRA;Curva Jz(Hz) +TP_LOCALLAB_JZHUECIE;Rotación de matiz +TP_LOCALLAB_JZLIGHT;Luminosidad +TP_LOCALLAB_JZLOG;Codificación Log Jz +TP_LOCALLAB_JZLOGWBS_TOOLTIP;Los ajustes Ev de Negro y Ev de Blanco pueden ser diferentes, dependiendo de si se usa Codificación logarítmica o Sigmoide.\nEn el caso de Sigmoide, puede ser necesario un cambio (aumento en la mayoría de los casos) de Ev de Blanco, para obtener una mejor representación de las altas luces, el contraste y la saturación. +TP_LOCALLAB_JZLOGWB_TOOLTIP;Si Auto está activado, calculará y ajustará los niveles Ev y la «luminancia media Yb%» en el área del punto de edición. Los valores resultantes se usarán en todas las operaciones Jz, incluyendo «Codificación Log Jz».\nTambién calcula la luminancia absoluta en el momento de la toma. +TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb es la luminosidad relativa del fondo, expresada como un porcentaje de gris. Un 18% de gris corresponde a una luminosidad del fondo del 50%, expresada en CIE L.\nLos datos se basan en la luminosidad media de la imagen.\nSi se usa con la Codificación logarítmica, la luminosidad media se utilizará para determinar la cantidad de ganancia que se necesita aplicar a la señal antes de la codificación logarítimica. Los valores bajos de luminosidad media darán como resultado un aumento de la ganancia. +TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (sólo en modo «Avanzado»). Sólo funcionará si el dispositivo de salida (monitor) es HDR (luminancia pico mayor que 100 cd/m², idealmente entre 4000 y 10000 cd/m², y luminancia del punto negro inferior a 0.005 cd/m²). Esto supone que: a) el espacio de conexión de perfiles ICC (ICC-PCS) para la pantalla usa Jzazbz (o XYZ), b) trabaja con precisión de números reales (de coma flotante), c) el monitor está calibrado (si es posible, con un rango de colores DCI-P3 o Rec-2020), d) la gamma usual (sRGB o BT709) se substituye por una función Cuantificadora Perceptual (CP). +TP_LOCALLAB_JZPQFRA;Remapeo de Jz +TP_LOCALLAB_JZPQFRA_TOOLTIP;Permite adaptar el algoritmo Jz a un entorno de bajo rango dinámico (SDR) o a las características (rendimiento) de un entorno HDR, como sigue:\na) para valores de luminancia entre 0 y 100 cd/m², el sistema se comporta como si fuera un entorno SDR.\nb) para valores de luminancia entre 100 y 10000 cd/m², se puede adaptar el algoritmo a las características HDR de la imagen y del monitor.\n\nSi “PQ - Luminancia pico” está puesto a 10000, “Remapeo de Jz” se comporta del mismo modo que el algoritmo original Jzazbz. +TP_LOCALLAB_JZPQREMAP;PQ - Luminancia pico +TP_LOCALLAB_JZPQREMAP_TOOLTIP;CP (Cuantificador Perceptual). Permite cambiar la función CP interna (normalmente 10000 cd/m² - predeterminado 120 cd/m²).\nSe puede usar para adaptar a diferentes imágenes, procesos y dispositivos. +TP_LOCALLAB_JZQTOJ;Luminancia relativa +TP_LOCALLAB_JZQTOJ_TOOLTIP;Permite usar la «Luminancia relativa» en lugar de la «Luminancia absoluta». La luminancia pasa a ser la luminosidad.\nLos cambios afectan al deslizador Luminosidad, al de Contraste, y a la curva Jz(Jz). +TP_LOCALLAB_JZSAT;Saturación +TP_LOCALLAB_JZSHFRA;Sombras/Luces Jz +TP_LOCALLAB_JZSOFTCIE;Radio suave (Filtro guiado) +TP_LOCALLAB_JZSTRSOFTCIE;Intensidad del filtro guiado +TP_LOCALLAB_JZTARGET_EV;Luminancia media de visualización (Yb%) +TP_LOCALLAB_JZTHRHCIE;Umbral de cromaticidad para Jz(Hz) +TP_LOCALLAB_JZWAVEXP;Ondícula Jz +TP_LOCALLAB_LABBLURM;Máscara de difuminado +TP_LOCALLAB_LABEL;Ajustes locales +TP_LOCALLAB_LABGRID;Cuadrícula de corrección de color +TP_LOCALLAB_LABGRIDMERG;Fondo +TP_LOCALLAB_LABGRID_VALUES;Alto(a)=%1 Alto(b)=%2\nBajo(a)=%3 Bajo(b)=%4 +TP_LOCALLAB_LABSTRUM;Máscara de estructura +TP_LOCALLAB_LAPLACC;ΔØ Máscara Laplaciana resolver PDE +TP_LOCALLAB_LAPLACE;Umbral de Laplaciana ΔE +TP_LOCALLAB_LAPLACEXP;Umbral de Laplaciana +TP_LOCALLAB_LAPMASKCOL;Umbral de Laplaciana +TP_LOCALLAB_LAPRAD1_TOOLTIP;Aumenta el contraste de la máscara incrementando los valores de luminancia de las áreas más claras. Puede usarse junto con las curvas L(L) y LC(H). +TP_LOCALLAB_LAPRAD2_TOOLTIP;Radio suave usa un filtro guiado para reducir los artefactos y suavizar la transición. +TP_LOCALLAB_LAPRAD_TOOLTIP;Radio suave usa un filtro guiado para reducir los artefactos y suavizar la transición. +TP_LOCALLAB_LAP_MASK_TOOLTIP;Resuelve la PDE para todas las máscaras Laplacianas.\nSi se activa, la máscara de umbral de Laplaciana reduce los artefactos y suaviza el resultado.\nSi se desactiva, la respuesta será lineal. +TP_LOCALLAB_LC_FFTW_TOOLTIP;La Transformada Rápida de Fourier (FFT) mejora la calidad y permite el uso de radios mayores, pero aumenta el tiempo de procesamiento (esto depende del área a procesar). Es preferible usarla solamente para radios grandes. El tamaño del área puede reducirse en unos pocos píxels para optimizar la FFTW. Esto puede reducir el tiempo de procesamiento en un factor de 1.5 a 10. +TP_LOCALLAB_LC_TOOLNAME;Contraste local y Ondículas - 7 +TP_LOCALLAB_LEVELBLUR;Número máximo de niveles de difuminado +TP_LOCALLAB_LEVELWAV;Ψ Niveles de ondículas +TP_LOCALLAB_LEVELWAV_TOOLTIP;El Nivel se adapta automáticamente al tamaño del punto y a la vista previa.\nTamaño máximo desde 512 en el nivel 9 a 4 en el nivel 1. +TP_LOCALLAB_LEVFRA;Niveles +TP_LOCALLAB_LIGHTNESS;Claridad +TP_LOCALLAB_LIGHTN_TOOLTIP;En modo inverso: selección = -100 fuerza la luminancia a cero. +TP_LOCALLAB_LIGHTRETI;Claridad +TP_LOCALLAB_LINEAR;Linealidad +TP_LOCALLAB_LIST_NAME;Añadir herramienta al punto actual... +TP_LOCALLAB_LIST_TOOLTIP;Se pueden seleccionar 3 niveles de complejidad para cada herramienta: Básico, Estándar y Avanzado.\n\nEl valor predeterminado para todas las herramientas es Básico, pero esto puede cambiarse en el diálogo Preferencias.\n\nTambién es posible cambiar el nivel de complejidad en cada herramienta individual mientras se edita. +TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Permite disminuir o aumentar el efecto en niveles de detalle particulares en la máscara, dirigiendo el efecto a ciertas zonas de luminancia (en general las más claras). +TP_LOCALLAB_LMASK_LL_TOOLTIP;Permite cambiar libremente el contraste de la máscara.\n\nSu función es similar a la de los deslizadores Gamma y Pendiente.\n\nPermite actuar sobre ciertas partes de la imagen (normalmente las partes más claras de la máscara, usando la curva para excluir las partes más oscuras). Puede crear artefactos. +TP_LOCALLAB_LOCCONT;Máscara de nitidez +TP_LOCALLAB_LOC_CONTRAST;Contraste local y Ondículas +TP_LOCALLAB_LOC_CONTRASTPYR;Ψ Pirámide 1: +TP_LOCALLAB_LOC_CONTRASTPYR2;Ψ Pirámide 2: +TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contraste por niveles - TM - Contraste direccional +TP_LOCALLAB_LOC_CONTRASTPYRLAB; Filtro graduado - Nitidez de bordes - Difuminado +TP_LOCALLAB_LOC_RESIDPYR;Imagen residual (Principal) +TP_LOCALLAB_LOG;Codificación logarítmica +TP_LOCALLAB_LOG1FRA;Ajustes de imagen CAM16 +TP_LOCALLAB_LOG2FRA;Condiciones de visualización +TP_LOCALLAB_LOGAUTO;Automático +TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Calcula automáticamente la «luminancia media» para las condiciones de la escena. +TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Calcula automáticamente la «luminancia media» para las condiciones de la escena cuando está pulsado el botón «Automático» en Niveles relativos de exposición. +TP_LOCALLAB_LOGAUTO_TOOLTIP;Al pulsar este botón se calculará el «rango dinámico» y la «luminancia media» para las condiciones de la escena si está activada la casilla «Luminancia media automática (Yb%)».\nTambién se calcula la luminancia absoluta en el momento de la toma.\nPara ajustar los valores calculados automáticamente hay que volver a pulsar el botón. +TP_LOCALLAB_LOGBASE_TOOLTIP;Valor predeterminado = 2.\nLos valores menores que 2 reducen la acción del algoritmo, haciendo las sombras más oscuras y las luces más brillantes.\nCon valores mayores que 2, las sombras son más grises y las luces son más desteñidas. +TP_LOCALLAB_LOGCATAD_TOOLTIP;La adaptación cromática permite interpretar un color en función de su entorno espacio-temporal.\nEs útil cuando el balance de blancos está lejos de la referencia D50.\nAdapta los colores al iluminante del dispositivo de salida. +TP_LOCALLAB_LOGCIE;Codificación logarítmica en lugar de Sigmoide +TP_LOCALLAB_LOGCIE_TOOLTIP;Permite el uso de Ev de Negro, Ev de Blanco, Luminancia media de la escena (Yb%) y Luminancia media de la visualización (Yb%) para el mapeo tonal con Codificación logarítmica Q. +TP_LOCALLAB_LOGCOLORFL;Colorido (M) +TP_LOCALLAB_LOGCOLORF_TOOLTIP;Cantidad de matiz percibida en relación al gris.\nIndicador de que un estímulo parece más o menos coloreado. +TP_LOCALLAB_LOGCONQL;Contraste (Q) +TP_LOCALLAB_LOGCONTHRES;Umbral de contraste (J y Q) +TP_LOCALLAB_LOGCONTL;Contraste (J) +TP_LOCALLAB_LOGCONTL_TOOLTIP;El Contraste (J) en CIECAM16 tiene en cuenta el aumento en la coloración percibida con la luminancia. +TP_LOCALLAB_LOGCONTQ_TOOLTIP;El Contraste (Q) en CIECAM16 tiene en cuenta el aumento en la coloración percibida con el brillo. +TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Ajusta el rango de contraste en los tonos medios (J y Q).\nLos valores positivos reducen progresivamente el efecto de los deslizadores de contraste (J y Q). Los valores negativos aumentan progresivamente el efecto de los deslizadores de contraste. +TP_LOCALLAB_LOGDETAIL_TOOLTIP;Actúa principalmente en frecuencias altas. +TP_LOCALLAB_LOGENCOD_TOOLTIP;Mapeo tonal con codificación logarítmica (ACES).\nÚtil para imágenes subexpuestas o de alto rango dinámico.\n\nProceso en dos pasos: 1) Cálculo del rango dinámico 2) Ajuste manual. +TP_LOCALLAB_LOGEXP;Todas las herramientas +TP_LOCALLAB_LOGFRA;Condiciones de la escena +TP_LOCALLAB_LOGFRAME_TOOLTIP;Permite calcular y ajustar los niveles Ev y la «Luminancia media Yb%» (punto origen gris) para el área del punto RT. Los valores resultantes se usarán en todas las operaciones L*a*b* y en la mayoría de operaciones RGB del circuito de revelado.\n\nTiene en cuenta la compensación de exposición en la pestaña Exposición del menú principal.\n\nTambién calcula la luminancia absoluta en el momento de la toma. +TP_LOCALLAB_LOGIMAGE_TOOLTIP;Tiene en cuenta las variables Ciecam correspondientes (principalmente el Contraste «J» y la Saturación «s», y también el Contraste «Q» «avanzado», el Brillo «Q», la Claridad (J), y el Colorido (M)). +TP_LOCALLAB_LOGLIGHTL;Claridad (J) +TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Cercano a la claridad (L*a*b*), tiene en cuenta el aumento de la coloración percibida. +TP_LOCALLAB_LOGLIGHTQ;Brillo (Q) +TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Cantidad de luz percibida que emana de un estímulo.\nIndicador de que un estímulo parece más o menos brillante. +TP_LOCALLAB_LOGLIN;Modo logarítmico +TP_LOCALLAB_LOGPFRA;Niveles relativos de exposición +TP_LOCALLAB_LOGREPART;Intensidad +TP_LOCALLAB_LOGREPART_TOOLTIP;Permite ajustar la intensidad relativa de la imagen codificada logarítmicamente con respecto a la imagen original.\nNo afecta al componente Ciecam. +TP_LOCALLAB_LOGSATURL_TOOLTIP;La Saturación (s) en CIECAM16 corresponde al color de un estímulo en relación a su propio brillo.\nActúa principalmente en tonos medios y luces. +TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponde a las condiciones de toma. +TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Cambia los tonos y colores teniendo en cuenta las condiciones de la escena.\n\nPromedio: Condiciones de luz promedio (estándar). La imagen no cambiará.\n\nTenue: Condiciones de luz tenue. La imagen será ligeramente más brillante.\n\nOscuro: Condiciones de oscuridad. La imagen será más brillante. +TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponde al medio en el que se visualizará la imagen final (monitor, TV, proyector, impresora,..), así como su entorno. +TP_LOCALLAB_LOG_TOOLNAME;Codificación logarítmica - 0 +TP_LOCALLAB_LUM;Curvas LL - CC +TP_LOCALLAB_LUMADARKEST;El más oscuro +TP_LOCALLAB_LUMASK;Color de fondo para las máscaras de luminancia y color +TP_LOCALLAB_LUMASK_TOOLTIP;Ajusta el matiz de gris o de color del fondo de la máscara en Mostrar máscara (Máscara y modificaciones). +TP_LOCALLAB_LUMAWHITESEST;El más claro +TP_LOCALLAB_LUMFRA;L*a*b* estándar +TP_LOCALLAB_MASFRAME;Enmascarar y Fusionar +TP_LOCALLAB_MASFRAME_TOOLTIP;Para todas las máscaras.\n\nTiene en cuenta la ΔE de la imagen para evitar modificar el área seleccionada cuando se usan las siguientes herramientas de máscara: Gamma, Pendiente, Cromaticidad, Curva de contraste, Contraste local (por niveles de ondículas), Máscara de difuminado y Máscara de Estructura (si está activada) .\n\nDesactivada cuando se usa el modo Inverso. +TP_LOCALLAB_MASK;Contraste +TP_LOCALLAB_MASK2;Curva de contraste +TP_LOCALLAB_MASKCOM;Máscara de color común +TP_LOCALLAB_MASKCOM_TOOLNAME;Máscara de color común - 13 +TP_LOCALLAB_MASKCOM_TOOLTIP;Una herramienta por derecho propio.\nPuede usarse para ajustar la apariencia de la imagen (cromaticidad, luminancia, contraste) y la textura en función del Ámbito. +TP_LOCALLAB_MASKCURVE_TOOLTIP;Las 3 curvas pasan a ser 1 (máximo) de forma predeterminada:\n\nC=f(C): la cromaticidad varía en función de la cromaticidad. Se puede disminuir la cromaticidad para mejorar la selección. Ajustando esta curva cerca de cero (con un valor bajo de C para activar la curva), es posible desaturar el fondo en modo Inverso.\n\nL=f(L): la luminancia varía en función de la luminancia, por lo que se puede disminuir el brillo para mejorar la selección.\n\nL y C = f(H): luminancia y cromaticidad varían en función del matiz, por lo que es posible disminuir la luminancia y la cromaticidad para mejorar la selección. +TP_LOCALLAB_MASKDDECAY;Intensidad de decaimiento +TP_LOCALLAB_MASKDECAY_TOOLTIP;Controla la tasa de decaimiento de los niveles de gris en la máscara.\nDecaimiento = 1 lineal, Decaimiento > 1 transiciones parabólicas más nítidas, Decaimiento < 1 transiciones más graduales. +TP_LOCALLAB_MASKDEINV_TOOLTIP;Invierte la forma en que el algoritmo interpreta la máscara.\nSi está activado, se reducirán las áreas negras y muy claras. +TP_LOCALLAB_MASKDE_TOOLTIP;Usado para dirigir la reducción de ruido en función de la información de luminancia de la imagen contenida en la máscara L(L) o LC(H) (Máscara y Modificaciones).\n\nLa máscara L(L) o la máscara LC(H) debe estar activada para poder usar esta función.\n\nSi la máscara está por debajo del umbral «oscuro», la Reducción de ruido se aplicará progresivamente.\n\nSi la máscara está por encima del umbral «claro», la Reducción de ruido se aplicará progresivamente.\n\nEntre ambos, se mantendrán los ajustes de la imagen sin la Reducción de ruido, salvo si ajustas los deslizadores «Reducción de ruido de luminancia en áreas grises» o «Reducción de ruido de cromaticidad en áreas grises». +TP_LOCALLAB_MASKGF_TOOLTIP;Usado para dirigir el Filtro guiado en función de la información de luminancia de la imagen contenida en la máscara L(L) o LC(H) (Máscara y Modificaciones).\n\nLa máscara L(L) o la máscara LC(H) debe estar activada para poder usar esta función.\n\nSi la máscara está por debajo del umbral «oscuro», el Filtro guiado se aplicará progresivamente.\n\nSi la máscara está por encima del umbral «claro», el Filtro Guiado se aplicará progresivamente.\n\nEntre ambos, se mantendrán los ajustes de imagen sin el Filtro guiado. +TP_LOCALLAB_MASKH;Curva de matiz +TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Límite de tonos claros sobre el cual se restaurará Contraste por niveles de detalle (Sólo luminancia) a sus valores originales anteriores a su modificación por los ajustes de Contraste por niveles de detalle.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Radio suave», «Gamma y Pendiente», «Curva de contraste».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Límite de tonos claros sobre el cual se restaurará Color y Luz a sus valores originales anteriores a su modificación por los ajustes de Color y Luz.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «máscara de estructura», «máscara de difuminado», «Radio suave», «Gamma y Pendiente», «Curva de contraste», «Ondícula de contraste local».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP;La reducción de ruido se decrementa progresivamente, desde el 100% en el umbral hasta el 0% en el valor máximo de blanco (determinado por la máscara).\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Máscara de estructura», «Radio suave», «Gamma y Pendiente», «Curva de contraste», «Ondícula de contraste local».\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Límite de tonos claros sobre el cual se restaurará progresivamente «Rango dinámico y Exposición» a sus valores originales anteriores a su modificación por los ajustes de «Rango dinámico y Exposición».\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Radio suave», «Gamma y Pendiente», «Curva de contraste».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Límite de tonos claros sobre el cual se restaurará Codificación logarítmica a sus valores originales anteriores a su modificación por los ajustes de Codificación logarítmica.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Radio suave», «Curva de contraste».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Límite de tonos claros sobre el cual se restaurará Retinex (Sólo luminancia) a sus valores originales anteriores a su modificación por los ajustes de Retinex.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Radio suave», «Gamma y Pendiente», «Curva de contraste».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Límite de tonos claros sobre el cual se restaurará Sombras/Luces a sus valores originales anteriores a su modificación por los ajustes de Sombras/Luces.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Radio suave», «Gamma y Pendiente», «Curva de contraste».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Límite de tonos claros sobre el cual se restaurará Mapeo tonal a sus valores originales anteriores a su modificación por los ajustes de Mapeo tonal.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Radio suave», «Gamma y Pendiente», «Curva de contraste».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Límite de tonos claros sobre el cual se restaurará Vivacidad y Cálido/Frío a sus valores originales anteriores a su modificación por los ajustes de Vivacidad y Cálido/Frío.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Radio suave», «Gamma y Pendiente», «Curva de contraste».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Límite de tonos claros sobre el cual se restaurará Contraste local y Ondícula a sus valores originales anteriores a su modificación por los ajustes de Contraste local y Ondícula.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Radio suave», «Gamma y Pendiente», «Curva de contraste».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKHIGTHRES_TOOLTIP;El Filtro guiado se decrementa progresivamente, desde el 100% en el umbral hasta el 0% en el valor máximo de blanco (determinado por la máscara).\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Máscara de estructura», «Radio suave», «Gamma y Pendiente», «Curva de contraste», «Ondícula de contraste local».\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKLCTHR;Umbral de luminancia de zona clara +TP_LOCALLAB_MASKLCTHR2;Umbral de luminancia de zona clara +TP_LOCALLAB_MASKLCTHRLOW;Umbral de luminancia de zona oscura +TP_LOCALLAB_MASKLCTHRLOW2;Umbral de luminancia de zona oscura +TP_LOCALLAB_MASKLCTHRMID;Reducción de ruido de luminancia en áreas grises +TP_LOCALLAB_MASKLCTHRMIDCH;Reducción de ruido de cromaticidad en áreas grises +TP_LOCALLAB_MASKLC_TOOLTIP;Esto permite dirigir la reducción de ruido en función de la información de luminancia de la imagen contenida en la máscara L(L) o LC(H) (Máscara y Modificaciones).\n\nLa máscara L(L) o la máscara LC(H) debe estar activada para poder usar esta función.\n\n«Umbral de luminancia de área oscura». Si «Reforzar reducción de ruido en áreas oscuras y claras» > 1, la reducción de ruido aumenta progresivamente, desde 0% en el umbral hasta 100% en el valor máximo de negro (determinado por la máscara).\n\n«Umbral de luminancia de área clara». La reducción de ruido disminuye progresivamente, desde 100% en el umbral hasta 0% en el valor máximo de blanco (determinado por la máscara).\n\nEn el área entre ambos umbrales, los ajustes de reducción de ruido no se ven afectados por la máscara. +TP_LOCALLAB_MASKLNOISELOW;Reforzar reducción de ruido en áreas oscuras y claras +TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Límite de tonos oscuros bajo el cual Contraste por niveles de detalle (Sólo luminancia) se restaurará progresivamente a sus valores originales anteriores a su modificación por los ajustes de Contraste por niveles de detalle.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Radio suave», «Gamma y Pendiente», «Curva de contraste».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Límite de tonos oscuros bajo el cual Color y Luz se restaurará progresivamente a sus valores originales anteriores a su modificación por los ajustes de Color y Luz.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «máscara de estructura», «máscara de difuminado», «Radio suave», «Gamma y Pendiente», «Curva de contraste», «Ondícula de contraste local».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;La Reducción de ruido se incrementa progresivamente desde el 0% en el umbral hasta el 100% en el valor máximo de negro (determinado por la máscara).\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Máscara de estructura», «Radio suave», «Gamma y Pendiente», «Curva de contraste», «Ondícula de contraste local».\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Límite de tonos oscuros bajo el cual Rango dinámico y Exposición se restaurará progresivamente a sus valores originales anteriores a su modificación por los ajustes de Rango dinámico y Exposición.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Radio suave», «Gamma y pendiente», «Curva de contraste».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Límite de tonos oscuros bajo el cual Codificación logarítmica se restaurará progresivamente a sus valores originales anteriores a su modificación por los ajustes de Codificación logarítmica.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Radio suave», «Curva de contraste».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Límite de tonos oscuros bajo el cual Retinex (Sólo luminancia) se restaurará progresivamente a sus valores originales anteriores a su modificación por los ajustes de Retinex.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Radio suave», «Gamma y Pendiente», «Curva de contraste».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Límite de tonos oscuros bajo el cual Sombras/Luces se restaurará progresivamente a sus valores originales anteriores a su modificación por los ajustes de Sombras/Luces.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Radio suave», «Gamma y Pendiente», «Curva de contraste».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Límite de tonos oscuros bajo el cual Mapeo tonal se restaurará progresivamente a sus valores originales anteriores a su modificación por los ajustes de Mapeo tonal.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Radio suave», «Gamma y Pendiente», «Curva de contraste».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Límite de tonos oscuros bajo el cual Vivacidad y Cálido/Frío se restaurará progresivamente a sus valores originales anteriores a su modificación por los ajustes de Vivacidad y Cálido/Frío.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Radio suave», «Gamma y Pendiente», «Curva de contraste».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Límite de tonos oscuros bajo el cual Contraste local y Ondícula se restaurará progresivamente a sus valores originales anteriores a su modificación por los ajustes de Contraste local y Ondícula.\n\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Radio suave», «Gamma y Pendiente», «Curva de contraste».\n\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;El Filtro guiado se incrementa progresivamente desde el 0% en el umbral hasta el 100% en el valor máximo de negro (determinado por la máscara).\nSe pueden usar ciertas herramientas en «Máscara y modificaciones» para cambiar los niveles de gris: «Máscara de estructura», «Radio suave», «Gamma y Pendiente», «Curva de contraste», «Ondícula de contraste local».\nPara ver qué áreas se verán afectadas, se puede usar un «muestreador de color bloqueable» en la máscara. Hay que tener cuidado de poner Máscara de color de fondo = 0 en «Ajustes». +TP_LOCALLAB_MASKRECOL_TOOLTIP;Usado para modular el efecto de los ajustes de Color y Luz en función de la información de luminancia contenida en las máscaras L(L) o LC(H) (Máscara y modificaciones).\n\nLa máscara L(L) o la máscara LC(H) deben estar activadas para poder usar esta función.\n\nLas áreas «oscuras» y «claras» bajo el umbral de oscuridad y sobre el umbral de claridad se restaurarán progresivamente a sus valores originales anteriores a su modificación por los ajustes de Color y Luz.\n\nEntre estas dos áreas, se aplicarán los valores íntegros de los ajustes de Color y Luz. +TP_LOCALLAB_MASKRECOTHRES;Umbral de recuperación +TP_LOCALLAB_MASKREEXP_TOOLTIP;Usado para modular el efecto de los ajustes de «Rango dinámico y Exposición» en función de la información de luminancia de la imagen contenida en las máscaras L(L) o LC(H) (Máscara y modificaciones).\n\nLa máscara L(L) o la máscara LC(H) debe estar activada para poder usar esta función.\n\nLas áreas «oscuras» y «claras» bajo el umbral de oscuridad y sobre el umbral de claridad se restaurarán progresivamente a sus valores originales anteriores a su modificación por los ajustes de «Rango dinámico y Exposición».\n\nEntre estas dos áreas, se aplicarán los valores íntegros de los ajustes de «Rango dinámico y Exposición». +TP_LOCALLAB_MASKRELOG_TOOLTIP;Usado para modular el efecto de los ajustes de Codificación logarítmica en función de la información de luminancia de la imagen contenida en las máscaras L(L) o LC(H) (Máscaras y modificaciones).\n\nLa máscara L(L) o la máscara LC(H) deben estar activadas para poder usar esta función.\n\nLas áreas «oscuras» y «claras» bajo el umbral de oscuridad y sobre el umbral de claridad se restaurarán progresivamente a sus valores originales anteriores a su modificación por los ajustes de Codificación logarítmica. Puede usarse para restaurar luces reconstruidas por Propagación de color.\n\nEntre estas dos áreas se aplicará el valor íntegro de los ajustes de Codificación logarítmica. +TP_LOCALLAB_MASKRESCB_TOOLTIP;Usado para modular el efecto de los ajustes de Contraste por niveles de detalle (Sólo luminancia) en función de la información de luminancia contenida en las máscaras L(L) o LC(H) (Máscara y modificaciones).\n\nLa máscara L(L) o la máscara LC(H) deben estar activadas para poder usar esta función.\n\nLas áreas «oscuras» y «claras» bajo el umbral oscuro y sobre el umbral claro se restaurarán progresivamente a sus valores originales anteriores a su modificación por los ajustes de Contraste por niveles de detalle.\n\nEntre estas dos áreas, se aplicarán los valores íntegros de los ajustes de Contraste por niveles de detalle. +TP_LOCALLAB_MASKRESH_TOOLTIP;Usado para modular el efecto de los ajustes de Sombras/Luces en función de la información de luminancia contenida en las máscaras L(L) o LC(H) (Máscara y modificaciones).\n\nLa máscara L(L) o la máscara LC(H) deben estar activadas para poder usar esta función.\n\nLas áreas «oscuras» y «claras» bajo el umbral oscuro y sobre el umbral claro se restaurarán progresivamente a sus valores originales anteriores a su modificación por los ajustes de Sombras/Luces.\n\nEntre estas dos áreas, se aplicarán los valores íntegros de los ajustes de Sombras/Luces. +TP_LOCALLAB_MASKRESRETI_TOOLTIP;Usado para modular el efecto de los ajustes de Retinex (Sólo luminancia) en función de la información de luminancia contenida en las máscaras L(L) o LC(H) (Máscara y modificaciones).\n\nLa máscara L(L) o la máscara LC(H) deben estar activadas para poder usar esta función.\n\nLas áreas «oscuras» y «claras» bajo el umbral oscuro y sobre el umbral claro se restaurarán progresivamente a sus valores originales anteriores a su modificación por los ajustes de Retinex.\n\nEntre estas dos áreas, se aplicarán los valores íntegros de los ajustes de Retinex. +TP_LOCALLAB_MASKRESTM_TOOLTIP;Usado para modular el efecto de los ajustes de Mapeo tonal en función de la información de luminancia contenida en las máscaras L(L) o LC(H) (Máscara y modificaciones).\n\nLa máscara L(L) o la máscara LC(H) deben estar activadas para poder usar esta función.\n\nLas áreas «oscuras» y «claras» bajo el umbral oscuro y sobre el umbral claro se restaurarán progresivamente a sus valores originales anteriores a su modificación por los ajustes de Mapeo tonal.\n\nEntre estas dos áreas, se aplicarán los valores íntegros de los ajustes de Mapeo tonal. +TP_LOCALLAB_MASKRESVIB_TOOLTIP;Usado para modular el efecto de los ajustes de Vivacidad y Cálido/Frío en función de la información de luminancia de la imagen, contenida en las máscaras L(L) o LC(H) (Máscara y modificaciones).\n\nLa máscara L(L) o la máscara LC(H) debe estar activada para poder usar esta función.\n\nLas áreas «oscuras» y «claras» bajo el umbral de oscuridad y sobre el umbral de claridad se restaurarán progresivamente a sus valores originales anteriores a su modificación por los ajustes de Vivacidad y Cálido/Frío.\n\nEntre estas dos áreas se aplicará el valor íntegro de los ajustes de Vivacidad y Cálido/Frío. +TP_LOCALLAB_MASKRESWAV_TOOLTIP;Usado para modular el efecto de los ajustes de Contraste local y Ondículas en función de la información de luminancia contenida en las máscaras L(L) o LC(H) (Máscara y modificaciones).\n\nLa máscara L(L) o la máscara LC(H) deben estar activadas para poder usar esta función.\n\nLas áreas «oscuras» y «claras» bajo el umbral oscuro y sobre el umbral claro se restaurarán progresivamente a sus valores originales anteriores a su modificación por los ajustes de Contraste local y Ondículas.\n\nEntre estas dos áreas, se aplicarán los valores íntegros de los ajustes de Contraste local y Ondículas. +TP_LOCALLAB_MASKUNUSABLE;Máscara desactivada (Máscara y modificaciones) +TP_LOCALLAB_MASKUSABLE;Máscara activada (Máscara y modificaciones) +TP_LOCALLAB_MASK_TOOLTIP;Se puede activar varias máscaras para una herramienta, activando otra herramienta y usando solamente la máscara (ajusta los deslizadores de la herramienta a 0 ).\n\nTambién es posible duplicar el punto RT y situarlo cerca del primer punto. Las pequeñas variaciones en las referencias del punto permiten hacer ajustes finos. +TP_LOCALLAB_MEDIAN;Mediana baja +TP_LOCALLAB_MEDIANITER_TOOLTIP;El número de iteraciones sucesivas llevadas a cabo por el filtro de mediana. +TP_LOCALLAB_MEDIAN_TOOLTIP;Se puede elegir un valor de mediana en el rango de 3x3 a 9x9 píxels. Los valores altos aumentan la reducción de ruido y el difuminado. +TP_LOCALLAB_MEDNONE;Ninguno +TP_LOCALLAB_MERCOL;Color +TP_LOCALLAB_MERDCOL;Fusión del fondo (ΔE) +TP_LOCALLAB_MERELE;Sólo aclarar +TP_LOCALLAB_MERFIV;Adición +TP_LOCALLAB_MERFOR;Aclarar color +TP_LOCALLAB_MERFOU;Multiplicar +TP_LOCALLAB_MERGE1COLFRA;Fusionar con Original o Anterior o Fondo +TP_LOCALLAB_MERGECOLFRA;Máscara: LCH y Estructura +TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Permite crear máscaras en función de las tres curvas LCH y/o un algoritmo de detección de estructura. +TP_LOCALLAB_MERGEMER_TOOLTIP;Tiene en cuenta ΔE al fusionar archivos (equivale al ámbito en este caso). +TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacidad = % del punto actual a fusionar con el punto original o el anterior.\nUmbral de contraste: ajusta el resultado en función del contraste en la imagen original. +TP_LOCALLAB_MERHEI;Superposición +TP_LOCALLAB_MERHUE;Matiz +TP_LOCALLAB_MERLUCOL;Luminancia +TP_LOCALLAB_MERLUM;Luminosidad +TP_LOCALLAB_MERNIN;Pantalla +TP_LOCALLAB_MERONE;Normal +TP_LOCALLAB_MERSAT;Saturación +TP_LOCALLAB_MERSEV;Luz suave (anterior) +TP_LOCALLAB_MERSEV0;Ilusión de Luz suave +TP_LOCALLAB_MERSEV1;Luz suave W3C +TP_LOCALLAB_MERSEV2;Luz dura +TP_LOCALLAB_MERSIX;Dividir +TP_LOCALLAB_MERTEN;Sólo oscurecer +TP_LOCALLAB_MERTHI;Quemar color +TP_LOCALLAB_MERTHR;Diferencia +TP_LOCALLAB_MERTWE;Exclusión +TP_LOCALLAB_MERTWO;Substraer +TP_LOCALLAB_METHOD_TOOLTIP;«Mejorado + reducción de ruido de cromaticidad» aumenta significativamente los tiempos de procesamiento.\nPero reduce los artefactos. +TP_LOCALLAB_MLABEL;Datos restaurados Min=%1 Max=%2 (Recorte - Desplazamiento) +TP_LOCALLAB_MLABEL_TOOLTIP;Los valores deberían estar cerca de Min=0 Max=32768 (modo logarítmico), pero son posibles otros valores. Se puede ajustar «Recortar datos restaurados (ganancia)» y «Desplazamiento» para normalizar.\nRecupera los datos de la imagen sin mezclado. +TP_LOCALLAB_MODE_EXPERT;Avanzado +TP_LOCALLAB_MODE_NORMAL;Estándar +TP_LOCALLAB_MODE_SIMPLE;Básico +TP_LOCALLAB_MRFIV;Fondo +TP_LOCALLAB_MRFOU;Punto anterior +TP_LOCALLAB_MRONE;Ninguno +TP_LOCALLAB_MRTHR;Imagen original +TP_LOCALLAB_MULTIPL_TOOLTIP;Ajuste de tono de rango extenso: de -18EV a +4EV. El primer deslizador actúa sobre tonos muy oscuros, entre -18EV y -6EV. El último deslizador actúa sobre tonos claros, hasta 4EV. +TP_LOCALLAB_NEIGH;Radio +TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Los valores bajos preservan detalles y textura, los altos aumentan la reducción de ruido.\nSi gamma = 3.0, se usa Luminancia "lineal". +TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Este deslizador se usa para adaptar la cantidad de reducción de ruido al tamaño de los objetos a procesar. +TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Los valores altos aumentan la reducción de ruido a cambio de un mayor tiempo de procesamiento. +TP_LOCALLAB_NLDENOISE_TOOLTIP;“Recuperación de detalle” actúa sobre una transformación Laplaciana, a fin de dirigirse a las áreas uniformes en lugar de a áreas con detalle. +TP_LOCALLAB_NLDET;Recuperación de detalle +TP_LOCALLAB_NLFRA;Medias no locales - Luminancia +TP_LOCALLAB_NLFRAME_TOOLTIP;La reducción de ruido por medias no locales toma una media de todos los píxels de la imagen, ponderada por la similitud de los píxels al píxel objetivo.\n\nReduce la pérdida de detalle en comparación con los algoritmos de medias locales.\n\nSólo se tiene en cuenta el ruido de luminancia. El ruido de cromaticidad se procesa mejor usando ondículas y transformadas de Fourier (DCT).\n\nPuede usarse junto con «Reducción de ruido de luminancia por niveles» o solo.\n\nEl tamaño del punto RT debe ser mayor que 150x150 píxels (Salida). +TP_LOCALLAB_NLGAM;Gamma +TP_LOCALLAB_NLLUM;Intensidad +TP_LOCALLAB_NLPAT;Tamaño máximo de parcela +TP_LOCALLAB_NLRAD;Tamaño máximo del radio +TP_LOCALLAB_NOISECHROCOARSE;Cromaticidad gruesa (Ondíc.) +TP_LOCALLAB_NOISECHROC_TOOLTIP;Si es mayor que cero, se activa el algoritmo de alta calidad.\nEl grueso es para un valor del deslizador >=0.02. +TP_LOCALLAB_NOISECHRODETAIL;Recuperación de detalle de cromaticidad (DCT ƒ) +TP_LOCALLAB_NOISECHROFINE;Cromaticidad fina (Ondíc.) +TP_LOCALLAB_NOISEGAM;Gamma +TP_LOCALLAB_NOISEGAM_TOOLTIP;Si gamma = 1, se usa la luminosidad L*a*b*. Si gamma = 3.0, se usa una luminosidad «lineal».\nLos valores bajos preservan los detalles y la textura, mientras que los valores altos aumentan la reducción de ruido. +TP_LOCALLAB_NOISELEQUAL;Ecualizador blanco-negro +TP_LOCALLAB_NOISELUMCOARSE;Luminancia grueso (Ondíc.) +TP_LOCALLAB_NOISELUMDETAIL;Recuperación de detalle de luminancia (DCT ƒ) +TP_LOCALLAB_NOISELUMFINE;Luminancia fino 1 (Ondíc.) +TP_LOCALLAB_NOISELUMFINETWO;Luminancia fino 2 (Ondíc.) +TP_LOCALLAB_NOISELUMFINEZERO;Luminancia fino 0 (Ondíc.) +TP_LOCALLAB_NOISEMETH;Reducción de ruido +TP_LOCALLAB_NOISE_TOOLTIP;Añade ruido de luminancia. +TP_LOCALLAB_NONENOISE;Ninguno +TP_LOCALLAB_NUL_TOOLTIP;. +TP_LOCALLAB_OFFS;Desplazamiento +TP_LOCALLAB_OFFSETWAV;Desplazamiento +TP_LOCALLAB_OPACOL;Opacidad +TP_LOCALLAB_ORIGLC;Fusionar sólo con la imagen original +TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifica ΔE antes de cualquier cambio realizado por «Ámbito». Esto permite diferenciar la acción para diferentes partes de la imagen (por ejemplo, respecto al fondo). +TP_LOCALLAB_ORRETISTREN_TOOLTIP;Actúa sobre el umbral de Laplaciana. Cuanto mayor sea la acción, más se reducirán las diferencias de contraste. +TP_LOCALLAB_PASTELS2;Vivacidad +TP_LOCALLAB_PDE;Atenuador de contraste - Compresión de rango dinámico +TP_LOCALLAB_PDEFRA;Atenuador de contraste ƒ +TP_LOCALLAB_PDEFRAME_TOOLTIP;Algoritmo PDE IPOL adaptado para Rawtherapee: produce diferentes resultados y necesita ajustes diferentes en comparación con la «Exposición» del menú principal.\nPuede ser útil para imágenes subexpuestas o de alto rango dinámico. +TP_LOCALLAB_PREVHIDE;Ocultar ajustes adicionales +TP_LOCALLAB_PREVIEW;Vista previa ΔE +TP_LOCALLAB_PREVSHOW;Mostrar ajustes adicionales +TP_LOCALLAB_PROXI;Decaimiento ΔE +TP_LOCALLAB_QUAAGRES;Agresivo +TP_LOCALLAB_QUACONSER;Conservador +TP_LOCALLAB_QUALCURV_METHOD;Tipo de curva +TP_LOCALLAB_QUAL_METHOD;Calidad global +TP_LOCALLAB_QUANONEALL;Desactivado +TP_LOCALLAB_QUANONEWAV;Sólo medias no locales +TP_LOCALLAB_RADIUS;Radio +TP_LOCALLAB_RADIUS_TOOLTIP;Usa una Transformada Rápida de Fourier para radio > 30. +TP_LOCALLAB_RADMASKCOL;Radio suave +TP_LOCALLAB_RECOTHRES02_TOOLTIP;Si el valor del «Umbral de recuperación» es mayor que 1, la máscara en Máscara y modificaciones tiene en cuenta cualquier modificación previa realizada a la imagen, pero no las realizadas con la herramienta actual (por ejemplo, Color y luz, Ondícula, CAM16, etc.)\n\nSi el valor del «Umbral de recuperación» es menor que 1, la máscara en Máscara y modificaciones no tiene en cuenta ninguna modificación previa realizada a la imagen.\n\nEn ambos casos, el «Umbral de recuperación» actúa sobre la imagen enmascarada modificada por la herramienta actual (Color y luz, Ondícula, CAM16, etc.). +TP_LOCALLAB_RECT;Rectángulo +TP_LOCALLAB_RECURS;Referencias recursivas +TP_LOCALLAB_RECURS_TOOLTIP;Fuerza al algoritmo a recalcular las referencias después de la aplicación de cada herramienta.\nTambién es útil para trabajar con máscaras. +TP_LOCALLAB_REN_DIALOG_LAB;Introduce el nombre del nuevo Punto de Control +TP_LOCALLAB_REN_DIALOG_NAME;Cambio de nombre de Punto de Control +TP_LOCALLAB_REPARCOL_TOOLTIP;Permite ajustar la intensidad relativa de la imagen de Color y Luz respecto a la imagen original. +TP_LOCALLAB_REPARDEN_TOOLTIP;Permite ajustar la intensidad relativa de la imagen de Reducción de ruido respecto a la imagen original. +TP_LOCALLAB_REPAREXP_TOOLTIP;Permite ajustar la intensidad relativa de la imagen de Rango dinámico y Exposición respecto a la imagen original. +TP_LOCALLAB_REPARSH_TOOLTIP;Permite ajustar la intensidad relativa de la imagen de Sombras/Luces y Ecualizador de tono respecto a la imagen original. +TP_LOCALLAB_REPARTM_TOOLTIP;Permite ajustar la intensidad relativa de la imagen de Mapeo tonal respecto a la imagen original. +TP_LOCALLAB_REPARW_TOOLTIP;Permite ajustar la intensidad relativa de la imagen de Contraste local y Ondículas respecto a la imagen original. +TP_LOCALLAB_RESID;Imagen residual +TP_LOCALLAB_RESIDBLUR;Difuminar imagen residual +TP_LOCALLAB_RESIDCHRO;Cromaticidad Imagen residual +TP_LOCALLAB_RESIDCOMP;Comprimir Imagen residual +TP_LOCALLAB_RESIDCONT;Contraste Imagen residual +TP_LOCALLAB_RESIDHI;Luces +TP_LOCALLAB_RESIDHITHR;Umbral de luces +TP_LOCALLAB_RESIDSHA;Sombras +TP_LOCALLAB_RESIDSHATHR;Umbral de sombras +TP_LOCALLAB_RETI;Eliminación de neblina y Retinex +TP_LOCALLAB_RETIFRA;Retinex +TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex puede ser útil para procesar imágenes:\n\n- difuminadas, neblinosas o brumosas (además de la Eliminación de neblina).\n- que contienen grandes diferencias en luminancia.\n\nTambién puede usarse para efectos especiales (mapeo tonal). +TP_LOCALLAB_RETIM;Retinex original +TP_LOCALLAB_RETITOOLFRA;Herramientas Retinex +TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;No tiene efectos cuando «Claridad» = 1 u «Oscuridad» = 2.\nPara otros valores, se aplica el último paso del algoritmo «Retinex de escala múltiple» (similar al «contraste local»). Estos 2 cursores, asociados con «Intensidad», permiten hacer ajustes «aguas arriba» del contraste local. +TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Ajusta los parámetros internos para optimizar la respuesta.\nEs preferible mantener los valores de los «Datos restaurados» cerca de Min=0 y Max=32768 (modo logarítmico), pero es posible usar otros valores. +TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;El modo Logarítmico introduce más contraste, pero también generará más halos. +TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;Los deslizadores de radio y varianza permiten ajustar la neblina y dirigir los efectos, ya sea al primer plano o al fondo. +TP_LOCALLAB_RETI_SCALE_TOOLTIP;Si Escala=1, Retinex se comporta como el contraste local con posibilidades adicionales.\nEl aumento del valor de Escala aumenta a su vez la intensidad de la acción recursiva, al precio de un mayor tiempo de procesamiento. +TP_LOCALLAB_RET_TOOLNAME;Eliminación de neblina y Retinex - 9 +TP_LOCALLAB_REWEI;Iteraciones de reponderación +TP_LOCALLAB_RGB;Curva tonal RGB +TP_LOCALLAB_RGBCURVE_TOOLTIP;En modo RGB se dispone de 4 valores posibles: Estándar, Estándar ponderado, Luminancia y Similar a película. +TP_LOCALLAB_ROW_NVIS;No visible +TP_LOCALLAB_ROW_VIS;Visible +TP_LOCALLAB_RSTPROTECT_TOOLTIP;La protección de rojo y tonos de piel afecta a los deslizadores de Saturación, Cromaticidad y Colorido. +TP_LOCALLAB_SATUR;Saturación +TP_LOCALLAB_SATURV;Saturación (s) +TP_LOCALLAB_SCALEGR;Escala +TP_LOCALLAB_SCALERETI;Escala +TP_LOCALLAB_SCALTM;Escala +TP_LOCALLAB_SCOPEMASK;Ámbito (ΔE máscara de imagen) +TP_LOCALLAB_SCOPEMASK_TOOLTIP;Activado si ΔE Máscara de imagen está activado.\nLos valores bajos evitan el retoque del área seleccionada. +TP_LOCALLAB_SENSI;Ámbito +TP_LOCALLAB_SENSIEXCLU;Ámbito +TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Ajusta los colores a excluir. +TP_LOCALLAB_SENSIMASK_TOOLTIP;Ajuste de ámbito específico de la herramienta de Máscara común.\nActúa sobre la diferencia entre la imagen original y la máscara.\nUsa las referencias de luminancia, cromaticidad y matiz desde el centro del punto RT.\n\nTambién se puede ajustar la ΔE de la propia máscara, usando «Ámbito (ΔE máscara de imagen)» en «Ajustes» > «Máscara y Fusión». +TP_LOCALLAB_SENSI_TOOLTIP;Ajusta el ámbito de la acción:\nLos valores pequeños limitan la acción a colores similares a los del centro del punto.\nLos valores altos permiten a la herramienta actuar sobre un rango más amplio de colores. +TP_LOCALLAB_SETTINGS;Ajustes +TP_LOCALLAB_SH1;Sombras/Luces +TP_LOCALLAB_SH2;Ecualizador +TP_LOCALLAB_SHADEX;Sombras +TP_LOCALLAB_SHADEXCOMP;Compresión de sombras y Ancho tonal +TP_LOCALLAB_SHADHIGH;Sombras/Luces-Ecualizador +TP_LOCALLAB_SHADHMASK_TOOLTIP;Disminuye las luces de la máscara del mismo modo que el algoritmo de sombras/luces. +TP_LOCALLAB_SHADMASK_TOOLTIP;Aumenta las sombras de la máscara del mismo modo que el algoritmo de sombras/luces. +TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Ajusta las sombras y luces, ya sea con deslizadores o con un ecualizador de tono.\nSe puede usar junto con el módulo Exposición o en su lugar.\nTambién se puede usar como un filtro graduado. +TP_LOCALLAB_SHAMASKCOL;Sombras +TP_LOCALLAB_SHAPETYPE;Forma del punto RT +TP_LOCALLAB_SHAPE_TOOLTIP;Elipse es el modo normal.\n\nRectángulo puede usarse en ciertos casos, por ejemplo para trabajar en modo de imagen completa, situando los delimitadores fuera del área de vista previa. En este caso, se debe ajustar Transición = 100.\n\nFuturos desarrollos incluirán polígonos y curvas de Bézier. +TP_LOCALLAB_SHARAMOUNT;Cantidad +TP_LOCALLAB_SHARBLUR;Radio de difuminado +TP_LOCALLAB_SHARDAMPING;Amortiguación +TP_LOCALLAB_SHARFRAME;Modificaciones +TP_LOCALLAB_SHARITER;Iteraciones +TP_LOCALLAB_SHARP;Nitidez +TP_LOCALLAB_SHARP_TOOLNAME;Nitidez - 8 +TP_LOCALLAB_SHARRADIUS;Radio +TP_LOCALLAB_SHORTC;Máscara Curvas «L» corto +TP_LOCALLAB_SHORTCMASK_TOOLTIP;Circuito corto de las 2 curvas L(L) y L(H).\nPermite mezclar la imagen actual con la original modificada por la máscara.\nUtilizable con las máscaras 2, 3, 4, 6, 7. +TP_LOCALLAB_SHOWC;Máscara y modificaciones +TP_LOCALLAB_SHOWC1;Fusión de archivos +TP_LOCALLAB_SHOWCB;Máscara y modificaciones +TP_LOCALLAB_SHOWDCT;Mostrar proceso de Fourier (ƒ) +TP_LOCALLAB_SHOWE;Máscara y modificaciones +TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +TP_LOCALLAB_SHOWLAPLACE;∆ Laplaciana (primero) +TP_LOCALLAB_SHOWLC;Máscara y modificaciones +TP_LOCALLAB_SHOWMASK;Mostrar máscara +TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Muestra las máscaras y modificaciones.\nCuidado, sólo se puede ver la máscara de una herramienta a la vez.\n\nMostrar imagen modificada: muestra la imagen modificada incluyendo el efecto de cualesquiera ajustes y máscaras.\n\nMostrar áreas modificadas sin máscara: muestra las modificaciones antes de que se aplique cualquier máscara.\n\nMostrar áreas modificadas con máscara: muestra las modificaciones después de que se ha aplicado una máscara.\n\nMostrar máscara: muestra el aspecto de la máscara incluyendo el efecto de cualquier curva y filtro.\n\nMostrar estructura del punto: permite ver la máscara de detección de estructura cuando el cursor «Estructura del punto» está activo (si está disponible).\n\nNota: La máscara se aplica antes del algoritmo de detección de forma. +TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Permite visualizar las diferentes etapas del proceso de Fourier:\n\n- Laplace: calcula la segunda derivada de la transformada de Laplace como función del umbral.\n- Fourier: muestra la transformada Laplaciana con DCT.\n- Poisson: muestra la solución de la DCE de Poisson.\n- Sin normalización de luminancia: muestra el resultado sin ninguna normalización de la luminancia. +TP_LOCALLAB_SHOWMASKTYP1;Difuminado y Ruido +TP_LOCALLAB_SHOWMASKTYP2;Reducción de ruido +TP_LOCALLAB_SHOWMASKTYP3;Difuminado y Ruido + Reducción de ruido +TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Se puede escoger Máscara y modificaciones.\nDifuminado y ruido: en este caso no se usa para la «Reducción de ruido».\nReducción de ruido: en este caso no se usa para «Difuminado y ruido».\n\nDifuminado y ruido + Reducción de ruido: la máscara se comparte, hay que tener cuidado con «Mostrar modificaciones» y «Ámbito». +TP_LOCALLAB_SHOWMNONE;Mostrar imagen modificada +TP_LOCALLAB_SHOWMODIF;Mostrar áreas modificadas sin máscara +TP_LOCALLAB_SHOWMODIF2;Mostrar áreas modificadas +TP_LOCALLAB_SHOWMODIFMASK;Mostrar áreas modificadas con máscara +TP_LOCALLAB_SHOWNORMAL;Sin normalización de luminancia +TP_LOCALLAB_SHOWPLUS;Máscara y modificaciones (Difuminado y Reducción de ruido) +TP_LOCALLAB_SHOWPOISSON;Poisson (PDE ƒ) +TP_LOCALLAB_SHOWR;Máscara y modificaciones +TP_LOCALLAB_SHOWREF;Vista previa ΔE +TP_LOCALLAB_SHOWS;Máscara y modificaciones +TP_LOCALLAB_SHOWSTRUC;Mostrar estructura del punto (avanzado) +TP_LOCALLAB_SHOWSTRUCEX;Mostrar estructura del punto (avanzado) +TP_LOCALLAB_SHOWT;Máscara y modificaciones +TP_LOCALLAB_SHOWVI;Máscara y modificaciones +TP_LOCALLAB_SHRESFRA;Sombras/Luces y TRC +TP_LOCALLAB_SHTRC_TOOLTIP;Basado en el «perfil de trabajo» (sólo los suministrados), modifica los tonos de la imagen, actuando en una TRC (Curva de respuesta tonal).\n\nLa Gamma actúa principalmente en tonos claros.\n\nLa Pendiente actúa principalmente en tonos oscuros.\n\nSe recomienda que la TRC de los dos dispositivos (monitor y perfil de salida) sea sRGB (predeterminado). +TP_LOCALLAB_SH_TOOLNAME;Sombras/Luces y Ecualizador de tono - 5 +TP_LOCALLAB_SIGFRA;Sigmoide J y Q +TP_LOCALLAB_SIGJZFRA;Sigmoide Jz +TP_LOCALLAB_SIGMAWAV;Respuesta de atenuación +TP_LOCALLAB_SIGMOIDBL;Fusionar +TP_LOCALLAB_SIGMOIDLAMBDA;Contraste +TP_LOCALLAB_SIGMOIDQJ;Usar Q en lugar de J +TP_LOCALLAB_SIGMOIDTH;Umbral (Punto gris) +TP_LOCALLAB_SIGMOID_TOOLTIP;Permite simular una apariencia de mapeo tonal mediante el uso de las dos funciones, «Ciecam» y «Sigmoide».\nSe dispone de tres deslizadores: a) Intensidad acúa en la forma de la curva sigmoide, y en consecuencia en la intensidad; b) Umbral distribute la acción en función de la luminancia; c)Fusionar actúa en el aspecto final de la imagen, el contraste y la luminancia. +TP_LOCALLAB_SLOMASKCOL;Pendiente +TP_LOCALLAB_SLOMASK_TOOLTIP;La Gamma y la Pendiente permiten una transformación de la máscara suave y libre de artefactos, modificando progresivamente «L» para evitar cualquier discontinuidad. +TP_LOCALLAB_SLOSH;Pendiente +TP_LOCALLAB_SOFT;Luz suave y Retinex original +TP_LOCALLAB_SOFTM;Luz suave +TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Aplica una mezcla de Luz suave (idéntica al ajuste global). Realiza el «aclarado y quemado» («dodge and burn») usando el algoritmo Retinex original. +TP_LOCALLAB_SOFTRADIUSCOL;Radio suave +TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Aplica un filtro guiado a la imagen de salida para reducir posibles artefactos. +TP_LOCALLAB_SOFTRETI;Reducir artefactos ΔE +TP_LOCALLAB_SOFT_TOOLNAME;Luz suave y Retinex original - 6 +TP_LOCALLAB_SOURCE_ABS;Luminancia absoluta +TP_LOCALLAB_SOURCE_GRAY;Luminancia media (Yb%) +TP_LOCALLAB_SPECCASE;Casos específicos +TP_LOCALLAB_SPECIAL;Uso especial de las curvas RGB +TP_LOCALLAB_SPECIAL_TOOLTIP;La casilla de verificación permite quitar todas las demás acciones, como «Ámbito», máscaras, deslizadores, etc. (excepto transiciones), y usar sólo el efecto de la curva tonal RGB. +TP_LOCALLAB_SPOTNAME;Punto nuevo +TP_LOCALLAB_STD;Estándar +TP_LOCALLAB_STR;Intensidad +TP_LOCALLAB_STRBL;Intensidad +TP_LOCALLAB_STREN;Intensidad de compresión +TP_LOCALLAB_STRENG;Intensidad +TP_LOCALLAB_STRENGR;Intensidad +TP_LOCALLAB_STRENGRID_TOOLTIP;Se puede ajustar el efecto deseado con «Intensidad», pero también es posible usar la función de «ámbito», que permite delimitar la acción (por ejemplo, aislar un color particular). +TP_LOCALLAB_STRENGTH;Ruido +TP_LOCALLAB_STRGRID;Intensidad +TP_LOCALLAB_STRUC;Estructura +TP_LOCALLAB_STRUCCOL;Estructura del punto +TP_LOCALLAB_STRUCCOL1;Estructura del punto +TP_LOCALLAB_STRUCT_TOOLTIP;Usa el algoritmo de Sobel para tener en cuenta la estructura en la detección de forma.\n\nPara ver una vista previa de la máscara (sin modificaciones), se debe activar «Máscara y modificaciones» > «Mostrar estructura del punto» (modo avanzado) .\n\nPuede usarse junto con la Máscara de estructura, Máscara de difuminado y «Contraste local (por niveles de ondículas)» para mejorar la detección de bordes.\n\nLos efectos de los ajustes al usar Claridad, Contraste, Cromaticidad, Exposición u otras herramientas no relacionadas con máscaras son visibles usando, ya sea «Mostrar imagen modificada», o «Mostrar áreas modificadas con máscara». +TP_LOCALLAB_STRUMASKCOL;Intensidad de máscara de estructura +TP_LOCALLAB_STRUMASK_TOOLTIP;Máscara de estructura (deslizador) con la casilla «Máscara de estructura como herramienta» desactivada: En este caso se generará una máscara que muestra la estructura, incluso si ninguna de las tres curvas está activada. Las máscaras de estructura están disponibles para la máscara 1 (Difuminado y reducción de ruido) y máscara 7 (Color y Luz). +TP_LOCALLAB_STRUSTRMASK_TOOLTIP;¡Se recomienda el uso moderado de este deslizador! +TP_LOCALLAB_STYPE;Método de forma +TP_LOCALLAB_STYPE_TOOLTIP;Se puede elegir entre:\n\nSimétrico - punto de ajuste izquierdo enlazado con el derecho, punto de ajuste superior enlazado con el inferior.\n\nIndependiente - todos los puntos de ajuste son independientes. +TP_LOCALLAB_SYM;Simétrico (ratón) +TP_LOCALLAB_SYMSL;Simétrico (ratón + deslizadores) +TP_LOCALLAB_TARGET_GRAY;Luminancia media (Yb%) +TP_LOCALLAB_THRES;Umbral de estructura +TP_LOCALLAB_THRESDELTAE;Umbral de ámbito ΔE +TP_LOCALLAB_THRESRETI;Umbral +TP_LOCALLAB_THRESWAV;Umbral de balance +TP_LOCALLAB_TLABEL;Datos TM Min=%1 Max=%2 Media=%3 Sigma=%4 (Umbral) +TP_LOCALLAB_TLABEL_TOOLTIP;Resultado del Mapa de transmisión.\nLa Varianza usa Min y Max.\nTm=Min TM=Max del Mapa de transmisión.\nSe pueden normalizar los resultados con el deslizador de umbral. +TP_LOCALLAB_TM;Mapeo tonal +TP_LOCALLAB_TM_MASK;Usar el mapa de transmisión +TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;Este deslizador afecta a la sensibilidad a bordes.\nCuanto mayor sea el valor, con mayor probabilidad se interpretará un cambio en el contraste como un «borde».\nSi se pone a cero, el mapeo tonal tendrá un efecto similar a la Máscara de nitidez. +TP_LOCALLAB_TONEMAPGAM_TOOLTIP;El deslizador Gamma desplaza el efecto del mapeo tonal, ya sea hacia las sombras o hacia las luces. +TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;En algunos casos, el mapeo tonal puede producir una apariencia caricaturesca, y en algunos casos raros, pueden aparecer halos suaves pero amplios.\nEl incremento del número de iteraciones de reponderación ayudará a contrarrestar algunos de estos problemas. +TP_LOCALLAB_TONEMAP_TOOLTIP;Igual que la herramienta Mapeo tonal del menú principal.\nLa herramienta del menú principal debe estar desactivada si se usa esta herramienta. +TP_LOCALLAB_TONEMASCALE_TOOLTIP;Este deslizador permite ajustar la transición entre el contraste «local» y «global».\nCuanto mayor sea el valor, mayor tendrá que ser un detalle para que sea amplificado. +TP_LOCALLAB_TONE_TOOLNAME;Mapeo tonal - 4 +TP_LOCALLAB_TOOLCOL;Máscara de estructura como herramienta +TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Permite modificar la máscara, si existe. +TP_LOCALLAB_TOOLMASK;Herramientas con máscara +TP_LOCALLAB_TOOLMASK_2;Ondículas +TP_LOCALLAB_TOOLMASK_TOOLTIP;Máscara de estructura (deslizador) con la casilla «Máscara de estructura como herramienta» marcada: en este caso se generará una máscara que muestra la estructura, después de que se hayan modificado una o ambas curvas L(L) o LC(H).\nAquí, la «Máscara de estructura» se comporta como las demás herramientas con máscara: Gamma, Pendiente, etc.\nPermite variar la acción sobre la máscara en función de la estructura de la imagen. +TP_LOCALLAB_TRANSIT;Gradiente de transición +TP_LOCALLAB_TRANSITGRAD;Diferenciación de la transición XY +TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Permite variar la transición en el eje y. +TP_LOCALLAB_TRANSITVALUE;Valor de transición +TP_LOCALLAB_TRANSITWEAK;Decaimiento de la transición (lineal-log) +TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Ajusta la función de decaimiento de la transición: 1 lineal , 2 parabólica, 3 cúbica hasta ^25.\nPuede usarse junto con valores muy bajos de transición para reducir defectos (Contraste por niveles de detalles, Ondículas, Color y Luz). +TP_LOCALLAB_TRANSIT_TOOLTIP;Ajusta la suavidad de la transición entre zonas afectadas y no afectadas como un porcentaje del «radio». +TP_LOCALLAB_TRANSMISSIONGAIN;Ganancia de transmisión +TP_LOCALLAB_TRANSMISSIONMAP;Mapa de transmisión +TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmisión en función de la transmisión.\nAbscisa: transmisión desde valores negativos (mín.), media, y valores positivos (máx.).\nOrdenada: amplificación o reducción.\nSe puede ajustar esta curva para cambiar la Transmisión y reducir artefactos. +TP_LOCALLAB_USEMASK;Laplaciana +TP_LOCALLAB_VART;Varianza (contraste) +TP_LOCALLAB_VIBRANCE;Vivacidad y Cálido/Frío +TP_LOCALLAB_VIBRA_TOOLTIP;Ajusta la vivacidad (esencialmente igual que el ajuste global).\nRealiza el equivalente a un ajuste de balance de blancos usando un algoritmo CIECAM. +TP_LOCALLAB_VIB_TOOLNAME;Vivacidad y Cálido/Frío - 3 +TP_LOCALLAB_VIS_TOOLTIP;Clic para mostrar/ocultar el punto de control seleccionado.\nCtrl+clic para mostrar/ocultar todos los puntos de control. +TP_LOCALLAB_WARM;Cálido/Frío y Artefactos de color +TP_LOCALLAB_WARM_TOOLTIP;Este deslizador usa el algoritmo CIECAM y actúa como un control de Balance de blancos para hacer que la temperatura de color del área seleccionada sea más cálida o más fría.\nEn algunos casos también puede reducir los artefactos de color. +TP_LOCALLAB_WASDEN_TOOLTIP;Reducción de ruido de luminancia: el lado izquierdo de la curva, incluyendo la frontera gris oscuro/gris claro, corresponde a los tres primeros niveles 0, 1, 2 (detalle fino). El lado derecho de la curva corresponde a los detalles más gruesos (niveles 3, 4, 5, 6). +TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Equilibra la acción dentro de cada nivel. +TP_LOCALLAB_WAT_BLURLC_TOOLTIP;El ajuste predeterminado de difuminado afecta a los tres componentes de L*a*b* (luminancia y color).\nSi se activa, sólo se difuminará la luminancia. +TP_LOCALLAB_WAT_CLARIC_TOOLTIP;«Fusionar cromaticidad» se usa para seleccionar la intensidad del efecto deseado sobre la cromaticidad. +TP_LOCALLAB_WAT_CLARIL_TOOLTIP;«Fusionar luminancia» se usa para seleccionar la intensidad del efecto deseado sobre la luminancia. +TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;«Niveles de cromaticidad»: ajusta los componentes «a» y «b» de L*a*b* como una proporción del valor de la luminancia. +TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;El desplazamiento modifica el balance entre detalles de bajo y alto contraste.\n\nLos valores altos amplificarán cambios de contraste hacia detalles de mayor contraste, mientras que los valores bajos amplificarán cambios de contraste hacia detalles de bajo contraste.\n\nEl uso de “Respuesta de atenuación” permite seleccionar qué valores de contraste se intensificarán. +TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;Moviendo el deslizador hacia la izquierda, se acentúan los valores bajos. Hacia la derecha, los valores bajos se reducen y los altos se acentúan. +TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;La imagen residual se comporta de la misma manera que la imagen principal al hacer ajustes de contraste, cromaticidad, etc. +TP_LOCALLAB_WAT_GRADW_TOOLTIP;Cuanto más se mueva el deslizador hacia la derecha, más efectivo será el algoritmo de detección, y menos se notarán los efectos del contraste local. +TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Contraste local de bajo a alto de izquierda a derecha en el eje «x».\nAumenta o disminuye el contraste local en el eje «y». +TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;Se puede ajustar la distribución del Contraste local por niveles de ondícula en función de la intensidad inicial del contraste. Esto modificará los efectos de perspectiva y relieve en la imagen, y/o reducirá los valores de contraste para valores iniciales de contraste muy bajos. +TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;«Fusionar sólo con la imagen original» evita que los ajustes de «Pirámide de ondículas» interfieran con «Claridad» y «Máscara de nitidez». +TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Difumina la imagen residual, independientemente de los niveles. +TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Comprime la imagen residual para aumentar o reducir el contraste. +TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;El efecto del ajuste de contraste local es más intenso en detalles de contraste medio, y más débil en detalles de alto y bajo contraste.\n\nEste deslizador controla la rapidez de amortiguación del efecto hacia contrastes extremos.\n\nCuanto mayor sea el valor del deslizador, más amplio será el rango de contrastes que recibirán el efecto íntegro del ajuste de contraste local, y mayor será el riesgo de generar artefactos.\n\nCuanto menor sea el valor, más se dirigirá el efecto hacia un rango estrecho de valores de contraste. +TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensidad de detección de efecto de bordes. +TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Permite variar el contraste local en función de un gradiente y ángulo seleccionados. Se tiene en cuenta la variación de la señal de luminancia, y no la luminancia en sí. +TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Rango de niveles de ondículas usado en todo el módulo «Ondículas». +TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Permite difuminar cada nivel de descomposición.\nLos niveles del más fino al más grueso están dispuestos de izquierda a derecha. +TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar a Contraste por niveles de detalle. Niveles de detalle de fino a grueso de izquierda a derecha en el eje «x». +TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Actúa sobre el balance de las tres direcciones (horizontal, vertical y diagonal) en función de la luminancia de la imagen.\nDe forma predeterminada, las sombras y las luces se reducen para evitar artefactos. +TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Muestra todas las herramientas de «Nitidez en bordes». Es aconsejable leer la documentación de Niveles de ondículas. +TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Permite ajustar el efecto máximo de difuminado en los niveles. +TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Contraste de bajo a alto de izquierda a derecha en el eje «x».\nAumenta o disminuye el contraste local en el eje «y». +TP_LOCALLAB_WAT_WAVTM_TOOLTIP;La parte baja (negativa) comprime cada nivel de descomposición, creando un efecto de mapeo tonal.\nLa parte superior (positiva) atenúa el contraste por nivel.\nLos niveles de descomposición de más fino a más grueso están dispuestos de izquierda a derecha en el eje «x». +TP_LOCALLAB_WAV;Contraste local +TP_LOCALLAB_WAVBLUR_TOOLTIP;Permite difuminar cada nivel de la descomposición, así como la imagen residual. +TP_LOCALLAB_WAVCOMP;Compresión por nivel +TP_LOCALLAB_WAVCOMPRE;Compresión por nivel +TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Permite aplicar mapeo tonal o reducir el contraste local en niveles individuales.\nLos niveles de detalle de más fino a más grueso están dispuestos de izquierda a derecha en el eje «x». +TP_LOCALLAB_WAVCOMP_TOOLTIP;Permite aplicar contraste local en función de la dirección de la descomposición de ondículas: horizontal, vertical, diagonal. +TP_LOCALLAB_WAVCON;Contraste por nivel +TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar a Contraste por niveles de detalle. Niveles de detalle de fino a grueso de izquierda a derecha del eje X. +TP_LOCALLAB_WAVDEN;Reducción de ruido de luminancia por nivel +TP_LOCALLAB_WAVE;Ψ Ondículas +TP_LOCALLAB_WAVEDG;Contraste local +TP_LOCALLAB_WAVEEDG_TOOLTIP;Mejora la nitidez dirigiendo la acción del contraste local a los bordes. Tiene las mismas funciones que el módulo correspondiente en Niveles de ondículas, y usa los mismos ajustes. +TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Rango de niveles de ondículas usado en «Contraste local (por niveles de ondículas)». +TP_LOCALLAB_WAVGRAD_TOOLTIP;Permite variar el contraste local en función de un gradiente y ángulo seleccionados. Se tiene en cuenta la variación de la señal de luminancia, y no la luminancia en sí. +TP_LOCALLAB_WAVHUE_TOOLTIP;Permite reducir o aumentar la reducción de ruido en función del matiz. +TP_LOCALLAB_WAVLEV;Difuminado por nivel +TP_LOCALLAB_WAVMASK;Ψ Contraste local (por niveles de ondículas) +TP_LOCALLAB_WAVMASK_TOOLTIP;Utiliza ondículas para modificar el contraste local de la máscara y reforzar o reducir la estructura (piel, edificios...). +TP_LOCALLAB_WEDIANHI;Mediana alta +TP_LOCALLAB_WHITE_EV;Ev Blanco +TP_LOCALLAB_ZCAMFRA;Ajustes de imagen ZCAM +TP_LOCALLAB_ZCAMTHRES;Recuperar datos altos +TP_LOCAL_HEIGHT;Abajo +TP_LOCAL_HEIGHT_T;Arriba +TP_LOCAL_WIDTH;Derecha +TP_LOCAL_WIDTH_L;Izquierda +TP_LOCRETI_METHOD_TOOLTIP;Bajo = Refuerza la luz baja.\nUniforme = Distribuido uniformemente.\nAlto = Refuerza la luz fuerte. +TP_METADATA_EDIT;Aplicar modificaciones +TP_METADATA_MODE;Modo de copia de metadatos +TP_METADATA_STRIP;Eliminar todos los metadatos +TP_METADATA_TUNNEL;Copiar sin cambios +TP_NEUTRAL;Reiniciar +TP_NEUTRAL_TOOLTIP;Reinicia los deslizadores de exposición a valores neutros.\nActúa sobre los mismos controles que Niveles automáticos, independientemente de si se ha usado Niveles automáticos o no. +TP_PCVIGNETTE_FEATHER;Anchura de gradiente +TP_PCVIGNETTE_FEATHER_TOOLTIP;Anchura de gradiente:\n0 = sólo en las esquinas,\n50 = hasta mitad de camino al centro,\n100 = hasta el centro. +TP_PCVIGNETTE_LABEL;Filtro de viñeteado +TP_PCVIGNETTE_ROUNDNESS;Redondez +TP_PCVIGNETTE_ROUNDNESS_TOOLTIP;Redondez:\n0 = rectángulo,\n50 = elipse encajada,\n100 = círculo. +TP_PCVIGNETTE_STRENGTH;Intensidad +TP_PCVIGNETTE_STRENGTH_TOOLTIP;Intensidad del filtro en pasos (alcanzados en las esquinas). +TP_PDSHARPENING_LABEL;Nitidez en captura +TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Factor de recorte de sensor +TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Longitud focal +TP_PERSPECTIVE_CAMERA_FRAME;Corrección +TP_PERSPECTIVE_CAMERA_PITCH;Vertical +TP_PERSPECTIVE_CAMERA_ROLL;Rotación +TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Desplazamiento horizontal +TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Desplazamiento vertical +TP_PERSPECTIVE_CAMERA_YAW;Horizontal +TP_PERSPECTIVE_CONTROL_LINES;Líneas de control +TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+arrastrar: Dibuja una nueva línea\nClic derecho: Borra línea +TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;Se necesitan al menos dos líneas horizontales o dos verticales. +TP_PERSPECTIVE_HORIZONTAL;Horizontal +TP_PERSPECTIVE_LABEL;Perspectiva +TP_PERSPECTIVE_METHOD;Método +TP_PERSPECTIVE_METHOD_CAMERA_BASED;Basado en cámara +TP_PERSPECTIVE_METHOD_SIMPLE;Simple +TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Ajuste post-corrección +TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +TP_PERSPECTIVE_PROJECTION_ROTATE;Rotación +TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Desplazamiento horizontal +TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Desplazamiento vertical +TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +TP_PERSPECTIVE_RECOVERY_FRAME;Recuperación +TP_PERSPECTIVE_VERTICAL;Vertical +TP_PFCURVE_CURVEEDITOR_CH;Matiz +TP_PFCURVE_CURVEEDITOR_CH_TOOLTIP;Controla la intensidad de eliminación de borde púrpura por colores.\nMás alto = más,\nMás bajo = menos. +TP_PREPROCESS_DEADPIXFILT;Filtro de píxel muerto +TP_PREPROCESS_DEADPIXFILT_TOOLTIP;Trata de suprimir los píxels muertos. +TP_PREPROCESS_GREENEQUIL;Equilibrado de verdes +TP_PREPROCESS_HOTPIXFILT;Filtro de píxel caliente +TP_PREPROCESS_HOTPIXFILT_TOOLTIP;Trata de suprimir los píxels calientes. +TP_PREPROCESS_LABEL;Preprocesado +TP_PREPROCESS_LINEDENOISE;Filtro de ruido de línea +TP_PREPROCESS_LINEDENOISE_DIRECTION;Dirección +TP_PREPROCESS_LINEDENOISE_DIRECTION_BOTH;Ambas +TP_PREPROCESS_LINEDENOISE_DIRECTION_HORIZONTAL;Horizontal +TP_PREPROCESS_LINEDENOISE_DIRECTION_PDAF_LINES;Horizontal sólo en líneas de autofoco por diferencia de fase +TP_PREPROCESS_LINEDENOISE_DIRECTION_VERTICAL;Vertical +TP_PREPROCESS_NO_FOUND;No encontrado +TP_PREPROCESS_PDAFLINESFILTER;Filtro de líneas de autofoco por diferencia de fase +TP_PREPROCWB_LABEL;Preprocesado de balance de blancos +TP_PREPROCWB_MODE;Modo +TP_PREPROCWB_MODE_AUTO;Automático +TP_PREPROCWB_MODE_CAMERA;Cámara +TP_PRSHARPENING_LABEL;Nitidez tras cambio de tamaño +TP_PRSHARPENING_TOOLTIP;Aumenta la nitidez de la imagen tras un cambio de tamaño. Sólo funciona cuando se usa el método de cambio de tamaño «Lanczos». No es posible ver los efectos de esta herramienta en la vista previa. Consúltese RawPedia para ver las instrucciones de uso. +TP_RAWCACORR_AUTO;Auto-corrección +TP_RAWCACORR_AUTOIT;Iteraciones +TP_RAWCACORR_AUTOIT_TOOLTIP;Este ajuste está disponible si está marcada la casilla «Auto-corrección».\n\nLa Auto-corrección es conservadora, en el sentido de que a menudo no corrige toda la aberración cromática.\n\nPara corregir la aberración cromática residual, se pueden usar hasta cinco iteraciones de corrección automática de aberración cromática.\n\nCada iteración reducirá la aberración cromática residual de la iteración anterior, al coste de un mayor tiempo de procesamiento. +TP_RAWCACORR_AVOIDCOLORSHIFT;Evitar la deriva de colores +TP_RAWCACORR_CABLUE;Azul +TP_RAWCACORR_CARED;Rojo +TP_RAWCACORR_LABEL;Corrección de aberración cromática +TP_RAWEXPOS_BLACK_0;Verde 1 (principal) +TP_RAWEXPOS_BLACK_1;Rojo +TP_RAWEXPOS_BLACK_2;Azul +TP_RAWEXPOS_BLACK_3;Verde 2 +TP_RAWEXPOS_BLACK_BLUE;Azul +TP_RAWEXPOS_BLACK_GREEN;Verde +TP_RAWEXPOS_BLACK_RED;Rojo +TP_RAWEXPOS_LINEAR;Corrección de punto blanco +TP_RAWEXPOS_RGB;Rojo, Verde, Azul +TP_RAWEXPOS_TWOGREEN;Vincular verdes +TP_RAW_1PASSMEDIUM;1 paso (Markesteijn) +TP_RAW_2PASS;1 paso + rápido +TP_RAW_3PASSBEST;3 pasos (Markesteijn) +TP_RAW_4PASS;3 pasos + rápido +TP_RAW_AHD;AHD +TP_RAW_AMAZE;AMaZE +TP_RAW_AMAZEBILINEAR;AMaZE+Bilineal +TP_RAW_AMAZEVNG4;AMaZE + VNG4 +TP_RAW_BORDER;Borde +TP_RAW_DCB;DCB +TP_RAW_DCBBILINEAR;DCB+Bilineal +TP_RAW_DCBENHANCE;Mejora de DCB +TP_RAW_DCBITERATIONS;Número de iteraciones de DCB +TP_RAW_DCBVNG4;DCB + VNG4 +TP_RAW_DMETHOD;Método +TP_RAW_DMETHOD_PROGRESSBAR;%1 desentramando... +TP_RAW_DMETHOD_PROGRESSBAR_REFINE;Refinado de desentramado... +TP_RAW_DMETHOD_TOOLTIP;Nota: IGV y LMMSE están dedicados a imágenes de ISO alta para ayudar a la reducción de ruido sin generar patrones en laberinto, posterización o un aspecto descolorido.\nPixel Shift es para archivos Pixel Shift de cámaras Pentax/Sony. El método de desentramado se cambia a AMaZE para archivos no Pixel Shift. +TP_RAW_DUALDEMOSAICAUTOCONTRAST;Umbral automático +TP_RAW_DUALDEMOSAICAUTOCONTRAST_TOOLTIP;Si la casilla está activada (recomendado), RawTherapee calcula un valor óptimo basándose en regiones planas de la imagen.\nSi no hay regiones planas en la imagen, o ésta es muy ruidosa, el valor se pondrá a cero.\nPara ajustar el valor manualmente, debe desmarcarse primero la casilla (los valores razonables dependen de la imagen). +TP_RAW_DUALDEMOSAICCONTRAST;Umbral de contraste +TP_RAW_EAHD;EAHD +TP_RAW_FALSECOLOR;Pasos de supresión de falso color +TP_RAW_FAST;Rápido +TP_RAW_HD;Umbral +TP_RAW_HD_TOOLTIP;Los valores bajos hacen más agresiva la detección de píxels muertos/calientes, pero los falsos positivos pueden dar lugar a artefactos. Si se observa la aparición de cualquier artefacto al activar el filtro de píxel muerto/caliente, debe incrementarse gradualmente el umbral hasta que desaparezcan. +TP_RAW_HPHD;HPHD +TP_RAW_IGV;IGV +TP_RAW_IMAGENUM;Sub-imagen +TP_RAW_IMAGENUM_SN;Modo SN +TP_RAW_IMAGENUM_TOOLTIP;Ciertos archivos raw constan de varias sub-imágenes (Pixel Shift de Pentax/Sony, 3 en 1 HDR de Pentax, Dual Pixel de Canon).\n\nSi se usa cualquier método de desentramado distinto de Pixel Shift, esto selecciona qué sub-imagen se usará.\n\nSi se usa el método de desentramado Pixel Shift en un raw Pixel Shift, se usarán todas las sub-imágenes, y esto selecciona qué sub-imagen deberá usarse para objetos móviles. +TP_RAW_LABEL;Desentramado +TP_RAW_LMMSE;LMMSE +TP_RAW_LMMSEITERATIONS;Pasos de mejora LMMSE +TP_RAW_LMMSE_TOOLTIP;Añade gamma (paso 1), mediana (pasos 2-4) y refinado (pasos 5-6) para reducir los artefactos y mejorar la relación señal-ruido. +TP_RAW_MONO;Mono +TP_RAW_NONE;Ninguno (muestra el patrón del sensor) +TP_RAW_PIXELSHIFT;Pixel Shift +TP_RAW_PIXELSHIFTAVERAGE;Usar promedio para objetos en movimiento +TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Se usa el promedio de todas las tomas en lugar de la toma seleccionada para regiones con movimiento.\nCrea un efecto de movimiento en objetos que se mueven lentamente (se superponen). +TP_RAW_PIXELSHIFTBLUR;Difuminar máscara de movimiento +TP_RAW_PIXELSHIFTDMETHOD;Método de desentramado para el movimiento +TP_RAW_PIXELSHIFTEPERISO;Sensibilidad +TP_RAW_PIXELSHIFTEPERISO_TOOLTIP;El valor predeterminado de 0 debería funcionar bien para la ISO base.\nLos valores mayores aumentan la sensibilidad de detección de movimiento.\nEl valor debe cambiarse en pasos pequeños mientras se observan los cambios en la máscara de movimiento.\nPara imágenes subexpuestas o de ISO alta se debe aumentar la sensibilidad. +TP_RAW_PIXELSHIFTEQUALBRIGHT;Ecualizar brillo de las tomas +TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL;Ecualizar por canal +TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL_TOOLTIP;Activado: Ecualiza los canales RGB individualmente.\nDesactivado: Usa el mismo factor de ecualización para todos los canales. +TP_RAW_PIXELSHIFTEQUALBRIGHT_TOOLTIP;Ecualiza el brillo de las tomas al brillo de la toma seleccionada.\nSi hay áreas sobreexpuestas en las tomas, se debe seleccionar la toma más brillante para evitar una dominante magenta en las áreas sobreexpuestas, o bien activar la corrección de movimiento. +TP_RAW_PIXELSHIFTGREEN;Comprobar si hay movimiento en el canal verde +TP_RAW_PIXELSHIFTHOLEFILL;Rellenar huecos en la máscara de movimiento +TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Rellena huecos en la máscara de movimiento. +TP_RAW_PIXELSHIFTMEDIAN;Usar mediana para zonas con movimiento +TP_RAW_PIXELSHIFTMEDIAN_TOOLTIP;Usa la mediana de todas las tomas en lugar de la toma seleccionada para regiones con movimiento.\nElimina objetos situados en lugares diferentes en las diversas tomas.\nGenera efecto de movimiento en objetos de movimiento lento (superpuestos). +TP_RAW_PIXELSHIFTMM_AUTO;Automático +TP_RAW_PIXELSHIFTMM_CUSTOM;Personalizado +TP_RAW_PIXELSHIFTMM_OFF;Desactivado +TP_RAW_PIXELSHIFTMOTIONMETHOD;Corrección de movimiento +TP_RAW_PIXELSHIFTNONGREENCROSS;Comprobar si hay movimiento en los canales rojo/azul +TP_RAW_PIXELSHIFTSHOWMOTION;Mostrar la máscara de movimiento +TP_RAW_PIXELSHIFTSHOWMOTIONMASKONLY;Mostrar sólo la máscara de movimiento +TP_RAW_PIXELSHIFTSHOWMOTIONMASKONLY_TOOLTIP;Muestra la máscara de movimiento sin la imagen. +TP_RAW_PIXELSHIFTSHOWMOTION_TOOLTIP;Superpone una máscara verde a la imagen, que muestra las regiones con movimiento. +TP_RAW_PIXELSHIFTSIGMA;Radio de difuminado +TP_RAW_PIXELSHIFTSIGMA_TOOLTIP;El radio predeterminado de 1.0 normalmente se adapta bien a la ISO base.\nPara tomas con ISO alta debe aumentarse el valor. 5.0 es un buen punto de partida.\nDebe observarse la máscara de movimiento mientras se cambia el valor. +TP_RAW_PIXELSHIFTSMOOTH;Suavizar las transiciones +TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Suaviza las transiciones entre áreas con y sin movimiento.\nPara desactivar el suavizado de las transiciones, el valor se ajusta a 0.\nPara obtener, o bien el resultado de AMaZE/LMMSE de la toma seleccionada (en función de si «Usar LMMSE» está seleccionado o no), o bien la mediana de las cuatro tomas si está seleccionado «Usar mediana», el valor se ajusta a 1. +TP_RAW_RCD;RCD +TP_RAW_RCDBILINEAR;RCD+Bilineal +TP_RAW_RCDVNG4;RCD+VNG4 +TP_RAW_SENSOR_BAYER_LABEL;Sensor con matriz Bayer +TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;El método de 3 pasos da los mejores resultados (recomendado para imágenes de ISO baja).\nEl método de 1 paso es casi indistinguible del de 3 pasos para imágenes de ISO alta y es más rápido.\n+rápido genera menos artefactos en zonas planas. +TP_RAW_SENSOR_XTRANS_LABEL;Sensor con matriz X-Trans +TP_RAW_VNG4;VNG4 +TP_RAW_XTRANS;X-Trans +TP_RAW_XTRANSFAST;X-Trans rápido +TP_RESIZE_ALLOW_UPSCALING;Permitir aumento de tamaño +TP_RESIZE_APPLIESTO;Se aplica a: +TP_RESIZE_CROPPEDAREA;Área recortada +TP_RESIZE_FITBOX;Rectángulo límite +TP_RESIZE_FULLIMAGE;Imagen completa +TP_RESIZE_H;Altura: +TP_RESIZE_HEIGHT;Altura +TP_RESIZE_LABEL;Cambio de tamaño +TP_RESIZE_LANCZOS;Lanczos +TP_RESIZE_LE;Lado largo: +TP_RESIZE_LONG;Lado largo +TP_RESIZE_METHOD;Método: +TP_RESIZE_NEAREST;El más cercano +TP_RESIZE_SCALE;Escala +TP_RESIZE_SE;Lado corto: +TP_RESIZE_SHORT;Lado corto +TP_RESIZE_SPECIFY;Especificar: +TP_RESIZE_W;Anchura: +TP_RESIZE_WIDTH;Anchura +TP_RETINEX_CONTEDIT_HSL;Histograma HSL +TP_RETINEX_CONTEDIT_LAB;Histograma L*a*b* +TP_RETINEX_CONTEDIT_LH;Matiz +TP_RETINEX_CONTEDIT_MAP;Ecualizador +TP_RETINEX_CURVEEDITOR_CD;L=f(L) +TP_RETINEX_CURVEEDITOR_CD_TOOLTIP;Luminancia en función de la luminancia L=f(L)\nCorrige datos raw para reducir halos y artefactos. +TP_RETINEX_CURVEEDITOR_LH;Intensidad=f(H) +TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Intensidad en función del matiz Intensidad=f(H)\nEsta curva también actúa en la cromaticidad cuando se usa el método de retinex «Luces». +TP_RETINEX_CURVEEDITOR_MAP;L=f(L) +TP_RETINEX_CURVEEDITOR_MAP_TOOLTIP;Esta curva se puede aplicar sola o con una máscara gaussiana o máscara de ondículas.\n¡Cuidado con los artefactos! +TP_RETINEX_EQUAL;Ecualizador +TP_RETINEX_FREEGAMMA;Gamma libre +TP_RETINEX_GAIN;Ganancia +TP_RETINEX_GAINOFFS;Ganancia y desplazamiento (brillo) +TP_RETINEX_GAINTRANSMISSION;Ganancia de transmisión +TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplifica o reduce el mapa de transmisión para conseguir la luminancia deseada.\nEl eje x es la transmisión.\nEl eje y es la ganancia. +TP_RETINEX_GAMMA;Gamma +TP_RETINEX_GAMMA_FREE;Libre +TP_RETINEX_GAMMA_HIGH;Alta +TP_RETINEX_GAMMA_LOW;Baja +TP_RETINEX_GAMMA_MID;Media +TP_RETINEX_GAMMA_NONE;Ninguna +TP_RETINEX_GAMMA_TOOLTIP;Restaura tonos aplicando la gamma antes y después de Retinex. Es diferente de las curvas Retinex u otras (L*a*b*, Exposición, etc.). +TP_RETINEX_GRAD;Gradiente de transmisión +TP_RETINEX_GRADS;Gradiente de intensidad +TP_RETINEX_GRADS_TOOLTIP;Si el deslizador está a 0, todas las iteraciones son idénticas.\nSi es > 0, la Intensidad se reduce al incrementarse las iteraciones, y viceversa. +TP_RETINEX_GRAD_TOOLTIP;Si el deslizador está a 0, todas las iteraciones son idénticas.\nSi es > 0, la Varianza y el Umbral se reducen al incrementarse las iteraciones, y viceversa. +TP_RETINEX_HIGH;Alto +TP_RETINEX_HIGHLIG;Luces +TP_RETINEX_HIGHLIGHT;Umbral de luces +TP_RETINEX_HIGHLIGHT_TOOLTIP;Aumenta la acción del algoritmo Alto.\nPuede ser necesario reajustar «Píxels vecinos» e incrementar la «Corrección de punto blanco» en la pestaña Raw -> herramienta Puntos de blanco Raw. +TP_RETINEX_HSLSPACE_LIN;HSL-Lineal +TP_RETINEX_HSLSPACE_LOG;HSL-Logarítmico +TP_RETINEX_ITER;Iteraciones (Mapeo tonal) +TP_RETINEX_ITERF;Mapeo tonal +TP_RETINEX_ITER_TOOLTIP;Simula un operador de mapeo tonal.\nLos valores altos aumentan el tiempo de procesamiento. +TP_RETINEX_LABEL;Retinex +TP_RETINEX_LABEL_MASK;Máscara +TP_RETINEX_LABSPACE;L*a*b* +TP_RETINEX_LOW;Bajo +TP_RETINEX_MAP;Método +TP_RETINEX_MAP_GAUS;Máscara gaussiana +TP_RETINEX_MAP_MAPP;Máscara de nitidez (ondícula parcial) +TP_RETINEX_MAP_MAPT;Máscara de nitidez (ondícula total) +TP_RETINEX_MAP_METHOD_TOOLTIP;Usa la máscara generada por la función Gaussiana (Radio, Método) para reducir halos y artefactos.\n\nSólo curva: aplica una curva de contraste diagonal a la máscara. ¡Cuidado con los artefactos!\n\nMáscara gaussiana: genera y usa un difuminado Gaussiano sobre la máscara original. Es un método rápido.\n\nMáscara de nitidez: genera y usa una ondícula sobre la máscara original. Es un método lento. +TP_RETINEX_MAP_NONE;Ninguno +TP_RETINEX_MEDIAN;Filtro de mediana de transmisión +TP_RETINEX_METHOD;Método +TP_RETINEX_METHOD_TOOLTIP;Bajo = Refuerza la luz baja.\nUniforme = Ecualiza la acción.\nAlto = Refuerza la luz intensa.\nLuces = Elimina el magenta en las luces. +TP_RETINEX_MLABEL;Datos restaurados Min=%1 Max=%2 +TP_RETINEX_MLABEL_TOOLTIP;Los valores deberían estar cerca de min=0 max=32768 (modo logarítmico), pero son posibles otros valores. Se puede ajustar «Recortar datos restaurados (ganancia)» y «Desplazamiento» para normalizar.\nRecupera los datos de la imagen sin mezclar. +TP_RETINEX_NEIGHBOR;Radio +TP_RETINEX_NEUTRAL;Reiniciar +TP_RETINEX_NEUTRAL_TOOLTIP;Reinicia todos los deslizadores y curvas a sus valores predeterminados. +TP_RETINEX_OFFSET;Desplazamiento (brillo) +TP_RETINEX_SCALES;Gradiente gaussiano +TP_RETINEX_SCALES_TOOLTIP;Si el deslizador está a 0, todas las iteraciones son idénticas.\nSi es > 0, la Escala y el Radio se reducen al incrementarse las iteraciones, y viceversa. +TP_RETINEX_SETTINGS;Ajustes +TP_RETINEX_SKAL;Escala +TP_RETINEX_SLOPE;Pendiente libre de gamma +TP_RETINEX_STRENGTH;Intensidad +TP_RETINEX_THRESHOLD;Umbral +TP_RETINEX_THRESHOLD_TOOLTIP;Limita la entrada/salida.\nEntrada = imagen origen,\nSalida = imagen gaussiana. +TP_RETINEX_TLABEL;TM Min=%1 Max=%2 Media=%3 Sigma=%4 +TP_RETINEX_TLABEL2;TM Efectiva Tm=%1 TM=%2 +TP_RETINEX_TLABEL_TOOLTIP;Resultado del mapa de transmisión.\nMin y Max son utilizados por la Varianza.\nTm=Min TM=Max del mapa de transmisión.\nSe pueden normalizar los resultados con el deslizador de umbral. +TP_RETINEX_TRANF;Transmisión +TP_RETINEX_TRANSMISSION;Mapa de transmisión +TP_RETINEX_TRANSMISSION_TOOLTIP;Transmisión en función de la transmisión.\nAbscisas: transmisión desde valores negativos (min), media, y valores positivos (max).\nOrdenadas: amplificación o reducción. +TP_RETINEX_UNIFORM;Uniforme +TP_RETINEX_VARIANCE;Contraste +TP_RETINEX_VARIANCE_TOOLTIP;Una varianza baja aumenta el contraste local y la saturación, pero puede producir artefactos. +TP_RETINEX_VIEW;Proceso +TP_RETINEX_VIEW_MASK;Máscara +TP_RETINEX_VIEW_METHOD_TOOLTIP;Estándar - Vista normal.\nMáscara - Muestra la máscara.\nMáscara de nitidez - Muestra la imagen con una máscara de nitidez de radio alto.\nTransmisión - Auto/Fija - Muestra el archivo de mapa de transmisión, antes de cualquier acción sobre el contraste y el brillo.\n\nAtención: la máscara no corresponde a la realidad, pero se amplifica para hacerla más visible. +TP_RETINEX_VIEW_NONE;Estándar +TP_RETINEX_VIEW_TRAN;Transmisión - Auto +TP_RETINEX_VIEW_TRAN2;Transmisión - Fijo +TP_RETINEX_VIEW_UNSHARP;Máscara de nitidez +TP_RGBCURVES_BLUE;B +TP_RGBCURVES_CHANNEL;Canal +TP_RGBCURVES_GREEN;G +TP_RGBCURVES_LABEL;Curvas RGB +TP_RGBCURVES_LUMAMODE;Modo de luminosidad +TP_RGBCURVES_LUMAMODE_TOOLTIP;Modo de luminosidad permite variar la contribución de los canales R, G y B a la luminosidad de la imagen, sin alterar el color de la imagen. +TP_RGBCURVES_RED;R +TP_ROTATE_DEGREE;Grados +TP_ROTATE_LABEL;Rotación +TP_ROTATE_SELECTLINE;Seleccionar línea recta +TP_SAVEDIALOG_OK_TOOLTIP;Atajo de teclado: Ctrl-Intro +TP_SHADOWSHLIGHTS_HIGHLIGHTS;Luces +TP_SHADOWSHLIGHTS_HLTONALW;Anchura tonal de las luces +TP_SHADOWSHLIGHTS_LABEL;Sombras/Luces +TP_SHADOWSHLIGHTS_RADIUS;Radio +TP_SHADOWSHLIGHTS_SHADOWS;Sombras +TP_SHADOWSHLIGHTS_SHTONALW;Anchura tonal de las sombras +TP_SHARPENEDGE_AMOUNT;Cantidad +TP_SHARPENEDGE_LABEL;Bordes +TP_SHARPENEDGE_PASSES;Iteraciones +TP_SHARPENEDGE_THREE;Sólo luminancia +TP_SHARPENING_AMOUNT;Cantidad +TP_SHARPENING_BLUR;Radio de difuminado +TP_SHARPENING_CONTRAST;Umbral de contraste +TP_SHARPENING_EDRADIUS;Radio +TP_SHARPENING_EDTOLERANCE;Tolerancia a bordes +TP_SHARPENING_HALOCONTROL;Control de halo +TP_SHARPENING_HCAMOUNT;Cantidad +TP_SHARPENING_ITERCHECK;Auto limitar iteraciones +TP_SHARPENING_LABEL;Nitidez +TP_SHARPENING_METHOD;Método +TP_SHARPENING_ONLYEDGES;Nitidez sólo en bordes +TP_SHARPENING_RADIUS;Radio +TP_SHARPENING_RADIUS_BOOST;Aumento del Radio en las esquinas +TP_SHARPENING_RLD;Deconvolución RL +TP_SHARPENING_RLD_AMOUNT;Cantidad +TP_SHARPENING_RLD_DAMPING;Amortiguación +TP_SHARPENING_RLD_ITERATIONS;Iteraciones +TP_SHARPENING_THRESHOLD;Umbral +TP_SHARPENING_USM;Máscara de nitidez +TP_SHARPENMICRO_AMOUNT;Cantidad +TP_SHARPENMICRO_CONTRAST;Umbral de contraste +TP_SHARPENMICRO_LABEL;Microcontraste +TP_SHARPENMICRO_MATRIX;Matriz 3x3 en lugar de 5x5 +TP_SHARPENMICRO_UNIFORMITY;Uniformidad +TP_SOFTLIGHT_LABEL;Luz suave +TP_SOFTLIGHT_STRENGTH;Intensidad +TP_SPOT_COUNTLABEL;%1 punto(s) +TP_SPOT_DEFAULT_SIZE;Tamaño predeterminado del punto +TP_SPOT_ENTRYCHANGED;Punto cambiado +TP_SPOT_HINT;Púlsese este botón para operar en la vista previa.\n\nPara editar un punto, se acerca el cursor del ratón a la marca blanca que localiza un área editada, lo que hace aparecer la geometría de edición.\n\nPara añadir un punto, se pulsa Ctrl y clic izquierdo, se arrastra el círculo (se puede soltar la tecla Ctrl) a una ubicación de origen, y a continuación se suelta el botón del ratón.\n\nPara mover el punto origen o destino, se acerca el cursor del ratón a su centro y se arrastra.\n\nEl tamaño del círculo interior (área de máximo efecto) y del círculo de «degradado» puede cambiarse acercando el cursor del ratón (el círculo cambia a naranja) y arrastrándolo (el círculo cambia a rojo).\n\nTras finalizar los cambios, el modo de Edición de puntos se termina haciendo clic derecho fuera de cualquier punto, o haciendo clic de nuevo en este botón. +TP_SPOT_LABEL;Eliminación de manchas +TP_TM_FATTAL_AMOUNT;Cantidad +TP_TM_FATTAL_ANCHOR;Anclaje +TP_TM_FATTAL_LABEL;Compresión de rango dinámico +TP_TM_FATTAL_THRESHOLD;Detalle +TP_VIBRANCE_AVOIDCOLORSHIFT;Evitar la deriva de colores +TP_VIBRANCE_CURVEEDITOR_SKINTONES;HH +TP_VIBRANCE_CURVEEDITOR_SKINTONES_LABEL;Tonos de piel +TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE1;Rojo/Púrpura +TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE2;Rojo +TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE3;Rojo/Amarillo +TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE4;Amarillo +TP_VIBRANCE_CURVEEDITOR_SKINTONES_TOOLTIP;Matiz en función del matiz H=f(H) +TP_VIBRANCE_LABEL;Vivacidad +TP_VIBRANCE_PASTELS;Tonos pastel +TP_VIBRANCE_PASTSATTOG;Vincular tonos pastel y saturados +TP_VIBRANCE_PROTECTSKINS;Proteger tonos de piel +TP_VIBRANCE_PSTHRESHOLD;Umbral entre tonos pastel/saturados +TP_VIBRANCE_PSTHRESHOLD_SATTHRESH;Umbral de saturación +TP_VIBRANCE_PSTHRESHOLD_TOOLTIP;El eje vertical representa los tonos pastel en la parte inferior y los tonos saturados en la superior.\nEl eje horizontal representa el rango de saturación. +TP_VIBRANCE_PSTHRESHOLD_WEIGTHING;Ponderación de la transición entre pastel y saturado +TP_VIBRANCE_SATURATED;Tonos saturados +TP_VIGNETTING_AMOUNT;Cantidad +TP_VIGNETTING_CENTER;Centro +TP_VIGNETTING_CENTER_X;Centro X +TP_VIGNETTING_CENTER_Y;Centro Y +TP_VIGNETTING_LABEL;Corrección de viñeteo +TP_VIGNETTING_RADIUS;Radio +TP_VIGNETTING_STRENGTH;Intensidad +TP_WAVELET_1;Nivel 1 +TP_WAVELET_2;Nivel 2 +TP_WAVELET_3;Nivel 3 +TP_WAVELET_4;Nivel 4 +TP_WAVELET_5;Nivel 5 +TP_WAVELET_6;Nivel 6 +TP_WAVELET_7;Nivel 7 +TP_WAVELET_8;Nivel 8 +TP_WAVELET_9;Nivel 9 +TP_WAVELET_APPLYTO;Se aplica a +TP_WAVELET_AVOID;Evitar la deriva de colores +TP_WAVELET_B0;Negro +TP_WAVELET_B1;Gris +TP_WAVELET_B2;Residual +TP_WAVELET_BACKGROUND;Fondo +TP_WAVELET_BACUR;Curva +TP_WAVELET_BALANCE;Balance de contraste diag./vert.-horiz. +TP_WAVELET_BALANCE_TOOLTIP;Altera el balance entre las direcciones de las ondículas: vertical-horizontal y diagonal.\nSi están activados el contraste, la cromaticidad o el mapeo tonal residual, el efecto del balance se amplifica. +TP_WAVELET_BALCHRO;Balance de cromaticidad +TP_WAVELET_BALCHROM;Ecualizador reducc. ruido Azul-amarillo/Rojo-verde +TP_WAVELET_BALCHRO_TOOLTIP;Si está activado, la curva o el deslizador de «Balance de contraste» también modifica el balance de cromaticidad. +TP_WAVELET_BALLUM;Ecualizador reducc. ruido Blanco-Negro +TP_WAVELET_BANONE;Ninguno +TP_WAVELET_BASLI;Deslizador +TP_WAVELET_BATYPE;Método de balance de contraste +TP_WAVELET_BL;Difuminar niveles +TP_WAVELET_BLCURVE;Difuminar por niveles +TP_WAVELET_BLURFRAME;Difuminado +TP_WAVELET_BLUWAV;Respuesta de atenuación +TP_WAVELET_CBENAB;Virado y balance de color +TP_WAVELET_CB_TOOLTIP;Con valores grandes se pueden crear efectos especiales, similares a los que se consiguen con el módulo de Cromaticidad, pero centrados en la imagen residual.\nCon valores moderados se puede corregir el balance de blancos. +TP_WAVELET_CCURVE;Contraste local +TP_WAVELET_CH1;Todo el rango de cromaticidad +TP_WAVELET_CH2;Saturado/pastel +TP_WAVELET_CH3;Vincular niveles de contraste +TP_WAVELET_CHCU;Curva +TP_WAVELET_CHR;Intensidad del vínculo cromaticidad-contraste +TP_WAVELET_CHRO;Umbral saturado/pastel +TP_WAVELET_CHROFRAME;Reducc. ruido cromaticidad +TP_WAVELET_CHROMAFRAME;Cromaticidad +TP_WAVELET_CHROMCO;Cromaticidad gruesa +TP_WAVELET_CHROMFI;Cromaticidad fina +TP_WAVELET_CHRO_TOOLTIP;Ajusta el nivel de ondículas que será el umbral entre colores saturados y pastel.\n1-x: saturados\nx-9: pastel\n\nSi el valor excede el número de niveles de ondículas en uso, se ignorará. +TP_WAVELET_CHRWAV;Difuminar cromaticidad +TP_WAVELET_CHR_TOOLTIP;Ajusta la cromaticidad como una función de los «niveles de contraste» y la «intensidad del vínculo entre cromaticidad y contraste». +TP_WAVELET_CHSL;Deslizadores +TP_WAVELET_CHTYPE;Método de cromaticidad +TP_WAVELET_CLA;Claridad +TP_WAVELET_CLARI;Máscara de nitidez y Claridad +TP_WAVELET_COLORT;Opacidad rojo-verde +TP_WAVELET_COMPCONT;Contraste +TP_WAVELET_COMPEXPERT;Avanzado +TP_WAVELET_COMPGAMMA;Gamma de compresión +TP_WAVELET_COMPGAMMA_TOOLTIP;El ajuste de gamma de la imagen residual permite equilibrar los datos y el histograma. +TP_WAVELET_COMPLEXLAB;Complejidad +TP_WAVELET_COMPLEX_TOOLTIP;Estándar: muestra un conjunto reducido de herramientas, apropiado para la mayoría de operaciones de procesado.\n\nAvanzado: muestra el conjunto completo de herramientas para operaciones avanzadas de procesado. +TP_WAVELET_COMPNORMAL;Estándar +TP_WAVELET_COMPTM;Mapeo tonal +TP_WAVELET_CONTEDIT;Curva de contraste «Después» +TP_WAVELET_CONTFRAME;Contraste - Compresión +TP_WAVELET_CONTR;Rango de colores +TP_WAVELET_CONTRA;Contraste +TP_WAVELET_CONTRAST_MINUS;Contraste - +TP_WAVELET_CONTRAST_PLUS;Contraste + +TP_WAVELET_CONTRA_TOOLTIP;Cambia el contraste de la imagen residual. +TP_WAVELET_CTYPE;Control de cromaticidad +TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Desactivado si la ampliación de la vista previa > aprox. 300%. +TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;Aumenta o disminuye el contraste local original (en el eje horizontal).\n\nLos valores bajos en el eje horizontal representan un contraste local bajo (valores reales alrededor de 10...20).\n\nUn valor en el 50% del eje horizontal representa un contraste local promedio (valor real alrededor de 100...300).\n\nUn valor del 66% representa la desviación estándar del contraste local (valor real alrededor de 300...800).\n\nEl valor del 100% representa el contraste local máximo (valor real alrededor de 3000...8000). +TP_WAVELET_CURVEEDITOR_CH;Niveles de contraste=f(Matiz) +TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Modifica el contraste de cada nivel en función del matiz.\n\nHay que tener cuidado de no sobreescribir cambios realizados con los controles de matiz de la sub-herramienta Rango de colores.\n\nLa curva sólo tendrá efectos cuando los valores de los deslizadores de contraste de nivel sean distintos de cero. +TP_WAVELET_CURVEEDITOR_CL;L +TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Aplica una curva final de contraste de luminancia al final del tratamiento de ondículas. +TP_WAVELET_CURVEEDITOR_HH;HH +TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifica el matiz de la imagen residual en función del matiz. +TP_WAVELET_DALL;Todas las direcciones +TP_WAVELET_DAUB;Rendimiento en bordes +TP_WAVELET_DAUB2;D2 - bajo +TP_WAVELET_DAUB4;D4 - estándar +TP_WAVELET_DAUB6;D6 - estándar plus +TP_WAVELET_DAUB10;D10 - medio +TP_WAVELET_DAUB14;D14 - alto +TP_WAVELET_DAUBLOCAL;Rendimiento de ondículas en bordes +TP_WAVELET_DAUB_TOOLTIP;Cambia los coeficientes de Daubechies:\nD4 = Estándar,\nD14 = A menudo ofrece el mejor rendimiento, con un 10% más de tiempo de ejecución.\n\nAfecta a la detección de bordes, así como a la calidad general de los primeros niveles. No obstante, la calidad no está estrictamente relacionada con este coeficiente, y puede variar de unas imágenes y usos a otros/as. +TP_WAVELET_DEN5THR;Umbral guiado +TP_WAVELET_DENCURV;Curva +TP_WAVELET_DENL;Corrección estructura +TP_WAVELET_DENLH;Umbral guiado por niveles de detalle 1-4 +TP_WAVELET_DENLOCAL_TOOLTIP;Usa una curva para guiar la reducción de ruido en función del contraste local.\nSe reduce el ruido de las zonas, manteniendo las estructuras. +TP_WAVELET_DENMIX_TOOLTIP;Equilibra la acción de la guía teniendo en cuenta la imagen original y la imagen con el ruido reducido. +TP_WAVELET_DENOISE;Curva guía basada en contraste local +TP_WAVELET_DENOISEGUID;Umbral guiado basado en el matiz +TP_WAVELET_DENOISEH;Curva de contraste local niveles altos +TP_WAVELET_DENOISEHUE;Ecualizador de reducc. de ruido de matiz +TP_WAVELET_DENQUA;Modo +TP_WAVELET_DENSIGMA_TOOLTIP;Adapta la forma de la guía. +TP_WAVELET_DENSLI;Deslizador +TP_WAVELET_DENSLILAB;Método +TP_WAVELET_DENWAVGUID_TOOLTIP;Usa el matiz para reducir o aumentar la acción del filtro guiado. +TP_WAVELET_DENWAVHUE_TOOLTIP;Amplifica o reduce la reducción de ruido en función del color. +TP_WAVELET_DETEND;Detalles +TP_WAVELET_DIRFRAME;Contraste direccional +TP_WAVELET_DONE;Vertical +TP_WAVELET_DTHR;Diagonal +TP_WAVELET_DTWO;Horizontal +TP_WAVELET_EDCU;Curva +TP_WAVELET_EDEFFECT;Respuesta de atenuación +TP_WAVELET_EDEFFECT_TOOLTIP;Este deslizador selecciona el rango de valores de contraste que recibirán el efecto íntegro de cualquier ajuste. +TP_WAVELET_EDGCONT;Contraste local +TP_WAVELET_EDGCONT_TOOLTIP;El ajuste de los puntos hacia la izquierda disminuye el contraste, y hacia la derecha lo aumenta.\nAbajo-izquierda, arriba-izquierda, arriba-derecha y abajo-derecha representan, respectivamente, el contraste local para valores bajos, la media, la media más la desviación estándar y el máximo. +TP_WAVELET_EDGE;Nitidez de bordes +TP_WAVELET_EDGEAMPLI;Amplificación base +TP_WAVELET_EDGEDETECT;Sensibilidad del gradiente +TP_WAVELET_EDGEDETECTTHR;Umbral bajo (ruido) +TP_WAVELET_EDGEDETECTTHR2;Mejora de bordes +TP_WAVELET_EDGEDETECTTHR_TOOLTIP;Este deslizador establece un umbral por debajo del cual los detalles más finos no se considerarán como un borde. +TP_WAVELET_EDGEDETECT_TOOLTIP;Si se mueve el deslizador hacia la derecha, se aumenta la sensibilidad a los bordes. Esto afecta al contraste local, a los ajustes de bordes y al ruido. +TP_WAVELET_EDGESENSI;Sensibilidad a los bordes +TP_WAVELET_EDGREINF_TOOLTIP;Refuerza o reduce la acción del primer nivel, hace lo contrario al segundo nivel, y deja intacto el resto. +TP_WAVELET_EDGTHRESH;Detalle +TP_WAVELET_EDGTHRESH_TOOLTIP;Cambia el reparto entre los primeros niveles y los demás. Cuanto mayor sea el umbral, más se centrará la acción en los primeros niveles. Hay que tener cuidado con los valores negativos, pues aumentan la acción de los niveles altos y pueden introducir artefactos. +TP_WAVELET_EDRAD;Radio +TP_WAVELET_EDRAD_TOOLTIP;Este ajuste controla la mejora local. Un valor de cero todavía tiene efectos. +TP_WAVELET_EDSL;Deslizadores de umbral +TP_WAVELET_EDTYPE;Método de contraste local +TP_WAVELET_EDVAL;Intensidad +TP_WAVELET_FINAL;Retoque final +TP_WAVELET_FINCFRAME;Contraste local final +TP_WAVELET_FINEST;El más fino +TP_WAVELET_FINTHR_TOOLTIP;Usa el contraste local para reducir o aumentar la acción del filtro guiado. +TP_WAVELET_GUIDFRAME;Suavizado final (filtro guiado) +TP_WAVELET_HIGHLIGHT;Rango de luminancia de niveles más finos +TP_WAVELET_HS1;Todo el rango de luminancia +TP_WAVELET_HS2;Rango selectivo de luminancia +TP_WAVELET_HUESKIN;Matiz de piel +TP_WAVELET_HUESKIN_TOOLTIP;Los puntos inferiores establecen el principio de la zona de transición, y los superiores el final, donde el efecto es máximo.\n\nSi se necesita mover el área de forma significativa, o si hay artefactos, significa que el balance de blancos es incorrecto. +TP_WAVELET_HUESKY;Matiz del cielo +TP_WAVELET_HUESKY_TOOLTIP;Los puntos inferiores establecen el principio de la zona de transición, y los superiores el final, donde el efecto es máximo.\n\nSi se necesita mover el área de forma significativa, o si hay artefactos, significa que el balance de blancos es incorrecto. +TP_WAVELET_ITER;Delta en equilibrio de niveles +TP_WAVELET_ITER_TOOLTIP;Izquierda: incrementa los niveles bajos y reduce los niveles altos,\nDerecha: reduce los niveles bajos e incrementa los niveles altos. +TP_WAVELET_LABEL;Niveles de ondículas +TP_WAVELET_LABGRID_VALUES;Alto(a)=%1 Alto(b)=%2\nBajo(a)=%3 Bajo(b)=%4 +TP_WAVELET_LARGEST;El más grueso +TP_WAVELET_LEVCH;Cromaticidad +TP_WAVELET_LEVDEN;Reducc. ruido niveles 5-6 +TP_WAVELET_LEVDIR_ALL;Todos los niveles en todas direcciones +TP_WAVELET_LEVDIR_INF;Niveles de detalle más fino, incluyendo el seleccionado +TP_WAVELET_LEVDIR_ONE;Un nivel +TP_WAVELET_LEVDIR_SUP;Niveles de detalle más grueso, excluyendo el seleccionado +TP_WAVELET_LEVELHIGH;Radio 5-6 +TP_WAVELET_LEVELLOW;Radio 1-4 +TP_WAVELET_LEVELS;Niveles de ondículas +TP_WAVELET_LEVELSIGM;Radio +TP_WAVELET_LEVELS_TOOLTIP;Elige el número de niveles de detalle en que se debe descomponer la imagen.\nEl uso de más niveles necesita más memoria RAM y más tiempo de procesamiento. +TP_WAVELET_LEVF;Contraste +TP_WAVELET_LEVFOUR;Reducc. ruido y umbral guiado niveles 5-6 +TP_WAVELET_LEVLABEL;Máximo de niveles posibles en vista previa = %1 +TP_WAVELET_LEVONE;Nivel 2 +TP_WAVELET_LEVTHRE;Nivel 4 +TP_WAVELET_LEVTWO;Nivel 3 +TP_WAVELET_LEVZERO;Nivel 1 +TP_WAVELET_LIMDEN;Interacción de niveles 5-6 en niveles 1-4 +TP_WAVELET_LINKEDG;Vincular con intensidad de nitidez de bordes +TP_WAVELET_LIPST;Algoritmo mejorado +TP_WAVELET_LOWLIGHT;Rango de luminancia de niveles más gruesos +TP_WAVELET_LOWTHR_TOOLTIP;Evita la amplificación de texturas finas y ruido. +TP_WAVELET_MEDGREINF;Primer nivel +TP_WAVELET_MEDI;Reducir artefactos en el cielo azul +TP_WAVELET_MEDILEV;Detección de bordes +TP_WAVELET_MEDILEV_TOOLTIP;Al activar Detección de bordes, se recomienda:\n- desactivar los niveles de bajo contraste para evitar artefactos,\n- usar valores altos de sensibilidad de gradiente.\n\nSe puede modular la intensidad con «Refinar», en Reducción de ruido y refinado. +TP_WAVELET_MERGEC;Fusionar cromaticidad +TP_WAVELET_MERGEL;Fusionar luminancia +TP_WAVELET_MIXCONTRAST;Contraste local de referencia +TP_WAVELET_MIXDENOISE;Reducción de ruido +TP_WAVELET_MIXMIX;Mezcla 50% ruido - 50% reducc. ruido +TP_WAVELET_MIXMIX70;Mezcla 30% ruido - 70% reducc. ruido +TP_WAVELET_MIXNOISE;Ruido +TP_WAVELET_NEUTRAL;Neutro +TP_WAVELET_NOIS;Reducción de ruido +TP_WAVELET_NOISE;Reducción de ruido y refinado +TP_WAVELET_NPHIGH;Alto +TP_WAVELET_NPLOW;Bajo +TP_WAVELET_NPNONE;Ninguno +TP_WAVELET_NPTYPE;Píxels vecinos +TP_WAVELET_NPTYPE_TOOLTIP;Este algoritmo usa la proximidad de un píxel y ocho de sus vecinos. Si hay menos diferencia, se refuerzan los bordes. +TP_WAVELET_OFFSET_TOOLTIP;El desplazamiento modifica el equilibrio entre detalles de contraste bajo y alto.\n\nLos valores altos amplifican los cambios de contraste hacia detalles de contraste más alto, mientras que los valores bajos amplifican cambios de contraste hacia detalles de contraste bajo.\n\nEl uso de una baja respuesta de atenuación permite seleccionar qué valores de contraste se mejorarán. +TP_WAVELET_OLDSH;Algoritmo que usa valores negativos +TP_WAVELET_OPACITY;Opacidad azul-amarillo +TP_WAVELET_OPACITYW;Curva de equilibrio de contraste diag./vert.-horiz. +TP_WAVELET_OPACITYWL;Contraste local final +TP_WAVELET_OPACITYWL_TOOLTIP;Modifica el contraste local final al final del tratamiento de ondículas.\n\nEl lado izquierdo representa el contraste local más bajo, progresando hacia el contraste local más alto, a la derecha. +TP_WAVELET_PASTEL;Cromaticidad de pastel +TP_WAVELET_PROC;Proceso +TP_WAVELET_PROTAB;Protección +TP_WAVELET_QUAAGRES;Agresivo +TP_WAVELET_QUACONSER;Conservador +TP_WAVELET_RADIUS;Radio sombras - luces +TP_WAVELET_RANGEAB;Rango a y b % +TP_WAVELET_RE1;Reforzado +TP_WAVELET_RE2;Sin cambios +TP_WAVELET_RE3;Reducido +TP_WAVELET_RESBLUR;Difuminar luminancia +TP_WAVELET_RESBLURC;Difuminar cromaticidad +TP_WAVELET_RESBLUR_TOOLTIP;Desactivado si ampliación > alrededor de 500%. +TP_WAVELET_RESCHRO;Intensidad +TP_WAVELET_RESCON;Sombras +TP_WAVELET_RESCONH;Luces +TP_WAVELET_RESID;Imagen residual +TP_WAVELET_SAT;Cromaticidad de saturados +TP_WAVELET_SETTINGS;Ajustes de ondículas +TP_WAVELET_SHA;Máscara de nitidez +TP_WAVELET_SHFRAME;Sombras/Luces +TP_WAVELET_SHOWMASK;Mostrar «máscara» de ondículas +TP_WAVELET_SIGM;Radio +TP_WAVELET_SIGMA;Respuesta de atenuación +TP_WAVELET_SIGMAFIN;Respuesta de atenuación +TP_WAVELET_SIGMA_TOOLTIP;El efecto de los deslizadores de contraste es más fuerte en detalles de contraste medio, y más débil en detalles de alto y bajo contraste.\n\nCon este deslizador se puede controlar la rapidez de amortiguación del efecto hacia los contrastes extremos.\n\nCuanto más alto se ajusta el deslizador, más amplio es el rango de contrastes que recibirán cambios intensos, y también es mayor el riesgo de generar artefactos.\n\nCuanto más bajo, más se dirigirá el efecto a un rango estrecho de valores de contraste. +TP_WAVELET_SKIN;Focalización/protección de piel +TP_WAVELET_SKIN_TOOLTIP;Al valor -100, se focaliza en los tonos de piel.\nAl valor 0, todos los tonos se tratan por igual.\nAl valor +100, los tonos de piel se protegen, mientras que todos los demás se ven afectados. +TP_WAVELET_SKY;Focalización/protección del cielo +TP_WAVELET_SKY_TOOLTIP;Al valor -100, se focaliza en los tonos del cielo.\nAl valor 0, todos los tonos se tratan por igual.\nAl valor +100, los tonos del cielo se protegen, mientras que todos los demás se ven afectados. +TP_WAVELET_SOFTRAD;Radio suave +TP_WAVELET_STREN;Refinar +TP_WAVELET_STREND;Intensidad +TP_WAVELET_STRENGTH;Intensidad +TP_WAVELET_SUPE;Extra +TP_WAVELET_THR;Umbral de sombras +TP_WAVELET_THRDEN_TOOLTIP;Genera una curva escalonada para guiar la reducción de ruido en función del contraste local.\nSe reduce el ruido de las zonas y se mantienen las estructuras. +TP_WAVELET_THREND;Umbral de contraste local +TP_WAVELET_THRESHOLD;Niveles más finos +TP_WAVELET_THRESHOLD2;Niveles más gruesos +TP_WAVELET_THRESHOLD2_TOOLTIP;Sólo se verán afectados por el rango de luminancia de sombras los niveles entre el valor elegido y el número de niveles de ondículas seleccionado. +TP_WAVELET_THRESHOLD_TOOLTIP;Sólo se verán afectados por el rango de luminancia de luces los niveles por debajo o igual al valor elegido. +TP_WAVELET_THRH;Umbral de luces +TP_WAVELET_TILESBIG;Teselas grandes +TP_WAVELET_TILESFULL;Imagen entera +TP_WAVELET_TILESIZE;Método de teselado +TP_WAVELET_TILES_TOOLTIP;El procesado de la imagen entera proporciona mejor calidad y es la opción recomendada, mientras que el uso de teselas es una solución alternativa para usuarios con poca memoria RAM. Consúltese RawPedia para averiguar los requisitos de memoria. +TP_WAVELET_TMEDGS;Parada en bordes +TP_WAVELET_TMSCALE;Escala +TP_WAVELET_TMSTRENGTH;Intensidad de compresión +TP_WAVELET_TMSTRENGTH_TOOLTIP;Controla la intensidad del mapeo tonal o la compresión de contraste de la imagen residual. +TP_WAVELET_TMTYPE;Método de compresión +TP_WAVELET_TON;Virado +TP_WAVELET_TONFRAME;Colores excluidos +TP_WAVELET_USH;Ninguno +TP_WAVELET_USHARP;Método de claridad +TP_WAVELET_USH_TOOLTIP;Si se selecciona Máscara de nitidez, se puede escoger cualquier nivel (en Ajustes) desde 1 hasta 4 para el procesado.\nSi se selecciona Claridad, se puede escoger cualquier nivel (en Ajustes) entre 5 y Extra. +TP_WAVELET_WAVLOWTHR;Umbral de bajo contraste +TP_WAVELET_WAVOFFSET;Desplazamiento +TP_WBALANCE_AUTO;Automático +TP_WBALANCE_AUTOITCGREEN;Correlación de temperatura +TP_WBALANCE_AUTOOLD;RGB gris +TP_WBALANCE_AUTO_HEADER;Automático +TP_WBALANCE_CAMERA;Cámara +TP_WBALANCE_CLOUDY;Nublado +TP_WBALANCE_CUSTOM;Personalizado +TP_WBALANCE_DAYLIGHT;Luz de día (soleado) +TP_WBALANCE_EQBLUERED;Ecualizador Azul/Rojo +TP_WBALANCE_EQBLUERED_TOOLTIP;Permite desviarse del comportamiento normal del balance de blancos, mediante la modulación del balance azul/rojo.\n\nEsto puede ser útil cuando las condiciones de toma son tales que:\n\na) están alejadas del iluminante estándar (por ejemplo, bajo el agua),\nb) están alejadas de las condiciones en las que se hicieron las calibraciones,\nc) las matrices o los perfiles ICC no son adecuados. +TP_WBALANCE_FLASH55;Leica +TP_WBALANCE_FLASH60;Estándar, Canon, Pentax, Olympus +TP_WBALANCE_FLASH65;Nikon, Panasonic, Sony, Minolta +TP_WBALANCE_FLASH_HEADER;Flash +TP_WBALANCE_FLUO1;F1 - Luz de día +TP_WBALANCE_FLUO2;F2 - Blanco frío +TP_WBALANCE_FLUO3;F3 - Blanco +TP_WBALANCE_FLUO4;F4 - Blanco cálido +TP_WBALANCE_FLUO5;F5 - Luz de día +TP_WBALANCE_FLUO6;F6 - Blanco ligero +TP_WBALANCE_FLUO7;F7 - D65 Emulador de luz de día +TP_WBALANCE_FLUO8;F8 - D50 / Sylvania F40 Design +TP_WBALANCE_FLUO9;F9 - Blanco frío Deluxe +TP_WBALANCE_FLUO10;F10 - Philips TL85 +TP_WBALANCE_FLUO11;F11 - Philips TL84 +TP_WBALANCE_FLUO12;F12 - Philips TL83 +TP_WBALANCE_FLUO_HEADER;Fluorescente +TP_WBALANCE_GREEN;Tinte +TP_WBALANCE_GTI;GTI +TP_WBALANCE_HMI;HMI +TP_WBALANCE_JUDGEIII;JudgeIII +TP_WBALANCE_LABEL;Balance de blancos +TP_WBALANCE_LAMP_HEADER;Lámpara +TP_WBALANCE_LED_CRS;CRS SP12 WWMR16 +TP_WBALANCE_LED_HEADER;LED +TP_WBALANCE_LED_LSI;LSI Lumelex 2040 +TP_WBALANCE_METHOD;Método +TP_WBALANCE_PICKER;Muestreo balance de blancos +TP_WBALANCE_SHADE;Sombra +TP_WBALANCE_SIZE;Tamaño: +TP_WBALANCE_SOLUX35;Solux 3500K +TP_WBALANCE_SOLUX41;Solux 4100K +TP_WBALANCE_SOLUX47;Solux 4700K (proveedor) +TP_WBALANCE_SOLUX47_NG;Solux 4700K (Nat. Gallery) +TP_WBALANCE_SPOTWB;El cuentagotas se usa para muestrear el balance de blancos a partir de una región neutra en la vista previa. +TP_WBALANCE_STUDLABEL;Factor de correlación: %1 +TP_WBALANCE_STUDLABEL_TOOLTIP;Muestra la correlación de Student calculada.\nLos valores bajos son mejores, donde <0.005 es excelente,\n<0.01 es bueno, y >0.5 es malo.\nLos valores bajos no significan que el balance de blancos sea bueno:\nsi el iluminante no es estándar, los resultados pueden ser erráticos.\nUn valor de 1000 significa que se usan cálculos previos y\nprobablemente los resultados son buenos. +TP_WBALANCE_TEMPBIAS;Sesgo de temperatura en AWB +TP_WBALANCE_TEMPBIAS_TOOLTIP;Permite alterar el cálculo del «balance de blancos automático»\ndirigiéndolo hacia temperaturas más cálidas o más frías. El sesgo\nse expresa como porcentaje de la temperatura calculada,\npor lo que el resultado viene dado por «TempCalculada + TempCalculada * Sesgo». +TP_WBALANCE_TEMPERATURE;Temperatura +TP_WBALANCE_TUNGSTEN;Tungsteno +TP_WBALANCE_WATER1;Subacuático 1 +TP_WBALANCE_WATER2;Subacuático 2 +TP_WBALANCE_WATER_HEADER;Subacuático +ZOOMPANEL_100;(100%) +ZOOMPANEL_NEWCROPWINDOW;Abre (nueva) ventana de detalle +ZOOMPANEL_ZOOM100;Ampliar a 100%\nAtajo de teclado: z +ZOOMPANEL_ZOOMFITCROPSCREEN;Encajar recorte en la vista previa\nAtajo de teclado: f +ZOOMPANEL_ZOOMFITSCREEN;Encajar la imagen entera en la vista previa\nAtajo de teclado: Alt-f +ZOOMPANEL_ZOOMIN;Acercar\nAtajo de teclado: + +ZOOMPANEL_ZOOMOUT;Alejar\nAtajo de teclado: - + diff --git a/rtdata/languages/Espanol b/rtdata/languages/Espanol (Latin America) similarity index 50% rename from rtdata/languages/Espanol rename to rtdata/languages/Espanol (Latin America) index c1468a6d9..56a73d30f 100644 --- a/rtdata/languages/Espanol +++ b/rtdata/languages/Espanol (Latin America) @@ -162,7 +162,7 @@ EXPORT_PIPELINE;Fuente de procesamiento EXPORT_PUTTOQUEUEFAST; Poner en la cola de Exportación Rápida EXPORT_RAW_DMETHOD;Método de interpolado EXPORT_USE_FAST_PIPELINE;Dedicado (procesamiento completo en imagen redimensionada) -EXPORT_USE_FAST_PIPELINE_TIP;Usar un conducto de procesamiento dedicado para las imágenes en el modo Exportación rápida, que cambia la velocidad por la calidad. El cambio de tamaño de la imagen se realiza lo antes posible, en lugar de hacerlo al final como en el conducto normal. La aceleración puede ser importante, pero prepárese para ver elementos extraños y una degradación general de la calidad de salida. +EXPORT_USE_FAST_PIPELINE_TOOLTIP;Usar un conducto de procesamiento dedicado para las imágenes en el modo Exportación rápida, que cambia la velocidad por la calidad. El cambio de tamaño de la imagen se realiza lo antes posible, en lugar de hacerlo al final como en el conducto normal. La aceleración puede ser importante, pero prepárese para ver elementos extraños y una degradación general de la calidad de salida. EXPORT_USE_NORMAL_PIPELINE;Standard (bypass some steps, resize at the end) EXTPROGTARGET_1;Raw EXTPROGTARGET_2;procesado en cola @@ -297,13 +297,11 @@ HISTOGRAM_TOOLTIP_G;Mostrar/Ocultar Histograma Verde HISTOGRAM_TOOLTIP_L;Mostrar/Ocultar Histograma de Luminancia CIELAB HISTOGRAM_TOOLTIP_MODE;Alterne entre la escala lineal, log-linear y log-log del histograma. HISTOGRAM_TOOLTIP_R;Mostrar/Ocultar Histograma Rojo -HISTOGRAM_TOOLTIP_RAW;Mostrar/ocultar Histograma Raw HISTORY_CHANGED;Cambiado HISTORY_CUSTOMCURVE;Curva a medida HISTORY_FROMCLIPBOARD;Desde el portapapeles HISTORY_LABEL;Historial HISTORY_MSG_1;Foto abierta -HISTORY_MSG_2;Perfil Abierto HISTORY_MSG_3;Perfil cambiado HISTORY_MSG_4;Búsqueda de historial HISTORY_MSG_5;Brillo @@ -317,9 +315,6 @@ HISTORY_MSG_12;Exposición automática HISTORY_MSG_13;Recorte de exposición HISTORY_MSG_14;Lab - Claridad HISTORY_MSG_15;Lab - Contraste -HISTORY_MSG_16;Luminancia - Negro -HISTORY_MSG_17;Luminancia - Compr. de luces altas -HISTORY_MSG_18;Luminancia - Compr. de sombras HISTORY_MSG_19;Curva 'L' HISTORY_MSG_20;Enfoque HISTORY_MSG_21;Enfoque - Radio @@ -345,10 +340,6 @@ HISTORY_MSG_40;Equilibrio de Blancos - Tinte HISTORY_MSG_41;Curva tonal modo 1 HISTORY_MSG_42;Curva tonal 2 HISTORY_MSG_43;Curva tonal modo 2 -HISTORY_MSG_44;Red. ruido de lum. - Radio -HISTORY_MSG_45;Red. ruido de lum. - Tolerancia de Bordes -HISTORY_MSG_46;Red. ruido de color -HISTORY_MSG_47;Mezcla luces altas ICC con matriz HISTORY_MSG_48;Usar curva de tono DCP HISTORY_MSG_49;Iluminante DCP HISTORY_MSG_50;Sombras/Luces altas (S/LA) @@ -356,7 +347,6 @@ HISTORY_MSG_51;S/LA - Luces altas HISTORY_MSG_52;S/LA - Sombras HISTORY_MSG_53;S/LA - Ancho tonal Luces Altas HISTORY_MSG_54;S/LA - Ancho tonal Sombras -HISTORY_MSG_55;S/LA - Contraste local HISTORY_MSG_56;S/LA - Radio HISTORY_MSG_57;Rotación basta HISTORY_MSG_58;Volteo horizontal @@ -368,7 +358,6 @@ HISTORY_MSG_63;Marcador seleccionado HISTORY_MSG_64;Recortar foto HISTORY_MSG_65;Corrección aberraciones cromáticas HISTORY_MSG_66;Recuperación de luces altas -HISTORY_MSG_67;Recuperación de luces altas - Cantidad HISTORY_MSG_68;Recuperación de luces altas - Método HISTORY_MSG_69;Espacio de color de trabajo HISTORY_MSG_70;Espacio de color de salida @@ -379,12 +368,10 @@ HISTORY_MSG_74;Cambiar tamaño - Escala HISTORY_MSG_75;Cambiar tamaño - Método HISTORY_MSG_76;Metadatos de Exif HISTORY_MSG_77;Metadatos de IPTC -HISTORY_MSG_78;Datos especificados para cambio tamaño HISTORY_MSG_79;Cambiar tamaño - Anchura HISTORY_MSG_80;Cambiar tamaño - Altura HISTORY_MSG_81;Cambio tamaño activado HISTORY_MSG_82;Perfil cambiado -HISTORY_MSG_83;Sombras/Luces Altas - Enfoque HISTORY_MSG_84;Corrección de perspectiva HISTORY_MSG_85;Perfil Corrector de Lente HISTORY_MSG_86;Curvas RGB - Modo luminosidad @@ -431,12 +418,6 @@ HISTORY_MSG_127;Auto selección archivo de campo plano HISTORY_MSG_128;Radio de difuminado de campo plano HISTORY_MSG_129;Tipo de difuminado de campo plano HISTORY_MSG_130;Corrección automática de distorsión -HISTORY_MSG_131;Reducción de ruido de luminancia -HISTORY_MSG_132;Reducción de ruido de crominancia -HISTORY_MSG_133;Gamma de salida -HISTORY_MSG_134;Gamma libre -HISTORY_MSG_135;Gamma libre -HISTORY_MSG_136;Pendiente de (la curva) gamma HISTORY_MSG_137;Nivel de negro - Verde 1 HISTORY_MSG_138;Nivel de negro - Rojo HISTORY_MSG_139;Nivel de negro - Azul @@ -549,7 +530,6 @@ HISTORY_MSG_246;Curva 'CL' HISTORY_MSG_247;Curva 'LM' HISTORY_MSG_248;Curva 'MM' HISTORY_MSG_249;CpND - Umbral -HISTORY_MSG_250;RR - Mejorado HISTORY_MSG_251;B&N - Algoritmo HISTORY_MSG_252;CbDL - Tono de piel HISTORY_MSG_253;CbDL - Reducir elementos extraños @@ -573,8 +553,6 @@ HISTORY_MSG_270;TC - Altas Luces - Verde HISTORY_MSG_271;TC - Altas Luces - Azul HISTORY_MSG_272;TC - Balance HISTORY_MSG_273;TC - Restablecer -HISTORY_MSG_274;TC - Sat. de Sombras -HISTORY_MSG_275;TC - Sat. de Altas Luces HISTORY_MSG_276;TC - Opacidad HISTORY_MSG_277;--no utilizado-- HISTORY_MSG_278;TC - Preservar luminancia @@ -599,7 +577,6 @@ HISTORY_MSG_296;RR - Modular luminancia HISTORY_MSG_297;NR - Modo HISTORY_MSG_298;Filtro Pixel Muerto HISTORY_MSG_299;NR - Curva de crominancia -HISTORY_MSG_300;- HISTORY_MSG_301;NR - Luma control HISTORY_MSG_302;NR - Método crominancia(color) HISTORY_MSG_303;NR - Método crominancia(color) @@ -708,7 +685,6 @@ HISTORY_MSG_405;W - Quitar ruido - Nivel 4 HISTORY_MSG_406;W - ES - Píxeles vecinos HISTORY_MSG_407;Retinex - Método HISTORY_MSG_408;Retinex - Radio -HISTORY_MSG_409;Retinex - Contraste HISTORY_MSG_410;Retinex - Offset HISTORY_MSG_411;Retinex - Fuerza HISTORY_MSG_412;Retinex - Gradiente gaussiano @@ -756,7 +732,6 @@ HISTORY_MSG_468;PS - Rellenar fallos HISTORY_MSG_469;PS - Mediano/a HISTORY_MSG_471;PS - Corrección del movimiento HISTORY_MSG_472;PS - Transiciones suaves -HISTORY_MSG_473;PS - Utilizar LMMSE HISTORY_MSG_474;PS - Ecualizar (ajustar) HISTORY_MSG_475;PS - Equalizar(ajustar) el canal HISTORY_MSG_476;CAM02 - Fuera de tempera @@ -1259,7 +1234,7 @@ PROFILEPANEL_GLOBALPROFILES;Perfiles empaquetados PROFILEPANEL_LABEL;Perfiles de procesamiento PROFILEPANEL_LOADDLGLABEL;Cargar parámetros de procesamiento... PROFILEPANEL_LOADPPASTE;Parámetros a cargar -PROFILEPANEL_MODE_TIP;Modo de procesamiento de perfiles.\n\nBotón Presionado: los perfiles parciales son completados; Los valores faltantes son llenados usando valores predeterminados de fábrica.\n\nBotón Liberado: Los perfiles son aplicados tal como están, alterando solo los valores que contienen; los parámetros sin valores en el perfil se dejan en la imagen tal como están. +PROFILEPANEL_MODE_TOOLTIP;Modo de procesamiento de perfiles.\n\nBotón Presionado: los perfiles parciales son completados; Los valores faltantes son llenados usando valores predeterminados de fábrica.\n\nBotón Liberado: Los perfiles son aplicados tal como están, alterando solo los valores que contienen; los parámetros sin valores en el perfil se dejan en la imagen tal como están. PROFILEPANEL_MYPROFILES;Mis perfiles PROFILEPANEL_PASTEPPASTE;Parámetros PROFILEPANEL_PCUSTOM;A medida @@ -1446,7 +1421,6 @@ TP_COLORAPP_DATACIE;Curvas con histogramas de salida CIECAM02 TP_COLORAPP_DATACIE_TOOLTIP;Si está seleccionada, los histogramas en las curvas CIECAM02 muestran aproximadamente valores/rangos de J o Q, y C, s o M después de los ajustes CIECAM02.\nEsta selección no influye en el histograma del panel principal.\n\nCuando no está seleccionada, los histogramas en las curvas CIECAM02 muestran valores Lab antes de los ajustes CIECAM02 TP_COLORAPP_FREE;Libre tempera+verde + CAT02 + [output] TP_COLORAPP_GAMUT;Control de Gamut (Lab) -TP_COLORAPP_GAMUT_TOOLTIP;Permite control de gamut en modo Lab TP_COLORAPP_HUE;Matiz (h) TP_COLORAPP_HUE_TOOLTIP;Matiz (h) - ángulo entre 0° y 360° TP_COLORAPP_LABEL;CIE Modelo de Apariencia de Color 2002 @@ -1459,7 +1433,7 @@ TP_COLORAPP_MEANLUMINANCE;Luminancia media (Yb%) TP_COLORAPP_MODEL;Modelo de Punto Blanco TP_COLORAPP_MODEL_TOOLTIP;Modelo de Punto Blanco\n\nWB [RT] + [salida]:\nEl Balance de Blancos de RT es usado para la escena, CIECAM02 es establecido a D50, y el Balance de Blancos del dispositivo de salida es el establecido en Preferencias > Gestión de Color\n\nWB [RT+CAT02] + [salida]:\nEl Balance de Blancos de RT es usado por CAT02 y el del dispositivo de salida es el establecido en preferencias TP_COLORAPP_NEUTRAL;Restablecer -TP_COLORAPP_NEUTRAL_TIP;Restablecer todos los controles deslizantes y las curvas a sus valores predeterminados +TP_COLORAPP_NEUTRAL_TOOLTIP;Restablecer todos los controles deslizantes y las curvas a sus valores predeterminados TP_COLORAPP_RSTPRO; Protección de tonos rojos y color piel TP_COLORAPP_RSTPRO_TOOLTIP;Intensidad de protección de tonos rojos y color piel (en curvas y en controles deslizantes) TP_COLORAPP_SURROUND;Entorno @@ -1521,7 +1495,7 @@ TP_COLORTONING_METHOD;Método TP_COLORTONING_METHOD_TOOLTIP;"Mezcla Lab", "Controles deslizantes RGB" y "Curvas RGB" utilizan mezcla de color interpolada.\n"Balance de Color (Sombras/Tonos Medios/Luces Altas)" y "Saturación 2 colores" utilizan colores directos.\n\nCualquier método de tonificación de color puede ser aplicado aún estando la herramienta Blanco y Negro activada. TP_COLORTONING_MIDTONES;Tonos Medios TP_COLORTONING_NEUTRAL;Restablecer controles deslizantes -TP_COLORTONING_NEUTRAL_TIP;Restablecer todos los valores predeterminados(Sombras, Tonos Medios, Luces Altas). +TP_COLORTONING_NEUTRAL_TOOLTIP;Restablecer todos los valores predeterminados(Sombras, Tonos Medios, Luces Altas). TP_COLORTONING_OPACITY;Opacidad TP_COLORTONING_RGBCURVES;RGB - Curvas TP_COLORTONING_RGBSLIDERS;RGB - Controles deslizantes @@ -1635,7 +1609,7 @@ TP_DIRPYREQUALIZER_SKIN_TOOLTIP;A -100 se focalizan los tonos de piel.\nA 0 todo TP_DIRPYREQUALIZER_THRESHOLD;Umbral TP_DIRPYREQUALIZER_TOOLTIP;Reduce los elementos extraños producidos en la transición entre los colores de piel (matiz, crominancia, luminancia) y el resto de la imagen. TP_DISTORTION_AMOUNT;Cantidad -TP_DISTORTION_AUTO_TIP;Corrige automáticamente la distorsión de la lente en archivos sin procesar al compararla con la imagen JPEG incrustada, si existe, y la cámara ha corregido automáticamente la distorsión de la lente. +TP_DISTORTION_AUTO_TOOLTIP;Corrige automáticamente la distorsión de la lente en archivos sin procesar al compararla con la imagen JPEG incrustada, si existe, y la cámara ha corregido automáticamente la distorsión de la lente. TP_DISTORTION_LABEL;Corrección de Distorsión TP_EPD_EDGESTOPPING;Parada en los bordes TP_EPD_GAMMA;Gamma @@ -1644,12 +1618,12 @@ TP_EPD_REWEIGHTINGITERATES;Iteraciones de reponderación TP_EPD_SCALE;Escala TP_EPD_STRENGTH;Intensidad TP_EXPOSURE_AUTOLEVELS;Niveles automáticos -TP_EXPOSURE_AUTOLEVELS_TIP;Ejecuta Niveles Automáticos. Establece automáticamente los valores de los parámetros basándose en el análisis de la imagen.\nHabilita la reconstrucción de luces altas si es necesario +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Ejecuta Niveles Automáticos. Establece automáticamente los valores de los parámetros basándose en el análisis de la imagen.\nHabilita la reconstrucción de luces altas si es necesario TP_EXPOSURE_BLACKLEVEL;Nivel de Negro TP_EXPOSURE_BRIGHTNESS;Brillo TP_EXPOSURE_CLAMPOOG;Corte fuera de la gama de colores TP_EXPOSURE_CLIP;Recorte % -TP_EXPOSURE_CLIP_TIP;Fracción de los píxeles que se recortará en una operación de Niveles Automáticos +TP_EXPOSURE_CLIP_TOOLTIP;Fracción de los píxeles que se recortará en una operación de Niveles Automáticos TP_EXPOSURE_COMPRHIGHLIGHTS;Compresión de luces altas TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Umbral de recuperación de luces altas TP_EXPOSURE_COMPRSHADOWS;Compresión de sombras @@ -1786,7 +1760,7 @@ TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminancia en función del Matiz L=f(M) TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminancia en función de la Luminancia L=f(L) TP_LABCURVE_LABEL;Ajustes Lab TP_LABCURVE_LCREDSK;Restringe LC a tonos rojos y piel -TP_LABCURVE_LCREDSK_TIP;Si se activa, la 'Curva LC' afecta solo a los tonos rojos y piel\nSi se desactiva, se aplica a todos los colores +TP_LABCURVE_LCREDSK_TOOLTIP;Si se activa, la 'Curva LC' afecta solo a los tonos rojos y piel\nSi se desactiva, se aplica a todos los colores TP_LABCURVE_RSTPROTECTION;Protección de rojos y tonos piel TP_LABCURVE_RSTPRO_TOOLTIP;Puede usarse con el deslizador Cromaticidad y con la curva CC. TP_LENSGEOM_AUTOCROP;Auto recorte @@ -1807,7 +1781,7 @@ TP_METADATA_MODE;Modo de copia de metadatos TP_METADATA_STRIP;Eliminar todos los metadatos TP_METADATA_TUNNEL;Copiar sin cambios TP_NEUTRAL;Reiniciar -TP_NEUTRAL_TIP;Restablecer controles de exposición a valores neutros\nAplica a los mismos controles que son afectados por Niveles Automáticos, sin importar si usa o no Niveles Automáticos +TP_NEUTRAL_TOOLTIP;Restablecer controles de exposición a valores neutros\nAplica a los mismos controles que son afectados por Niveles Automáticos, sin importar si usa o no Niveles Automáticos TP_PCVIGNETTE_FEATHER;Difuminado TP_PCVIGNETTE_FEATHER_TOOLTIP;Difuminación: \n0=Solo Esquinas\n50=Hasta medio camino al centro\n100=Hasta el Centro TP_PCVIGNETTE_LABEL;Filtro quitar Viñeteado @@ -1989,7 +1963,7 @@ TP_RETINEX_MLABEL;Restaurado sin turbidez Min. =% 1 Max =% 2. TP_RETINEX_MLABEL_TOOLTIP;Debe estar cerca del mín = 0 máx = 32768 \nImagen restaurada sin mezcla. TP_RETINEX_NEIGHBOR;Radio TP_RETINEX_NEUTRAL;Restablecer -TP_RETINEX_NEUTRAL_TIP;Restablecer todos los controles deslizantes y curvas a sus valores predeterminados. +TP_RETINEX_NEUTRAL_TOOLTIP;Restablecer todos los controles deslizantes y curvas a sus valores predeterminados. TP_RETINEX_OFFSET;compensar(brillo) TP_RETINEX_SCALES;Gradiente gaussiano TP_RETINEX_SCALES_TOOLTIP;Si el control deslizante está en 0, todas las iteraciones son idénticas. \nSi es mayor a 0 la escala y el radio se reducen cuando aumentan las iteraciones, y viceversa. @@ -2025,7 +1999,7 @@ TP_RGBCURVES_RED;R TP_ROTATE_DEGREE;Grados TP_ROTATE_LABEL;Rotar TP_ROTATE_SELECTLINE;Seleccionar línea recta -TP_SAVEDIALOG_OK_TIP;Tecla de Atajo Ctrl-Enter +TP_SAVEDIALOG_OK_TOOLTIP;Tecla de Atajo Ctrl-Enter TP_SHADOWSHLIGHTS_HIGHLIGHTS;Luces altas TP_SHADOWSHLIGHTS_HLTONALW;Ancho tonal de Luces Altas TP_SHADOWSHLIGHTS_LABEL;Sombras/Luces altas @@ -2245,7 +2219,6 @@ TP_WAVELET_THRH;Umbral de luces altas TP_WAVELET_TILESBIG;Mosaicos grandes TP_WAVELET_TILESFULL;Imagen completa TP_WAVELET_TILESIZE;Método de mosaico -TP_WAVELET_TILESLIT;Mosaicos pequeños TP_WAVELET_TILES_TOOLTIP;El procesamiento de la imagen completa conduce a una mejor calidad y es la opción recomendada, mientras que el uso de mosaicos es una solución alternativa para los usuarios con poca memoria RAM. Consulte RawPedia para los requisitos de memoria. TP_WAVELET_TMSTRENGTH;Fuerza comprensiva TP_WAVELET_TMSTRENGTH_TOOLTIP;Controle la intensidad del mapeo de tonos o la compresión de contraste de la imagen residual. Cuando el valor es diferente de 0 , los controles deslizantes Fuerza y ​​Gamma de la herramienta de asignación de tonos en la pestaña Exposición se atenuarán. @@ -2313,19 +2286,715 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nTecla de Atajo: - !!!!!!!!!!!!!!!!!!!!!!!!! !CURVEEDITOR_CATMULLROM;Flexible -!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. +!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply 'find' keywords. !FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? !FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? !FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? !FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPINSPECT;Inspect !FILEBROWSER_POPUPREMOVE;Delete permanently !FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version !FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. +!GENERAL_DELETE_ALL;Delete all +!GENERAL_EDIT;Edit !GENERAL_HELP;Help +!HISTOGRAM_TOOLTIP_CROSSHAIR;Show/Hide indicator crosshair. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_470;--unused-- !HISTORY_MSG_494;Capture Sharpening -!HISTORY_MSG_DEHAZE_LUMINANCE;Dehaze - Luminance only +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_507;Local Spot center +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_516;Local - Color and light +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_527;Local - Color Inverse +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_542;Local - Vib avoid colorshift +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_591;Local - Avoid color shift +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_607;Local - Color Mask C +!HISTORY_MSG_608;Local - Color Mask L +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_611;Local - Color Mask H +!HISTORY_MSG_612;Local - Color Structure +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_615;Local - Blend color +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_618;Local - Use Color Mask +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_624;Local - Color correction grid +!HISTORY_MSG_625;Local - Color correction strength +!HISTORY_MSG_626;Local - Color correction Method +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_634;Local - radius color +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_650;Local - Color mask chroma +!HISTORY_MSG_651;Local - Color mask gamma +!HISTORY_MSG_652;Local - Color mask slope +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_656;Local - Color soft radius +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_760;Local - Color Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_770;Local - Color Mask contrast curve +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_779;Local - Color Mask local contrast curve +!HISTORY_MSG_780;Local - Color Mask shadows +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_783;Local - Color Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_799;Local - Color RGB ToneCurve +!HISTORY_MSG_800;Local - Color ToneCurve Method +!HISTORY_MSG_801;Local - Color ToneCurve Special +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_803;Local - Color Merge +!HISTORY_MSG_804;Local - Color mask Structure +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_806;Local - Color mask Structure as tool +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_808;Local - Color mask curve H(H) +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_821;Local - color grid background +!HISTORY_MSG_822;Local - color background merge +!HISTORY_MSG_823;Local - color background luminance +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_830;Local - Color gradient strength L +!HISTORY_MSG_831;Local - Color gradient angle +!HISTORY_MSG_832;Local - Color gradient strength C +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_834;Local - Color gradient strength H +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_894;Local - Color Preview dE +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_925;Local - Scope color tools +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_928;Local - Common color mask +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_996;Local - Color recovery threshold +!HISTORY_MSG_997;Local - Color threshold mask low +!HISTORY_MSG_998;Local - Color threshold mask high +!HISTORY_MSG_999;Local - Color decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1070;Local - CIECAM colorfullness +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1107;Local - CIECAM Color method +!HISTORY_MSG_1108;Local - CIECAM Color curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_BLSHAPE;Blur by level +!HISTORY_MSG_BLURCWAV;Blur chroma +!HISTORY_MSG_BLURWAV;Blur luminance +!HISTORY_MSG_BLUWAV;Attenuation response +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation +!HISTORY_MSG_EDGEFFECT;Edge Attenuation response +!HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output +!HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space !HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negative +!HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input !HISTORY_MSG_FILMNEGATIVE_VALUES;Film negative values +!HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant !HISTORY_MSG_PDSHARPEN_AUTO_CONTRAST;CS - Auto threshold !HISTORY_MSG_PDSHARPEN_AUTO_RADIUS;CS - Auto radius !HISTORY_MSG_PDSHARPEN_CHECKITER;CS - Auto limit iterations @@ -2333,12 +3002,81 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nTecla de Atajo: - !HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iterations !HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius !HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average +!HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode +!HISTORY_MSG_PROTAB;Protection +!HISTORY_MSG_RANGEAB;Range ab +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge !HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius -!HISTORY_MSG_TRANS_Method;Geometry - Method +!HISTORY_MSG_SIGMACOL;Chroma Attenuation response +!HISTORY_MSG_SIGMADIR;Dir Attenuation response +!HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response +!HISTORY_MSG_SIGMATON;Toning Attenuation response +!HISTORY_MSG_SPOT;Spot removal +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. +!HISTORY_MSG_TEMPOUT;CAM02 automatic temperature +!HISTORY_MSG_THRESWAV;Balance threshold +!HISTORY_MSG_TRANS_METHOD;Geometry - Method +!HISTORY_MSG_WAVBALCHROM;Equalizer chrominance +!HISTORY_MSG_WAVBALLUM;Equalizer luminance +!HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVCHROMCO;Chroma coarse +!HISTORY_MSG_WAVCHROMFI;Chroma fine +!HISTORY_MSG_WAVCLARI;Clarity +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVEDGS;Edge stopping +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVLOWTHR;Threshold low contrast +!HISTORY_MSG_WAVMERGEC;Merge C +!HISTORY_MSG_WAVMERGEL;Merge L +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVOFFSET;Offset +!HISTORY_MSG_WAVOLDSH;Old algorithm +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVRADIUS;Radius shadows-highlights +!HISTORY_MSG_WAVSCALE;Scale +!HISTORY_MSG_WAVSHOWMASK;Show wavelet mask +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSIGMA;Attenuation response +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSOFTRAD;Soft radius clarity +!HISTORY_MSG_WAVSOFTRADEND;Soft radius final +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!HISTORY_MSG_WAVUSHAMET;Clarity method +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 +!INSPECTOR_WINDOW_TITLE;Inspector !MAIN_FRAME_PLACES_DEL;Remove !MAIN_TAB_FAVORITES;Favorites !MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: Alt-u -!PARTIALPASTE_FILMNEGATIVE;Film Negative +!MAIN_TAB_LOCALLAB;Local +!MAIN_TAB_LOCALLAB_TOOLTIP;Shortcut: Alt-o +!PARTIALPASTE_FILMNEGATIVE;Film negative +!PARTIALPASTE_LOCALLAB;Local Adjustments +!PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings +!PARTIALPASTE_PREPROCWB;Preprocess White Balance +!PARTIALPASTE_SPOT;Spot removal !PREFERENCES_APPEARANCE_PSEUDOHIDPI;Pseudo-HiDPI mode !PREFERENCES_CHUNKSIZES;Tiles per thread !PREFERENCES_CHUNKSIZE_RAW_AMAZE;AMaZE demosaic @@ -2346,8 +3084,23 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nTecla de Atajo: - !PREFERENCES_CHUNKSIZE_RAW_RCD;RCD demosaic !PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans demosaic !PREFERENCES_CHUNKSIZE_RGB;RGB processing +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output +!PREFERENCES_INSPECTORWINDOW;Open inspector in own window or fullscreen !PREFERENCES_PERFORMANCE_MEASURE;Measure !PREFERENCES_PERFORMANCE_MEASURE_HINT;Logs processing times in console +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling !PROGRESSBAR_DECODING;Decoding... !PROGRESSBAR_GREENEQUIL;Green equilibration... !PROGRESSBAR_HLREC;Highlight reconstruction... @@ -2355,14 +3108,111 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nTecla de Atajo: - !PROGRESSBAR_LINEDENOISE;Line noise filter... !PROGRESSBAR_RAWCACORR;Raw CA correction... !QUEUE_LOCATION_TITLE;Output Location +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. +!TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. +!TP_COLORAPP_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_GEN;Settings +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. +!TP_COLORAPP_IL41;D41 +!TP_COLORAPP_IL50;D50 +!TP_COLORAPP_IL55;D55 +!TP_COLORAPP_IL60;D60 +!TP_COLORAPP_IL65;D65 +!TP_COLORAPP_IL75;D75 +!TP_COLORAPP_ILA;Incandescent StdA 2856K +!TP_COLORAPP_ILFREE;Free +!TP_COLORAPP_ILLUM;Illuminant +!TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. +!TP_COLORAPP_SURROUNDSRC;Surround +!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. +!TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_CROP_GTCENTEREDSQUARE;Centered square !TP_CROP_PPI;PPI -!TP_DEHAZE_LUMINANCE;Luminance only +!TP_DEHAZE_SATURATION;Saturation !TP_FILMNEGATIVE_BLUE;Blue ratio -!TP_FILMNEGATIVE_GREEN;Reference exponent (contrast) -!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. Set the white balance afterwards. +!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm +!TP_FILMNEGATIVE_COLORSPACE;Inversion color space: +!TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space +!TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. +!TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space +!TP_FILMNEGATIVE_GREEN;Reference exponent +!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green +!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. !TP_FILMNEGATIVE_LABEL;Film Negative +!TP_FILMNEGATIVE_OUT_LEVEL;Output level !TP_FILMNEGATIVE_PICK;Pick neutral spots !TP_FILMNEGATIVE_RED;Red ratio +!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. +!TP_HLREC_HLBLUR;Blur +!TP_ICM_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 +!TP_ICM_REDFRAME;Custom Primaries +!TP_ICM_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 +!TP_ICM_WORKING_TRC_LIN;Linear g=1 +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 !TP_LENSGEOM_LIN;Linear !TP_LENSGEOM_LOG;Logarithmic !TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected @@ -2370,10 +3220,923 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nTecla de Atajo: - !TP_LENSPROFILE_MODE_HEADER;Lens Profile !TP_LENSPROFILE_USE_GEOMETRIC;Geometric distortion !TP_LENSPROFILE_USE_HEADER;Correct +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ACTIVSPOT;Enable Spot +!TP_LOCALLAB_ADJ;Equalizer Color +!TP_LOCALLAB_AMOUNT;Amount +!TP_LOCALLAB_ARTIF;Shape detection +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOID;Avoid color shift +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALAN;ab-L balance (ΔE) +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALANH;C-H balance (ΔE) +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLCO;Chrominance only +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLINV;Inverse +!TP_LOCALLAB_BLLC;Luminance & Chrominance +!TP_LOCALLAB_BLLO;Luminance only +!TP_LOCALLAB_BLMED;Median +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNOI_EXP;Blur & Noise +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUFR;Blur/Grain & Denoise +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain +!TP_LOCALLAB_BLURCOL;Radius +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURDE;Blur shape detection +!TP_LOCALLAB_BLURLC;Luminance only +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +!TP_LOCALLAB_BUTTON_ADD;Add +!TP_LOCALLAB_BUTTON_DEL;Delete +!TP_LOCALLAB_BUTTON_DUPL;Duplicate +!TP_LOCALLAB_BUTTON_REN;Rename +!TP_LOCALLAB_BUTTON_VIS;Show/Hide +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +!TP_LOCALLAB_CAMMODE;CAM model +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CBDL;Contrast by Detail Levels +!TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. +!TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. +!TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. +!TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels +!TP_LOCALLAB_CENTER_X;Center X +!TP_LOCALLAB_CENTER_Y;Center Y +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMA;Chrominance +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACBDL;Chroma +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASKCOL;Chroma +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_CHRRT;Chroma +!TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIEC;Use Ciecam environment parameters +!TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +!TP_LOCALLAB_CIECOLORFRA;Color +!TP_LOCALLAB_CIECONTFRA;Contrast +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE;Change tool position +!TP_LOCALLAB_CIEMODE_COM;Default +!TP_LOCALLAB_CIEMODE_DR;Dynamic Range +!TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIEMODE_WAV;Wavelet +!TP_LOCALLAB_CIETOOLEXP;Curves +!TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIRCRADIUS;Spot size +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COFR;Color & Light +!TP_LOCALLAB_COLORDE;ΔE preview color - intensity +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +!TP_LOCALLAB_COLORSCOPE;Scope (color tools) +!TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +!TP_LOCALLAB_COLOR_CIE;Color curve +!TP_LOCALLAB_COLOR_TOOLNAME;Color & Light +!TP_LOCALLAB_COL_NAME;Name +!TP_LOCALLAB_COL_VIS;Status +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRAST;Contrast +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CONTTHR;Contrast Threshold +!TP_LOCALLAB_CONTWFRA;Local contrast +!TP_LOCALLAB_CSTHRESHOLD;Wavelet levels +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve +!TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DEHAFRA;Dehaze +!TP_LOCALLAB_DEHAZ;Strength +!TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. +!TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_EXP;Denoise +!TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. +!TP_LOCALLAB_DEPTH;Depth +!TP_LOCALLAB_DETAIL;Local contrast +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILSH;Details +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_DUPLSPOTNAME;Copy +!TP_LOCALLAB_EDGFRA;Edge sharpness +!TP_LOCALLAB_EDGSHOW;Show all tools +!TP_LOCALLAB_ELI;Ellipse +!TP_LOCALLAB_ENABLE_AFTER_MASK;Use Tone Mapping +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EPSBL;Detail +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EV_NVIS;Hide +!TP_LOCALLAB_EV_NVIS_ALL;Hide all +!TP_LOCALLAB_EV_VIS;Show +!TP_LOCALLAB_EV_VIS_ALL;Show all +!TP_LOCALLAB_EXCLUF;Excluding +!TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +!TP_LOCALLAB_EXCLUTYPE;Spot method +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXECLU;Excluding spot +!TP_LOCALLAB_EXFULL;Full image +!TP_LOCALLAB_EXNORM;Normal spot +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA;Chroma compensation +!TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. +!TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust color, lightness, contrast and correct small defects such as red-eye, sensor dust etc. +!TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ +!TP_LOCALLAB_EXPCOMPINV;Exposure compensation +!TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPCURV;Curves +!TP_LOCALLAB_EXPGRAD;Graduated Filter +!TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_EXPTOOL;Exposure Tools +!TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure +!TP_LOCALLAB_FATAMOUNT;Amount +!TP_LOCALLAB_FATANCHOR;Anchor +!TP_LOCALLAB_FATDETAIL;Detail +!TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). +!TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform +!TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform +!TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAM;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMFRA;Tone response curve (TRC) +!TP_LOCALLAB_GAMM;Gamma +!TP_LOCALLAB_GAMMASKCOL;Gamma +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMSH;Gamma +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADANG;Gradient angle +!TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. +!TP_LOCALLAB_GRADFRA;Graduated Filter Mask +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance +!TP_LOCALLAB_GRADSTR;Gradient strength +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRADSTRLUM;Luma gradient strength +!TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +!TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +!TP_LOCALLAB_GRIDONE;Color Toning +!TP_LOCALLAB_GRIDTWO;Direct +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER;Guided filter radius +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. +!TP_LOCALLAB_INVERS;Inverse +!TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_ISOGR;Distribution (ISO) +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLIGHT;Brightness +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSAT;Saturation +!TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABBLURM;Blur Mask +!TP_LOCALLAB_LABEL;Local Adjustments +!TP_LOCALLAB_LABGRID;Color correction grid +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV;Wavelet levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTNESS;Lightness +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LIGHTRETI;Lightness +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_NAME;Add tool to current spot... +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRAST;Local Contrast & Wavelets +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOG;Log Encoding +!TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments +!TP_LOCALLAB_LOG2FRA;Viewing Conditions +!TP_LOCALLAB_LOGAUTO;Automatic +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +!TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. +!TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGEXP;All tools +!TP_LOCALLAB_LOGFRA;Scene Conditions +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode). +!TP_LOCALLAB_LOGLIGHTL;Lightness (J) +!TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration. +!TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART;Overall strength +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LOG_TOOLNAME;Log Encoding +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMADARKEST;Darkest +!TP_LOCALLAB_LUMASK;Background color/luma mask +!TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). +!TP_LOCALLAB_LUMAWHITESEST;Lightest +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASK;Curves +!TP_LOCALLAB_MASK2;Contrast curve +!TP_LOCALLAB_MASKCOM;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDDECAY;Decay strength +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. +!TP_LOCALLAB_MASKRECOTHRES;Recovery threshold +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERCOL;Color +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOR;Color Dodge +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHI;Color Burn +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MODE_EXPERT;Advanced +!TP_LOCALLAB_MODE_NORMAL;Standard +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MRONE;None +!TP_LOCALLAB_MRTHR;Original Image +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NEIGH;Radius +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLDET;Detail recovery +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NLLUM;Strength +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NOISEMETH;Denoise +!TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. +!TP_LOCALLAB_NONENOISE;None +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_OFFS;Offset +!TP_LOCALLAB_OFFSETWAV;Offset +!TP_LOCALLAB_OPACOL;Opacity +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PASTELS2;Vibrance +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_PREVHIDE;Hide additional settings +!TP_LOCALLAB_PREVIEW;Preview ΔE +!TP_LOCALLAB_PREVSHOW;Show additional settings +!TP_LOCALLAB_PROXI;ΔE decay +!TP_LOCALLAB_QUAAGRES;Aggressive +!TP_LOCALLAB_QUACONSER;Conservative +!TP_LOCALLAB_QUALCURV_METHOD;Curve type +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS;Radius +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RECT;Rectangle +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name +!TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot +!TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESID;Residual Image +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RESIDHI;Highlights +!TP_LOCALLAB_RESIDHITHR;Highlights threshold +!TP_LOCALLAB_RESIDSHA;Shadows +!TP_LOCALLAB_RESIDSHATHR;Shadows threshold +!TP_LOCALLAB_RETI;Dehaze & Retinex +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex +!TP_LOCALLAB_REWEI;Reweighting iterates +!TP_LOCALLAB_RGB;RGB Tone Curve +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_ROW_NVIS;Not visible +!TP_LOCALLAB_ROW_VIS;Visible +!TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. +!TP_LOCALLAB_SATUR;Saturation +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSI;Scope +!TP_LOCALLAB_SENSIEXCLU;Scope +!TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +!TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +!TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. +!TP_LOCALLAB_SETTINGS;Settings +!TP_LOCALLAB_SH1;Shadows Highlights +!TP_LOCALLAB_SH2;Equalizer +!TP_LOCALLAB_SHADEX;Shadows +!TP_LOCALLAB_SHADEXCOMP;Shadow compression +!TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHAMASKCOL;Shadows +!TP_LOCALLAB_SHAPETYPE;RT-spot shape +!TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +!TP_LOCALLAB_SHARAMOUNT;Amount +!TP_LOCALLAB_SHARBLUR;Blur radius +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHARITER;Iterations +!TP_LOCALLAB_SHARP;Sharpening +!TP_LOCALLAB_SHARP_TOOLNAME;Sharpening +!TP_LOCALLAB_SHARRADIUS;Radius +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASK;Show mask +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise +!TP_LOCALLAB_SHOWMASKTYP2;Denoise +!TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWREF;Preview ΔE +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMAWAV;Attenuation response +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTM;Soft Light +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SOURCE_ABS;Absolute luminance +!TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_SPOTNAME;New Spot +!TP_LOCALLAB_STD;Standard +!TP_LOCALLAB_STR;Strength +!TP_LOCALLAB_STRBL;Strength +!TP_LOCALLAB_STREN;Compression strength +!TP_LOCALLAB_STRENG;Strength +!TP_LOCALLAB_STRENGR;Strength +!TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). +!TP_LOCALLAB_STRENGTH;Noise +!TP_LOCALLAB_STRGRID;Strength +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_TARGET_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM;Tone Mapping +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSIT;Transition Gradient +!TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY +!TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. +!TP_LOCALLAB_TRANSITVALUE;Transition value +!TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) +!TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WARM;Warm/Cool & Color artifacts +!TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the color temperature of the selected area warmer or cooler.\nIt can also reduce color artifacts in some cases. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAV;Local contrast +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVDEN;Luminance denoise +!TP_LOCALLAB_WAVE;Wavelets +!TP_LOCALLAB_WAVEDG;Local contrast +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK;Local contrast +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. !TP_PDSHARPENING_LABEL;Capture Sharpening +!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor +!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length +!TP_PERSPECTIVE_CAMERA_FRAME;Correction +!TP_PERSPECTIVE_CAMERA_PITCH;Vertical +!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_CAMERA_YAW;Horizontal +!TP_PERSPECTIVE_CONTROL_LINES;Control lines +!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +!TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. +!TP_PERSPECTIVE_METHOD;Method +!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based +!TP_PERSPECTIVE_METHOD_SIMPLE;Simple +!TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment +!TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +!TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +!TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +!TP_PERSPECTIVE_RECOVERY_FRAME;Recovery +!TP_PREPROCWB_LABEL;Preprocess White Balance +!TP_PREPROCWB_MODE;Mode +!TP_PREPROCWB_MODE_AUTO;Auto +!TP_PREPROCWB_MODE_CAMERA;Camera +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear +!TP_RAW_DCBBILINEAR;DCB+Bilinear !TP_RAW_IMAGENUM_SN;SN mode +!TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. +!TP_RAW_RCDBILINEAR;RCD+Bilinear !TP_RAW_XTRANS;X-Trans !TP_RAW_XTRANSFAST;Fast X-Trans +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge !TP_SHARPENING_BLUR;Blur radius !TP_SHARPENING_ITERCHECK;Auto limit iterations !TP_SHARPENING_RADIUS_BOOST;Corner radius boost +!TP_SPOT_COUNTLABEL;%1 point(s) +!TP_SPOT_DEFAULT_SIZE;Default spot size +!TP_SPOT_ENTRYCHANGED;Point changed +!TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its center then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. +!TP_SPOT_LABEL;Spot Removal +!TP_WAVELET_BALCHROM;Equalizer Color +!TP_WAVELET_BALLUM;Denoise equalizer White-Black +!TP_WAVELET_BL;Blur levels +!TP_WAVELET_BLCURVE;Blur by levels +!TP_WAVELET_BLURFRAME;Blur +!TP_WAVELET_BLUWAV;Attenuation response +!TP_WAVELET_CHROFRAME;Denoise chrominance +!TP_WAVELET_CHROMAFRAME;Chroma +!TP_WAVELET_CHROMCO;Chrominance Coarse +!TP_WAVELET_CHROMFI;Chrominance Fine +!TP_WAVELET_CHRWAV;Blur chroma +!TP_WAVELET_CLA;Clarity +!TP_WAVELET_CLARI;Sharp-mask and Clarity +!TP_WAVELET_COMPEXPERT;Advanced +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. +!TP_WAVELET_COMPNORMAL;Standard +!TP_WAVELET_CONTFRAME;Contrast - Compression +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENOISEHUE;Denoise hue equalizer +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_DIRFRAME;Directional contrast +!TP_WAVELET_EDEFFECT;Attenuation response +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. +!TP_WAVELET_FINCFRAME;Final local contrast +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. +!TP_WAVELET_MERGEC;Merge chroma +!TP_WAVELET_MERGEL;Merge luma +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise +!TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. +!TP_WAVELET_OLDSH;Algorithm using negatives values +!TP_WAVELET_PROTAB;Protection +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_RADIUS;Radius shadows - highlight +!TP_WAVELET_RANGEAB;Range a and b % +!TP_WAVELET_RESBLUR;Blur luminance +!TP_WAVELET_RESBLURC;Blur chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. +!TP_WAVELET_SHA;Sharp mask +!TP_WAVELET_SHFRAME;Shadows/Highlights +!TP_WAVELET_SHOWMASK;Show wavelet 'mask' +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_SIGMA;Attenuation response +!TP_WAVELET_SIGMAFIN;Attenuation response +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_WAVELET_SOFTRAD;Soft radius +!TP_WAVELET_STREND;Strength +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_TMEDGS;Edge stopping +!TP_WAVELET_TMSCALE;Scale +!TP_WAVELET_TONFRAME;Excluded colors +!TP_WAVELET_USH;None +!TP_WAVELET_USHARP;Clarity method +!TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. +!TP_WAVELET_WAVLOWTHR;Low contrast threshold +!TP_WAVELET_WAVOFFSET;Offset +!TP_WBALANCE_AUTOITCGREEN;Temperature correlation +!TP_WBALANCE_AUTOOLD;RGB grey +!TP_WBALANCE_AUTO_HEADER;Automatic +!TP_WBALANCE_STUDLABEL;Correlation factor: %1 +!TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. diff --git a/rtdata/languages/Francais b/rtdata/languages/Francais index 083bf654a..b7b2c7ec7 100644 --- a/rtdata/languages/Francais +++ b/rtdata/languages/Francais @@ -101,7 +101,7 @@ EXPORT_PIPELINE;Pipeline de Traitement EXPORT_PUTTOQUEUEFAST;Mettre dans la file de traitement\npour Export Rapide EXPORT_RAW_DMETHOD;Méthode de dématriçage EXPORT_USE_FAST_PIPELINE;Dédié\n(traitement complet sur une image rédimmentionnée) -EXPORT_USE_FAST_PIPELINE_TIP;Utilise un pipeline de traitement dédié pour les images en Export Rapide, qui privilégie la vitesse sur la qualité. Le redimensionnement des images est fait dès que possible, au lieu d'être fait à la fin comme dans le pipeline normal. L'accélération peut être significative, mais soyez prêt à voir des artéfacts et une dégradation générale de la qualité de sortie. +EXPORT_USE_FAST_PIPELINE_TOOLTIP;Utilise un pipeline de traitement dédié pour les images en Export Rapide, qui privilégie la vitesse sur la qualité. Le redimensionnement des images est fait dès que possible, au lieu d'être fait à la fin comme dans le pipeline normal. L'accélération peut être significative, mais soyez prêt à voir des artéfacts et une dégradation générale de la qualité de sortie. EXPORT_USE_NORMAL_PIPELINE;Standard\n(ignore des étapes, redimentionne à la fin) EXTPROGTARGET_1;raw EXTPROGTARGET_2;file de traitement @@ -236,13 +236,11 @@ HISTOGRAM_TOOLTIP_G;Montrer/cacher l'histogramme VERT HISTOGRAM_TOOLTIP_L;Montrer/cacher l'histogramme Luminance CIELAB HISTOGRAM_TOOLTIP_MODE;Bascule entre une échelle linéaire, linéaire-log et log-log de l'histogramme. HISTOGRAM_TOOLTIP_R;Montrer/cacher l'histogramme ROUGE -HISTOGRAM_TOOLTIP_RAW;Montrer/Cacher l'histogramme des données RAW HISTORY_CHANGED;Changé HISTORY_CUSTOMCURVE;Courbe personnelle HISTORY_FROMCLIPBOARD;Du presse-papier HISTORY_LABEL;Historique HISTORY_MSG_1;Photo chargée -HISTORY_MSG_2;Profil chargé HISTORY_MSG_3;Profil changé HISTORY_MSG_4;Navigation dans l'historique HISTORY_MSG_5;Luminosité @@ -256,9 +254,6 @@ HISTORY_MSG_12;Niveaux auto HISTORY_MSG_13;Rognage de l'exposition HISTORY_MSG_14;Lab - Luminosité HISTORY_MSG_15;Lab - Contraste -HISTORY_MSG_16;Luminance - Noir -HISTORY_MSG_17;Luminance - Compression hautes lumières -HISTORY_MSG_18;Luminance - Compression des ombres HISTORY_MSG_19;Courbe 'L' HISTORY_MSG_20;Netteté HISTORY_MSG_21;Netteté (USM) - Rayon @@ -284,10 +279,6 @@ HISTORY_MSG_40;BdB - Teinte HISTORY_MSG_41;Mode courbe tonale 1 HISTORY_MSG_42;Courbe tonale2 HISTORY_MSG_43;Mode courbe tonale 2 -HISTORY_MSG_44;Débruitage Lum. - Rayon -HISTORY_MSG_45;Débruitage Lum. - Tolérance des bords -HISTORY_MSG_46;Débruitage Chromatique -HISTORY_MSG_47;Mélange HL du profil ICC et la matrice HISTORY_MSG_48;Courbe tonale du profil DCP HISTORY_MSG_49;Illuminant DCP HISTORY_MSG_50;Ombres/Hautes lumières @@ -295,7 +286,6 @@ HISTORY_MSG_51;O/HL - Hautes lumières HISTORY_MSG_52;O/HL - Ombres HISTORY_MSG_53;O/HL - Amplitude tonale des HL HISTORY_MSG_54;O/HL - Amplitude tonale des ombres -HISTORY_MSG_55;O/HL - Contraste Local HISTORY_MSG_56;O/HL - Rayon HISTORY_MSG_57;Rotation grossière HISTORY_MSG_58;Symétrisation / axe vertical @@ -307,7 +297,6 @@ HISTORY_MSG_63;Signet sélectionné HISTORY_MSG_64;Recadrage HISTORY_MSG_65;Aberration chromatique HISTORY_MSG_66;Reconst. Hautes lumières -HISTORY_MSG_67;Reconst. HL - Quantité HISTORY_MSG_68;Reconst. HL - Méthode HISTORY_MSG_69;Espace de couleur de travail HISTORY_MSG_70;Espace de couleur de sortie @@ -318,12 +307,10 @@ HISTORY_MSG_74;Redim. - Échelle HISTORY_MSG_75;Méthode de redimensionnement HISTORY_MSG_76;Métadonnées EXIF HISTORY_MSG_77;Métadonnées IPTC -HISTORY_MSG_78;Type de redimensionnement HISTORY_MSG_79;Redim. - Largeur HISTORY_MSG_80;Redim. - Hauteur HISTORY_MSG_81;Redimensionnement HISTORY_MSG_82;Changement de profil -HISTORY_MSG_83;O/HL - Masque haute précision HISTORY_MSG_84;Correction de la perspective HISTORY_MSG_85;LCP HISTORY_MSG_86;Courbes RVB - Mode luminosité @@ -370,12 +357,6 @@ HISTORY_MSG_127;Champ Uniforme - Sélection auto HISTORY_MSG_128;Champ Uniforme - Rayon HISTORY_MSG_129;Champ Uniforme - Type de floutage HISTORY_MSG_130;Distorsion Auto -HISTORY_MSG_131;Réd. de bruit - Luminance -HISTORY_MSG_132;Réd. de bruit - Chrominance -HISTORY_MSG_133;Gamma de Sortie -HISTORY_MSG_134;Gamma - Manuel -HISTORY_MSG_135;Gamma - Manuel -HISTORY_MSG_136;Gamma - Pente HISTORY_MSG_137;Niveau de noir - Vert 1 HISTORY_MSG_138;Niveau de noir - Rouge HISTORY_MSG_139;Niveau de noir - Bleu @@ -488,7 +469,6 @@ HISTORY_MSG_246;Courbe 'CL' HISTORY_MSG_247;Courbe 'LT' HISTORY_MSG_248;Courbe 'TT' HISTORY_MSG_249;CpND - Seuil -HISTORY_MSG_250;Réd. de bruit - Amélioré HISTORY_MSG_251;N&B - Algorithme HISTORY_MSG_252;CpND - Tons chair HISTORY_MSG_253;CpND - Réduction des artéfactes @@ -512,8 +492,6 @@ HISTORY_MSG_270;VP - HL - Vert HISTORY_MSG_271;VP - HL - Bleu HISTORY_MSG_272;VP - Balance HISTORY_MSG_273;VP - Balance Couleur O/TM/HL -HISTORY_MSG_274;VP - Saturation des ombres -HISTORY_MSG_275;VP - Saturation des HL HISTORY_MSG_276;VP - Opacité HISTORY_MSG_277;--inutilisé-- HISTORY_MSG_278;VP - Préserver luminance @@ -538,7 +516,6 @@ HISTORY_MSG_296;Réd. de bruit - Courbe de luminance HISTORY_MSG_297;Réd. de bruit - Mode HISTORY_MSG_298;Filtre de pixel mort HISTORY_MSG_299;Réd. de bruit - Courbe de chrominance -HISTORY_MSG_300;- HISTORY_MSG_301;Réd. de bruit - Contrôle luma HISTORY_MSG_302;Réd. de bruit - Méthode Chroma HISTORY_MSG_303;Réd. de bruit - Méthode Chroma @@ -647,7 +624,6 @@ HISTORY_MSG_405;O - Débruitage - Niveau 4 HISTORY_MSG_406;O - NB - Pixels voisins HISTORY_MSG_407;Retinex - Méthode HISTORY_MSG_408;Retinex - Rayon -HISTORY_MSG_409;Retinex - Contraste HISTORY_MSG_410;Retinex - Décalage HISTORY_MSG_411;Retinex - Force HISTORY_MSG_412;Retinex - Gradient Gaussien @@ -695,7 +671,6 @@ HISTORY_MSG_468;PS - Remplir les trous HISTORY_MSG_469;PS - Médiane HISTORY_MSG_471;PS - Correction de mouvement HISTORY_MSG_472;PS - Adoucir les transitions -HISTORY_MSG_473;PS - Utiliser LMMSE HISTORY_MSG_474;PS - Égaliser HISTORY_MSG_475;PS - Égaliser par canal HISTORY_MSG_476;CAM02 - Temp sortie @@ -737,6 +712,11 @@ HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;EB - Montrer carte de profondeur HISTORY_MSG_DEHAZE_STRENGTH;EB - Force HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Double dématriçage - Seuil auto HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Double dématriçage - Seuil de contraste +HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Réference Sortie +HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negativf Espace couleur +HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negatif +HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Référence entrée +HISTORY_MSG_FILMNEGATIVE_VALUES;Film negatif valeurs HISTORY_MSG_HISTMATCHING;Calcul Courbe Tonale svt Aperçu HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Sortie - Primaires HISTORY_MSG_ICM_OUTPUT_TEMP;Sortie - ICC-v4 illuminant D @@ -764,6 +744,8 @@ HISTORY_MSG_SHARPENING_CONTRAST;Netteté - Seuil de contraste HISTORY_MSG_SH_COLORSPACE;O/HL - Espace couleur HISTORY_MSG_SOFTLIGHT_ENABLED;Lumière douce HISTORY_MSG_SOFTLIGHT_STRENGTH;Lumière douce - Force +HISTORY_MSG_SPOT;Retrait de taches +HISTORY_MSG_SPOT_ENTRY;Retrait de taches - Modif. de points HISTORY_MSG_TM_FATTAL_ANCHOR;CPD - Ancre HISTORY_NEWSNAPSHOT;Ajouter HISTORY_NEWSNAPSHOT_TOOLTIP;Raccourci: Alt-s @@ -1024,6 +1006,7 @@ PARTIALPASTE_SHARPENEDGE;Bords PARTIALPASTE_SHARPENING;Netteté PARTIALPASTE_SHARPENMICRO;Microcontraste PARTIALPASTE_SOFTLIGHT;Lumière douce +PARTIALPASTE_SPOT;Retrait de taches PARTIALPASTE_TM_FATTAL;Compression de plage dynamique PARTIALPASTE_VIBRANCE;Vibrance PARTIALPASTE_VIGNETTING;Correction du vignettage @@ -1208,7 +1191,7 @@ PROFILEPANEL_GLOBALPROFILES;Profils fournis PROFILEPANEL_LABEL;Profils de post-traitement PROFILEPANEL_LOADDLGLABEL;Charger les paramètres de post-traitement... PROFILEPANEL_LOADPPASTE;Paramètres à charger -PROFILEPANEL_MODE_TIP;Mode de complètement des profils de traitement.\n\nBouton pressé: les profils partiels seront convertis en profils complets; les valeurs manquantes seront remplacées par les valeurs internes par défaut\n\nBouton relevé: les profils seront appliqués tel quel, altérant seulement les paramètres qu'ils contiennent. +PROFILEPANEL_MODE_TOOLTIP;Mode de complètement des profils de traitement.\n\nBouton pressé: les profils partiels seront convertis en profils complets; les valeurs manquantes seront remplacées par les valeurs internes par défaut\n\nBouton relevé: les profils seront appliqués tel quel, altérant seulement les paramètres qu'ils contiennent. PROFILEPANEL_MYPROFILES;Mes profils PROFILEPANEL_PASTEPPASTE;Paramètres à coller PROFILEPANEL_PCUSTOM;Personnel @@ -1396,12 +1379,11 @@ TP_COLORAPP_DATACIE;Histogrammes post CIECAM dans les courbes TP_COLORAPP_DATACIE_TOOLTIP;Quand activé, les histogrammes de fond des courbes CIECAM02 montrent des valeurs/amplitudes approximatives de J/Q, ou de C:s/M après les ajustements CIECAM.\nCette sélection n'a pas d'incidence sur l'histogramme général.\n\nQuand désactivé, les histogrammes de fond des courbes CIECAM affichent les valeurs Lab avant les ajustements CIECAM TP_COLORAPP_FREE;Temp libre+vert + CAT02 + [sortie] TP_COLORAPP_GAMUT;Contrôle du gamut (Lab) -TP_COLORAPP_GAMUT_TOOLTIP;Permet le controle du gamut en mode Lab TP_COLORAPP_HUE;Teinte (h) TP_COLORAPP_HUE_TOOLTIP;Teinte (h) - angle entre 0° et 360° TP_COLORAPP_LABEL;Apparence de la Couleur (CIECAM02) TP_COLORAPP_LABEL_CAM02;Édition de l'image avec CIE-CAM 2002 -TP_COLORAPP_LABEL_SCENE;Conditions de la scène +TP_COLORAPP_LABEL_SCENE;Conditions de visionnage TP_COLORAPP_LABEL_VIEWING;Conditions de visionnage TP_COLORAPP_LIGHT;Luminosité (J) TP_COLORAPP_LIGHT_TOOLTIP;Luminosité dans CIECAM02 est différent de celui de Lab et RVB @@ -1409,7 +1391,7 @@ TP_COLORAPP_MEANLUMINANCE;Luminance moyenne (Yb%) TP_COLORAPP_MODEL;Modèle de Point Blanc TP_COLORAPP_MODEL_TOOLTIP;Modèle de Point Blanc\n\nBB [RT] + [sortie]:\nLa BB de RT est utilisée pour la scène, CIECAM est réglé sur D50, le blanc du périphérique de sortie utilise la valeur réglée dans Préférences\n\nBB [RT+CAT02] + [sortie]:\nLes réglages de BB de RT sont utilisés par CAT02 et le blanc du périphérique de sortie utilise la valeur réglée dans Préférences TP_COLORAPP_NEUTRAL;Résinitialiser -TP_COLORAPP_NEUTRAL_TIP;Réinitialiser tous les curseurs, cases à cocher et courbes à leurs valeur par défaut +TP_COLORAPP_NEUTRAL_TOOLTIP;Réinitialiser tous les curseurs, cases à cocher et courbes à leurs valeur par défaut TP_COLORAPP_RSTPRO;Protection des tons chairs et rouges TP_COLORAPP_RSTPRO_TOOLTIP;Protection des tons chairs et rouges (curseurs et courbes) TP_COLORAPP_SURROUND;Entourage @@ -1430,9 +1412,10 @@ TP_COLORAPP_TEMP_TOOLTIP;Pour sélectionner un illuminant, toujours régler Tein TP_COLORAPP_TONECIE;Compression Tonale utilisant CIECAM02 TP_COLORAPP_TONECIE_TOOLTIP;Si cette option est désactivée, la compression tonale est faite dans l'espace Lab.\nSi cette options est activée, la compression tonale est faite en utilisant CIECAM02.\nL'outil Compression Tonale doit être activé pour que ce réglage prenne effet TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP;Luminance absolue de l'environnement de visionnage\n(souvent 16cd/m²) -TP_COLORAPP_YBOUT_TOOLTIP;Yb est la luminance relative de l'arrière plan, exprimée e % de gris. Un gris à 18% correspond à une luminance exprimée en CIE L de 50%.\nCette donnée prend en compte la luminance moyenne de l'image. TP_COLORAPP_WBCAM;BB [RT+CAT02] + [sortie] TP_COLORAPP_WBRT;BB [RT] + [sortie] +TP_COLORAPP_YBOUT_TOOLTIP;Yb est la luminance relative de l'arrière plan, exprimée e % de gris. Un gris à 18% correspond à une luminance exprimée en CIE L de 50%.\nCette donnée prend en compte la luminance moyenne de l'image. +TP_COLORAPP_YBSCEN_TOOLTIP;Yb est la luminance relative du fond, exprimée en % de gris. 18 % de gris correspondent à une luminance de fond de 50 % exprimée en CIE L.\nLes données sont basées sur la luminance moyenne de l'image TP_COLORTONING_AB;o C/L TP_COLORTONING_AUTOSAT;Automatique TP_COLORTONING_BALANCE;Balance @@ -1472,7 +1455,7 @@ TP_COLORTONING_METHOD;Méthode TP_COLORTONING_METHOD_TOOLTIP;Mixage Lab - RVB courbes - RVB curseurs utilise une interpolation\nBalance couleur(ombres / tons moyens / hautes lumières)\nSaturation 2 couleurs utilise couleurs directes\nDans tous les méthodes vous pouvez activer Noir et Blanc TP_COLORTONING_MIDTONES;Tons Moyens TP_COLORTONING_NEUTRAL;Réinit. curseurs -TP_COLORTONING_NEUTRAL_TIP;Réinitialise toutes les valeurs (Ombres, Tons moyens, Hautes lumières) à leur valeur par défaut. +TP_COLORTONING_NEUTRAL_TOOLTIP;Réinitialise toutes les valeurs (Ombres, Tons moyens, Hautes lumières) à leur valeur par défaut. TP_COLORTONING_OPACITY;Opacité TP_COLORTONING_RGBCURVES;RVB - Courbes TP_COLORTONING_RGBSLIDERS;RVB - Curseurs @@ -1586,7 +1569,7 @@ TP_DIRPYREQUALIZER_SKIN_TOOLTIP;A -100, les tons chairs sont ciblés.\nA 0 tous TP_DIRPYREQUALIZER_THRESHOLD;Seuil TP_DIRPYREQUALIZER_TOOLTIP;Attempts to reduce artifacts due to the transitions between the color (hue, chroma, luma) of the skin and the rest of the image. TP_DISTORTION_AMOUNT;Quantité -TP_DISTORTION_AUTO_TIP;Corrige automatiquement la distortion optique dans les fichiers raw en opérant une mise en correspondance avec le fichier JPEG incorporé, si elle existe, et sur laquelle la correction de la distortion a été appliqué par le boitier. +TP_DISTORTION_AUTO_TOOLTIP;Corrige automatiquement la distortion optique dans les fichiers raw en opérant une mise en correspondance avec le fichier JPEG incorporé, si elle existe, et sur laquelle la correction de la distortion a été appliqué par le boitier. TP_DISTORTION_LABEL;Distorsion TP_EPD_EDGESTOPPING;Arrêt des bords TP_EPD_GAMMA;Gamma @@ -1595,12 +1578,12 @@ TP_EPD_REWEIGHTINGITERATES;Itérations de la pondération TP_EPD_SCALE;Échelle TP_EPD_STRENGTH;Force TP_EXPOSURE_AUTOLEVELS;Niveaux Auto -TP_EXPOSURE_AUTOLEVELS_TIP;Bascule l'usage de Niveaux automatiques afin de régler automatiquement les valeurs basé sur l'analyse de l'image\nActive la Reconstruction des Hautes Lumières si nécessaire. +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Bascule l'usage de Niveaux automatiques afin de régler automatiquement les valeurs basé sur l'analyse de l'image\nActive la Reconstruction des Hautes Lumières si nécessaire. TP_EXPOSURE_BLACKLEVEL;Noir TP_EXPOSURE_BRIGHTNESS;Luminosité TP_EXPOSURE_CLAMPOOG;Tronquer les couleurs hors gamut TP_EXPOSURE_CLIP;Rognage % -TP_EXPOSURE_CLIP_TIP;La fraction de pixels que l'outil Niveaux Auto passera en dehors du domaine +TP_EXPOSURE_CLIP_TOOLTIP;La fraction de pixels que l'outil Niveaux Auto passera en dehors du domaine TP_EXPOSURE_COMPRHIGHLIGHTS;Compression hautes lumières TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Seuil de compression\ndes hautes lumières TP_EXPOSURE_COMPRSHADOWS;Compression des ombres @@ -1623,6 +1606,22 @@ TP_EXPOSURE_TCMODE_STANDARD;Standard TP_EXPOSURE_TCMODE_WEIGHTEDSTD;Standard Pondéré TP_EXPOS_BLACKPOINT_LABEL;Points Noir Raw TP_EXPOS_WHITEPOINT_LABEL;Points Blanc Raw +TP_FILMNEGATIVE_BLUE;Ratio bleu +TP_FILMNEGATIVE_BLUEBALANCE;Froid/Chaud +TP_FILMNEGATIVE_COLORSPACE;Inversion espace couleur: +TP_FILMNEGATIVE_COLORSPACE_INPUT;Espace couleur -entrée +TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Sélectionnez l'espace colorimétrique utilisé pour effectuer l'inversion négative :\nEspace colorimétrique d'entrée : effectuez l'inversion avant l'application du profil d'entrée, comme dans les versions précédentes de RT.\nEspace colorimétrique de travail< /b> : effectue l'inversion après le profil d'entrée, en utilisant le profil de travail actuellement sélectionné. +TP_FILMNEGATIVE_COLORSPACE_WORKING;Espace couleur de travail +TP_FILMNEGATIVE_GREEN;Exposant de référence +TP_FILMNEGATIVE_GREENBALANCE;Magenta/Vert +TP_FILMNEGATIVE_GUESS_TOOLTIP;Définissez automatiquement les ratios rouge et bleu en choisissant deux patchs qui avaient une teinte neutre (pas de couleur) dans la scène d'origine. Les patchs doivent différer en luminosité. +TP_FILMNEGATIVE_LABEL;Film Negatif +TP_FILMNEGATIVE_OUT_LEVEL;Niveau de sortie +TP_FILMNEGATIVE_PICK;Choix des endroits neutres +TP_FILMNEGATIVE_RED;Ratio Rouge +TP_FILMNEGATIVE_REF_LABEL;Entrée RGB: %1 +TP_FILMNEGATIVE_REF_PICK;Choisissez le point de la balance des blancs +TP_FILMNEGATIVE_REF_TOOLTIP;Choisissez un patch gris pour équilibrer les blancs de la sortie, image positive. TP_FILMSIMULATION_LABEL;Simulation de Film TP_FILMSIMULATION_SLOWPARSEDIR;RawTherapee est configuré pour rechercher les images Hald CLUT, qui sont utilisées pour l'outil Simulation de Film, dans un dossier qui prends trop de temps à se charger.\nAllez dans Préférences > Traitement de l'image > Simulation de Film\npour voir quel dossier est utilisé. Vous devriez soit pointer RawTherapee vers un dossier qui ne contient que les images Hald CLUT et rien d'autre, ou un dossier vide si vous ne voulez pas utiliser l'outil Simulation de Film.\n\nLisez l'article Simulation de Film dans RawPedia pour plus d'information.\n\nVoulez-vous abandonner la recherche maintenant? TP_FILMSIMULATION_STRENGTH;Force @@ -1737,7 +1736,7 @@ TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminance en fonction de la Teinte L=f(T) TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminance en fonction de la Luminance L=f(L) TP_LABCURVE_LABEL;Ajustements Lab TP_LABCURVE_LCREDSK;Restreindre LC aux tons rouge et peau -TP_LABCURVE_LCREDSK_TIP;Si activé, la courbe 'LC' est limitée au tons rouge et peau.\nSi désactivé, elle s'applique à toutes les teintes. +TP_LABCURVE_LCREDSK_TOOLTIP;Si activé, la courbe 'LC' est limitée au tons rouge et peau.\nSi désactivé, elle s'applique à toutes les teintes. TP_LABCURVE_RSTPROTECTION;Protection des tons rouges et chair TP_LABCURVE_RSTPRO_TOOLTIP;Peut être utilisé avec le curseur Chromaticité et la courbe CC. TP_LENSGEOM_AUTOCROP;Recadrage auto @@ -1756,7 +1755,6 @@ TP_LOCALCONTRAST_RADIUS;Rayon TP_LOCALLAB_ACTIV;Luminosité seulement TP_LOCALLAB_ACTIVSPOT;Activer le Spot TP_LOCALLAB_ADJ;Egalisateur couleur -TP_LOCALLAB_ALL;Toutes les rubriques TP_LOCALLAB_AMOUNT;Quantité TP_LOCALLAB_ARTIF;Détection de forme TP_LOCALLAB_ARTIF_TOOLTIP;Le seuil deltaE étendue accroit la plage of étendue-deltaE - les valeurs élévées sont pour les images à gamut élévé.\nAugmenter l'affaiblissement deltaE améliore la détection de forme, mais peu réduire la capacité de détection. @@ -1773,8 +1771,8 @@ TP_LOCALLAB_BLCO;Chrominance seulement TP_LOCALLAB_BLENDMASKCOL;Mélange - fusion TP_LOCALLAB_BLENDMASKMASK;Ajout/soustrait masque Luminance TP_LOCALLAB_BLENDMASKMASKAB;Ajout/soustrait masque Chro. -TP_LOCALLAB_BLENDMASK_TOOLTIP;Si fusion = 0 seule la détection de forme est améliorée.\nSi fusion > 0 le masque est ajouté à l'image. Si fusion < 0 le masque est soustrait à l'image TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;Si ce curseur = 0 pas d'action.\nAjoute ou soustrait le masque de l'image originale +TP_LOCALLAB_BLENDMASK_TOOLTIP;Si fusion = 0 seule la détection de forme est améliorée.\nSi fusion > 0 le masque est ajouté à l'image. Si fusion < 0 le masque est soustrait à l'image TP_LOCALLAB_BLGUID;Filtre guidé TP_LOCALLAB_BLINV;Inverse TP_LOCALLAB_BLLC;Luminance & Chrominance @@ -1783,19 +1781,16 @@ TP_LOCALLAB_BLMED;Median TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal - direct floute et bruite avec tous les réglages.\nInverse floute et bruite avec tous les réglages. Soyez prudents certains resultats peuvent être curieux TP_LOCALLAB_BLNOI_EXP;Flouter & Bruit TP_LOCALLAB_BLNORM;Normal -TP_LOCALLAB_BLSYM;Symétrique -TP_LOCALLAB_BLURCOLDE_TOOLTIP;L'image pour calculer dE est légèrement floutéeafin d'éviter de prendre en compte des pixels isolés. TP_LOCALLAB_BLUFR;Flouter - Grain - Debruiter TP_LOCALLAB_BLUMETHOD_TOOLTIP;Pour flouter l'arrère plan et isoler le premier plan:\n*Flouter l'arrière plan avec un RT-spot couvrant totalement l'image (valeurs élevées Etendue et transition) - normal ou inverse.\n*Isoler le premier plan avec un ou plusieurs RT-spot Exclusion avec l'outils que vous voulez (accroître Etendue).\n\nCe module peut être utilisé en réduction de bruit additionnelle,incluant un "median" et un "Filtre Guidé" TP_LOCALLAB_BLUR;Flou Gaussien - Bruit - Grain -TP_LOCALLAB_BLURCBDL;Flouter niveaux 0-1-2-3-4 TP_LOCALLAB_BLURCOL;Rayon floutage +TP_LOCALLAB_BLURCOLDE_TOOLTIP;L'image pour calculer dE est légèrement floutéeafin d'éviter de prendre en compte des pixels isolés. TP_LOCALLAB_BLURDE;Flouter la détection de forme TP_LOCALLAB_BLURLC;Luminance seulement TP_LOCALLAB_BLURLEVELFRA;Flouter niveaux TP_LOCALLAB_BLURMASK_TOOLTIP;Génère un masque flou, prend en compte la structure avec le curseur de seuil de contraste du Masque flou. TP_LOCALLAB_BLURRMASK_TOOLTIP;Vous permet de faire varier "rayon" du flou Gaussien (0 to 1000) -TP_LOCALLAB_BLURRESIDFRA;Flouter image Résiduelle TP_LOCALLAB_BLUR_TOOLNAME;Flouter/Grain & Réduction du Bruit - 1 TP_LOCALLAB_BLWH;Tous les changements forcés en noir et blanc TP_LOCALLAB_BLWH_TOOLTIP;Force le changement de la composante "a" et "b" à zéro.\nUtile quand l'utilisateur choisit un processus noir et blanc, ou un film. @@ -1804,6 +1799,13 @@ TP_LOCALLAB_BUTTON_DEL;Effacer TP_LOCALLAB_BUTTON_DUPL;Dupliquer TP_LOCALLAB_BUTTON_REN;Renommer TP_LOCALLAB_BUTTON_VIS;Montrer/Cacher +TP_LOCALLAB_BWFORCE;Utilise Black Ev & White Ev +TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Pic Luminance) +TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapté au CAM16. Vous permet de modifier la fonction PQ interne (généralement 10 000 cd/m2 - 100 cd/m2 par défaut - désactivée pour 100 cd/m2).\nPeut être utilisé pour s'adapter à différents appareils et images. +TP_LOCALLAB_CAM16_FRA;Cam16 Adjustements Image +TP_LOCALLAB_CAMMODE;CAM modèle +TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz TP_LOCALLAB_CBDL;Contr. par niveaux détail TP_LOCALLAB_CBDLCLARI_TOOLTIP;Ajuste les tons moyens et les réhausse. TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Agit comme un outil ondelettes.\nLe premier niveau (0) agit sur des détails de 2x2.\nLe dernier niveau (5) agit sur des détails de 64x64. @@ -1821,12 +1823,29 @@ TP_LOCALLAB_CHROMALEV;Niveaux de Chroma TP_LOCALLAB_CHROMASKCOL;Chroma TP_LOCALLAB_CHROMASK_TOOLTIP;Vous pouvez utiliser ce curseur pour désaturer l'arrière plan (inverse masque - courbe proche de 0).\nEgalement pour atténier ou accroître l'action du masque sur la chroma TP_LOCALLAB_CHRRT;Chroma +TP_LOCALLAB_CIE;Apparance de couleurs(Cam16 & JzCzHz) +TP_LOCALLAB_CIEC;Utilise les paramètres de CIECAM +TP_LOCALLAB_CIECAMLOG_TOOLTIP;Ce module est basé sur le modèle d'apparence des couleurs CIECAM qui a été conçu pour mieux simuler la façon dont la vision humaine perçoit les couleurs dans différentes conditions d'éclairage. le moment de la prise de vue.\nLe deuxième processus Ciecam "Réglages d'image" est simplifié et n'utilise que 3 variables (contraste local, contraste J, saturation s).\nLe troisième processus Ciecam "Conditions de visualisation" adapte la sortie aux conditions de visualisation souhaitées ( moniteur, téléviseur, projecteur, imprimante, etc.) afin que l'aspect chromatique et le contraste soient préservés dans l'environnement d'affichage. +TP_LOCALLAB_CIECOLORFRA;Couleur +TP_LOCALLAB_CIECONTFRA;Contraste +TP_LOCALLAB_CIELIGHTCONTFRA;Eclaircir & Contraste +TP_LOCALLAB_CIELIGHTFRA;Eclaicir +TP_LOCALLAB_CIEMODE;Change position outils +TP_LOCALLAB_CIEMODE_COM;Défaut +TP_LOCALLAB_CIEMODE_DR;Dynamic Range +TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +TP_LOCALLAB_CIEMODE_TOOLTIP;En Mode par défaut, Ciecam est ajouté en fin de processus. "Masque et modifications" et "Recovery based on luminance mask" sont disponibles pour "Cam16 et JzCzHz" à votre disposition.\nVous pouvez également intégrer Ciecam dans d'autres outils si vous le souhaitez (TM, Wavelet, Dynamic Range, Log Encoding). Les résultats pour ces outils seront différents de ceux sans Ciecam. Dans ce mode, vous pouvez également utiliser "Masque et modifications" et "Récupération basée sur le masque de luminance" +TP_LOCALLAB_CIEMODE_WAV;Ondelettes +TP_LOCALLAB_CIETOOLEXP;Courbes +TP_LOCALLAB_CIE_TOOLNAME;Apparance de couleurs (Cam16 & JzCzHz) TP_LOCALLAB_CIRCRADIUS;Taille Spot TP_LOCALLAB_CIRCRAD_TOOLTIP;Contient les références du RT-spot, utile pour la détection de forme (couleur, luma, chroma, Sobel).\nLes faibles valeurs peuvent être utiles pour les feuillages.\nLes valeurs élevées peuvent être utile pour la peau TP_LOCALLAB_CLARICRES;Fusion Chroma TP_LOCALLAB_CLARIFRA;Clarté & Masque netteté/Fusion & adoucir +TP_LOCALLAB_CLARIJZ_TOOLTIP;En dessous ou égal à 4, 'Masque netteté' est actif.\nAu dessus du niveau ondelettes 5 'Clarté' est actif. TP_LOCALLAB_CLARILRES;Fusion Luma TP_LOCALLAB_CLARISOFT;Rayon adoucir +TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;Le curseur « Rayon adoucir » (algorithme de filtre guidé) réduit les halos et les irrégularités pour les ondelettes de clarté, de masque net et de contraste local Jz. TP_LOCALLAB_CLARISOFT_TOOLTIP;Actif pour Clarté et Masque de netteté si différent de zéro.\n\nActif pour toutes les pyramides ondelettes.\nInactif si rayon = 0 TP_LOCALLAB_CLARITYML;Clarté TP_LOCALLAB_CLARI_TOOLTIP;En dessous ou égal à 4, 'Masque netteté' est actif.\nAu dessus du niveau ondelettes 5 'Clarté' est actif.\nUtilesu=i vous utilisez 'Compression dynamique des niveaux' @@ -1841,11 +1860,7 @@ TP_LOCALLAB_COLOR_TOOLNAME;Couleur & Lumière - 11 TP_LOCALLAB_COL_NAME;Nom TP_LOCALLAB_COL_VIS;Statut TP_LOCALLAB_COMPFRA;Niveaux Contraste directionnel -TP_LOCALLAB_COMPFRAME_TOOLTIP;Autorise des effets spéciaux. Vous pouvez réduire les artéfacts avec 'Clarté & Masque netteté - Fusion & Images douces".\nUtilise des ressources -TP_LOCALLAB_COMPLEX_METHOD;Complexitée logicielle -TP_LOCALLAB_COMPLEX_TOOLTIP; Autorise l'utilisateur à sélectionner des rubriques Ajustements locaux. TP_LOCALLAB_COMPREFRA;Niveaux de (de)compression dynamique -TP_LOCALLAB_COMPRESS_TOOLTIP;Utilisesi nécessaire le module 'Clarté & Masque de netteté - Fusion & Images douces' en ajustant 'Rayon doux' pour réduire les artéfacts. TP_LOCALLAB_CONTCOL;Seuil de Contraste Masque flou TP_LOCALLAB_CONTFRA;Contraste par niveau TP_LOCALLAB_CONTRAST;Contraste @@ -1858,38 +1873,33 @@ TP_LOCALLAB_CSTHRESHOLD;Ondelettes niveaux TP_LOCALLAB_CSTHRESHOLDBLUR;Masque Ondelettes niveau TP_LOCALLAB_CURV;Luminosité - Contraste - Chrominance "Super" TP_LOCALLAB_CURVCURR;Normal -TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;Si la courbe est au sommet, le masque est compétement noir aucune transformation n'est réalisée par le masque sur l'image.\nQuand vous descendez la courbe, progressivement le masque va se colorer et s'éclaicir, l'image change de plus en plus.\n\nIl est recommendé (pas obligatoire) de positionner le sommet des courbes curves sur la ligne de transition grise qui représnte les références (chroma, luma, couleur). TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;Si la courbe est au sommet,le masque est compétement noir aucune transformation n'est réalisée par le masque sur l'image.\nQuand vous descendez la courbe, progressivement le masque va se colorer et s'éclaicir, l'image change de plus en plus.\nVous pouvez choisir ou non de positionner le sommet de la courbe sur la transition. +TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;Si la courbe est au sommet, le masque est compétement noir aucune transformation n'est réalisée par le masque sur l'image.\nQuand vous descendez la courbe, progressivement le masque va se colorer et s'éclaicir, l'image change de plus en plus.\n\nIl est recommendé (pas obligatoire) de positionner le sommet des courbes curves sur la ligne de transition grise qui représnte les références (chroma, luma, couleur). TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;Pour être actif, vous devez activer la combobox 'Curves type' TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Courbe tonale TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), peut être utilisée avec L(H) dans Couleur et lumière TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', la courbe L=f(L) a le même algorithme que le curseur luminosité.\n'Super' the curve L=f(L) has an new improved algorithm, which can leeds in some cases to artifacts. -TP_LOCALLAB_CURVENCONTRAST;Super+Contrast threshold (experimental) -TP_LOCALLAB_CURVENH;Super -TP_LOCALLAB_CURVENHSU;Combined HueChroma (experimental) -TP_LOCALLAB_CURVENSOB2;Combined HueChroma + Contrast threshold (experimental) TP_LOCALLAB_CURVNONE;Désactive courbes TP_LOCALLAB_DARKRETI;Obscuirité TP_LOCALLAB_DEHAFRA;Elimination de la brume -TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Élimine la brume atmosphérique. Augmente généralement la saturation et les détails. \ N Peut supprimer les dominantes de couleur, mais peut également introduire une dominante bleue qui peut être corrigée à l'aide d'autres outils. TP_LOCALLAB_DEHAZ;Force +TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Élimine la brume atmosphérique. Augmente généralement la saturation et les détails. \ N Peut supprimer les dominantes de couleur, mais peut également introduire une dominante bleue qui peut être corrigée à l'aide d'autres outils. TP_LOCALLAB_DEHAZ_TOOLTIP;Valeurs Négatives ajoute de la brume TP_LOCALLAB_DELTAD;Delta balance TP_LOCALLAB_DELTAEC;Masque ΔE Image -TP_LOCALLAB_DENOIS;Ψ Réduction du bruit -TP_LOCALLAB_DENOI_EXP;Réduction du bruit -TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservatif préserve les fréquences basses, alors que agressif tend à les effacer.\nConservatif et agressif utilisent les ondelletes et DCT et peuvent être utilisées en conjonction avec "débruitage par morceaux - luminance" -TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Equilibre l'action de denoise luminance entre les ombres et les lumières TP_LOCALLAB_DENOI1_EXP;De-bruite basé sur masque luminance TP_LOCALLAB_DENOI2_EXP;Récupération basée sur masque luminance -TP_LOCALLAB_DENOI_TOOLTIP;Ce module peut être utilisé seul (à la fin du processus), ou en complément de Réduction du bruit (au début).\nEtendue(deltaE)permet de différencier l'action.\nVous pouvez compléter avec "median" ou "Filtre guidé" (Adoucir Flou...).\nVous pouvez compléter l'action avec "Flou niveaux" "Ondelette pyramide" -TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Permet de récupérer les détails de luminance par mise en oeuvre progressive de la transformée de Fourier (DCT) -TP_LOCALLAB_DENOICHROF_TOOLTIP;Agit sur les fins détails du bruit de chrominance +TP_LOCALLAB_DENOIBILAT_TOOLTIP;Traite le bruit d'impulsion (poivre et sel) TP_LOCALLAB_DENOICHROC_TOOLTIP;Agit sur les paquets et amas de bruit de chrominance TP_LOCALLAB_DENOICHRODET_TOOLTIP;Permet de récupérer les détails de chrominance par mise en oeuvre progressive de la transformée de Fourier (DCT) -TP_LOCALLAB_DENOITHR_TOOLTIP;Règle l'effet de bord pour privilégier l'action sur les aplats +TP_LOCALLAB_DENOICHROF_TOOLTIP;Agit sur les fins détails du bruit de chrominance TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Equilibre l'action de denoise chrominance entre les bleus-jaunes et les rouges-verts -TP_LOCALLAB_DENOIBILAT_TOOLTIP;Traite le bruit d'impulsion (poivre et sel) +TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Equilibre l'action de denoise luminance entre les ombres et les lumières +TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Permet de récupérer les détails de luminance par mise en oeuvre progressive de la transformée de Fourier (DCT) +TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservatif préserve les fréquences basses, alors que agressif tend à les effacer.\nConservatif et agressif utilisent les ondelletes et DCT et peuvent être utilisées en conjonction avec "débruitage par morceaux - luminance" +TP_LOCALLAB_DENOITHR_TOOLTIP;Règle l'effet de bord pour privilégier l'action sur les aplats +TP_LOCALLAB_DENOI_EXP;Réduction du bruit +TP_LOCALLAB_DENOI_TOOLTIP;Ce module peut être utilisé seul (à la fin du processus), ou en complément de Réduction du bruit (au début).\nEtendue(deltaE)permet de différencier l'action.\nVous pouvez compléter avec "median" ou "Filtre guidé" (Adoucir Flou...).\nVous pouvez compléter l'action avec "Flou niveaux" "Ondelette pyramide" TP_LOCALLAB_DEPTH;Profondeur TP_LOCALLAB_DETAIL;Contraste local TP_LOCALLAB_DETAILFRA;Détection bord - DCT @@ -1919,8 +1929,8 @@ TP_LOCALLAB_EXCLUF_TOOLTIP;Peut être utilsé pour exclure une partie des donné TP_LOCALLAB_EXCLUTYPE;Spot méthode TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Spot Normal utilise les données récursives.\n\nSpot exclusion réinitialise les données d'origine.\nPeut être utilsé pour annuler totalement ou partiellement une action précédente ou pour réaliser un mode inverse.\n\nImage entière vous permet d'utiliser 'local adjustments" sur le totalité de l'image.\nLes délimiteurs sont positionnés au delà de la prévisualisation\nTransition est mis à 100.\nVous pouvez avoir à repositionner le Spot ainsi que sa taille pour obtenir les effets désirés.\nNotez que l'utilisation de De-bruite, ondelettes, FFTW en image entière va utiliser de grosses quantités de mémoire, et peut amener l'application à 'planter' sur des systèmes à faible capacité. TP_LOCALLAB_EXECLU;Spot Exclusion -TP_LOCALLAB_EXNORM;Spot Normal TP_LOCALLAB_EXFULL;Image entière +TP_LOCALLAB_EXNORM;Spot Normal TP_LOCALLAB_EXPCBDL_TOOLTIP;Peut être utilisé pour retirer les marques sur le capteur ou la lentille. TP_LOCALLAB_EXPCHROMA;Chroma compensation TP_LOCALLAB_EXPCHROMA_TOOLTIP;Seulement en association avec compensation d'exposition et PDE Ipol.\nEvite la desaturation des couleurs @@ -1938,30 +1948,25 @@ TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Applique un gamma avant et après la transformée TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Ajoute une exposition linéaire avant l'application de la transformée de Laplace TP_LOCALLAB_EXPLAP_TOOLTIP;Plus vous agissez sur ce curseur de seuil, plus grande sera l'action de reduire le contraste. TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Autorise de nombreuses possibilités de fusionner les images (comme les calques dans Photosshop) : difference, multiply, soft light, overlay...avec opacité...\nOriginale Image : fusionne le RT-spot en cours avec Originale.\nSpot Précédent : fusionne le RT-spot en cours avec le précédent - si il n'y a qu'un spot précédent = original.\nArrière plan : fusionne le RT-spot en cours avec la couleur et la luminance de l'arrière plan (moins de possibilités) -TP_LOCALLAB_EXPMETHOD_TOOLTIP;Standard : utilise un algorithme similaire à Exposure principal mais en L*a*b* et en prenant en compte le deltaE.\n\nCompression dynamique et atténuateur de contraste : utilise un autre algorithme aussi avec deltaE et avec l'équation de Poisson pour résoudre le Laplacien dans l'espace de Fourier.\nAtténuateur, Compression dynamqiue et Standard peuvent être combinés.\nFFTW La transformée de Fourier est optimisée en taille pour réduire les temps de traitement.\nRéduit les artéfacts et le bruit. TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applique un median avant la transformée de Laplace pour éviter les artéfacts (bruit).\nVous pouvez aussi utiliser l'outil "Réduction du bruit". TP_LOCALLAB_EXPOSE;Plage dynamique & Exposition TP_LOCALLAB_EXPOSURE_TOOLTIP;Modifie l'exposition dans l'espace L*a*b* en utilisant un Laplacien et les algorithmes PDE en prenant en compte dE, minimise les artéfacts. TP_LOCALLAB_EXPRETITOOLS;Outils Retinex avancés TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUtiliser de basses valeurs de transition et de hautes valeurs de transition affaiblissement et Etendue pour simuler un petit RT-spot. TP_LOCALLAB_EXPTOOL;Outils exposition -TP_LOCALLAB_EXPTRC;Courbe de réponse Tonale - TRC TP_LOCALLAB_EXP_TOOLNAME;Plage Dynamique & Exposition- 10 TP_LOCALLAB_FATAMOUNT;Quantité TP_LOCALLAB_FATANCHOR;Ancre -TP_LOCALLAB_FATANCHORA;Décalage TP_LOCALLAB_FATDETAIL;Detail TP_LOCALLAB_FATFRA;Compression Dynamique ƒ TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal - utilise Fattal Tone mapping algorithme. TP_LOCALLAB_FATLEVEL;Sigma -TP_LOCALLAB_FATRES;Quantité de Residual Image TP_LOCALLAB_FATSHFRA;Compression Dynamique Masque TP_LOCALLAB_FEATH_TOOLTIP;Largeur du Gradient en porcentage de la diagonale du Spot\nUtilisé par tous les Filtres Gradués dans tous les outils.\nPas d'action si les filtres gradués ne sont pas utilisés. TP_LOCALLAB_FEATVALUE;Adouc. gradient(Filtres Gradués) TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ TP_LOCALLAB_FFTMASK_TOOLTIP;Utilise une transformée de Fourier pour une meilleure qualité (accroit le temps de traitement et le besoin en mémoire) TP_LOCALLAB_FFTW;ƒ - Utilise Fast Fourier Transform -TP_LOCALLAB_FFTW2;ƒ - Utilise Fast Fourier Transform (TIF, JPG,..) TP_LOCALLAB_FFTWBLUR;ƒ - Utilise toujours Fast Fourier Transform TP_LOCALLAB_FULLIMAGE;Calcule les valeurs NoirEv-blancEv - image entière TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calcule les valeurs Ev sur l'image entière. @@ -1983,30 +1988,64 @@ TP_LOCALLAB_GRADSTRHUE;Force Gradient Teinte TP_LOCALLAB_GRADSTRHUE2;Force Gradient Teinte TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Filttre Teinte force TP_LOCALLAB_GRADSTRLUM;Force Gradient Luminance -TP_LOCALLAB_GRADSTR_TOOLTIP;Force Filtre en Ev TP_LOCALLAB_GRAINFRA;Film Grain 1:1 TP_LOCALLAB_GRAIN_TOOLTIP;Ajoute du grain pour simuler un film TP_LOCALLAB_GRALWFRA;Filtre Gradué Local contraste TP_LOCALLAB_GRIDFRAME_TOOLTIP;Vous pouvez utiliser cet outil comme une brosse. Utiliser un petit Spot et adaptez transition et transition affaiblissement\nSeulement en mode NORMAL et éventuellement Teinte, Saturation, Couleur, Luminosité sont concernés par Fusion arrire plan (ΔE) +TP_LOCALLAB_GRIDMETH_TOOLTIP;Virage partiel: la luminance est prise en compte quand varie la chroma -Equivalent de H=f(H) si le "point blanc" sur la grille the grid est à zéro et vous faites varier le "point noir" -Equivalent de "Virage partiel" si vous faites varier les 2 points.\n\nDirect: agit directement sur la chroma TP_LOCALLAB_GRIDONE;Virage partiel TP_LOCALLAB_GRIDTWO;Direct -TP_LOCALLAB_GRIDMETH_TOOLTIP;Virage partiel: la luminance est prise en compte quand varie la chroma -Equivalent de H=f(H) si le "point blanc" sur la grille the grid est à zéro et vous faites varier le "point noir" -Equivalent de "Virage partiel" si vous faites varier les 2 points.\n\nDirect: agit directement sur la chroma TP_LOCALLAB_GUIDBL;Rayon adoucir +TP_LOCALLAB_GUIDBL_TOOLTIP;Applique un filtre guidé avec un rayon donné, pour réduire les artefacts ou flouter l'image +TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Détail - agit sur la répartition du filtre guidé, les valeurs négatives simulent un flou gaussien TP_LOCALLAB_GUIDFILTER;Rayon Filtre Guidé TP_LOCALLAB_GUIDFILTER_TOOLTIP;Adapter cette valeur en fonction des images - peut réduire ou accroître les artéfacts. -TP_LOCALLAB_GUIDBL_TOOLTIP;Applique un filtre guidé avec un rayon donné, pour réduire les artefacts ou flouter l'image TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Force du filtre guidé -TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Détail - agit sur la répartition du filtre guidé, les valeurs négatives simulent un flou gaussien TP_LOCALLAB_HHMASK_TOOLTIP;Ajustements fin de la teinte par exemple pour la peau. TP_LOCALLAB_HIGHMASKCOL;Hautes lumières masque TP_LOCALLAB_HLH;H TP_LOCALLAB_IND;Independant (souris) TP_LOCALLAB_INDSL;Independant (souris + curseurs) +TP_LOCALLAB_INVBL_TOOLTIP;Alternative\nPremier Spot:\n image entière - delimiteurs en dehors de la prévisualisation\n RT-spot forme sélection : rectangle. Transition 100\n\nDeuxième spot : Spot Exclusion TP_LOCALLAB_INVERS;Inverse TP_LOCALLAB_INVERS_TOOLTIP;Si sélectionné (inverse) moins de possibilités.\n\nAlternative\nPremier Spot:\n image entière - delimiteurs en dehors de la prévisualisation\n RT-spot forme sélection : rectangle. Transition 100\n\nDeuxième spot : Spot Exclusion -TP_LOCALLAB_INVBL_TOOLTIP;Alternative\nPremier Spot:\n image entière - delimiteurs en dehors de la prévisualisation\n RT-spot forme sélection : rectangle. Transition 100\n\nDeuxième spot : Spot Exclusion TP_LOCALLAB_INVMASK;Algorithme inverse TP_LOCALLAB_ISOGR;Plus gros (ISO) +TP_LOCALLAB_JAB;Utilise Black Ev & White Ev +TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAjuste automatiquement la relation entre Jz et la saturation en tenant compte de la "luminance absolue". +TP_LOCALLAB_JZ100;Jz référence 100cd/m2 +TP_LOCALLAB_JZ100_TOOLTIP;Ajuste automatiquement le niveau de référence Jz 100 cd/m2 (signal d'image).\nModifie le niveau de saturation et l'action de "l'adaptation PU" (adaptation uniforme perceptuelle). +TP_LOCALLAB_JZADAP;PU adaptation +TP_LOCALLAB_JZCH;Chroma +TP_LOCALLAB_JZCHROM;Chroma +TP_LOCALLAB_JZCLARICRES;Fusion chroma Cz +TP_LOCALLAB_JZCLARILRES;Fusion luma Jz +TP_LOCALLAB_JZCONT;Contraste +TP_LOCALLAB_JZFORCE;Force max Jz à 1 +TP_LOCALLAB_JZFORCE_TOOLTIP;Vous permet de forcer la valeur Jz maximale à 1 pour une meilleure réponse du curseur et de la courbe +TP_LOCALLAB_JZFRA;Jz Cz Hz Ajustements Image +TP_LOCALLAB_JZHFRA;Courbes Hz +TP_LOCALLAB_JZHJZFRA;Courbe Jz(Hz) +TP_LOCALLAB_JZHUECIE;Rotation de teinte +TP_LOCALLAB_JZLIGHT;Brightness +TP_LOCALLAB_JZLOG;Log encoding Jz +TP_LOCALLAB_JZLOGWBS_TOOLTIP;Les réglages Black Ev et White Ev peuvent être différents selon que l'encodage Log ou Sigmoid est utilisé.\nPour Sigmoid, un changement (augmentation dans la plupart des cas) de White Ev peut être nécessaire pour obtenir un meilleur rendu des hautes lumières, du contraste et de la saturation. +TP_LOCALLAB_JZLOGWB_TOOLTIP;Si Auto est activé, il calculera et ajustera les niveaux Ev et la 'luminance moyenne Yb%' pour la zone du spot. Les valeurs résultantes seront utilisées par toutes les opérations Jz, y compris "Log Encoding Jz".\nCalcule également la luminance absolue au moment de la prise de vue. +TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb est la luminance relative du fond, exprimée en pourcentage de gris. 18 % de gris correspond à une luminance d'arrière-plan de 50 % lorsqu'elle est exprimée en CIE L.\nLes données sont basées sur la luminance moyenne de l'image.\nLorsqu'elle est utilisée avec Log Encoding, la luminance moyenne est utilisée pour déterminer la quantité de gain nécessaire à appliquer au signal avant le codage logarithmique. Des valeurs inférieures de luminance moyenne se traduiront par un gain accru. +TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (uniquement en mode 'Avancé'). Opérationnel uniquement si le périphérique de sortie (moniteur) est HDR (luminance crête supérieure à 100 cd/m2 - idéalement entre 4000 et 10000 cd/m2. Luminance du point noir inférieure à 0,005 cd/m2). Cela suppose a) que l'ICC-PCS pour l'écran utilise Jzazbz (ou XYZ), b) fonctionne en précision réelle, c) que le moniteur soit calibré (si possible avec un gamut DCI-P3 ou Rec-2020), d) que le gamma habituel (sRGB ou BT709) est remplacé par une fonction Perceptual Quantiser (PQ). +TP_LOCALLAB_JZPQFRA;Jz remappage +TP_LOCALLAB_JZPQFRA_TOOLTIP;Permet d'adapter l'algorithme Jz à un environnement SDR ou aux caractéristiques (performances) d'un environnement HDR comme suit :\n a) pour des valeurs de luminance comprises entre 0 et 100 cd/m2, le système se comporte comme s'il était dans un environnement SDR .\n b) pour des valeurs de luminance comprises entre 100 et 10000 cd/m2, vous pouvez adapter l'algorithme aux caractéristiques HDR de l'image et du moniteur.\n\nSi "PQ - Peak luminance" est réglé sur 10000, "Jz remappping" se comporte de la même manière que l'algorithme original de Jzazbz. +TP_LOCALLAB_JZPQREMAP;PQ - Pic luminance +TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - vous permet de modifier la fonction PQ interne (généralement 10000 cd/m2 - par défaut 120 cd/m2).\nPeut être utilisé pour s'adapter à différentes images, processus et appareils. +TP_LOCALLAB_JZQTOJ;Luminance relative +TP_LOCALLAB_JZQTOJ_TOOLTIP;Vous permet d'utiliser "Luminance relative" au lieu de "Luminance absolue" - Brightness devient Lightness.\nLes changements affectent : le curseur Luminosité, le curseur Contraste et la courbe Jz(Jz). +TP_LOCALLAB_JZSAT;Saturation +TP_LOCALLAB_JZSHFRA;Ombres/Lumières Jz +TP_LOCALLAB_JZSOFTCIE;Rayon adoucir (GuidedFilter) +TP_LOCALLAB_JZSTRSOFTCIE;GuidedFilter Force +TP_LOCALLAB_JZTARGET_EV;Luminance moyenne (Yb%) +TP_LOCALLAB_JZTHRHCIE;Seuik Chroma pour Jz(Hz) +TP_LOCALLAB_JZWAVEXP;Ondelettes Jz TP_LOCALLAB_LABBLURM;Masque Flouter TP_LOCALLAB_LABEL;Ajustements Locaux TP_LOCALLAB_LABGRID;Grille correction couleurs @@ -2017,13 +2056,12 @@ TP_LOCALLAB_LAPLACC;ΔØ Masque Laplacien résoud PDE TP_LOCALLAB_LAPLACE;Laplacien seuil ΔE TP_LOCALLAB_LAPLACEXP;Laplacien seuil TP_LOCALLAB_LAPMASKCOL;Laplacien seuil -TP_LOCALLAB_LAPRAD_TOOLTIP;Eviter d'utiliser Radius and Laplace Seuil en même temps.\nLaplacien seuil reduit le contraste, artéfacts, adoucit le résultat. TP_LOCALLAB_LAPRAD1_TOOLTIP;Eviter d'utiliser Radius and Laplace Seuil en même temps.\nTransforme le masque pour éliminer les valeurs inférieures au seuil.\nReduit les artefacts et le bruit, et permet une modification du contraste local. +TP_LOCALLAB_LAPRAD_TOOLTIP;Eviter d'utiliser Radius and Laplace Seuil en même temps.\nLaplacien seuil reduit le contraste, artéfacts, adoucit le résultat. TP_LOCALLAB_LAP_MASK_TOOLTIP;Résoud PDE (Equation aux dérivées partielles) pour tous les masques Laplacien.\nSi activé Laplacien masque seuil reduit les artéfacts et adoucit les résultats.\nSi désactivé réponse linaire. TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT améliore la qualité et autorise de grands rayons, mais accroît les temps de traitement.\nCe temps dépends de la surface devant être traitée.\nA utiliser de préférences pour de grands rayons.\n\nLes Dimensions peuvent être réduites de quelques pixels pour optimiser FFTW.\nCette optimisation peut réduire le temps de traitement d'un facteur de 1.5 à 10.\n TP_LOCALLAB_LC_TOOLNAME;Constraste Local & Ondelettes - 7 TP_LOCALLAB_LEVELBLUR;Maximum Flouter -TP_LOCALLAB_LEVELLOCCONTRAST_TOOLTIP;En abscisse le contraste local (proche du concept de luminance). En ordonnée, amplification ou reduction du contraste local. TP_LOCALLAB_LEVELWAV;Ondelettes Niveaux TP_LOCALLAB_LEVELWAV_TOOLTIP;Le niveau est automatiquement adapté à la taille du spot et de la prévisualisation.\nDu niveau 9 taille max 512 jusqu'au niveau 1 taille max = 4 TP_LOCALLAB_LEVFRA;Niveaux @@ -2042,107 +2080,107 @@ TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramide 2: TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contr. par niveaux/TM/Cont.Dir. TP_LOCALLAB_LOC_CONTRASTPYRLAB; Filtre Gradué/Netteté bords/Flou TP_LOCALLAB_LOC_RESIDPYR;Image Residuelle -TP_LOCALLAB_LOG;Codage log -TP_LOCALLAB_LOG1FRA;Ajustements Image +TP_LOCALLAB_LOG;Log Encoding +TP_LOCALLAB_LOG1FRA;CAM16 Adjustment Images TP_LOCALLAB_LOG2FRA;Conditions de visionnage TP_LOCALLAB_LOGAUTO;Automatique -TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Calcule automatiquement la 'luminance moyenne' pour les conditons de prise de vue quand le bouton ‘Automatique’ dans Niveaux d'Exposition Relatif est pressé. -TP_LOCALLAB_LOGAUTO_TOOLTIP;Presser ce bouton va amener une évaluation an evaluation de l'amplitude dynamique et du point gris "source" (Si "Automatique" Source gris activé).\nPour être autorisé à retoucher les valeurs automatiques, presser le bouton à nouveau -TP_LOCALLAB_LOGBASE_TOOLTIP;Défaut = 2.\nValeurs inférieures à 2 réduisent l'action de l'algorithme, les ombres sont plus sombres, les hautes lumières plus brillantes.\nValeurs supérieures à 2 changent l'action de l'algorithme, les ombres sont plus grises, les hautes lumières lavées -TP_LOCALLAB_LOGBLACKWHEV_TOOLTIP;Valeurs estimées de la plage Dynamique - Noir Ev et Blanc Ev -TP_LOCALLAB_LOGCATAD_TOOLTIP;L'adaptation chromatique vous permet d'interpreter une couleur en se référant à son environnement spatio-temporel.\nUtile lorsque la balance des blancs est loin de D50.\nAdapte les couleurs à l'illuminant du périphérque de sortie. -TP_LOCALLAB_LOGCOLORFL;Niveau de couleurs (M) -TP_LOCALLAB_LOGCOLORF_TOOLTIP;Taux de perception de la teinte en relation au gris.\nIndicateur qu'un stimulus apparaît plus ou moins coloré. +TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Calcule automatiquement la « luminance moyenne » pour les conditions de la scène. +TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Calcule automatiquement la « luminance moyenne » pour les conditions de la scène lorsque le bouton « Automatique » dans les niveaux d'exposition relatifs est enfoncé. +TP_LOCALLAB_LOGAUTO_TOOLTIP;Appuyez sur ce bouton pour calculer la plage dynamique et la « Luminance moyenne » pour les conditions de la scène si la « Luminance moyenne automatique (Yb %) » est cochée).\nCalcule également la luminance absolue au moment de la prise de vue.\nAppuyez à nouveau sur le bouton pour ajuster les valeurs calculées automatiquement. +TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +TP_LOCALLAB_LOGCATAD_TOOLTIP;L'adaptation chromatique permet d'interpréter une couleur en fonction de son environnement spatio-temporel.\nUtile lorsque la balance des blancs s'écarte sensiblement de la référence D50.\nAdapte les couleurs à l'illuminant du périphérique de sortie. +TP_LOCALLAB_LOGCIE;Log encoding au lieu de Sigmoid +TP_LOCALLAB_LOGCIE_TOOLTIP;Vous permet d'utiliser Black Ev, White Ev, Scene Mean luminance (Yb%) et Viewing Mean luminance (Yb%) pour le mappage des tons à l'aide de l'encodage Log Q. +TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +TP_LOCALLAB_LOGCOLORF_TOOLTIP;Quantité de teinte perçue par rapport au gris.\nIndicateur qu'un stimulus apparaît plus ou moins coloré. TP_LOCALLAB_LOGCONQL;Contraste (Q) +TP_LOCALLAB_LOGCONTHRES;Contrast seuil (J & Q) TP_LOCALLAB_LOGCONTL;Contraste (J) -TP_LOCALLAB_LOGCONTL_TOOLTIP;Contraste (J) CIECAM16 prend en compte l'accroissement de la perception colorée avec la luminance. -TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contraste (Q) CIECAM16 prend en compte l'accroissement de la perception colorée avec la brillance. -TP_LOCALLAB_LOGDETAIL_TOOLTIP;Agit principalment sur les hautes fréquences. -TP_LOCALLAB_LOGENCOD_TOOLTIP;Autorise 'Tone Mapping' avec codage Logarithmique (ACES).\nUtile pour images ous-exposées, ou avec une plage dynamique élévée.\n\nDeux étapes dans le processus : 1) Calculer Plage Dynamique 2) Adaptation par utilisateur +TP_LOCALLAB_LOGCONTL_TOOLTIP;Le contraste (J) dans CIECAM16 prend en compte l'augmentation de la coloration perçue avec la luminance +TP_LOCALLAB_LOGCONTQ_TOOLTIP;Le contraste (Q) dans CIECAM16 prend en compte l'augmentation de la coloration perçue avec la luminosité (brightness). +TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Ajuste la plage de contraste des tons moyens (J et Q).\nLes valeurs positives réduisent progressivement l'effet des curseurs Contraste (J et Q). Les valeurs négatives augmentent progressivement l'effet des curseurs Contraste. +TP_LOCALLAB_LOGDETAIL_TOOLTIP;Agit principalement sur les hautes frequences. +TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUtile pour les images sous-exposées ou les images avec une plage dynamique élevée.\n\nProcessus en deux étapes : 1) Calcul de la plage dynamique 2) Réglage manuel TP_LOCALLAB_LOGEXP;Tous les outils -TP_LOCALLAB_LOGFRA;Point gris source -TP_LOCALLAB_LOGFRAME_TOOLTIP;Calcule ou utilise le niveau d'Exposition de l'image tôt dans le processus:\n Noir Ev, Blanc Ev et Point gris source.\n Prend en compte la compensation d'exposition principale. -TP_LOCALLAB_LOGIMAGE_TOOLTIP;Prend en compte les variables Ciecam (principalement Contraste 'J' et Saturation 's', et aussi 'avancé' Contraste 'Q' , Brillance 'Q', Luminosité (J), Niveau de couleurs (M)). -TP_LOCALLAB_LOGLIGHTL;Luminosité (J) -TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Proche de luminosité (L*a*b*), prend en compte l'accroissement de la perception colorée. -TP_LOCALLAB_LOGLIGHTQ;Brillance (Q) -TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Taux de perception de lumière émanant d'un stimulus.\nIndicateur qu'un stimulus apparaît être plus ou moins brillant, clair. -TP_LOCALLAB_LOGLIN;Logarithme mode -TP_LOCALLAB_LOGPFRA;Niveaux d'Exposition relatif -TP_LOCALLAB_LOGREPART;Force -TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) CIECAM16 correspond à la couleur d'un stimulus en relation avec sa propre brillance.\nAgit principalement sur les tons moyens et hauts. +TP_LOCALLAB_LOGFRA;Scene Conditions +TP_LOCALLAB_LOGFRAME_TOOLTIP;Vous permet de calculer et d'ajuster les niveaux Ev et la 'luminance moyenne Yb%' (point gris source) pour la zone du spot. Les valeurs résultantes seront utilisées par toutes les opérations Lab et la plupart des opérations RVB du pipeline.\nCalcule également la luminance absolue au moment de la prise de vue. +TP_LOCALLAB_LOGIMAGE_TOOLTIP;Prend en compte les variables Ciecam correspondantes : c'est-à-dire le contraste (J) et la saturation (s), ainsi que le contraste (Q), la luminosité (Q), la luminosité (J) et la couleur (M) (en mode avancé) +TP_LOCALLAB_LOGLIGHTL;Lightness (J) +TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Proche de lightness (L*a*b*). Prend en compte l'augmentation de la coloration perçue +TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Quantité de lumière perçue émanant d'un stimulus.\nIndicateur qu'un stimulus semble être plus ou moins brillant, clair. +TP_LOCALLAB_LOGLIN;Logarithm mode +TP_LOCALLAB_LOGPFRA;Niveaux Exposition relatifs +TP_LOCALLAB_LOGREPART;Force Globale +TP_LOCALLAB_LOGREPART_TOOLTIP;Vous permet d'ajuster la force relative de l'image encodée en journal par rapport à l'image d'origine.\nN'affecte pas le composant Ciecam. +TP_LOCALLAB_LOGSATURL_TOOLTIP;La saturation(s) dans CIECAM16 correspond à la couleur d'un stimulus par rapport à sa propre luminosité.\nAgit principalement sur les tons moyens et sur les hautes lumières. TP_LOCALLAB_LOGSCENE_TOOLTIP;Correspond aux conditions de prise de vue. -TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Change les tons et couleurs en prenant en compte les conditions de prise de vue.\n\nMoyen: Environnement lumineux moyen (standard). L'image ne change pas.\n\nTamisé: Environnement tamisé. L'iamge va devenir un peu plus claire. -TP_LOCALLAB_LOGSRCGREY_TOOLTIP;Estime la valeur du point gris de l'image, tôt dans le processus -TP_LOCALLAB_LOGTARGGREY_TOOLTIP;Vous pouvez changer cette valeur pour l'adapter à votre goût. -TP_LOCALLAB_LOG_TOOLNAME;Codage log - 0 -TP_LOCALLAB_LOGVIEWING_TOOLTIP;Correspond au medium sur lequel l'image finale sera vue (moniteur, TV, projecteur, imprimante,..), ainsi que son environnement. +TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Modifie les tonalités et les couleurs pour prendre en compte les conditions de la scène.\n\nMoyen : conditions d'éclairage moyennes (standard). L'image ne changera pas.\n\nDim : conditions de luminosité. L'image deviendra légèrement plus lumineuse.\n\nSombre : conditions sombres. L'image deviendra plus lumineuse. +TP_LOCALLAB_LOGVIEWING_TOOLTIP;Correspond au support sur lequel sera visualisée l'image finale (moniteur, TV, projecteur, imprimante...), ainsi qu'aux conditions environnantes. +TP_LOCALLAB_LOG_TOOLNAME;Log Encoding TP_LOCALLAB_LUM;LL - CC TP_LOCALLAB_LUMADARKEST;Plus Sombre TP_LOCALLAB_LUMASK;Masque Luminance arrière plan TP_LOCALLAB_LUMASK_TOOLTIP;Ajuste le gris de l'arrière plan du masque dans Montrer Masque (Masque et modifications) TP_LOCALLAB_LUMAWHITESEST;Plus clair -TP_LOCALLAB_LUMONLY;Luminance seulement -TP_LOCALLAB_MASKCOM;Masque couleur Commun -TP_LOCALLAB_MASKCOM_TOOLTIP;Ces masques travaillent comme les autres outils, ils prennet en compte Etendue.\nIls sont différents des autres masques qui complètent un outil (Couleur et Lumière, Exposition...) -TP_LOCALLAB_MASKDDECAY;Force des transitions -TP_LOCALLAB_MASKDECAY_TOOLTIP;Gère le taux des tranistions des niveaux gris dans le masque.\n Transition = 1 linéaire, Transition > 1 transitions paraboliques rapides, Transitions < 1 transitions progressives TP_LOCALLAB_MASFRAME;Masque et Fusion TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTake into account deltaE image to avoid retouching the selection area when sliders gamma mask, slope mask, chroma mask and curves contrast , levels contrasts, and mask blur, structure(if enabled tool) are used.\nDisabled in Inverse TP_LOCALLAB_MASK;Masque TP_LOCALLAB_MASK2;Courbe de Contraste -TP_LOCALLAB_MASKCOL;Masque Courbes +TP_LOCALLAB_MASKCOM;Masque couleur Commun +TP_LOCALLAB_MASKCOM_TOOLNAME;Masque Commun Couleur - 12 +TP_LOCALLAB_MASKCOM_TOOLTIP;Ces masques travaillent comme les autres outils, ils prennet en compte Etendue.\nIls sont différents des autres masques qui complètent un outil (Couleur et Lumière, Exposition...) TP_LOCALLAB_MASKCURVE_TOOLTIP;Si la courbe est au sommet, le masque est compétement noir aucune transformation n'est réalisée par le masque sur l'image.\nQuand vous descendez la courbe, progressivement le masque va se colorer et s'éclaicir, l'image change de plus en plus.\n\nIl est recommendé (pas obligatoire) de positionner le sommet des courbes curves sur la ligne de transition grise qui représnte les références (chroma, luma, couleur). +TP_LOCALLAB_MASKDDECAY;Force des transitions +TP_LOCALLAB_MASKDECAY_TOOLTIP;Gère le taux des tranistions des niveaux gris dans le masque.\n Transition = 1 linéaire, Transition > 1 transitions paraboliques rapides, Transitions < 1 transitions progressives +TP_LOCALLAB_MASKDE_TOOLTIP;Utilisé pour diriger l'action de de-bruite basé sur les informations des courbes masques L(L) ou LC(H) (Masque et modifications).\n Les masques L(L) ou LC(H) doivent être activés pour utiliser cette fonction.\n Si le masque est en dessous du seuil sombre le De-bruite sera appliqué progressivement.\n Si le masque est au-dessus du seuil 'clair', le De-bruite sera appliqué progressivement.\n Entre les deux, les réglages sans De-bruite seront maintenus, sauf si vous agissez sur les curseurs "Zones grise dé-bruite luminance" or "Zones grise de-bruite chrominance". +TP_LOCALLAB_MASKGF_TOOLTIP;Utilisé pour diriger l'action de Filtre Guidé basé sur les informations des courbes masques L(L) ou LC(H) (Masque et modifications).\n Les masques L(L) ou LC(H) doivent être activés pour utiliser cette fonction.\n Si le masque est en dessous du seuil sombre le Filtre Guidé sera appliqué progressivement.\n Si le masque est au-dessus du seuil 'clair', le Filtre Guidé sera appliqué progressivement.\n Entre les deux, les réglages sans Filtre Guidé seront maintenus. +TP_LOCALLAB_MASKH;Courbe teinte +TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Limite des tons clairs au-dessus de laquelle CBDL (luminance) sera restauré progressivement à leurs valeurs avant d'être modifiés par CBDL.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Limite des tons clairs au-dessus de laquelle Couleur et Lumière sera restauré progressivement à leurs valeurs avant d'être modifiés par Couleur et Lumières .\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris: ‘masque structure’, 'masque flouter', ‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’, ‘Niveau contraste local ondelettes’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP;Limite des tons clairs au-dessus de laquelle de-bruite sera appliquée progressivement.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris: ‘masque structure’,‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’, ‘Niveau contraste local ondelettes’.Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées.\n Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Limite des tons clairs au-dessus de laquelle Compression dynamique et Exposition sera restauré progressivement à leurs valeurs avant d'être modifiés par Compression dynamique et Exposition.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Limite des tons clairs au-dessus de laquelle Codage Log sera restauré progressivement à leurs valeurs avant d'être modifiés par Codage Log.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Limite des tons clairs au-dessus de laquelle Retinex (luminance) sera restauré progressivement à leurs valeurs avant d'être modifiés par Retinex.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Limite des tons clairs au-dessus de laquelle Ombres et Lumière sera restauré progressivement à leurs valeurs avant d'être modifiés par Ombres et Lumières .\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Limite des tons clairs au-dessus de laquelle Compression tonale sera restauré progressivement à leurs valeurs avant d'être modifiés par Compression tonale.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Maqsue luminance arrière plan = 0 +TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Limite des tons clairs au-dessus de laquelle Vibrance - Chaud Froid sera restauré progressivement à leurs valeurs avant d'être modifiés par Vibrance - Chaud Froid.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Limite des tons clairs au-dessus de laquelle Contraste local - Ondelettes sera restauré progressivement à leurs valeurs avant d'être modifiés par Contraste local - Ondelettes.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKHIGTHRES_TOOLTIP;Limite des tons clairs au-dessus de laquelle Filtre Guidé sera appliquée progressivement.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris: ‘masque structure’,‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’, ‘Niveau contraste local ondelettes’.Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées.\n Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKLCTHR;Seuil luminance zones claires +TP_LOCALLAB_MASKLCTHRLOW;Seuil luminance zones sombres TP_LOCALLAB_MASKLCTHRMID;Zones grises de-bruite lumina TP_LOCALLAB_MASKLCTHRMIDCH;Zones grises de-bruite chroma TP_LOCALLAB_MASKLC_TOOLTIP;Vous autorise à cibler le de-bruite en se basant sur les informations du masque dans L(L) ou LC(H) (Masque et Modifications).\n Les masques L(L) ou LC(H) doivent être activés pour utiliser cette fonction.\n si le masque est très sombre - sous le seuil 'sombre' - de-bruite sera accru si renforce > 1.\n si le masque est clair - au-dessus du seuil 'clair' - de-bruite sera progressivement réduit.\n entre les deux, de-bruite sera maintenu aux réglages sans masques. -TP_LOCALLAB_MASKLCTHR;Seuil luminance zones claires -TP_LOCALLAB_MASKLCTHRLOW;Seuil luminance zones sombres TP_LOCALLAB_MASKLNOISELOW;Renf. de-bruite sombres/claires -TP_LOCALLAB_MASKH;Courbe teinte -TP_LOCALLAB_MASKRECOTHRES;Seuil de Récupération -TP_LOCALLAB_MASKDE_TOOLTIP;Utilisé pour diriger l'action de de-bruite basé sur les informations des courbes masques L(L) ou LC(H) (Masque et modifications).\n Les masques L(L) ou LC(H) doivent être activés pour utiliser cette fonction.\n Si le masque est en dessous du seuil sombre le De-bruite sera appliqué progressivement.\n Si le masque est au-dessus du seuil 'clair', le De-bruite sera appliqué progressivement.\n Entre les deux, les réglages sans De-bruite seront maintenus, sauf si vous agissez sur les curseurs "Zones grise dé-bruite luminance" or "Zones grise de-bruite chrominance". -TP_LOCALLAB_MASKGF_TOOLTIP;Utilisé pour diriger l'action de Filtre Guidé basé sur les informations des courbes masques L(L) ou LC(H) (Masque et modifications).\n Les masques L(L) ou LC(H) doivent être activés pour utiliser cette fonction.\n Si le masque est en dessous du seuil sombre le Filtre Guidé sera appliqué progressivement.\n Si le masque est au-dessus du seuil 'clair', le Filtre Guidé sera appliqué progressivement.\n Entre les deux, les réglages sans Filtre Guidé seront maintenus. +TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Limite des tons sombres au-dessous de laquelle CBDL (luminance) sera restauré progressivement à leurs valeurs avant d'être modifiés par CBDL.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Limite des tons sombres au-dessous de laquelle Couleur et Lumière sera restauré progressivement à leurs valeurs avant d'être modifiés par Couleur et Lumières .\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris: ‘masque structure’, 'masque flouter', ‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’, ‘Niveau contraste local ondelettes’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;Limite des tons sombres au-dessous de laquelle de-bruite sera appliquée progressivement.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris: ‘masque structure’,‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’, ‘Niveau contraste local ondelettes’.Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées.\n Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Limite des tons sombres au-dessous de laquelle Compression dynamique et Exposition sera restauré progressivement à leurs valeurs avant d'être modifiés par Compression dynamique et Exposition.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Limite des tons sombres au-dessous de laquelle Codage Log sera restauré progressivement à leurs valeurs avant d'être modifiés par Codage Log.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Limite des tons sombres au-dessous de laquelle Retinex (luminance) sera restauré progressivement à leurs valeurs avant d'être modifiés par Retinex.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Limite des tons sombres au-dessous de laquelle Ombres et Lumière sera restauré progressivement à leurs valeurs avant d'être modifiés par Ombres et Lumières .\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Limite des tons sombres au-dessous de laquelle Compression tonale sera restauré progressivement à leurs valeurs avant d'être modifiés par Compression tonale.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Limite des tons sombres au-dessous de laquelle Vibrance - Chaud Froid sera restauré progressivement à leurs valeurs avant d'être modifiés par Vibrance - Chaud Froid.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Limite des tons sombres au-dessous de laquelle Contraste local - Ondelettes sera restauré progressivement à leurs valeurs avant d'être modifiés par Contraste local - Ondelettes.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 +TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;Limite des tons sombres au-dessous de laquelle Filtre Guidé sera appliquée progressivement.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris: ‘masque structure’,‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’, ‘Niveau contraste local ondelettes’.Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées.\n Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 TP_LOCALLAB_MASKRECOL_TOOLTIP;Utilisé pour moduler l'action des réglages de Couleur et Lumières en se basant sur les informations contenues dans les courbes des masques L(L) ou LC(H) (Masques et modifications).\n Les masques L(L) ou LC(H) doivent être activés pour utiliser cette fonction.\n Les zones ‘sombres’ et ‘claires’ en dessous du seuil sombre et au dessus du seuil clair seront restaurés progressivement à leurs valeurs originales avant d'avoir été modifiées par Couleurs et Lumières \n Entre ces 2 valeurs, les valeurs de Couleurs et Lumières seront appliquées +TP_LOCALLAB_MASKRECOTHRES;Seuil de Récupération TP_LOCALLAB_MASKREEXP_TOOLTIP;Utilisé pour moduler l'action des réglages de Compression dynamique et Exposition en se basant sur les informations contenues dans les courbes des masques L(L) ou LC(H) (Masques et modifications).\n Les masques L(L) ou LC(H) doivent être activés pour utiliser cette fonction.\n Les zones ‘sombres’ et ‘claires’ en dessous du seuil sombre et au dessus du seuil clair seront restaurés progressivement à leurs valeurs originales avant d'avoir été modifiées par Compression dynamique et Exposition \n Entre ces 2 valeurs, les valeurs de Compression dynamique et Exposition seront appliquées -TP_LOCALLAB_MASKRESH_TOOLTIP;Utilisé pour moduler l'action des réglages de Ombres et Lumières en se basant sur les informations contenues dans les courbes des masques L(L) ou LC(H) (Masques et modifications).\n Les masques L(L) ou LC(H) doivent être activés pour utiliser cette fonction.\n Les zones ‘sombres’ et ‘claires’ en dessous du seuil sombre et au dessus du seuil clair seront restaurés progressivement à leurs valeurs originales avant d'avoir été modifiées par Ombres et Lumières \n Entre ces 2 valeurs, les valeurs de Ombres et Lumières seront appliquées +TP_LOCALLAB_MASKRELOG_TOOLTIP;Utilisé pour moduler l'action des réglages de Codage Log en se basant sur les informations contenues dans les courbes des masques L(L) ou LC(H) (Masques et modifications).\n Les masques L(L) ou LC(H) doivent être activés pour utiliser cette fonction.\n Les zones ‘sombres’ et ‘claires’ en dessous du seuil sombre et au dessus du seuil clair seront restaurés progressivement à leurs valeurs originales avant d'avoir été modifiées par Codage Log - peut être utilisé pour récupérer les hautes lumières de 'Couleur propagation' \n Entre ces 2 valeurs, les valeurs de Codage Log seront appliquées TP_LOCALLAB_MASKRESCB_TOOLTIP;Utilisé pour moduler l'action des réglages de CBDL (Luminance) en se basant sur les informations contenues dans les courbes des masques L(L) ou LC(H) (Masques et modifications).\n Les masques L(L) ou LC(H) doivent être activés pour utiliser cette fonction.\n Les zones ‘sombres’ et ‘claires’ en dessous du seuil sombre et au dessus du seuil clair seront restaurés progressivement à leurs valeurs originales avant d'avoir été modifiées par CBDL \n Entre ces 2 valeurs, les valeurs de CBDL seront appliquées +TP_LOCALLAB_MASKRESH_TOOLTIP;Utilisé pour moduler l'action des réglages de Ombres et Lumières en se basant sur les informations contenues dans les courbes des masques L(L) ou LC(H) (Masques et modifications).\n Les masques L(L) ou LC(H) doivent être activés pour utiliser cette fonction.\n Les zones ‘sombres’ et ‘claires’ en dessous du seuil sombre et au dessus du seuil clair seront restaurés progressivement à leurs valeurs originales avant d'avoir été modifiées par Ombres et Lumières \n Entre ces 2 valeurs, les valeurs de Ombres et Lumières seront appliquées TP_LOCALLAB_MASKRESRETI_TOOLTIP;Utilisé pour moduler l'action des réglages de Retinex (Luminance) en se basant sur les informations contenues dans les courbes des masques L(L) ou LC(H) (Masques et modifications).\n Les masques L(L) ou LC(H) doivent être activés pour utiliser cette fonction.\n Les zones ‘sombres’ et ‘claires’ en dessous du seuil sombre et au dessus du seuil clair seront restaurés progressivement à leurs valeurs originales avant d'avoir été modifiées par Retinex \n Entre ces 2 valeurs, les valeurs de Retinex seront appliquées TP_LOCALLAB_MASKRESTM_TOOLTIP;Utilisé pour moduler l'action des réglages de Compression tonale en se basant sur les informations contenues dans les courbes des masques L(L) ou LC(H) (Masques et modifications).\n Les masques L(L) ou LC(H) doivent être activés pour utiliser cette fonction.\n Les zones ‘sombres’ et ‘claires’ en dessous du seuil sombre et au dessus du seuil clair seront restaurés progressivement à leurs valeurs originales avant d'avoir été modifiées par Compression tonale \n Entre ces 2 valeurs, les valeurs de Compression tonale seront appliquées TP_LOCALLAB_MASKRESVIB_TOOLTIP;Utilisé pour moduler l'action des réglages de Vibrance - Chaud et froid en se basant sur les informations contenues dans les courbes des masques L(L) ou LC(H) (Masques et modifications).\n Les masques L(L) ou LC(H) doivent être activés pour utiliser cette fonction.\n Les zones ‘sombres’ et ‘claires’ en dessous du seuil sombre et au dessus du seuil clair seront restaurés progressivement à leurs valeurs originales avant d'avoir été modifiées par Vibrance - Chaud et froid \n Entre ces 2 valeurs, les valeurs de Vibrance - Chaud et froid seront appliquées TP_LOCALLAB_MASKRESWAV_TOOLTIP;Utilisé pour moduler l'action des réglages de Contraste local et ondelettes en se basant sur les informations contenues dans les courbes des masques L(L) ou LC(H) (Masques et modifications).\n Les masques L(L) ou LC(H) doivent être activés pour utiliser cette fonction.\n Les zones ‘sombres’ et ‘claires’ en dessous du seuil sombre et au dessus du seuil clair seront restaurés progressivement à leurs valeurs originales avant d'avoir été modifiées par Contraste local et ondelettes \n Entre ces 2 valeurs, les valeurs de Contraste local et Ondelettes seront appliquées -TP_LOCALLAB_MASKRELOG_TOOLTIP;Utilisé pour moduler l'action des réglages de Codage Log en se basant sur les informations contenues dans les courbes des masques L(L) ou LC(H) (Masques et modifications).\n Les masques L(L) ou LC(H) doivent être activés pour utiliser cette fonction.\n Les zones ‘sombres’ et ‘claires’ en dessous du seuil sombre et au dessus du seuil clair seront restaurés progressivement à leurs valeurs originales avant d'avoir été modifiées par Codage Log - peut être utilisé pour récupérer les hautes lumières de 'Couleur propagation' \n Entre ces 2 valeurs, les valeurs de Codage Log seront appliquées -TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Limite des tons clairs au-dessus de laquelle Couleur et Lumière sera restauré progressivement à leurs valeurs avant d'être modifiés par Couleur et Lumières .\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris: ‘masque structure’, 'masque flouter', ‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’, ‘Niveau contraste local ondelettes’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Limite des tons clairs au-dessus de laquelle Ombres et Lumière sera restauré progressivement à leurs valeurs avant d'être modifiés par Ombres et Lumières .\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Limite des tons clairs au-dessus de laquelle CBDL (luminance) sera restauré progressivement à leurs valeurs avant d'être modifiés par CBDL.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Limite des tons clairs au-dessus de laquelle Retinex (luminance) sera restauré progressivement à leurs valeurs avant d'être modifiés par Retinex.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Limite des tons clairs au-dessus de laquelle Compression tonale sera restauré progressivement à leurs valeurs avant d'être modifiés par Compression tonale.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Maqsue luminance arrière plan = 0 -TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Limite des tons clairs au-dessus de laquelle Vibrance - Chaud Froid sera restauré progressivement à leurs valeurs avant d'être modifiés par Vibrance - Chaud Froid.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Limite des tons clairs au-dessus de laquelle Contraste local - Ondelettes sera restauré progressivement à leurs valeurs avant d'être modifiés par Contraste local - Ondelettes.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Limite des tons clairs au-dessus de laquelle Compression dynamique et Exposition sera restauré progressivement à leurs valeurs avant d'être modifiés par Compression dynamique et Exposition.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Limite des tons clairs au-dessus de laquelle Codage Log sera restauré progressivement à leurs valeurs avant d'être modifiés par Codage Log.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Limite des tons clairs au-dessus de laquelle Codage Log sera restauré progressivement à leurs valeurs avant d'être modifiés par Codage Log.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP;Limite des tons clairs au-dessus de laquelle de-bruite sera appliquée progressivement.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris: ‘masque structure’,‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’, ‘Niveau contraste local ondelettes’.Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées.\n Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKHIGTHRES_TOOLTIP;Limite des tons clairs au-dessus de laquelle Filtre Guidé sera appliquée progressivement.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris: ‘masque structure’,‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’, ‘Niveau contraste local ondelettes’.Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées.\n Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Limite des tons sombres au-dessous de laquelle Couleur et Lumière sera restauré progressivement à leurs valeurs avant d'être modifiés par Couleur et Lumières .\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris: ‘masque structure’, 'masque flouter', ‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’, ‘Niveau contraste local ondelettes’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Limite des tons sombres au-dessous de laquelle Ombres et Lumière sera restauré progressivement à leurs valeurs avant d'être modifiés par Ombres et Lumières .\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Limite des tons sombres au-dessous de laquelle CBDL (luminance) sera restauré progressivement à leurs valeurs avant d'être modifiés par CBDL.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Limite des tons sombres au-dessous de laquelle Retinex (luminance) sera restauré progressivement à leurs valeurs avant d'être modifiés par Retinex.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Limite des tons sombres au-dessous de laquelle Compression tonale sera restauré progressivement à leurs valeurs avant d'être modifiés par Compression tonale.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Limite des tons sombres au-dessous de laquelle Vibrance - Chaud Froid sera restauré progressivement à leurs valeurs avant d'être modifiés par Vibrance - Chaud Froid.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Limite des tons sombres au-dessous de laquelle Contraste local - Ondelettes sera restauré progressivement à leurs valeurs avant d'être modifiés par Contraste local - Ondelettes.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Limite des tons sombres au-dessous de laquelle Compression dynamique et Exposition sera restauré progressivement à leurs valeurs avant d'être modifiés par Compression dynamique et Exposition.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Limite des tons sombres au-dessous de laquelle Codage Log sera restauré progressivement à leurs valeurs avant d'être modifiés par Codage Log.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Limite des tons sombres au-dessous de laquelle Codage Log sera restauré progressivement à leurs valeurs avant d'être modifiés par Codage Log.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris:‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’.\n Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées. Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;Limite des tons sombres au-dessous de laquelle de-bruite sera appliquée progressivement.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris: ‘masque structure’,‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’, ‘Niveau contraste local ondelettes’.Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées.\n Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;Limite des tons sombres au-dessous de laquelle Filtre Guidé sera appliquée progressivement.\n Vous pouvez utiliser certains des outils de ‘Masques et modifications’ pour changer les niveaux de gris: ‘masque structure’,‘rayon adoucir’, ‘Gamma et pente’, ‘courbe de Contraste’, ‘Niveau contraste local ondelettes’.Utiliser une ‘ancre de vérification couleur’ sur le masque pour voir quelle zones seront affectées.\n Soyez attentifs à ce que dans 'Réglages' Masque luminance arrière plan = 0 -TP_LOCALLAB_MASKUSABLE;Masque activé (Masque & modifications) TP_LOCALLAB_MASKUNUSABLE;Masque désactivé (Masque & modifications) +TP_LOCALLAB_MASKUSABLE;Masque activé (Masque & modifications) TP_LOCALLAB_MASK_TOOLTIP;Vous pouvez activer plusieurs masques pour un simple outil, ceci nécessite d'activer un autre outil (mais sans utilser l'outil : curseurs à 0,...)où est le masque que vous souhaitez activer.\n\nVous pouvez aussi dupliquer le RT-spot et le placer juste à côté de l'autre,les variations de références autorisent un travail fin sur les images. TP_LOCALLAB_MED;Medium TP_LOCALLAB_MEDIAN;Median Bas -TP_LOCALLAB_MEDIAN_TOOLTIP;Choisir un median 3x3 à 9x9: plus les valeurs sont élévées, plus la réduction du bruit ou le flou seront marqués TP_LOCALLAB_MEDIANITER_TOOLTIP;Nombre d'applications successives du median +TP_LOCALLAB_MEDIAN_TOOLTIP;Choisir un median 3x3 à 9x9: plus les valeurs sont élévées, plus la réduction du bruit ou le flou seront marqués TP_LOCALLAB_MEDNONE;Rien TP_LOCALLAB_MERCOL;Couleur TP_LOCALLAB_MERDCOL;Fusion arrière plan (ΔE) @@ -2153,16 +2191,8 @@ TP_LOCALLAB_MERFOU;Multiplier TP_LOCALLAB_MERGE1COLFRA;Fusion avec Original ou Précédent ou arrière plan TP_LOCALLAB_MERGECOLFRA;Masque: LCH & Structure TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Vous permet de créer des masques basés sur les 3 courbes LCH et/ou un algorithm de détection de structure -TP_LOCALLAB_MERGEFIV;Previous Spot(Mask 7) + Mask LCH -TP_LOCALLAB_MERGEFOU;Previous Spot(Mask 7) TP_LOCALLAB_MERGEMER_TOOLTIP;Prend en compte ΔE pour fusionner les fichiers (équivalent de Etendue pour cet usage) -TP_LOCALLAB_MERGENONE;Rien -TP_LOCALLAB_MERGEONE;Short Curves 'L' Mask TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacité fusion % Spot courant avec original ou Spot précédent.\nContraste seuil : ajuste le résulat en fonction du contraste original -TP_LOCALLAB_MERGETHR;Original(Mask 7) + Mask LCH -TP_LOCALLAB_MERGETWO;Original(Mask 7) -TP_LOCALLAB_MERGETYPE;Fusion image et masque -TP_LOCALLAB_MERGETYPE_TOOLTIP;Rien, use all mask in LCH mode.\nShort curves 'L' mask, use a short circuit for mask 2, 3, 4, 6, 7.\nOriginal mask 8, blend current image with original TP_LOCALLAB_MERHEI;Overlay TP_LOCALLAB_MERHUE;Teite TP_LOCALLAB_MERLUCOL;Luminance @@ -2189,24 +2219,21 @@ TP_LOCALLAB_MRFIV;Arrière plan TP_LOCALLAB_MRFOU;Spot précédent TP_LOCALLAB_MRONE;Rien TP_LOCALLAB_MRTHR;Image Originale -TP_LOCALLAB_MRTWO;Short Curves 'L' Mask TP_LOCALLAB_MULTIPL_TOOLTIP;Autorise la retouche des tons sur une large plage : -18EV +4EV. Le remier curseur agit sur -18EV and -6EV. Le dernier curseur agit sur les tons au-dessus de 4EV TP_LOCALLAB_NEIGH;Rayon -TP_LOCALLAB_NLDENOISE_TOOLTIP;"Récupération des détails" agit sur un Laplacien pour privilégier l'action de denoise sur les aplats plutôt que sur les structures. TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Agir sur ce curseur pour adapter le niveau de débruitage à la taille des objets à traiter. TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Plus la valeur sera importante, plus le débruitage sera intense.\nMais cela a une forte incidence sur les temps de traitement. -TP_LOCALLAB_NLFRAME_TOOLTIP;"Débruitage par morceaux" réalise une moyenne de la totalité des valeurs des pixels contenus dans l'image, pondérées en fonction de leur similarité avec le résultat attendu (pixel cible).\nL'algoritme permet d’amoindrir la perte de détails au sein de l'image.\nSeul le bruit de luminance est pris en compte, le bruit de chrominance est traité de manière plus performante par le couple ondelettes / Fourier (DCT).\nPeut être utilisé en conjonction avec 'ondelettes' ou isolé.\nLa taille du RT-Spot doit être supérieure à 150x150 pixels (sortie TIF/JPG). -TP_LOCALLAB_NLFRA;Débruitage par morceaux - Luminance -TP_LOCALLAB_NLLUM;Force +TP_LOCALLAB_NLDENOISE_TOOLTIP;"Récupération des détails" agit sur un Laplacien pour privilégier l'action de denoise sur les aplats plutôt que sur les structures. TP_LOCALLAB_NLDET;Récupération des détails +TP_LOCALLAB_NLFRA;Débruitage par morceaux - Luminance +TP_LOCALLAB_NLFRAME_TOOLTIP;"Débruitage par morceaux" réalise une moyenne de la totalité des valeurs des pixels contenus dans l'image, pondérées en fonction de leur similarité avec le résultat attendu (pixel cible).\nL'algoritme permet d’amoindrir la perte de détails au sein de l'image.\nSeul le bruit de luminance est pris en compte, le bruit de chrominance est traité de manière plus performante par le couple ondelettes / Fourier (DCT).\nPeut être utilisé en conjonction avec 'ondelettes' ou isolé.\nLa taille du RT-Spot doit être supérieure à 150x150 pixels (sortie TIF/JPG). +TP_LOCALLAB_NLLUM;Force TP_LOCALLAB_NLPAT;Taille maximum du morceau TP_LOCALLAB_NLRAD;Taille maximum du rayon -TP_LOCALLAB_NOISE_TOOLTIP;Ajoute du bruit de luminance TP_LOCALLAB_NOISECHROCOARSE;Chroma gros (Ond) TP_LOCALLAB_NOISECHROC_TOOLTIP;Si supérieur à zéro, algorithme haute qualité est activé.\nGros est sélectionné si curseur >=0.2 TP_LOCALLAB_NOISECHRODETAIL;Récup. détails Chroma(DCT) TP_LOCALLAB_NOISECHROFINE;Chroma fin (Ond) -TP_LOCALLAB_NOISEDETAIL_TOOLTIP;Désactivé si curseur = 100 TP_LOCALLAB_NOISELEQUAL;Egalisateurs blanc-noir TP_LOCALLAB_NOISELUMCOARSE;Luminance gros (ond) TP_LOCALLAB_NOISELUMDETAIL;Récup. Luminance détail(DCT) @@ -2214,6 +2241,7 @@ TP_LOCALLAB_NOISELUMFINE;Luminance fin 1 (ond) TP_LOCALLAB_NOISELUMFINETWO;Luminance fin 2 (ond) TP_LOCALLAB_NOISELUMFINEZERO;Luminance fin 0 (ond) TP_LOCALLAB_NOISEMETH;Réduction du bruit +TP_LOCALLAB_NOISE_TOOLTIP;Ajoute du bruit de luminance TP_LOCALLAB_NONENOISE;Rien TP_LOCALLAB_OFFS;Décalage TP_LOCALLAB_OFFSETWAV;Décalage @@ -2225,26 +2253,30 @@ TP_LOCALLAB_PASTELS2;Vibrance TP_LOCALLAB_PDE;Atténuation de Contraste - Compression dynamique TP_LOCALLAB_PDEFRA;Contraste atténuation ƒ TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL - algorithme personnel adapté de IPOL à Rawtherapee: conduit à des résultats très variés et a besoin de différents réglages que Standard (Noir négatif, gamma < 1,...)\nPeut être utils pour des iamges sous-exposées ou avec une étendue dynamique importante.\n -TP_LOCALLAB_PREVIEW;Prévisualisation ΔE TP_LOCALLAB_PREVHIDE;Cacher tous les réglages +TP_LOCALLAB_PREVIEW;Prévisualisation ΔE TP_LOCALLAB_PREVSHOW;Montrer tous les réglages TP_LOCALLAB_PROXI;ΔE Affaiblissement +TP_LOCALLAB_QUAAGRES;Aggressif +TP_LOCALLAB_QUACONSER;Conservatif TP_LOCALLAB_QUALCURV_METHOD;Types de Courbes TP_LOCALLAB_QUAL_METHOD;Qualité globale -TP_LOCALLAB_QUACONSER;Conservatif -TP_LOCALLAB_QUAAGRES;Aggressif -TP_LOCALLAB_QUANONEWAV;Débruit. par morceaux-luminance seulement TP_LOCALLAB_QUANONEALL;Rien +TP_LOCALLAB_QUANONEWAV;Débruit. par morceaux-luminance seulement TP_LOCALLAB_RADIUS;Rayon TP_LOCALLAB_RADIUS_TOOLTIP;Au-dessus de Rayon 30 Utilise 'Fast Fourier Transform' TP_LOCALLAB_RADMASKCOL;Rayon adoucir TP_LOCALLAB_RECT;Rectangle TP_LOCALLAB_RECURS;Réferences Récursives TP_LOCALLAB_RECURS_TOOLTIP;Recalcule les références pour teinte, luma, chroma après chaque module et après chaque RT-spot.\nAussi utile pour le travail avec les masques. -TP_LOCALLAB_REFLABEL;Ref. (0..1) Chroma=%1 Luma=%2 teinte=%3 TP_LOCALLAB_REN_DIALOG_LAB;Entrer le nouveau nom de Spot TP_LOCALLAB_REN_DIALOG_NAME;Renomme le Controle Spot -TP_LOCALLAB_RESETSHOW;Annuler Montrer Toutes les Modifications +TP_LOCALLAB_REPARCOL_TOOLTIP;Vous permet d'ajuster le niveau de l'image modifiée par Couleurs et lumiéres par rapport à l'image originale. +TP_LOCALLAB_REPARDEN_TOOLTIP;Vous permet d'ajuster le niveau de l'image modifiée par De-bruite par rapport à l'image originale. +TP_LOCALLAB_REPAREXP_TOOLTIP;Vous permet d'ajuster le niveau de l'image modifiée par Compression dynammique et Exposition par rapport à l'image originale.. +TP_LOCALLAB_REPARSH_TOOLTIP;Vous permet d'ajuster le niveau de l'image modifiée Ombres et Lumières et Egaliseur par rapport à l'image originale.. +TP_LOCALLAB_REPARTM_TOOLTIP;Vous permet d'ajuster le niveau de l'image modifiée par Compression tonale par rapport à l'image originale.. +TP_LOCALLAB_REPARW_TOOLTIP;Vous permet d'ajuster le niveau de l'image modifiée par Contraste local et Ondelettes par rapport à l'image originale. TP_LOCALLAB_RESID;Image Résiduelle TP_LOCALLAB_RESIDBLUR;Flouter Image Résiduelle TP_LOCALLAB_RESIDCHRO;Image Résiduelle Chroma @@ -2256,10 +2288,9 @@ TP_LOCALLAB_RESIDSHA;Ombres TP_LOCALLAB_RESIDSHATHR;Ombres seuil TP_LOCALLAB_RETI;De-brume - Retinex TP_LOCALLAB_RETIFRA;Retinex +TP_LOCALLAB_RETIFRAME_TOOLTIP; L'utilisation de Retinex peut être bénéfique pour le traitement des images: \ nqui sont floues, brumeuses ou ayant un voile de brouillard (en complément de Dehaz). \ Navec d'importants écarts de luminance. \ N où l'utilisateur recherche des effets spéciaux (cartographie des tons…) TP_LOCALLAB_RETIM;Original Retinex TP_LOCALLAB_RETITOOLFRA;Retinex Outils -TP_LOCALLAB_RETIFRAME_TOOLTIP; L'utilisation de Retinex peut être bénéfique pour le traitement des images: \ nqui sont floues, brumeuses ou ayant un voile de brouillard (en complément de Dehaz). \ Navec d'importants écarts de luminance. \ N où l'utilisateur recherche des effets spéciaux (cartographie des tons…) -TP_LOCALLAB_RETI_FFTW_TOOLTIP;FFT améliore la qualité et autorise de grands rayons, mais accroît les temps de traitement.\nCe temps dépends de la surface traitée\nLe temps de traitements dépend de "scale" (échelle) (soyez prudent avec les hautes valeurs ).\nA utiliser de préférence avec de grand rayons.\n\nLes Dimensions peuvent être réduites de quelques pixels pour optimiser FFTW.\nCette optimisation peut réduire le temps de traitement d'un facteur de 1.5 à 10.\nOptimisation pas utilsée en prévisualisation TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Have no effect when the value "Lightness = 1" or "Darkness =2" is chosen.\nIn other cases, the last step of "Multiple scale Retinex" is applied an algorithm close to "local contrast", these 2 cursors, associated with "Strength" will allow to play upstream on the local contrast. TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Play on internal parameters to optimize response.\nLook at the "restored datas" indicators "near" min=0 and max=32768 (log mode), but others values are possible. TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm allows differenciation for haze or normal.\nLogarithm brings more contrast but will generate more halo. @@ -2270,35 +2301,28 @@ TP_LOCALLAB_REWEI;Repondération iterations TP_LOCALLAB_RGB;RGB Courbe de tonalité TP_LOCALLAB_ROW_NVIS;Pas visible TP_LOCALLAB_ROW_VIS;Visible +TP_LOCALLAB_RSTPROTECT_TOOLTIP;La protection des rouges et des tons chair affecte les curseurs Saturation, Chroma et Colorfulness. TP_LOCALLAB_SATUR;Saturation -TP_LOCALLAB_SAVREST;Sauve - Récupère Image Courante TP_LOCALLAB_SCALEGR;Echelle TP_LOCALLAB_SCALERETI;Echelle TP_LOCALLAB_SCALTM;Echelle TP_LOCALLAB_SCOPEMASK;Etendue Masque ΔE Image TP_LOCALLAB_SCOPEMASK_TOOLTIP;Actif si Masque DeltaE Image est activé.\nLes faibles valeurs évitent de retoucher l'aire sélectionnée TP_LOCALLAB_SENSI;Etendue -TP_LOCALLAB_SENSIBN;Etendue -TP_LOCALLAB_SENSICB;Etendue -TP_LOCALLAB_SENSIDEN;Etendue TP_LOCALLAB_SENSIEXCLU;Etendue TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Ajuste les couleurs pour les inclure dans exclusion! -TP_LOCALLAB_SENSIH;Etendue -TP_LOCALLAB_SENSIH_TOOLTIP;Ajuste Etendue de l'action:\nLes petites valeurs limitent l'action aux couleurs très similaires à celles sous le centre du spot.\nHautes valeurs laissent l'outil agir sur une large plage de couleurs. -TP_LOCALLAB_SENSILOG;Etendue -TP_LOCALLAB_SENSIS;Etendue -TP_LOCALLAB_SENSI_TOOLTIP;Ajuste Etendue de l'action:\nLes petites valeurs limitent l'action aux couleurs très similaires à celles sous le centre du spot.\nHautes valeurs laissent l'outil agir sur une large plage de couleurs. TP_LOCALLAB_SENSIMASK_TOOLTIP;Ajuste Etendue pour ce masque commun.\nAgit sur l'écart entre l'image originale et le masque.\nLes références (luma, chroma, teinte) sont celles du centre du RT-spot\n\nVous pouvez aussi agir sur le deltaE interne au masque avec 'Etendue Masque deltaE image' dans 'Réglages' +TP_LOCALLAB_SENSI_TOOLTIP;Ajuste Etendue de l'action:\nLes petites valeurs limitent l'action aux couleurs très similaires à celles sous le centre du spot.\nHautes valeurs laissent l'outil agir sur une large plage de couleurs. TP_LOCALLAB_SETTINGS;Réglages TP_LOCALLAB_SH1;Ombres Lumières TP_LOCALLAB_SH2;Egaliseur TP_LOCALLAB_SHADEX;Ombres TP_LOCALLAB_SHADEXCOMP;Compression ombres & profondeur tonale TP_LOCALLAB_SHADHIGH;Ombres/Lumières&Egaliseur +TP_LOCALLAB_SHADHMASK_TOOLTIP;Abaisse les hautes lumières du masque de la même manière que l'algorithme "ombres/lumières" +TP_LOCALLAB_SHADMASK_TOOLTIP;Relève les ombres du masque de la même manière que l'algorithme "ombres/lumières" TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Peut être utilisé - ou en complement - du module Exposition dans les cas difficiles.\nUtiliser réduction du bruit Denoise peut être nécessaire : éclaicir les ombres.\n\nPeut être utilisé comme un filtre gradué (augmenter Etendue) TP_LOCALLAB_SHAMASKCOL;Ombres -TP_LOCALLAB_SHADMASK_TOOLTIP;Relève les ombres du masque de la même manière que l'algorithme "ombres/lumières" -TP_LOCALLAB_SHADHMASK_TOOLTIP;Abaisse les hautes lumières du masque de la même manière que l'algorithme "ombres/lumières" TP_LOCALLAB_SHAPETYPE;Forme aire RT-spot TP_LOCALLAB_SHAPE_TOOLTIP;Ellipse est le mode normal.\nRectangle peut être utilé dans certains cas, par exemple pour travailler en image complète en conjonction avec les délimiteurs en dehors de la prévisualisation, transition = 100.\n\nPolygone - Beziers sont en attente de GUI... TP_LOCALLAB_SHARAMOUNT;Quantité @@ -2343,8 +2367,14 @@ TP_LOCALLAB_SHOWVI;Masque et modifications TP_LOCALLAB_SHRESFRA;Ombres/Lumières TP_LOCALLAB_SHTRC_TOOLTIP;Modifie les tons de l'image en agissant sur la TRC (Tone Response Curve).\nGamma agit principalement sur les tons lumineux.\nSlope (pente) agit principalement sur les tons sombres. TP_LOCALLAB_SH_TOOLNAME;Ombres/lumières & Egaliseur tonal - 5 +TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +TP_LOCALLAB_SIGJZFRA;Sigmoid Jz TP_LOCALLAB_SIGMAWAV;Atténuation Réponse -TP_LOCALLAB_SIM;Simple +TP_LOCALLAB_SIGMOIDBL;Mélange +TP_LOCALLAB_SIGMOIDLAMBDA;Contraste +TP_LOCALLAB_SIGMOIDQJ;Utilise Black Ev & White Ev +TP_LOCALLAB_SIGMOIDTH;Seuil (Gray point) +TP_LOCALLAB_SIGMOID_TOOLTIP;Permet de simuler une apparence de Tone-mapping en utilisant à la fois la fonction 'Ciecam' (ou 'Jz') et 'Sigmoïde'.\nTrois curseurs : a) Le contraste agit sur la forme de la courbe sigmoïde et par conséquent sur la force ; b) Seuil (Point gris) distribue l'action en fonction de la luminance ; c)Blend agit sur l'aspect final de l'image, le contraste et la luminance. TP_LOCALLAB_SLOMASKCOL;Pente (slope) TP_LOCALLAB_SLOMASK_TOOLTIP;Gamma et Pente (Slope) autorise une transformation du masque en douceur et sans artefacts en modifiant progressivement "L" pour éviter les discontinuité. TP_LOCALLAB_SLOSH;Pente @@ -2354,10 +2384,9 @@ TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Applique un mélange Lumière douce. Effectue une TP_LOCALLAB_SOFTRADIUSCOL;Rayon adoucir TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applique un filtre guidé à l'image de sortie pour réduire les éventuels artefacts. TP_LOCALLAB_SOFTRETI;Reduire artefact ΔE -TP_LOCALLAB_SOFTRETI_TOOLTIP;Prend en compte ΔE pour améliorer Transmission map TP_LOCALLAB_SOFT_TOOLNAME;Lumière douce & Original Retinex - 6 -TP_LOCALLAB_SOURCE_GRAY;Valeur TP_LOCALLAB_SOURCE_ABS;Luminance absolue +TP_LOCALLAB_SOURCE_GRAY;Valeur TP_LOCALLAB_SPECCASE; Cas spécifiques TP_LOCALLAB_SPECIAL;Usage Special des courbes RGB TP_LOCALLAB_SPECIAL_TOOLTIP;Seulement pour cette courbe RGB, désactive (ou réduit les effecs) de Etendue, masque...par exemple, si vous voulez rendre un effet "négatif". @@ -2367,11 +2396,10 @@ TP_LOCALLAB_STR;Force TP_LOCALLAB_STRBL;Force TP_LOCALLAB_STREN;Compression Force TP_LOCALLAB_STRENG;Force -TP_LOCALLAB_STRENGRID_TOOLTIP;Vous pouvez ajuster l'effet désiré avec "force", mais vous pouvez aussi utiliser la fonction "Etendue" qui permet de délimiter l'action (par exemple, pour isoler une couleur particulière). TP_LOCALLAB_STRENGR;Force +TP_LOCALLAB_STRENGRID_TOOLTIP;Vous pouvez ajuster l'effet désiré avec "force", mais vous pouvez aussi utiliser la fonction "Etendue" qui permet de délimiter l'action (par exemple, pour isoler une couleur particulière). TP_LOCALLAB_STRENGTH;Bruit TP_LOCALLAB_STRGRID;Force -TP_LOCALLAB_STRRETI_TOOLTIP;Si force Retinex < 0.2 seul Dehaze est activé.\nSi force Retinex >= 0.1 Dehaze est en mode luminance. TP_LOCALLAB_STRUC;Structure TP_LOCALLAB_STRUCCOL;Structure TP_LOCALLAB_STRUCCOL1;Spot structure @@ -2389,7 +2417,6 @@ TP_LOCALLAB_THRESDELTAE;Seuil ΔE-Etendue TP_LOCALLAB_THRESRETI;Seuil TP_LOCALLAB_THRESWAV;Balance Seuil TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mea=%3 Sig=%4 -TP_LOCALLAB_TLABEL2;TM Effectif Tm=%1 TM=%2 TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can act on Threshold to normalize TP_LOCALLAB_TM;Compression tonale TP_LOCALLAB_TM_MASK;Utilise transmission map @@ -2418,45 +2445,35 @@ TP_LOCALLAB_VART;Variance (contraste) TP_LOCALLAB_VIBRANCE;Vibrance - Chaud & Froid TP_LOCALLAB_VIBRA_TOOLTIP;Ajuste vibrance (Globalement identique à Couleur ajustement).\nAmène l'équivalent d'une balance des blancs en utilisant l'algorithme CIECAM. TP_LOCALLAB_VIB_TOOLNAME;Vibrance - Chaud & Froid - 3 -TP_LOCALLAB_SOFT_TOOLNAME;Lumière douce & Original Retinex - 6 -TP_LOCALLAB_BLUR_TOOLNAME;Flouter/Grain & Réduction du bruit - 1 -TP_LOCALLAB_TONE_TOOLNAME;Compression tonale - 4 -TP_LOCALLAB_RET_TOOLNAME;De-brume & Retinex - 9 -TP_LOCALLAB_SHARP_TOOLNAME;Netteté - 8 -TP_LOCALLAB_LC_TOOLNAME;Constraste local & Ondelettes (Défauts) - 7 -TP_LOCALLAB_CBDL_TOOLNAME;Contraste par Niveau détail - 2 -TP_LOCALLAB_LOG_TOOLNAME;Codage log - 0 -TP_LOCALLAB_MASKCOM_TOOLNAME;Masque Commun Couleur - 12 TP_LOCALLAB_VIS_TOOLTIP;Click pour montrer/cacher le Spot sélectionné.\nCtrl+click pour montrer/cacher tous les Spot. -TP_LOCALLAB_WAMASKCOL;Niveau Ondelettes TP_LOCALLAB_WARM;Chaud - Froid & Artefacts de couleur TP_LOCALLAB_WARM_TOOLTIP;Ce curseur utilise l'algorithme Ciecam et agit comme une Balance des blancs, il prut réchauffer ou refroidir cool la zone concernée.\nIl peut aussi dans certains réduire les artefacts colorés. TP_LOCALLAB_WASDEN_TOOLTIP;De-bruite luminance pour les 3 premiers niveaux (fin).\nLa limite droite de la courbe correspond à gros : niveau 3 et au delà. -TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Contraste faible à élevé de gauche à droite en abscisse\nAugmente ou réduit le contraste en ordonnée. -TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Contraste faible à élevé de gauche à droite en abscisse\nAugmente ou réduit le contraste en ordonnée. -TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;L'effet sur le contraste local est maximum pour les valeurs moyennes, et affaibli pour les valeurs faibles ou élevées.\n Le curseur contrôle comment s'effectue les changements pour ces valeurs extêmse.\n Plus la valeur du curseur est élevée, plus grande sera l'étendue qui recevra le maximum d'ajustements, ainsi que le risque de voir apparaître des artefacts.\n .Plus faible sera cette valeur, plus les différences de contraste seront atténuées +TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Equilibre l'action à l'intérieur de chaque niveau TP_LOCALLAB_WAT_BLURLC_TOOLTIP;Par défaut les 3 dimensions de L*a*b* luminance et couleur sont concernées par le floutage.\nCase cochée - luminance seulement -TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Etendue des niveaux d’ondelettes utilisée dans l’ensemble du module “wavelets” -TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;Image résiduelle, a le même comportement que l'image principale +TP_LOCALLAB_WAT_CLARIC_TOOLTIP;"Fusion chroma" est utilisée pour selectionner l'intensité de l'effet désiré sur la chrominance. TP_LOCALLAB_WAT_CLARIL_TOOLTIP;"Fusion luma" est utilisée pour selectionner l'intensité de l'effet désiré sur la luminance. -TP_LOCALLAB_WAT_CLARIC_TOOLTIP;"Fusion chroma" est utilisée pour selectionner l'intensité de l'effet désiré sur la luminance. -TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;"Fusion seulement avec image originale", empêche les actions "Wavelet Pyramid" d'interférer avec "Claté" and "Masque netteté" -TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Permet au contraste local de varier en fonction d'un gradient et d'un angle. La variation du signal de la luminance signal est prise en compte et non pas la luminance. -TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Décalage modifie la balance entre faible contraste et contraste élévé.\nLes hautes valeurs amplifient les changements de contraste pour les détails à contraste élévé, alors que les faibles valeurs vont amplifier les détails à contraste faible .\nEn selectionant des valeurs faibles vous pouvez ainsi sélectionner les zones de contrastes qui seront accentuées. TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;"Niveaux de Chroma": ajuste les valeurs "a" et "b" des composantes L*a*b* comme une proportion de la luminance. -TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similaira à Contraste par niveaux de détail. Des détails fins au gros details de gauche à droite en abscisse. -TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensité de la détection d'effet de bord -TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;Vous pouvez agir sur la répartition du contraste local selon l'intensité initiale du contraste par niveaux d'ondelettes.\nCeci aura comme conséquences de modifier l'effet de perspective et de relief de l'image, et/ou réduire les contrastes pour les très faibles niveaux de contraste initial +TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Décalage modifie la balance entre faible contraste et contraste élévé.\nLes hautes valeurs amplifient les changements de contraste pour les détails à contraste élévé, alors que les faibles valeurs vont amplifier les détails à contraste faible .\nEn selectionant des valeurs faibles vous pouvez ainsi sélectionner les zones de contrastes qui seront accentuées. +TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;En déplaçant le curseur à gauche, les bas niveaux sont accentués, et vers la droite ce sont les bas niveaux qui sont réduits et les hauts niveaux accentués +TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;Image résiduelle, a le même comportement que l'image principale TP_LOCALLAB_WAT_GRADW_TOOLTIP;Plus vous déplacez le curseur à droite, plus l'algorithme de détection sera efficace, moins les effets du contraste local seront sensibles +TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Contraste faible à élevé de gauche à droite en abscisse\nAugmente ou réduit le contraste en ordonnée. +TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;Vous pouvez agir sur la répartition du contraste local selon l'intensité initiale du contraste par niveaux d'ondelettes.\nCeci aura comme conséquences de modifier l'effet de perspective et de relief de l'image, et/ou réduire les contrastes pour les très faibles niveaux de contraste initial +TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;"Fusion seulement avec image originale", empêche les actions "Wavelet Pyramid" d'interférer avec "Claté" and "Masque netteté" +TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Floute l'image résiduelle, indépendamment des niveaux +TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Commpresse l'image résiduelle afin d'accentuer ou réduire les contrastes +TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;L'effet sur le contraste local est maximum pour les valeurs moyennes, et affaibli pour les valeurs faibles ou élevées.\n Le curseur contrôle comment s'effectue les changements pour ces valeurs extêmse.\n Plus la valeur du curseur est élevée, plus grande sera l'étendue qui recevra le maximum d'ajustements, ainsi que le risque de voir apparaître des artefacts.\n .Plus faible sera cette valeur, plus les différences de contraste seront atténuées +TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensité de la détection d'effet de bord +TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Permet au contraste local de varier en fonction d'un gradient et d'un angle. La variation du signal de la luminance signal est prise en compte et non pas la luminance. +TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Etendue des niveaux d’ondelettes utilisée dans l’ensemble du module “wavelets” +TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Vous permet de flouter chaque niveau de décomposition.\nEn abscisse de gauche à droite, les niveaux de décomposition du plus fin au plus gros +TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similaira à Contraste par niveaux de détail. Des détails fins au gros details de gauche à droite en abscisse. +TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Agit sur la balance des trois directions horizontale - verticale - diagonale - en fonction de la luminance de l'image.\nPar défaut les parties sombres ou hautes lumières sont réduites afin d'éviter les artefacts TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Montre l'ensemble des outils "Netteté bords".\nLa lecture de la documentation wavelet est recommandée TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Permet d'ajuster l'effet maximum de floutage des niveaux -TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Vous permet de flouter chaque niveau de décomposition.\nEn abscisse de gauche à droite, les niveaux de décomposition du plus fin au plus gros -TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Floute l'image résiduelle, indépendamment des niveaux +TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Contraste faible à élevé de gauche à droite en abscisse\nAugmente ou réduit le contraste en ordonnée. TP_LOCALLAB_WAT_WAVTM_TOOLTIP;La partie inférieure (négative) compresse chaque niveau de décomposition créant un effet tone mapping.\nLa partie supérieure (positive) atténue le contraste par niveau.\nEn abscisse de gauche à droite, les niveaux de décomposition du plus fin au plus gros -TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Equilibre l'action à l'intérieur de chaque niveau -TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Commpresse l'image résiduelle afin d'accentuer ou réduire les contrastes -TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;En déplaçant le curseur à gauche, les bas niveaux sont accentués, et vers la droite ce sont les bas niveaux qui sont réduits et les hauts niveaux accentués -TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Agit sur la balance des trois directions horizontale - verticale - diagonale - en fonction de la luminance de l'image.\nPar défaut les parties sombres ou hautes lumières sont réduites afin d'éviter les artefacts TP_LOCALLAB_WAV;Contrast local niveau TP_LOCALLAB_WAVBLUR_TOOLTIP;Réalise un flou pour chaque niveau de décomposition, également pour l'image résiduelle. TP_LOCALLAB_WAVCOMP;Compression par niveau @@ -2469,14 +2486,11 @@ TP_LOCALLAB_WAVDEN;de-bruite lum. par niveau TP_LOCALLAB_WAVE;Ondelette TP_LOCALLAB_WAVEDG;Contrast Local TP_LOCALLAB_WAVEEDG_TOOLTIP;Améliore la netteté prenant en compte la notion de "ondelettes bords".\nNécessite au moins que les 4 premiers niveaux sont utilisables -TP_LOCALLAB_WAVGRAD_TOOLTIP;Filtre gradué pour Contraste local "luminance" -TP_LOCALLAB_WAVHIGH;Ondelette haut -TP_LOCALLAB_WAVLEV;Flou par niveau -TP_LOCALLAB_WAVLOW;Ondelette bas -TP_LOCALLAB_WAVMASK;Contr. local (par niveau) TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Amplitude des niveaux d'ondelettes utilisés par “Local contrast” +TP_LOCALLAB_WAVGRAD_TOOLTIP;Filtre gradué pour Contraste local "luminance" +TP_LOCALLAB_WAVLEV;Flou par niveau +TP_LOCALLAB_WAVMASK;Contr. local (par niveau) TP_LOCALLAB_WAVMASK_TOOLTIP;Autorise un travail fin sur les masques niveaux de contraste (structure) -TP_LOCALLAB_WAVMED;Ondelette normal TP_LOCALLAB_WEDIANHI;Median Haut TP_LOCALLAB_WHITE_EV;Blanc Ev TP_METADATA_EDIT;Appliquer les modifications @@ -2484,7 +2498,7 @@ TP_METADATA_MODE;Mode de copie des métadonnées TP_METADATA_STRIP;Retirer toutes les métadonnées TP_METADATA_TUNNEL;Copier à l'identique TP_NEUTRAL;Réinit. -TP_NEUTRAL_TIP;Réinitialise les valeurs de l'exposition à des valeurs neutres +TP_NEUTRAL_TOOLTIP;Réinitialise les valeurs de l'exposition à des valeurs neutres TP_PCVIGNETTE_FEATHER;Étendue TP_PCVIGNETTE_FEATHER_TOOLTIP;Étendue: 0=bords uniquement, 50=mi-chemin du centre, 100=jusqu'au centre TP_PCVIGNETTE_LABEL;Filtre Vignettage @@ -2492,8 +2506,29 @@ TP_PCVIGNETTE_ROUNDNESS;Circularité TP_PCVIGNETTE_ROUNDNESS_TOOLTIP;Circularité: 0=rectangulaire, 50=elliptique, 100=circulaire TP_PCVIGNETTE_STRENGTH;Force TP_PCVIGNETTE_STRENGTH_TOOLTIP;Force du filtre en EV (maximum dans les coins) +TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Facteur de réduction (crop) +TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Longueur focale +TP_PERSPECTIVE_CAMERA_FRAME;Correction +TP_PERSPECTIVE_CAMERA_PITCH;Vertical +TP_PERSPECTIVE_CAMERA_ROLL;Rotation +TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Décalage Horizontal +TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Décalage Vertical +TP_PERSPECTIVE_CAMERA_YAW;Horizontal +TP_PERSPECTIVE_CONTROL_LINES;Lignes de contrôle +TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+faire glisser : dessiner une nouvelle ligne\nClic droit : supprimer la ligne +TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;Au moins deux lignes de contrôle horizontales ou deux verticales requises. TP_PERSPECTIVE_HORIZONTAL;Horizontale TP_PERSPECTIVE_LABEL;Perspective +TP_PERSPECTIVE_METHOD;Méthode +TP_PERSPECTIVE_METHOD_CAMERA_BASED;Basé sur Camera +TP_PERSPECTIVE_METHOD_SIMPLE;Simple +TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Ajustement post-correction +TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Décalage Horizontal +TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Décalage Vertical +TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +TP_PERSPECTIVE_RECOVERY_FRAME;Récupération TP_PERSPECTIVE_VERTICAL;Verticale TP_PFCURVE_CURVEEDITOR_CH;Teinte TP_PFCURVE_CURVEEDITOR_CH_TOOLTIP;Contrôle la force du défrangeage en fonction de la couleur. En haut = action maxi, en bas = pas d'action sur la couleur. @@ -2667,7 +2702,7 @@ TP_RETINEX_MLABEL;Recomposition sans 'brume' Min=%1 Max=%2 TP_RETINEX_MLABEL_TOOLTIP;Devrait être proche de min=0 max=32768\nImage recomposée sans mélange. TP_RETINEX_NEIGHBOR;Rayon TP_RETINEX_NEUTRAL;Réinit. -TP_RETINEX_NEUTRAL_TIP;Réinitialise tous les curseurs et courbes à leur valeur par défaut. +TP_RETINEX_NEUTRAL_TOOLTIP;Réinitialise tous les curseurs et courbes à leur valeur par défaut. TP_RETINEX_OFFSET;Décalage (brillance) TP_RETINEX_SCALES;Gradient gaussien TP_RETINEX_SCALES_TOOLTIP;Si le curseur est à 0, toutes les itérations sont identiques.\nSi > 0, l'Échelle et le Rayon sont réduit à chaque nouvelle itération, et inversement. @@ -2703,7 +2738,7 @@ TP_RGBCURVES_RED;R TP_ROTATE_DEGREE;Degré TP_ROTATE_LABEL;Rotation TP_ROTATE_SELECTLINE;Choisir la ligne d'horizon -TP_SAVEDIALOG_OK_TIP;Raccourci: Ctrl-Entrée +TP_SAVEDIALOG_OK_TOOLTIP;Raccourci: Ctrl-Entrée TP_SHADOWSHLIGHTS_HIGHLIGHTS;Hautes lumières TP_SHADOWSHLIGHTS_HLTONALW;Amplitude tonale des\nhautes lumières TP_SHADOWSHLIGHTS_LABEL;Ombres/Hautes lumières @@ -2738,6 +2773,11 @@ TP_SHARPENMICRO_MATRIX;Matrice 3×3 au lieu de 5×5 TP_SHARPENMICRO_UNIFORMITY;Uniformité TP_SOFTLIGHT_LABEL;Lumière douce TP_SOFTLIGHT_STRENGTH;Force +TP_SPOT_COUNTLABEL;%1 point(s) +TP_SPOT_DEFAULT_SIZE;Taille par défault des points +TP_SPOT_ENTRYCHANGED;Modification d'un point +TP_SPOT_HINT;Cliquez sur ce bouton pour pouvoir opérer sur la zone de prévisualisation.\n\nPour ajouter un spot, pressez Ctrl et le bouton gauche de la souris, tirez le cercle (la touche Ctrl peut être relâchée) vers la position source, puis relâchez le bouton de la souris.\n\nPour éditer un spot, placez le curseur au-dessus de la marque blanche situant une zone éditée, faisant apparaître la géométrie d'édition.\n\nPour déplacer le spot source ou destination, placez le curseur en son centre et tirez le.\n\nLe cercle intérieur (zone d'effet maximum) et le cercle "d'adoucicement" peuvent être redimmensionné en plaçant le curseur dessus (le cercle devient orange) et en le tirant (le cercle devient rouge).\n\nQuand les changements sont terminés, un clic droit en dehors de tout spot termine le mode d'édition, ou cliquez à nouveau sur ce bouton. +TP_SPOT_LABEL;Retrait de taches TP_TM_FATTAL_AMOUNT;Quantité TP_TM_FATTAL_ANCHOR;Ancre TP_TM_FATTAL_LABEL;Compression de Plage Dynamique @@ -2803,11 +2843,11 @@ TP_WAVELET_CHR_TOOLTIP;Ajuste le chroma en fonction des "niveaux de contraste" e TP_WAVELET_CHSL;Curseurs TP_WAVELET_CHTYPE;Méthode de chrominance TP_WAVELET_COLORT;Opacité Rouge-Vert -TP_WAVELET_COMPLEX_TOOLTIP;Standard: l’application dispose du nécessaire pour assurer les opérations courantes, l’interface graphique est simplifiée.\nAvancé: toutes les fonctionnalités sont présentes, certaines nécessitent un apprentissage important -TP_WAVELET_COMPEXPERT;Avancé TP_WAVELET_COMPCONT;Contraste +TP_WAVELET_COMPEXPERT;Avancé TP_WAVELET_COMPGAMMA;Compression gamma TP_WAVELET_COMPGAMMA_TOOLTIP;Ajuster le gamma de l'image résiduelle vous permet d'équiilibrer les données de l'histogramme. +TP_WAVELET_COMPLEX_TOOLTIP;Standard: l’application dispose du nécessaire pour assurer les opérations courantes, l’interface graphique est simplifiée.\nAvancé: toutes les fonctionnalités sont présentes, certaines nécessitent un apprentissage important TP_WAVELET_COMPTM;Compression tonale TP_WAVELET_CONTEDIT;Courbe contraste 'Après' TP_WAVELET_CONTR;Gamut @@ -2926,7 +2966,6 @@ TP_WAVELET_THRH;Seuil des hautes lumières TP_WAVELET_TILESBIG;Grandes tuiles TP_WAVELET_TILESFULL;Image entière TP_WAVELET_TILESIZE;Méthode de découpage -TP_WAVELET_TILESLIT;Petites tuiles TP_WAVELET_TILES_TOOLTIP;Traiter l'image entière donnera les meilleurs résulats et est l'option recommandé, l'usage des tuiles étant une solution alternative recommandé pour les utilisateurs disposant de peu de RAM. Cf. RawPedia pour la configuration mémoire requise. TP_WAVELET_TMSTRENGTH;Force de la compression TP_WAVELET_TMSTRENGTH_TOOLTIP;Contrôle la force de la compression tonale ou de la compression de contraste de l'image résiduelle. Lorsque la valeur est différente de 0, les curseurs Force et Gamma de l'outil Compression Tonale dans l'onglet Exposition seront grisés. @@ -2993,19 +3032,710 @@ ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: - ! Untranslated keys follow; remove the ! prefix after an entry is translated. !!!!!!!!!!!!!!!!!!!!!!!!! -!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. +!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply 'find' keywords. !FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? !FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? !FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? !FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPINSPECT;Inspect !FILEBROWSER_POPUPREMOVE;Delete permanently !FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version !FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. +!GENERAL_DELETE_ALL;Delete all +!GENERAL_EDIT;Edit !GENERAL_HELP;Help +!HISTOGRAM_TOOLTIP_CROSSHAIR;Show/Hide indicator crosshair. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_470;--unused-- !HISTORY_MSG_494;Capture Sharpening -!HISTORY_MSG_DEHAZE_LUMINANCE;Dehaze - Luminance only -!HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negative -!HISTORY_MSG_FILMNEGATIVE_VALUES;Film negative values +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_507;Local Spot center +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_516;Local - Color and light +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_527;Local - Color Inverse +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_542;Local - Vib avoid colorshift +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_591;Local - Avoid color shift +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_607;Local - Color Mask C +!HISTORY_MSG_608;Local - Color Mask L +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_611;Local - Color Mask H +!HISTORY_MSG_612;Local - Color Structure +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_615;Local - Blend color +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_618;Local - Use Color Mask +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_624;Local - Color correction grid +!HISTORY_MSG_625;Local - Color correction strength +!HISTORY_MSG_626;Local - Color correction Method +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_634;Local - radius color +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_650;Local - Color mask chroma +!HISTORY_MSG_651;Local - Color mask gamma +!HISTORY_MSG_652;Local - Color mask slope +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_656;Local - Color soft radius +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_760;Local - Color Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_770;Local - Color Mask contrast curve +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_779;Local - Color Mask local contrast curve +!HISTORY_MSG_780;Local - Color Mask shadows +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_783;Local - Color Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_799;Local - Color RGB ToneCurve +!HISTORY_MSG_800;Local - Color ToneCurve Method +!HISTORY_MSG_801;Local - Color ToneCurve Special +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_803;Local - Color Merge +!HISTORY_MSG_804;Local - Color mask Structure +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_806;Local - Color mask Structure as tool +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_808;Local - Color mask curve H(H) +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_821;Local - color grid background +!HISTORY_MSG_822;Local - color background merge +!HISTORY_MSG_823;Local - color background luminance +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_830;Local - Color gradient strength L +!HISTORY_MSG_831;Local - Color gradient angle +!HISTORY_MSG_832;Local - Color gradient strength C +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_834;Local - Color gradient strength H +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_894;Local - Color Preview dE +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_925;Local - Scope color tools +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_928;Local - Common color mask +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_996;Local - Color recovery threshold +!HISTORY_MSG_997;Local - Color threshold mask low +!HISTORY_MSG_998;Local - Color threshold mask high +!HISTORY_MSG_999;Local - Color decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1070;Local - CIECAM colorfullness +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1107;Local - CIECAM Color method +!HISTORY_MSG_1108;Local - CIECAM Color curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_BLSHAPE;Blur by level +!HISTORY_MSG_BLURCWAV;Blur chroma +!HISTORY_MSG_BLURWAV;Blur luminance +!HISTORY_MSG_BLUWAV;Attenuation response +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation +!HISTORY_MSG_EDGEFFECT;Edge Attenuation response +!HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant !HISTORY_MSG_PDSHARPEN_AUTO_CONTRAST;CS - Auto threshold !HISTORY_MSG_PDSHARPEN_AUTO_RADIUS;CS - Auto radius !HISTORY_MSG_PDSHARPEN_CHECKITER;CS - Auto limit iterations @@ -3013,9 +3743,86 @@ ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: - !HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iterations !HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius !HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost -!HISTORY_MSG_TRANS_Method;Geometry - Method +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average +!HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode +!HISTORY_MSG_PROTAB;Protection +!HISTORY_MSG_RANGEAB;Range ab +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge +!HISTORY_MSG_SIGMACOL;Chroma Attenuation response +!HISTORY_MSG_SIGMADIR;Dir Attenuation response +!HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response +!HISTORY_MSG_SIGMATON;Toning Attenuation response +!HISTORY_MSG_TEMPOUT;CAM02 automatic temperature +!HISTORY_MSG_THRESWAV;Balance threshold +!HISTORY_MSG_TRANS_METHOD;Geometry - Method +!HISTORY_MSG_WAVBALCHROM;Equalizer chrominance +!HISTORY_MSG_WAVBALLUM;Equalizer luminance +!HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVCHROMCO;Chroma coarse +!HISTORY_MSG_WAVCHROMFI;Chroma fine +!HISTORY_MSG_WAVCLARI;Clarity +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVEDGS;Edge stopping +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVLOWTHR;Threshold low contrast +!HISTORY_MSG_WAVMERGEC;Merge C +!HISTORY_MSG_WAVMERGEL;Merge L +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVOFFSET;Offset +!HISTORY_MSG_WAVOLDSH;Old algorithm +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVRADIUS;Radius shadows-highlights +!HISTORY_MSG_WAVSCALE;Scale +!HISTORY_MSG_WAVSHOWMASK;Show wavelet mask +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSIGMA;Attenuation response +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSOFTRAD;Soft radius clarity +!HISTORY_MSG_WAVSOFTRADEND;Soft radius final +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!HISTORY_MSG_WAVUSHAMET;Clarity method +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 +!INSPECTOR_WINDOW_TITLE;Inspector !MAIN_FRAME_PLACES_DEL;Remove -!PARTIALPASTE_FILMNEGATIVE;Film Negative +!PARTIALPASTE_FILMNEGATIVE;Film negative +!PARTIALPASTE_PREPROCWB;Preprocess White Balance +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output +!PREFERENCES_INSPECTORWINDOW;Open inspector in own window or fullscreen +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling !PROGRESSBAR_DECODING;Decoding... !PROGRESSBAR_GREENEQUIL;Green equilibration... !PROGRESSBAR_HLREC;Highlight reconstruction... @@ -3023,14 +3830,92 @@ ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: - !PROGRESSBAR_LINEDENOISE;Line noise filter... !PROGRESSBAR_RAWCACORR;Raw CA correction... !QUEUE_LOCATION_TITLE;Output Location +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. +!TP_COLORAPP_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_GEN;Settings +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. +!TP_COLORAPP_IL41;D41 +!TP_COLORAPP_IL50;D50 +!TP_COLORAPP_IL55;D55 +!TP_COLORAPP_IL60;D60 +!TP_COLORAPP_IL65;D65 +!TP_COLORAPP_IL75;D75 +!TP_COLORAPP_ILA;Incandescent StdA 2856K +!TP_COLORAPP_ILFREE;Free +!TP_COLORAPP_ILLUM;Illuminant +!TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. +!TP_COLORAPP_SURROUNDSRC;Surround +!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. +!TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. +!TP_CROP_GTCENTEREDSQUARE;Centered square !TP_CROP_PPI;PPI -!TP_DEHAZE_LUMINANCE;Luminance only -!TP_FILMNEGATIVE_BLUE;Blue ratio -!TP_FILMNEGATIVE_GREEN;Reference exponent (contrast) -!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. Set the white balance afterwards. -!TP_FILMNEGATIVE_LABEL;Film Negative -!TP_FILMNEGATIVE_PICK;Pick neutral spots -!TP_FILMNEGATIVE_RED;Red ratio +!TP_DEHAZE_SATURATION;Saturation +!TP_HLREC_HLBLUR;Blur +!TP_ICM_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 +!TP_ICM_REDFRAME;Custom Primaries +!TP_ICM_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 +!TP_ICM_WORKING_TRC_LIN;Linear g=1 +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 !TP_LENSGEOM_LIN;Linear !TP_LENSGEOM_LOG;Logarithmic !TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected @@ -3038,8 +3923,152 @@ ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: - !TP_LENSPROFILE_MODE_HEADER;Lens Profile !TP_LENSPROFILE_USE_GEOMETRIC;Geometric distortion !TP_LENSPROFILE_USE_HEADER;Correct +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_COLOR_CIE;Color curve +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. !TP_PDSHARPENING_LABEL;Capture Sharpening +!TP_PREPROCWB_LABEL;Preprocess White Balance +!TP_PREPROCWB_MODE;Mode +!TP_PREPROCWB_MODE_AUTO;Auto +!TP_PREPROCWB_MODE_CAMERA;Camera +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear +!TP_RAW_DCBBILINEAR;DCB+Bilinear +!TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. +!TP_RAW_RCDBILINEAR;RCD+Bilinear !TP_RAW_XTRANS;X-Trans !TP_RAW_XTRANSFAST;Fast X-Trans +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge !TP_SHARPENING_ITERCHECK;Auto limit iterations !TP_SHARPENING_RADIUS_BOOST;Corner radius boost +!TP_WAVELET_BALCHROM;Equalizer Color +!TP_WAVELET_BALLUM;Denoise equalizer White-Black +!TP_WAVELET_BL;Blur levels +!TP_WAVELET_BLCURVE;Blur by levels +!TP_WAVELET_BLURFRAME;Blur +!TP_WAVELET_BLUWAV;Attenuation response +!TP_WAVELET_CHROFRAME;Denoise chrominance +!TP_WAVELET_CHROMAFRAME;Chroma +!TP_WAVELET_CHROMCO;Chrominance Coarse +!TP_WAVELET_CHROMFI;Chrominance Fine +!TP_WAVELET_CHRWAV;Blur chroma +!TP_WAVELET_CLA;Clarity +!TP_WAVELET_CLARI;Sharp-mask and Clarity +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPNORMAL;Standard +!TP_WAVELET_CONTFRAME;Contrast - Compression +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_DIRFRAME;Directional contrast +!TP_WAVELET_EDEFFECT;Attenuation response +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. +!TP_WAVELET_FINCFRAME;Final local contrast +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. +!TP_WAVELET_MERGEC;Merge chroma +!TP_WAVELET_MERGEL;Merge luma +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise +!TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. +!TP_WAVELET_OLDSH;Algorithm using negatives values +!TP_WAVELET_PROTAB;Protection +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_RADIUS;Radius shadows - highlight +!TP_WAVELET_RANGEAB;Range a and b % +!TP_WAVELET_RESBLUR;Blur luminance +!TP_WAVELET_RESBLURC;Blur chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. +!TP_WAVELET_SHA;Sharp mask +!TP_WAVELET_SHFRAME;Shadows/Highlights +!TP_WAVELET_SHOWMASK;Show wavelet 'mask' +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_SIGMA;Attenuation response +!TP_WAVELET_SIGMAFIN;Attenuation response +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_WAVELET_SOFTRAD;Soft radius +!TP_WAVELET_STREND;Strength +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_TMEDGS;Edge stopping +!TP_WAVELET_TMSCALE;Scale +!TP_WAVELET_TONFRAME;Excluded colors +!TP_WAVELET_USH;None +!TP_WAVELET_USHARP;Clarity method +!TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. +!TP_WAVELET_WAVLOWTHR;Low contrast threshold +!TP_WAVELET_WAVOFFSET;Offset +!TP_WBALANCE_AUTOITCGREEN;Temperature correlation +!TP_WBALANCE_AUTOOLD;RGB grey +!TP_WBALANCE_AUTO_HEADER;Automatic +!TP_WBALANCE_STUDLABEL;Correlation factor: %1 +!TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. diff --git a/rtdata/languages/Italiano b/rtdata/languages/Italiano index 340309b9f..e4447f7f6 100644 --- a/rtdata/languages/Italiano +++ b/rtdata/languages/Italiano @@ -191,13 +191,11 @@ HISTOGRAM_TOOLTIP_CHRO;Mostra/Nascondi l'istogramma di cromaticità. HISTOGRAM_TOOLTIP_G;Mostra/Nascondi l'istogramma del Verde. HISTOGRAM_TOOLTIP_L;Mostra/Nascondi l'istogramma di Luminanza CIELAB. HISTOGRAM_TOOLTIP_R;Mostra/Nascondi l'istogramma del Rosso. -HISTOGRAM_TOOLTIP_RAW;Mostra/Nascondi l'istogramma del raw. HISTORY_CHANGED;Modificato HISTORY_CUSTOMCURVE;Curva personalizzata HISTORY_FROMCLIPBOARD;Dagli appunti HISTORY_LABEL;Cronologia HISTORY_MSG_1;Foto caricata -HISTORY_MSG_2;PP3 caricato HISTORY_MSG_3;PP3 modificato HISTORY_MSG_4;Visualizzazione cronologia HISTORY_MSG_5;Luminosità @@ -211,9 +209,6 @@ HISTORY_MSG_12;Livelli Automatici HISTORY_MSG_13;Tosaggio Esposizione HISTORY_MSG_14;Lab - Luminosità HISTORY_MSG_15;Lab - Contrasto -HISTORY_MSG_16;Luminanza: Livello del nero -HISTORY_MSG_17;Luminanza: Compr. alteluci -HISTORY_MSG_18;Luminanza: Compr. ombre HISTORY_MSG_19;Curva per 'L' HISTORY_MSG_20;Nitidezza HISTORY_MSG_21;USM - Raggio @@ -239,10 +234,6 @@ HISTORY_MSG_40;WB - Tinta HISTORY_MSG_41;Curva Tono Modo 1 HISTORY_MSG_42;Curva Tono 2 HISTORY_MSG_43;Curva Tono Modo 2 -HISTORY_MSG_44;Rid. rumore lum. - Raggio -HISTORY_MSG_45;Rid. rumore lum. - Tolleranza bordi -HISTORY_MSG_46;Riduzione Rumore Crominanza -HISTORY_MSG_47;Fondi alteluci ICC con matrix HISTORY_MSG_48;Usa curva tono del DCP HISTORY_MSG_49;DCP - Illuminazione HISTORY_MSG_50;Ombre/Alteluci @@ -250,7 +241,6 @@ HISTORY_MSG_51;S/H - Alteluci HISTORY_MSG_52;S/H - Ombre HISTORY_MSG_53;S/H - Ampiezza tonale - Alteluci HISTORY_MSG_54;S/H - Ampiezza tonale - Ombre -HISTORY_MSG_55;S/H - Contrasto locale HISTORY_MSG_56;S/H - Ombre/Alteluci - Raggio HISTORY_MSG_57;Rotazione semplice HISTORY_MSG_58;Ribaltamento orizzontale @@ -262,7 +252,6 @@ HISTORY_MSG_63;Istantanea Selezionata HISTORY_MSG_64;Ritaglia HISTORY_MSG_65;Correzione AC HISTORY_MSG_66;Ricostruzione Alteluci -HISTORY_MSG_67;Ricostruzione Alteluci - Quantità HISTORY_MSG_68;Ricostruzione Alteluci - Metodo HISTORY_MSG_69;Spazio Colore di Lavoro HISTORY_MSG_70;Spazio Colore di Uscita @@ -273,12 +262,10 @@ HISTORY_MSG_74;Ridimensiona - Scala HISTORY_MSG_75;Ridimensiona - Metodo HISTORY_MSG_76;Metadati Exif HISTORY_MSG_77;Metadati IPTC -HISTORY_MSG_78;Misure specificate per Ridimensiona HISTORY_MSG_79;Ridimensiona - Larghezza HISTORY_MSG_80;Ridimensiona - Altezza HISTORY_MSG_81;Ridimensiona - Abilitato HISTORY_MSG_82;Profilo modificato -HISTORY_MSG_83;S/H - Maschera di Nitidezza HISTORY_MSG_84;Correzione prospettiva HISTORY_MSG_85;Profilo di Correzione Obiettivo HISTORY_MSG_86;Curve RGB - Modalità Luminosità @@ -325,12 +312,6 @@ HISTORY_MSG_127;Flat Field - Automatico HISTORY_MSG_128;Flat Field - Raggio di Sfocamento HISTORY_MSG_129;Flat Field - Modalità di Sfocamento HISTORY_MSG_130;Autocorr. Distorsione -HISTORY_MSG_131;Riduzione rum. luminanza -HISTORY_MSG_132;Riduzione rum. crominanza -HISTORY_MSG_133;Gamma - Uscita -HISTORY_MSG_134;Gamma - Posizione -HISTORY_MSG_135;Gamma - Libero -HISTORY_MSG_136;Gamma - Pendenza HISTORY_MSG_137;Punto del Nero - Verde 1 HISTORY_MSG_138;Punto del Nero - Rosso HISTORY_MSG_139;Punto del Nero - Blu @@ -438,7 +419,6 @@ HISTORY_MSG_246;Curva 'CL' HISTORY_MSG_247;Curva 'LH' HISTORY_MSG_248;Curva 'HH' HISTORY_MSG_249;CbDL - Soglia -HISTORY_MSG_250;NR - Miglioramento HISTORY_MSG_251;B&W - Algoritmo HISTORY_MSG_252;CbDL Toni della Pelle HISTORY_MSG_253;CbDL Riduzione Artefatti @@ -704,7 +684,7 @@ PROFILEPANEL_GLOBALPROFILES;Profili inclusi PROFILEPANEL_LABEL;Profili di sviluppo PROFILEPANEL_LOADDLGLABEL;Carico i parametri di sviluppo... PROFILEPANEL_LOADPPASTE;Parametri da caricare -PROFILEPANEL_MODE_TIP;Modalità di riempimento del Profilo di Sviluppo.\n\nPulsante premuto: i profili parziali verranno convertiti in profili completi; i valori mancanti verranno sostituiti con i valori predefiniti.\n\nPulsante rilasciato: i Profili saranno applicati così come sono, modificando solo i valori che contengono. +PROFILEPANEL_MODE_TOOLTIP;Modalità di riempimento del Profilo di Sviluppo.\n\nPulsante premuto: i profili parziali verranno convertiti in profili completi; i valori mancanti verranno sostituiti con i valori predefiniti.\n\nPulsante rilasciato: i Profili saranno applicati così come sono, modificando solo i valori che contengono. PROFILEPANEL_MYPROFILES;Miei profili PROFILEPANEL_PASTEPPASTE;Parametri da incollare PROFILEPANEL_PCUSTOM;Personalizzato @@ -864,7 +844,6 @@ TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Regola Croma, Saturazione o Pienezza.\nL'Istogr TP_COLORAPP_DATACIE;Mostra gli istogrammi di uscita CIECAM02 nelle curve TP_COLORAPP_DATACIE_TOOLTIP;Quando abilitato, gli istogrammi nelle curve CIECAM02 mostrano valori e intervalli approssimati di J o Q, e C, s o M dopo le regolazioni CIECAM02.\nQuesta selezione non ha effetto nel pannello Istogramma principale.\n\nQuando disabilitato, gli istogrammi nelle curve CIECAM02 mostrano i valori Lab, come sono prima delle regolazioni CIECAM02. TP_COLORAPP_GAMUT;Controllo Gamut (Lab) -TP_COLORAPP_GAMUT_TOOLTIP;Consenti il controllo gamut nella modalità Lab TP_COLORAPP_HUE;Tinta (h) TP_COLORAPP_HUE_TOOLTIP;Tinta (h) - angolo tra 0° e 360° TP_COLORAPP_LABEL;Modello di Aspetto Colore CIE 2002 @@ -947,11 +926,11 @@ TP_EPD_REWEIGHTINGITERATES;Iterazioni di Ribilanciamento TP_EPD_SCALE;Scala TP_EPD_STRENGTH;Forza TP_EXPOSURE_AUTOLEVELS;Livelli automatici -TP_EXPOSURE_AUTOLEVELS_TIP;Abilita l'esecuzione dei livelli automatici per impostare automaticamente il cursore Esposizione in base all'analisi dell'immagine.\nSe necessario, abilita Ricostruzione Alteluci. +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Abilita l'esecuzione dei livelli automatici per impostare automaticamente il cursore Esposizione in base all'analisi dell'immagine.\nSe necessario, abilita Ricostruzione Alteluci. TP_EXPOSURE_BLACKLEVEL;Livello del nero TP_EXPOSURE_BRIGHTNESS;Luminosità TP_EXPOSURE_CLIP;Tosaggio % -TP_EXPOSURE_CLIP_TIP;La frazione di pixel da tosare nell'operazione di livelli automatici. +TP_EXPOSURE_CLIP_TOOLTIP;La frazione di pixel da tosare nell'operazione di livelli automatici. TP_EXPOSURE_COMPRHIGHLIGHTS;Compressione Alteluci TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Soglia di Compressione Alteluci TP_EXPOSURE_COMPRSHADOWS;Compressione Ombre @@ -1059,14 +1038,14 @@ TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminanza secondo Tonalità L=f(H) TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminanza secondo Luminanza L=f(L) TP_LABCURVE_LABEL;Regolazioni Lab TP_LABCURVE_LCREDSK;Limita LC ai toni rossi e all'incarnato -TP_LABCURVE_LCREDSK_TIP;Se abilitato, la Curva LC è applicata solo ai toni rossi e dell'incarnato.\nSe disabilitato, ha effetto su tutti i toni. +TP_LABCURVE_LCREDSK_TOOLTIP;Se abilitato, la Curva LC è applicata solo ai toni rossi e dell'incarnato.\nSe disabilitato, ha effetto su tutti i toni. TP_LABCURVE_RSTPROTECTION;Protezione Toni rossi e dell'incarnato TP_LABCURVE_RSTPRO_TOOLTIP;Può essere utilizzato con il cursore Cromaticità e la curva CC. TP_LENSGEOM_AUTOCROP; Ritaglio automatico TP_LENSGEOM_FILL;Adattamento automatico TP_LENSGEOM_LABEL;Obiettivo/Geometria TP_LENSPROFILE_LABEL;Profilo di Correzione dell'Obiettivo -TP_NEUTRAL_TIP;Riporta i controlli dell'esposizione ai valori neutrali.\nVale per gli stessi controlli cui è applicato Livelli Automatici, indipendentemente dal fatto che Livelli Automatici sia abilitato. +TP_NEUTRAL_TOOLTIP;Riporta i controlli dell'esposizione ai valori neutrali.\nVale per gli stessi controlli cui è applicato Livelli Automatici, indipendentemente dal fatto che Livelli Automatici sia abilitato. TP_PCVIGNETTE_FEATHER;Scia TP_PCVIGNETTE_FEATHER_TOOLTIP;Scia:\n0 = solo i bordi,\n50 = a metà strada con il centro,\n100 = al centro. TP_PCVIGNETTE_LABEL;Filtro Vignettatura @@ -1123,7 +1102,7 @@ TP_RGBCURVES_RED;R TP_ROTATE_DEGREE;Angolo TP_ROTATE_LABEL;Ruota TP_ROTATE_SELECTLINE; Seleziona una linea dritta -TP_SAVEDIALOG_OK_TIP;Scorciatoia: Ctrl-Enter +TP_SAVEDIALOG_OK_TOOLTIP;Scorciatoia: Ctrl-Enter TP_SHADOWSHLIGHTS_HIGHLIGHTS;Alteluci TP_SHADOWSHLIGHTS_HLTONALW;Ampiezza Tonale delle Alteluci TP_SHADOWSHLIGHTS_LABEL;Ombre/Alteluci @@ -1245,7 +1224,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !DYNPROFILEEDITOR_DELETE;Delete !DYNPROFILEEDITOR_EDIT;Edit !DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule -!DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the "re:" prefix to enter\na regular expression. +!DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the 're:' prefix to enter\na regular expression. !DYNPROFILEEDITOR_IMGTYPE_ANY;Any !DYNPROFILEEDITOR_IMGTYPE_HDR;HDR !DYNPROFILEEDITOR_IMGTYPE_PS;Pixel Shift @@ -1261,15 +1240,16 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !EXPORT_BYPASS_EQUALIZER;Bypass Wavelet Levels !EXPORT_PIPELINE;Processing pipeline !EXPORT_USE_FAST_PIPELINE;Dedicated (full processing on resized image) -!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_FAST_PIPELINE_TOOLTIP;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_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. +!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply 'find' keywords. !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles !FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles !FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? !FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? !FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? !FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPINSPECT;Inspect !FILEBROWSER_POPUPREMOVE;Delete permanently !FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version !FILEBROWSER_RESETDEFAULTPROFILE;Reset to default @@ -1285,13 +1265,24 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !GENERAL_APPLY;Apply !GENERAL_ASIMAGE;As Image !GENERAL_CURRENT;Current +!GENERAL_DELETE_ALL;Delete all +!GENERAL_EDIT;Edit !GENERAL_HELP;Help !GENERAL_OPEN;Open !GENERAL_RESET;Reset !GENERAL_SAVE_AS;Save as... !GENERAL_SLIDER;Slider !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_CROSSHAIR;Show/Hide indicator crosshair. !HISTOGRAM_TOOLTIP_MODE;Toggle between linear, log-linear and log-log scaling of the histogram. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform !HISTORY_MSG_166;Exposure - Reset !HISTORY_MSG_173;NR - Detail recovery !HISTORY_MSG_203;NR - Color space @@ -1315,8 +1306,6 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !HISTORY_MSG_271;CT - High - Blue !HISTORY_MSG_272;CT - Balance !HISTORY_MSG_273;CT - Color Balance SMH -!HISTORY_MSG_274;CT - Sat. Shadows -!HISTORY_MSG_275;CT - Sat. Highlights !HISTORY_MSG_276;CT - Opacity !HISTORY_MSG_277;--unused-- !HISTORY_MSG_278;CT - Preserve luminance @@ -1341,7 +1330,6 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !HISTORY_MSG_297;NR - Mode !HISTORY_MSG_298;Dead pixel filter !HISTORY_MSG_299;NR - Chrominance curve -!HISTORY_MSG_300;- !HISTORY_MSG_301;NR - Luma control !HISTORY_MSG_302;NR - Chroma method !HISTORY_MSG_303;NR - Chroma method @@ -1359,10 +1347,10 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !HISTORY_MSG_315;W - Residual - Contrast !HISTORY_MSG_316;W - Gamut - Skin tar/prot !HISTORY_MSG_317;W - Gamut - Skin hue -!HISTORY_MSG_318;W - Contrast - Highlight levels -!HISTORY_MSG_319;W - Contrast - Highlight range -!HISTORY_MSG_320;W - Contrast - Shadow range -!HISTORY_MSG_321;W - Contrast - Shadow levels +!HISTORY_MSG_318;W - Contrast - Finer levels +!HISTORY_MSG_319;W - Contrast - Finer range +!HISTORY_MSG_320;W - Contrast - Coarser range +!HISTORY_MSG_321;W - Contrast - Coarser levels !HISTORY_MSG_322;W - Gamut - Avoid color shift !HISTORY_MSG_323;W - ES - Local contrast !HISTORY_MSG_324;W - Chroma - Pastel @@ -1426,14 +1414,14 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !HISTORY_MSG_382;PRS RLD - Amount !HISTORY_MSG_383;PRS RLD - Damping !HISTORY_MSG_384;PRS RLD - Iterations -!HISTORY_MSG_385;W - Residual - Color Balance +!HISTORY_MSG_385;W - Residual - Color balance !HISTORY_MSG_386;W - Residual - CB green high !HISTORY_MSG_387;W - Residual - CB blue high !HISTORY_MSG_388;W - Residual - CB green mid !HISTORY_MSG_389;W - Residual - CB blue mid !HISTORY_MSG_390;W - Residual - CB green low !HISTORY_MSG_391;W - Residual - CB blue low -!HISTORY_MSG_392;W - Residual - Color Balance +!HISTORY_MSG_392;W - Residual - Color balance !HISTORY_MSG_393;DCP - Look table !HISTORY_MSG_394;DCP - Baseline exposure !HISTORY_MSG_395;DCP - Base table @@ -1450,7 +1438,6 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !HISTORY_MSG_406;W - ES - Neighboring pixels !HISTORY_MSG_407;Retinex - Method !HISTORY_MSG_408;Retinex - Radius -!HISTORY_MSG_409;Retinex - Contrast !HISTORY_MSG_410;Retinex - Offset !HISTORY_MSG_411;Retinex - Strength !HISTORY_MSG_412;Retinex - Gaussian gradient @@ -1466,7 +1453,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !HISTORY_MSG_422;Retinex - Gamma !HISTORY_MSG_423;Retinex - Gamma slope !HISTORY_MSG_424;Retinex - HL threshold -!HISTORY_MSG_425;Retinex - Log base +!HISTORY_MSG_425;--unused-- !HISTORY_MSG_426;Retinex - Hue equalizer !HISTORY_MSG_427;Output rendering intent !HISTORY_MSG_428;Monitor rendering intent @@ -1486,30 +1473,45 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !HISTORY_MSG_442;Retinex - Scale !HISTORY_MSG_443;Output black point compensation !HISTORY_MSG_444;WB - Temp bias -!HISTORY_MSG_445;Raw sub-image -!HISTORY_MSG_449;PS - ISO adaption -!HISTORY_MSG_452;PS - Show motion -!HISTORY_MSG_453;PS - Show mask only -!HISTORY_MSG_457;PS - Check red/blue -!HISTORY_MSG_462;PS - Check green -!HISTORY_MSG_464;PS - Blur motion mask -!HISTORY_MSG_465;PS - Blur radius -!HISTORY_MSG_468;PS - Fill holes -!HISTORY_MSG_469;PS - Median -!HISTORY_MSG_471;PS - Motion correction -!HISTORY_MSG_472;PS - Smooth transitions -!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_MSG_445;Raw Sub-Image +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_449;PS ISO adaption +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_452;PS Show motion +!HISTORY_MSG_453;PS Show mask only +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_457;PS Check red/blue +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_462;PS Check green +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_464;PS Blur motion mask +!HISTORY_MSG_465;PS Blur radius +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_468;PS Fill holes +!HISTORY_MSG_469;PS Median +!HISTORY_MSG_470;--unused-- +!HISTORY_MSG_471;PS Motion correction +!HISTORY_MSG_472;PS Smooth transitions +!HISTORY_MSG_474;PS Equalize +!HISTORY_MSG_475;PS Equalize channel +!HISTORY_MSG_476;CAL - VC - Temperature +!HISTORY_MSG_477;CAL - VC - Tint +!HISTORY_MSG_478;CAL - VC - Mean luminance +!HISTORY_MSG_479;CAL - VC - Adaptation +!HISTORY_MSG_480;CAL - VC - Auto adaptation +!HISTORY_MSG_481;CAL - SC - Temperature +!HISTORY_MSG_482;CAL - SC - Tint +!HISTORY_MSG_483;CAL - SC - Mean luminance +!HISTORY_MSG_484;CAL - SC - Auto mean luminance !HISTORY_MSG_485;Lens Correction !HISTORY_MSG_486;Lens Correction - Camera !HISTORY_MSG_487;Lens Correction - Lens @@ -1520,6 +1522,654 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !HISTORY_MSG_492;RGB Curves !HISTORY_MSG_493;L*a*b* Adjustments !HISTORY_MSG_494;Capture Sharpening +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_507;Local Spot center +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_516;Local - Color and light +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_527;Local - Color Inverse +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_542;Local - Vib avoid colorshift +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_591;Local - Avoid color shift +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_607;Local - Color Mask C +!HISTORY_MSG_608;Local - Color Mask L +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_611;Local - Color Mask H +!HISTORY_MSG_612;Local - Color Structure +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_615;Local - Blend color +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_618;Local - Use Color Mask +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_624;Local - Color correction grid +!HISTORY_MSG_625;Local - Color correction strength +!HISTORY_MSG_626;Local - Color correction Method +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_634;Local - radius color +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_650;Local - Color mask chroma +!HISTORY_MSG_651;Local - Color mask gamma +!HISTORY_MSG_652;Local - Color mask slope +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_656;Local - Color soft radius +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_760;Local - Color Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_770;Local - Color Mask contrast curve +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_779;Local - Color Mask local contrast curve +!HISTORY_MSG_780;Local - Color Mask shadows +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_783;Local - Color Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_799;Local - Color RGB ToneCurve +!HISTORY_MSG_800;Local - Color ToneCurve Method +!HISTORY_MSG_801;Local - Color ToneCurve Special +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_803;Local - Color Merge +!HISTORY_MSG_804;Local - Color mask Structure +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_806;Local - Color mask Structure as tool +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_808;Local - Color mask curve H(H) +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_821;Local - color grid background +!HISTORY_MSG_822;Local - color background merge +!HISTORY_MSG_823;Local - color background luminance +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_830;Local - Color gradient strength L +!HISTORY_MSG_831;Local - Color gradient angle +!HISTORY_MSG_832;Local - Color gradient strength C +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_834;Local - Color gradient strength H +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_894;Local - Color Preview dE +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_925;Local - Scope color tools +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_928;Local - Common color mask +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_996;Local - Color recovery threshold +!HISTORY_MSG_997;Local - Color threshold mask low +!HISTORY_MSG_998;Local - Color threshold mask high +!HISTORY_MSG_999;Local - Color decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1070;Local - CIECAM colorfullness +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1107;Local - CIECAM Color method +!HISTORY_MSG_1108;Local - CIECAM Color curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_BLSHAPE;Blur by level +!HISTORY_MSG_BLURCWAV;Blur chroma +!HISTORY_MSG_BLURWAV;Blur luminance +!HISTORY_MSG_BLUWAV;Attenuation response +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM !HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors !HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction !HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction @@ -1535,22 +2185,42 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation !HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask !HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity !HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth !HISTORY_MSG_DEHAZE_ENABLED;Haze Removal -!HISTORY_MSG_DEHAZE_LUMINANCE;Dehaze - Luminance only +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation !HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map !HISTORY_MSG_DEHAZE_STRENGTH;Dehaze - Strength !HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Dual demosaic - Auto threshold !HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Dual demosaic - Contrast threshold +!HISTORY_MSG_EDGEFFECT;Edge Attenuation response +!HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output +!HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space !HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negative +!HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input !HISTORY_MSG_FILMNEGATIVE_VALUES;Film negative values !HISTORY_MSG_HISTMATCHING;Auto-matched tone curve +!HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y !HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primaries !HISTORY_MSG_ICM_OUTPUT_TEMP;Output - ICC-v4 illuminant D !HISTORY_MSG_ICM_OUTPUT_TYPE;Output - Type -!HISTORY_MSG_ICM_WORKING_GAMMA;Working - Gamma -!HISTORY_MSG_ICM_WORKING_SLOPE;Working - Slope -!HISTORY_MSG_ICM_WORKING_TRC_METHOD;Working - TRC method +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_GAMMA;TRC - Gamma +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ICM_WORKING_SLOPE;TRC - Slope +!HISTORY_MSG_ICM_WORKING_TRC_METHOD;TRC method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant !HISTORY_MSG_LOCALCONTRAST_AMOUNT;Local Contrast - Amount !HISTORY_MSG_LOCALCONTRAST_DARKNESS;Local Contrast - Darkness !HISTORY_MSG_LOCALCONTRAST_ENABLED;Local Contrast @@ -1565,23 +2235,83 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iterations !HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius !HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average !HISTORY_MSG_PIXELSHIFT_DEMOSAIC;PS - Demosaic method for motion !HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;Line noise filter direction !HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode +!HISTORY_MSG_PROTAB;Protection !HISTORY_MSG_PRSHARPEN_CONTRAST;PRS - Contrast threshold +!HISTORY_MSG_RANGEAB;Range ab !HISTORY_MSG_RAWCACORR_AUTOIT;Raw CA Correction - Iterations !HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift !HISTORY_MSG_RAW_BORDER;Raw border !HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge !HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius !HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold !HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace +!HISTORY_MSG_SIGMACOL;Chroma Attenuation response +!HISTORY_MSG_SIGMADIR;Dir Attenuation response +!HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response +!HISTORY_MSG_SIGMATON;Toning Attenuation response !HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light !HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength +!HISTORY_MSG_SPOT;Spot removal +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. +!HISTORY_MSG_TEMPOUT;CAM02 automatic temperature +!HISTORY_MSG_THRESWAV;Balance threshold !HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor -!HISTORY_MSG_TRANS_Method;Geometry - Method +!HISTORY_MSG_TRANS_METHOD;Geometry - Method +!HISTORY_MSG_WAVBALCHROM;Equalizer chrominance +!HISTORY_MSG_WAVBALLUM;Equalizer luminance +!HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVCHROMCO;Chroma coarse +!HISTORY_MSG_WAVCHROMFI;Chroma fine +!HISTORY_MSG_WAVCLARI;Clarity +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVEDGS;Edge stopping +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVLOWTHR;Threshold low contrast +!HISTORY_MSG_WAVMERGEC;Merge C +!HISTORY_MSG_WAVMERGEL;Merge L +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVOFFSET;Offset +!HISTORY_MSG_WAVOLDSH;Old algorithm +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVRADIUS;Radius shadows-highlights +!HISTORY_MSG_WAVSCALE;Scale +!HISTORY_MSG_WAVSHOWMASK;Show wavelet mask +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSIGMA;Attenuation response +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSOFTRAD;Soft radius clarity +!HISTORY_MSG_WAVSOFTRADEND;Soft radius final +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!HISTORY_MSG_WAVUSHAMET;Clarity method !ICCPROFCREATOR_COPYRIGHT;Copyright: -!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0" +!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to 'RawTherapee, CC0'. !ICCPROFCREATOR_CUSTOM;Custom !ICCPROFCREATOR_DESCRIPTION;Description: !ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Append gamma and slope values to the description @@ -1593,11 +2323,12 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !ICCPROFCREATOR_ILL_50;D50 !ICCPROFCREATOR_ILL_55;D55 !ICCPROFCREATOR_ILL_60;D60 +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater !ICCPROFCREATOR_ILL_65;D65 !ICCPROFCREATOR_ILL_80;D80 !ICCPROFCREATOR_ILL_DEF;Default !ICCPROFCREATOR_ILL_INC;StdA 2856K -!ICCPROFCREATOR_ILL_TOOLTIP;You can only set the illuminant for ICC v4 profiles. +!ICCPROFCREATOR_ILL_TOOLTIP;You can set the illuminant for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIMARIES;Primaries: !ICCPROFCREATOR_PRIM_ACESP0;ACES AP0 !ICCPROFCREATOR_PRIM_ACESP1;ACES AP1 @@ -1607,6 +2338,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !ICCPROFCREATOR_PRIM_BLUX;Blue X !ICCPROFCREATOR_PRIM_BLUY;Blue Y !ICCPROFCREATOR_PRIM_BRUCE;BruceRGB +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 !ICCPROFCREATOR_PRIM_GREX;Green X !ICCPROFCREATOR_PRIM_GREY;Green Y !ICCPROFCREATOR_PRIM_PROPH;Prophoto @@ -1614,13 +2346,14 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !ICCPROFCREATOR_PRIM_REDX;Red X !ICCPROFCREATOR_PRIM_REDY;Red Y !ICCPROFCREATOR_PRIM_SRGB;sRGB -!ICCPROFCREATOR_PRIM_TOOLTIP;You can only set custom primaries for ICC v4 profiles. +!ICCPROFCREATOR_PRIM_TOOLTIP;You can set custom primaries for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIM_WIDEG;Widegamut !ICCPROFCREATOR_PROF_V2;ICC v2 !ICCPROFCREATOR_PROF_V4;ICC v4 !ICCPROFCREATOR_SAVEDIALOG_TITLE;Save ICC profile as... !ICCPROFCREATOR_SLOPE;Slope -!ICCPROFCREATOR_TRC_PRESET;Tone response curve: +!ICCPROFCREATOR_TRC_PRESET;Tone response curve +!INSPECTOR_WINDOW_TITLE;Inspector !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 @@ -1632,7 +2365,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !IPTCPANEL_CREATORJOBTITLEHINT;Enter the Job Title of the person listed in the Creator field. !IPTCPANEL_DATECREATEDHINT;Enter the Date the image was taken. !IPTCPANEL_DESCRIPTION;Description -!IPTCPANEL_DESCRIPTIONHINT;Enter a "caption" describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. +!IPTCPANEL_DESCRIPTIONHINT;Enter a 'caption' describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. !IPTCPANEL_DESCRIPTIONWRITER;Description writer !IPTCPANEL_DESCRIPTIONWRITERHINT;Enter the name of the person involved in writing, editing or correcting the description of the image. !IPTCPANEL_HEADLINEHINT;Enter a brief publishable synopsis or summary of the contents of the image. @@ -1655,24 +2388,29 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !MAIN_TAB_FAVORITES;Favorites !MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: Alt-u !MAIN_TAB_INSPECT; Inspect +!MAIN_TAB_LOCALLAB;Local +!MAIN_TAB_LOCALLAB_TOOLTIP;Shortcut: Alt-o !MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9 !MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%. !MONITOR_PROFILE_SYSTEM;System default -!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. -!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. -!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. +!OPTIONS_BUNDLED_MISSING;The bundled profile '%1' could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. +!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. +!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. !PARTIALPASTE_ADVANCEDGROUP;Advanced Settings !PARTIALPASTE_COLORTONING;Color toning !PARTIALPASTE_DEHAZE;Haze removal !PARTIALPASTE_EQUALIZER;Wavelet levels -!PARTIALPASTE_FILMNEGATIVE;Film Negative +!PARTIALPASTE_FILMNEGATIVE;Film negative !PARTIALPASTE_FILMSIMULATION;Film simulation !PARTIALPASTE_FLATFIELDCLIPCONTROL;Flat-field clip control !PARTIALPASTE_LOCALCONTRAST;Local contrast +!PARTIALPASTE_LOCALLAB;Local Adjustments +!PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings !PARTIALPASTE_METADATA;Metadata mode !PARTIALPASTE_PREPROCESS_DEADPIXFILT;Dead pixel filter !PARTIALPASTE_PREPROCESS_HOTPIXFILT;Hot pixel filter !PARTIALPASTE_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!PARTIALPASTE_PREPROCWB;Preprocess White Balance !PARTIALPASTE_PRSHARPENING;Post-resize sharpening !PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;CA avoid color shift !PARTIALPASTE_RAWCACORR_CAREDBLUE;CA red & blue @@ -1681,6 +2419,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !PARTIALPASTE_RAW_PIXELSHIFT;Pixel Shift !PARTIALPASTE_RETINEX;Retinex !PARTIALPASTE_SOFTLIGHT;Soft light +!PARTIALPASTE_SPOT;Spot removal !PARTIALPASTE_TM_FATTAL;Dynamic range compression !PREFERENCES_APPEARANCE;Appearance !PREFERENCES_APPEARANCE_COLORPICKERFONT;Color picker font @@ -1700,10 +2439,16 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !PREFERENCES_CHUNKSIZE_RAW_RCD;RCD demosaic !PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans demosaic !PREFERENCES_CHUNKSIZE_RGB;RGB processing +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts !PREFERENCES_CLUTSCACHE;HaldCLUT Cache !PREFERENCES_CLUTSCACHE_LABEL;Maximum number of cached CLUTs !PREFERENCES_CLUTSDIR;HaldCLUT directory !PREFERENCES_CMMBPC;Black point compensation +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic !PREFERENCES_CROP;Crop Editing !PREFERENCES_CROP_AUTO_FIT;Automatically zoom to fit the crop !PREFERENCES_CROP_GUIDES;Guides shown when not editing the crop @@ -1717,9 +2462,16 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !PREFERENCES_CURVEBBOXPOS_RIGHT;Right !PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EDITORCMDLINE;Custom command line +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Compact toolbars in File Browser !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_INSPECTORWINDOW;Open inspector in own window or fullscreen !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. @@ -1748,18 +2500,20 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !PREFERENCES_PRTINTENT;Rendering intent !PREFERENCES_PRTPROFILE;Color profile !PREFERENCES_REMEMBERZOOMPAN;Remember zoom % and pan offset -!PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in "Single Editor Tab Mode" and when "Demosaicing method used for the preview at <100% zoom" is set to "As in PP3". +!PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in 'Single Editor Tab Mode' and when 'Demosaicing method used for the preview at <100% zoom' is set to 'As in PP3'. !PREFERENCES_SAVE_TP_OPEN_NOW;Save tool collapsed/expanded state now !PREFERENCES_SERIALIZE_TIFF_READ;TIFF Read Settings !PREFERENCES_SERIALIZE_TIFF_READ_LABEL;Serialize reading of TIFF files !PREFERENCES_SERIALIZE_TIFF_READ_TOOLTIP;Enabling this option when working with folders containing uncompressed TIFF files can increase performance of thumbnail generation. !PREFERENCES_SHOWFILMSTRIPTOOLBAR;Show Filmstrip toolbar +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips !PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules !PREFERENCES_TAB_PERFORMANCE;Performance !PREFERENCES_THUMBNAIL_INSPECTOR_JPEG;Embedded JPEG preview !PREFERENCES_THUMBNAIL_INSPECTOR_MODE;Image to show !PREFERENCES_THUMBNAIL_INSPECTOR_RAW;Neutral raw rendering !PREFERENCES_THUMBNAIL_INSPECTOR_RAW_IF_NO_JPEG_FULLSIZE;Embedded JPEG if fullsize, neutral raw otherwise +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling !PROFILEPANEL_PDYNAMIC;Dynamic !PROGRESSBAR_DECODING;Decoding... !PROGRESSBAR_GREENEQUIL;Green equilibration... @@ -1784,7 +2538,14 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !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. !SOFTPROOF_GAMUTCHECK_TOOLTIP;Highlight pixels with out-of-gamut colors with respect to:\n- the printer profile, if one is set and soft-proofing is enabled,\n- the output profile, if a printer profile is not set and soft-proofing is enabled,\n- the monitor profile, if soft-proofing is disabled. !SOFTPROOF_TOOLTIP;Soft-proofing simulates the appearance of the image:\n- when printed, if a printer profile is set in Preferences > Color Management,\n- when viewed on a display that uses the current output profile, if a printer profile is not set. +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry !TOOLBAR_TOOLTIP_COLORPICKER;Lockable Color Picker\n\nWhen the tool is active:\n- Add a picker: left-click.\n- Drag a picker: left-click and drag.\n- Delete a picker: right-click.\n- Delete all pickers: Ctrl+Shift+right-click.\n- Revert to hand tool: right-click outside any picker. +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. !TP_BWMIX_MIXC;Channel Mixer !TP_BWMIX_NEUTRAL;Reset !TP_CBDL_AFT;After Black-and-White @@ -1792,19 +2553,50 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !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_ABSOLUTELUMINANCE;Absolute luminance +!TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. !TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;When setting manually, values above 65 are recommended. -!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output] +!TP_COLORAPP_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_FREE;Free temp + tint + CAT02/16 +[output] +!TP_COLORAPP_GEN;Settings +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. +!TP_COLORAPP_IL41;D41 +!TP_COLORAPP_IL50;D50 +!TP_COLORAPP_IL55;D55 +!TP_COLORAPP_IL60;D60 +!TP_COLORAPP_IL65;D65 +!TP_COLORAPP_IL75;D75 +!TP_COLORAPP_ILA;Incandescent StdA 2856K +!TP_COLORAPP_ILFREE;Free +!TP_COLORAPP_ILLUM;Illuminant +!TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. !TP_COLORAPP_MEANLUMINANCE;Mean luminance (Yb%) +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. !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 set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_NEUTRAL_TOOLTIP;Reset all sliders checkbox and curves to their default values. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. +!TP_COLORAPP_SURROUNDSRC;Surround +!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. +!TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. !TP_COLORTONING_AB;o C/L !TP_COLORTONING_AUTOSAT;Automatic !TP_COLORTONING_BALANCE;Balance !TP_COLORTONING_BY;o C/L !TP_COLORTONING_CHROMAC;Opacity -!TP_COLORTONING_COLOR;Color -!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L) +!TP_COLORTONING_COLOR;Color: +!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L). !TP_COLORTONING_HIGHLIGHT;Highlights !TP_COLORTONING_HUE;Hue !TP_COLORTONING_LAB;L*a*b* blending @@ -1834,11 +2626,11 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_COLORTONING_LUMAMODE;Preserve luminance !TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved. !TP_COLORTONING_METHOD;Method -!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. +!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. !TP_COLORTONING_MIDTONES;Midtones !TP_COLORTONING_NEUTRAL;Reset sliders -!TP_COLORTONING_NEUTRAL_TIP;Reset all values (Shadows, Midtones, Highlights) to default. -!TP_COLORTONING_OPACITY;Opacity +!TP_COLORTONING_NEUTRAL_TOOLTIP;Reset all values (Shadows, Midtones, Highlights) to default. +!TP_COLORTONING_OPACITY;Opacity: !TP_COLORTONING_RGBCURVES;RGB - Curves !TP_COLORTONING_RGBSLIDERS;RGB - Sliders !TP_COLORTONING_SA;Saturation Protection @@ -1855,6 +2647,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_COLORTONING_TWOBY;Special a* and b* !TP_COLORTONING_TWOCOLOR_TOOLTIP;Standard chroma:\nLinear response, a* = b*.\n\nSpecial chroma:\nLinear response, a* = b*, but unbound - try under the diagonal.\n\nSpecial a* and b*:\nLinear response unbound with separate curves for a* and b*. Intended for special effects.\n\nSpecial chroma 2 colors:\nMore predictable. !TP_COLORTONING_TWOSTD;Standard chroma +!TP_CROP_GTCENTEREDSQUARE;Centered square !TP_CROP_GTHARMMEANS;Harmonic Means !TP_CROP_GTTRIANGLE1;Golden Triangles 1 !TP_CROP_GTTRIANGLE2;Golden Triangles 2 @@ -1863,7 +2656,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_CROP_SELECTCROP;Select !TP_DEHAZE_DEPTH;Depth !TP_DEHAZE_LABEL;Haze Removal -!TP_DEHAZE_LUMINANCE;Luminance only +!TP_DEHAZE_SATURATION;Saturation !TP_DEHAZE_SHOW_DEPTH_MAP;Show depth map !TP_DEHAZE_STRENGTH;Strength !TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Auto multi-zones @@ -1874,7 +2667,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_DIRPYRDENOISE_CHROMINANCE_MANUAL;Manual !TP_DIRPYRDENOISE_CHROMINANCE_METHOD;Method !TP_DIRPYRDENOISE_CHROMINANCE_METHODADVANCED_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. -!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the "Preview" method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. +!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the 'Preview' method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. !TP_DIRPYRDENOISE_CHROMINANCE_PMZ;Preview multi-zones !TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW;Preview !TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Displays the remaining noise levels of the part of the image visible in the preview after wavelet.\n\n>300 Very noisy\n100-300 Noisy\n50-100 A little noisy\n<50 Very low noise\n\nBeware, the values will differ between RGB and L*a*b* mode. The RGB values are less accurate because the RGB mode does not completely separate luminance and chrominance. @@ -1889,14 +2682,14 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_DIRPYRDENOISE_MAIN_MODE;Mode !TP_DIRPYRDENOISE_MAIN_MODE_AGGRESSIVE;Aggressive !TP_DIRPYRDENOISE_MAIN_MODE_CONSERVATIVE;Conservative -!TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;"Conservative" preserves low frequency chroma patterns, while "aggressive" obliterates them. +!TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;Conservative preserves low frequency chroma patterns, while aggressive obliterates them. !TP_DIRPYRDENOISE_MEDIAN_METHOD;Median method !TP_DIRPYRDENOISE_MEDIAN_METHOD_CHROMINANCE;Chroma only !TP_DIRPYRDENOISE_MEDIAN_METHOD_LAB;L*a*b* !TP_DIRPYRDENOISE_MEDIAN_METHOD_LABEL;Median Filter !TP_DIRPYRDENOISE_MEDIAN_METHOD_LUMINANCE;Luminance only !TP_DIRPYRDENOISE_MEDIAN_METHOD_RGB;RGB -!TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the "Luminance only" and "L*a*b*" methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the "RGB" mode, it will be performed at the very end of the noise reduction pipeline. +!TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the 'Luminance only' and 'L*a*b*' methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the 'RGB' mode, it will be performed at the very end of the noise reduction pipeline. !TP_DIRPYRDENOISE_MEDIAN_METHOD_WEIGHTED;Weighted L* (little) + a*b* (normal) !TP_DIRPYRDENOISE_MEDIAN_PASSES;Median iterations !TP_DIRPYRDENOISE_MEDIAN_PASSES_TOOLTIP;Applying three median filter iterations with a 3×3 window size often leads to better results than using one median filter iteration with a 7×7 window size. @@ -1909,7 +2702,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_DIRPYRDENOISE_TYPE_7X7;7×7 !TP_DIRPYRDENOISE_TYPE_9X9;9×9 !TP_DIRPYREQUALIZER_ARTIF;Reduce artifacts -!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_DISTORTION_AUTO_TOOLTIP;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_EPD_GAMMA;Gamma !TP_EXPOSURE_CLAMPOOG;Clip out-of-gamut colors !TP_EXPOSURE_HISTMATCHING;Auto-Matched Tone Curve @@ -1919,17 +2712,28 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_EXPOS_BLACKPOINT_LABEL;Raw Black Points !TP_EXPOS_WHITEPOINT_LABEL;Raw White Points !TP_FILMNEGATIVE_BLUE;Blue ratio -!TP_FILMNEGATIVE_GREEN;Reference exponent (contrast) -!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. Set the white balance afterwards. +!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm +!TP_FILMNEGATIVE_COLORSPACE;Inversion color space: +!TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space +!TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. +!TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space +!TP_FILMNEGATIVE_GREEN;Reference exponent +!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green +!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. !TP_FILMNEGATIVE_LABEL;Film Negative +!TP_FILMNEGATIVE_OUT_LEVEL;Output level !TP_FILMNEGATIVE_PICK;Pick neutral spots !TP_FILMNEGATIVE_RED;Red ratio +!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. !TP_FILMSIMULATION_LABEL;Film Simulation !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_FILMSIMULATION_STRENGTH;Strength !TP_FILMSIMULATION_ZEROCLUTSFOUND;Set HaldCLUT directory in Preferences !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, value 0 is used. +!TP_HLREC_HLBLUR;Blur !TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure !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 @@ -1937,15 +2741,62 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_ICM_APPLYLOOKTABLE;Look table !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_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 !TP_ICM_PROFILEINTENT;Rendering Intent +!TP_ICM_REDFRAME;Custom Primaries !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_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut !TP_ICM_WORKING_TRC;Tone response curve: +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 !TP_ICM_WORKING_TRC_CUSTOM;Custom !TP_ICM_WORKING_TRC_GAMMA;Gamma +!TP_ICM_WORKING_TRC_LIN;Linear g=1 !TP_ICM_WORKING_TRC_NONE;None !TP_ICM_WORKING_TRC_SLOPE;Slope +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 !TP_ICM_WORKING_TRC_TOOLTIP;Only for built-in profiles. !TP_LENSGEOM_LIN;Linear !TP_LENSGEOM_LOG;Logarithmic @@ -1963,12 +2814,815 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_LOCALCONTRAST_LABEL;Local Contrast !TP_LOCALCONTRAST_LIGHTNESS;Lightness level !TP_LOCALCONTRAST_RADIUS;Radius +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ACTIVSPOT;Enable Spot +!TP_LOCALLAB_ADJ;Equalizer Color +!TP_LOCALLAB_AMOUNT;Amount +!TP_LOCALLAB_ARTIF;Shape detection +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOID;Avoid color shift +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALAN;ab-L balance (ΔE) +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALANH;C-H balance (ΔE) +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLCO;Chrominance only +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLINV;Inverse +!TP_LOCALLAB_BLLC;Luminance & Chrominance +!TP_LOCALLAB_BLLO;Luminance only +!TP_LOCALLAB_BLMED;Median +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNOI_EXP;Blur & Noise +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUFR;Blur/Grain & Denoise +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain +!TP_LOCALLAB_BLURCOL;Radius +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURDE;Blur shape detection +!TP_LOCALLAB_BLURLC;Luminance only +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +!TP_LOCALLAB_BUTTON_ADD;Add +!TP_LOCALLAB_BUTTON_DEL;Delete +!TP_LOCALLAB_BUTTON_DUPL;Duplicate +!TP_LOCALLAB_BUTTON_REN;Rename +!TP_LOCALLAB_BUTTON_VIS;Show/Hide +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +!TP_LOCALLAB_CAMMODE;CAM model +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CBDL;Contrast by Detail Levels +!TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. +!TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. +!TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. +!TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels +!TP_LOCALLAB_CENTER_X;Center X +!TP_LOCALLAB_CENTER_Y;Center Y +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMA;Chrominance +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACBDL;Chroma +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASKCOL;Chroma +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_CHRRT;Chroma +!TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIEC;Use Ciecam environment parameters +!TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +!TP_LOCALLAB_CIECOLORFRA;Color +!TP_LOCALLAB_CIECONTFRA;Contrast +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE;Change tool position +!TP_LOCALLAB_CIEMODE_COM;Default +!TP_LOCALLAB_CIEMODE_DR;Dynamic Range +!TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIEMODE_WAV;Wavelet +!TP_LOCALLAB_CIETOOLEXP;Curves +!TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIRCRADIUS;Spot size +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COFR;Color & Light +!TP_LOCALLAB_COLORDE;ΔE preview color - intensity +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +!TP_LOCALLAB_COLORSCOPE;Scope (color tools) +!TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +!TP_LOCALLAB_COLOR_CIE;Color curve +!TP_LOCALLAB_COLOR_TOOLNAME;Color & Light +!TP_LOCALLAB_COL_NAME;Name +!TP_LOCALLAB_COL_VIS;Status +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRAST;Contrast +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CONTTHR;Contrast Threshold +!TP_LOCALLAB_CONTWFRA;Local contrast +!TP_LOCALLAB_CSTHRESHOLD;Wavelet levels +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve +!TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DEHAFRA;Dehaze +!TP_LOCALLAB_DEHAZ;Strength +!TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. +!TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_EXP;Denoise +!TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. +!TP_LOCALLAB_DEPTH;Depth +!TP_LOCALLAB_DETAIL;Local contrast +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILSH;Details +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_DUPLSPOTNAME;Copy +!TP_LOCALLAB_EDGFRA;Edge sharpness +!TP_LOCALLAB_EDGSHOW;Show all tools +!TP_LOCALLAB_ELI;Ellipse +!TP_LOCALLAB_ENABLE_AFTER_MASK;Use Tone Mapping +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EPSBL;Detail +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EV_NVIS;Hide +!TP_LOCALLAB_EV_NVIS_ALL;Hide all +!TP_LOCALLAB_EV_VIS;Show +!TP_LOCALLAB_EV_VIS_ALL;Show all +!TP_LOCALLAB_EXCLUF;Excluding +!TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +!TP_LOCALLAB_EXCLUTYPE;Spot method +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXECLU;Excluding spot +!TP_LOCALLAB_EXFULL;Full image +!TP_LOCALLAB_EXNORM;Normal spot +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA;Chroma compensation +!TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. +!TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust color, lightness, contrast and correct small defects such as red-eye, sensor dust etc. +!TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ +!TP_LOCALLAB_EXPCOMPINV;Exposure compensation +!TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPCURV;Curves +!TP_LOCALLAB_EXPGRAD;Graduated Filter +!TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_EXPTOOL;Exposure Tools +!TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure +!TP_LOCALLAB_FATAMOUNT;Amount +!TP_LOCALLAB_FATANCHOR;Anchor +!TP_LOCALLAB_FATDETAIL;Detail +!TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). +!TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform +!TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform +!TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAM;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMFRA;Tone response curve (TRC) +!TP_LOCALLAB_GAMM;Gamma +!TP_LOCALLAB_GAMMASKCOL;Gamma +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMSH;Gamma +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADANG;Gradient angle +!TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. +!TP_LOCALLAB_GRADFRA;Graduated Filter Mask +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance +!TP_LOCALLAB_GRADSTR;Gradient strength +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRADSTRLUM;Luma gradient strength +!TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +!TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +!TP_LOCALLAB_GRIDONE;Color Toning +!TP_LOCALLAB_GRIDTWO;Direct +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER;Guided filter radius +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. +!TP_LOCALLAB_INVERS;Inverse +!TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_ISOGR;Distribution (ISO) +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLIGHT;Brightness +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSAT;Saturation +!TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABBLURM;Blur Mask +!TP_LOCALLAB_LABEL;Local Adjustments +!TP_LOCALLAB_LABGRID;Color correction grid +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV;Wavelet levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTNESS;Lightness +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LIGHTRETI;Lightness +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_NAME;Add tool to current spot... +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRAST;Local Contrast & Wavelets +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOG;Log Encoding +!TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments +!TP_LOCALLAB_LOG2FRA;Viewing Conditions +!TP_LOCALLAB_LOGAUTO;Automatic +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +!TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. +!TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGEXP;All tools +!TP_LOCALLAB_LOGFRA;Scene Conditions +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode). +!TP_LOCALLAB_LOGLIGHTL;Lightness (J) +!TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration. +!TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART;Overall strength +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LOG_TOOLNAME;Log Encoding +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMADARKEST;Darkest +!TP_LOCALLAB_LUMASK;Background color/luma mask +!TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). +!TP_LOCALLAB_LUMAWHITESEST;Lightest +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASK;Curves +!TP_LOCALLAB_MASK2;Contrast curve +!TP_LOCALLAB_MASKCOM;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDDECAY;Decay strength +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. +!TP_LOCALLAB_MASKRECOTHRES;Recovery threshold +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERCOL;Color +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOR;Color Dodge +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHI;Color Burn +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MODE_EXPERT;Advanced +!TP_LOCALLAB_MODE_NORMAL;Standard +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MRONE;None +!TP_LOCALLAB_MRTHR;Original Image +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NEIGH;Radius +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLDET;Detail recovery +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NLLUM;Strength +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NOISEMETH;Denoise +!TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. +!TP_LOCALLAB_NONENOISE;None +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_OFFS;Offset +!TP_LOCALLAB_OFFSETWAV;Offset +!TP_LOCALLAB_OPACOL;Opacity +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PASTELS2;Vibrance +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_PREVHIDE;Hide additional settings +!TP_LOCALLAB_PREVIEW;Preview ΔE +!TP_LOCALLAB_PREVSHOW;Show additional settings +!TP_LOCALLAB_PROXI;ΔE decay +!TP_LOCALLAB_QUAAGRES;Aggressive +!TP_LOCALLAB_QUACONSER;Conservative +!TP_LOCALLAB_QUALCURV_METHOD;Curve type +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS;Radius +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RECT;Rectangle +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name +!TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot +!TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESID;Residual Image +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RESIDHI;Highlights +!TP_LOCALLAB_RESIDHITHR;Highlights threshold +!TP_LOCALLAB_RESIDSHA;Shadows +!TP_LOCALLAB_RESIDSHATHR;Shadows threshold +!TP_LOCALLAB_RETI;Dehaze & Retinex +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex +!TP_LOCALLAB_REWEI;Reweighting iterates +!TP_LOCALLAB_RGB;RGB Tone Curve +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_ROW_NVIS;Not visible +!TP_LOCALLAB_ROW_VIS;Visible +!TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. +!TP_LOCALLAB_SATUR;Saturation +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSI;Scope +!TP_LOCALLAB_SENSIEXCLU;Scope +!TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +!TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +!TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. +!TP_LOCALLAB_SETTINGS;Settings +!TP_LOCALLAB_SH1;Shadows Highlights +!TP_LOCALLAB_SH2;Equalizer +!TP_LOCALLAB_SHADEX;Shadows +!TP_LOCALLAB_SHADEXCOMP;Shadow compression +!TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHAMASKCOL;Shadows +!TP_LOCALLAB_SHAPETYPE;RT-spot shape +!TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +!TP_LOCALLAB_SHARAMOUNT;Amount +!TP_LOCALLAB_SHARBLUR;Blur radius +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHARITER;Iterations +!TP_LOCALLAB_SHARP;Sharpening +!TP_LOCALLAB_SHARP_TOOLNAME;Sharpening +!TP_LOCALLAB_SHARRADIUS;Radius +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASK;Show mask +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise +!TP_LOCALLAB_SHOWMASKTYP2;Denoise +!TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWREF;Preview ΔE +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMAWAV;Attenuation response +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTM;Soft Light +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SOURCE_ABS;Absolute luminance +!TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_SPOTNAME;New Spot +!TP_LOCALLAB_STD;Standard +!TP_LOCALLAB_STR;Strength +!TP_LOCALLAB_STRBL;Strength +!TP_LOCALLAB_STREN;Compression strength +!TP_LOCALLAB_STRENG;Strength +!TP_LOCALLAB_STRENGR;Strength +!TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). +!TP_LOCALLAB_STRENGTH;Noise +!TP_LOCALLAB_STRGRID;Strength +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_TARGET_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM;Tone Mapping +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSIT;Transition Gradient +!TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY +!TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. +!TP_LOCALLAB_TRANSITVALUE;Transition value +!TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) +!TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WARM;Warm/Cool & Color artifacts +!TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the color temperature of the selected area warmer or cooler.\nIt can also reduce color artifacts in some cases. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAV;Local contrast +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVDEN;Luminance denoise +!TP_LOCALLAB_WAVE;Wavelets +!TP_LOCALLAB_WAVEDG;Local contrast +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK;Local contrast +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. !TP_METADATA_EDIT;Apply modifications !TP_METADATA_MODE;Metadata copy mode !TP_METADATA_STRIP;Strip all metadata !TP_METADATA_TUNNEL;Copy unchanged !TP_NEUTRAL;Reset !TP_PDSHARPENING_LABEL;Capture Sharpening +!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor +!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length +!TP_PERSPECTIVE_CAMERA_FRAME;Correction +!TP_PERSPECTIVE_CAMERA_PITCH;Vertical +!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_CAMERA_YAW;Horizontal +!TP_PERSPECTIVE_CONTROL_LINES;Control lines +!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +!TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. +!TP_PERSPECTIVE_METHOD;Method +!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based +!TP_PERSPECTIVE_METHOD_SIMPLE;Simple +!TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment +!TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +!TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +!TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +!TP_PERSPECTIVE_RECOVERY_FRAME;Recovery !TP_PREPROCESS_DEADPIXFILT;Dead pixel filter !TP_PREPROCESS_DEADPIXFILT_TOOLTIP;Tries to suppress dead pixels. !TP_PREPROCESS_HOTPIXFILT;Hot pixel filter @@ -1979,10 +3633,14 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_PREPROCESS_LINEDENOISE_DIRECTION_PDAF_LINES;Horizontal only on PDAF rows !TP_PREPROCESS_LINEDENOISE_DIRECTION_VERTICAL;Vertical !TP_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!TP_PREPROCWB_LABEL;Preprocess White Balance +!TP_PREPROCWB_MODE;Mode +!TP_PREPROCWB_MODE_AUTO;Auto +!TP_PREPROCWB_MODE_CAMERA;Camera !TP_PRSHARPENING_LABEL;Post-Resize Sharpening -!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the "Lanczos" resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. +!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the 'Lanczos' resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. !TP_RAWCACORR_AUTOIT;Iterations -!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if "Auto-correction" is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. +!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if 'Auto-correction' is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. !TP_RAWCACORR_AVOIDCOLORSHIFT;Avoid color shift !TP_RAWEXPOS_BLACK_0;Green 1 (lead) !TP_RAWEXPOS_BLACK_1;Red @@ -1998,9 +3656,11 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_RAW_4PASS;3-pass+fast !TP_RAW_AHD;AHD !TP_RAW_AMAZE;AMaZE +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear !TP_RAW_AMAZEVNG4;AMaZE+VNG4 !TP_RAW_BORDER;Border !TP_RAW_DCB;DCB +!TP_RAW_DCBBILINEAR;DCB+Bilinear !TP_RAW_DCBVNG4;DCB+VNG4 !TP_RAW_DUALDEMOSAICAUTOCONTRAST;Auto threshold !TP_RAW_DUALDEMOSAICAUTOCONTRAST_TOOLTIP;If the checkbox is checked (recommended), RawTherapee calculates an optimum value based on flat regions in the image.\nIf there is no flat region in the image or the image is too noisy, the value will be set to 0.\nTo set the value manually, uncheck the checkbox first (reasonable values depend on the image). @@ -2018,6 +3678,8 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_RAW_MONO;Mono !TP_RAW_NONE;None (Shows sensor pattern) !TP_RAW_PIXELSHIFT;Pixel Shift +!TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTBLUR;Blur motion mask !TP_RAW_PIXELSHIFTDMETHOD;Demosaic method for motion !TP_RAW_PIXELSHIFTEPERISO;Sensitivity @@ -2028,7 +3690,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_RAW_PIXELSHIFTEQUALBRIGHT_TOOLTIP;Equalize the brightness of the frames to the brightness of the selected frame.\nIf there are overexposed areas in the frames select the brightest frame to avoid magenta color cast in overexposed areas or enable motion correction. !TP_RAW_PIXELSHIFTGREEN;Check green channel for motion !TP_RAW_PIXELSHIFTHOLEFILL;Fill holes in motion mask -!TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask +!TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask. !TP_RAW_PIXELSHIFTMEDIAN;Use median for moving parts !TP_RAW_PIXELSHIFTMEDIAN_TOOLTIP;Use median of all frames instead of selected frame for regions with motion.\nRemoves objects which are at different places in all frames.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTMM_AUTO;Automatic @@ -2043,16 +3705,21 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_RAW_PIXELSHIFTSIGMA;Blur radius !TP_RAW_PIXELSHIFTSIGMA_TOOLTIP;The default radius of 1.0 usually fits well for base ISO.\nIncrease the value for high ISO shots, 5.0 is a good starting point.\nWatch the motion mask while changing the value. !TP_RAW_PIXELSHIFTSMOOTH;Smooth transitions -!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether "Use LMMSE" is selected), or the median of all four frames if "Use median" is selected. +!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether 'Use LMMSE' is selected), or the median of all four frames if 'Use median' is selected. !TP_RAW_RCD;RCD +!TP_RAW_RCDBILINEAR;RCD+Bilinear !TP_RAW_RCDVNG4;RCD+VNG4 !TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix -!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas +!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas. !TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix !TP_RAW_VNG4;VNG4 !TP_RAW_XTRANS;X-Trans !TP_RAW_XTRANSFAST;Fast X-Trans !TP_RESIZE_ALLOW_UPSCALING;Allow Upscaling +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge !TP_RETINEX_CONTEDIT_HSL;HSL histogram !TP_RETINEX_CONTEDIT_LAB;L*a*b* histogram !TP_RETINEX_CONTEDIT_LH;Hue @@ -2060,7 +3727,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_RETINEX_CURVEEDITOR_CD;L=f(L) !TP_RETINEX_CURVEEDITOR_CD_TOOLTIP;Luminance according to luminance L=f(L)\nCorrect raw data to reduce halos and artifacts. !TP_RETINEX_CURVEEDITOR_LH;Strength=f(H) -!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the "Highlight" retinex method. +!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the 'Highlight' retinex method. !TP_RETINEX_CURVEEDITOR_MAP;L=f(L) !TP_RETINEX_CURVEEDITOR_MAP_TOOLTIP;This curve can be applied alone or with a Gaussian mask or wavelet mask.\nBeware of artifacts! !TP_RETINEX_EQUAL;Equalizer @@ -2068,7 +3735,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_RETINEX_GAIN;Gain !TP_RETINEX_GAINOFFS;Gain and Offset (brightness) !TP_RETINEX_GAINTRANSMISSION;Gain transmission -!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplify or reduce the transmission map to achieve the desired luminance.\nThe x-axis is the transmission.\nThe y-axis is the gain. +!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Increase or reduce the transmission map to achieve the desired luminance. The x-axis is the transmission. The y-axis is the gain. !TP_RETINEX_GAMMA;Gamma !TP_RETINEX_GAMMA_FREE;Free !TP_RETINEX_GAMMA_HIGH;High @@ -2083,7 +3750,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_RETINEX_HIGH;High !TP_RETINEX_HIGHLIG;Highlight !TP_RETINEX_HIGHLIGHT;Highlight threshold -!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust "Neighboring pixels" and to increase the "White-point correction" in the Raw tab -> Raw White Points tool. +!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust 'Neighboring pixels' and to increase the 'White-point correction' in the Raw tab -> Raw White Points tool. !TP_RETINEX_HSLSPACE_LIN;HSL-Linear !TP_RETINEX_HSLSPACE_LOG;HSL-Logarithmic !TP_RETINEX_ITER;Iterations (Tone-mapping) @@ -2102,11 +3769,11 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_RETINEX_MEDIAN;Transmission median filter !TP_RETINEX_METHOD;Method !TP_RETINEX_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Equalize action.\nHigh = Reinforce high light.\nHighlights = Remove magenta in highlights. -!TP_RETINEX_MLABEL;Restored haze-free Min=%1 Max=%2 -!TP_RETINEX_MLABEL_TOOLTIP;Should be near min=0 max=32768\nRestored image with no mixture. +!TP_RETINEX_MLABEL;Restored data Min=%1 Max=%2 +!TP_RETINEX_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. !TP_RETINEX_NEIGHBOR;Radius !TP_RETINEX_NEUTRAL;Reset -!TP_RETINEX_NEUTRAL_TIP;Reset all sliders and curves to their default values. +!TP_RETINEX_NEUTRAL_TOOLTIP;Reset all sliders and curves to their default values. !TP_RETINEX_OFFSET;Offset (brightness) !TP_RETINEX_SCALES;Gaussian gradient !TP_RETINEX_SCALES_TOOLTIP;If slider at 0, all iterations are identical.\nIf > 0 Scale and radius are reduced when iterations increase, and conversely. @@ -2116,9 +3783,9 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_RETINEX_STRENGTH;Strength !TP_RETINEX_THRESHOLD;Threshold !TP_RETINEX_THRESHOLD_TOOLTIP;Limits in/out.\nIn = image source,\nOut = image gauss. -!TP_RETINEX_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sigma=%4 -!TP_RETINEX_TLABEL2;TM Tm=%1 TM=%2 -!TP_RETINEX_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nMean and Sigma.\nTm=Min TM=Max of transmission map. +!TP_RETINEX_TLABEL;TM Datas Min=%1 Max=%2 Mean=%3 Sigma=%4 +!TP_RETINEX_TLABEL2;TM Effective Tm=%1 TM=%2 +!TP_RETINEX_TLABEL_TOOLTIP;ransmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. !TP_RETINEX_TRANF;Transmission !TP_RETINEX_TRANSMISSION;Transmission map !TP_RETINEX_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positives values (max).\nOrdinate: amplification or reduction. @@ -2127,7 +3794,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_RETINEX_VARIANCE_TOOLTIP;Low variance increase local contrast and saturation, but can lead to artifacts. !TP_RETINEX_VIEW;Process !TP_RETINEX_VIEW_MASK;Mask -!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. +!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. !TP_RETINEX_VIEW_NONE;Standard !TP_RETINEX_VIEW_TRAN;Transmission - Auto !TP_RETINEX_VIEW_TRAN2;Transmission - Fixed @@ -2139,6 +3806,11 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_SHARPENMICRO_CONTRAST;Contrast threshold !TP_SOFTLIGHT_LABEL;Soft Light !TP_SOFTLIGHT_STRENGTH;Strength +!TP_SPOT_COUNTLABEL;%1 point(s) +!TP_SPOT_DEFAULT_SIZE;Default spot size +!TP_SPOT_ENTRYCHANGED;Point changed +!TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its center then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. +!TP_SPOT_LABEL;Spot Removal !TP_TM_FATTAL_AMOUNT;Amount !TP_TM_FATTAL_ANCHOR;Anchor !TP_TM_FATTAL_LABEL;Dynamic Range Compression @@ -2152,22 +3824,28 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_WAVELET_7;Level 7 !TP_WAVELET_8;Level 8 !TP_WAVELET_9;Level 9 -!TP_WAVELET_APPLYTO;Apply To +!TP_WAVELET_APPLYTO;Apply to !TP_WAVELET_AVOID;Avoid color shift !TP_WAVELET_B0;Black -!TP_WAVELET_B1;Grey +!TP_WAVELET_B1;Gray !TP_WAVELET_B2;Residual !TP_WAVELET_BACKGROUND;Background !TP_WAVELET_BACUR;Curve !TP_WAVELET_BALANCE;Contrast balance d/v-h !TP_WAVELET_BALANCE_TOOLTIP;Alters the balance between the wavelet directions: vertical-horizontal and diagonal.\nIf contrast, chroma or residual tone mapping are activated, the effect due to balance is amplified. !TP_WAVELET_BALCHRO;Chroma balance +!TP_WAVELET_BALCHROM;Equalizer Color !TP_WAVELET_BALCHRO_TOOLTIP;If enabled, the 'Contrast balance' curve or slider also modifies chroma balance. +!TP_WAVELET_BALLUM;Denoise equalizer White-Black !TP_WAVELET_BANONE;None !TP_WAVELET_BASLI;Slider !TP_WAVELET_BATYPE;Contrast balance method -!TP_WAVELET_CBENAB;Toning and Color Balance -!TP_WAVELET_CB_TOOLTIP;For strong values product color-toning by combining it or not with levels decomposition 'toning'\nFor low values you can change the white balance of the background (sky, ...) without changing that of the front plane, generally more contrasted +!TP_WAVELET_BL;Blur levels +!TP_WAVELET_BLCURVE;Blur by levels +!TP_WAVELET_BLURFRAME;Blur +!TP_WAVELET_BLUWAV;Attenuation response +!TP_WAVELET_CBENAB;Toning and Color balance +!TP_WAVELET_CB_TOOLTIP;With high values you can create special effects, similar to those achieved with the Chroma Module, but focused on the residual image\nWith moderate values you can manually correct the white balance. !TP_WAVELET_CCURVE;Local contrast !TP_WAVELET_CH1;Whole chroma range !TP_WAVELET_CH2;Saturated/pastel @@ -2175,29 +3853,42 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_WAVELET_CHCU;Curve !TP_WAVELET_CHR;Chroma-contrast link strength !TP_WAVELET_CHRO;Saturated/pastel threshold +!TP_WAVELET_CHROFRAME;Denoise chrominance +!TP_WAVELET_CHROMAFRAME;Chroma +!TP_WAVELET_CHROMCO;Chrominance Coarse +!TP_WAVELET_CHROMFI;Chrominance Fine !TP_WAVELET_CHRO_TOOLTIP;Sets the wavelet level which will be the threshold between saturated and pastel colors.\n1-x: saturated\nx-9: pastel\n\nIf the value exceeds the amount of wavelet levels you are using then it will be ignored. -!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of "contrast levels" and "chroma-contrast link strength" +!TP_WAVELET_CHRWAV;Blur chroma +!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of 'contrast levels' and 'chroma-contrast link strength'. !TP_WAVELET_CHSL;Sliders !TP_WAVELET_CHTYPE;Chrominance method -!TP_WAVELET_COLORT;Opacity Red-Green +!TP_WAVELET_CLA;Clarity +!TP_WAVELET_CLARI;Sharp-mask and Clarity +!TP_WAVELET_COLORT;Opacity red-green !TP_WAVELET_COMPCONT;Contrast +!TP_WAVELET_COMPEXPERT;Advanced !TP_WAVELET_COMPGAMMA;Compression gamma !TP_WAVELET_COMPGAMMA_TOOLTIP;Adjusting the gamma of the residual image allows you to equilibrate the data and histogram. +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. +!TP_WAVELET_COMPNORMAL;Standard !TP_WAVELET_COMPTM;Tone mapping !TP_WAVELET_CONTEDIT;'After' contrast curve +!TP_WAVELET_CONTFRAME;Contrast - Compression !TP_WAVELET_CONTR;Gamut !TP_WAVELET_CONTRA;Contrast !TP_WAVELET_CONTRAST_MINUS;Contrast - !TP_WAVELET_CONTRAST_PLUS;Contrast + -!TP_WAVELET_CONTRA_TOOLTIP;Changes contrast of the residual image. +!TP_WAVELET_CONTRA_TOOLTIP;Changes the residual image contrast. !TP_WAVELET_CTYPE;Chrominance control +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. !TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;Modifies local contrast as a function of the original local contrast (abscissa).\nLow abscissa values represent small local contrast (real values about 10..20).\n50% abscissa represents average local contrast (real value about 100..300).\n66% abscissa represents standard deviation of local contrast (real value about 300..800).\n100% abscissa represents maximum local contrast (real value about 3000..8000). !TP_WAVELET_CURVEEDITOR_CH;Contrast levels=f(Hue) !TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Modifies each level's contrast as a function of hue.\nTake care not to overwrite changes made with the Gamut sub-tool's hue controls.\nThe curve will only have an effect when wavelet contrast level sliders are non-zero. !TP_WAVELET_CURVEEDITOR_CL;L -!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast luminance curve at the end of the wavelet treatment. +!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast-luminance curve at the end of the wavelet processing. !TP_WAVELET_CURVEEDITOR_HH;HH -!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image's hue as a function of hue. +!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image hue as a function of hue. !TP_WAVELET_DALL;All directions !TP_WAVELET_DAUB;Edge performance !TP_WAVELET_DAUB2;D2 - low @@ -2205,62 +3896,101 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_WAVELET_DAUB6;D6 - standard plus !TP_WAVELET_DAUB10;D10 - medium !TP_WAVELET_DAUB14;D14 - high -!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the firsts levels. However the quality is not strictly related to this coefficient and can vary with images and uses. +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the first levels. However the quality is not strictly related to this coefficient and can vary depending on image and use. +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENOISEHUE;Denoise hue equalizer +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_DIRFRAME;Directional contrast !TP_WAVELET_DONE;Vertical !TP_WAVELET_DTHR;Diagonal !TP_WAVELET_DTWO;Horizontal !TP_WAVELET_EDCU;Curve +!TP_WAVELET_EDEFFECT;Attenuation response +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. !TP_WAVELET_EDGCONT;Local contrast -!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+stdev and maxima. -!TP_WAVELET_EDGE;Edge Sharpness +!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+std. dev. and maxima. +!TP_WAVELET_EDGE;Edge sharpness !TP_WAVELET_EDGEAMPLI;Base amplification !TP_WAVELET_EDGEDETECT;Gradient sensitivity !TP_WAVELET_EDGEDETECTTHR;Threshold low (noise) -!TP_WAVELET_EDGEDETECTTHR2;Threshold high (detection) -!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This adjuster lets you target edge detection for example to avoid applying edge sharpness to fine details, such as noise in the sky. +!TP_WAVELET_EDGEDETECTTHR2;Edge enhancement +!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This slider sets a threshold below which finer details won't be considered as an edge. !TP_WAVELET_EDGEDETECT_TOOLTIP;Moving the slider to the right increases edge sensitivity. This affects local contrast, edge settings and noise. !TP_WAVELET_EDGESENSI;Edge sensitivity !TP_WAVELET_EDGREINF_TOOLTIP;Reinforce or reduce the action of the first level, do the opposite to the second level, and leave the rest unchanged. !TP_WAVELET_EDGTHRESH;Detail !TP_WAVELET_EDGTHRESH_TOOLTIP;Change the repartition between the first levels and the others. The higher the threshold the more the action is centered on the first levels. Be careful with negative values, they increase the action of high levels and can introduce artifacts. !TP_WAVELET_EDRAD;Radius -!TP_WAVELET_EDRAD_TOOLTIP;This radius adjustment is very different from those in other sharpening tools. Its value is compared to each level through a complex function. In this sense, a value of zero still has an effect. -!TP_WAVELET_EDSL;Threshold Sliders +!TP_WAVELET_EDRAD_TOOLTIP;This adjustment controls the local enhancement. A value of zero still has an effect. +!TP_WAVELET_EDSL;Threshold sliders !TP_WAVELET_EDTYPE;Local contrast method !TP_WAVELET_EDVAL;Strength !TP_WAVELET_FINAL;Final Touchup +!TP_WAVELET_FINCFRAME;Final local contrast !TP_WAVELET_FINEST;Finest -!TP_WAVELET_HIGHLIGHT;Highlight luminance range +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) +!TP_WAVELET_HIGHLIGHT;Finer levels luminance range !TP_WAVELET_HS1;Whole luminance range -!TP_WAVELET_HS2;Shadows/Highlights +!TP_WAVELET_HS2;Selective luminance range !TP_WAVELET_HUESKIN;Skin hue !TP_WAVELET_HUESKIN_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. -!TP_WAVELET_HUESKY;Sky hue +!TP_WAVELET_HUESKY;Hue range !TP_WAVELET_HUESKY_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. !TP_WAVELET_ITER;Delta balance levels !TP_WAVELET_ITER_TOOLTIP;Left: increase low levels and reduce high levels,\nRight: reduce low levels and increase high levels. -!TP_WAVELET_LABEL;Wavelet Levels +!TP_WAVELET_LABEL;Wavelet levels +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 !TP_WAVELET_LARGEST;Coarsest !TP_WAVELET_LEVCH;Chroma -!TP_WAVELET_LEVDIR_ALL;All levels in all directions -!TP_WAVELET_LEVDIR_INF;Below or equal the level +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVDIR_ALL;All levels, in all directions +!TP_WAVELET_LEVDIR_INF;Finer detail levels, including selected level !TP_WAVELET_LEVDIR_ONE;One level -!TP_WAVELET_LEVDIR_SUP;Above the level +!TP_WAVELET_LEVDIR_SUP;Coarser detail levels, excluding selected level +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 !TP_WAVELET_LEVELS;Wavelet levels -!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of detail levels the image is to be decomposed into. More levels require more RAM and require a longer processing time. +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of wavelet decomposition levels for the image.\nMore levels require more RAM and require a longer processing time. !TP_WAVELET_LEVF;Contrast +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold !TP_WAVELET_LEVLABEL;Preview maximum possible levels = %1 !TP_WAVELET_LEVONE;Level 2 !TP_WAVELET_LEVTHRE;Level 4 !TP_WAVELET_LEVTWO;Level 3 !TP_WAVELET_LEVZERO;Level 1 -!TP_WAVELET_LINKEDG;Link with Edge Sharpness' Strength +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_LINKEDG;Link to Edge Sharpness Strength !TP_WAVELET_LIPST;Enhanced algoritm -!TP_WAVELET_LOWLIGHT;Shadow luminance range +!TP_WAVELET_LOWLIGHT;Coarser levels luminance range +!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. !TP_WAVELET_MEDGREINF;First level !TP_WAVELET_MEDI;Reduce artifacts in blue sky !TP_WAVELET_MEDILEV;Edge detection !TP_WAVELET_MEDILEV_TOOLTIP;When you enable Edge Detection, it is recommanded:\n- to disabled low contrast levels to avoid artifacts,\n- to use high values of gradient sensitivity.\n\nYou can modulate the strength with 'refine' from Denoise and Refine. +!TP_WAVELET_MERGEC;Merge chroma +!TP_WAVELET_MERGEL;Merge luma +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise !TP_WAVELET_NEUTRAL;Neutral !TP_WAVELET_NOIS;Denoise !TP_WAVELET_NOISE;Denoise and Refine @@ -2269,44 +3999,77 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !TP_WAVELET_NPNONE;None !TP_WAVELET_NPTYPE;Neighboring pixels !TP_WAVELET_NPTYPE_TOOLTIP;This algorithm uses the proximity of a pixel and eight of its neighbors. If less difference, edges are reinforced. -!TP_WAVELET_OPACITY;Opacity Blue-Yellow +!TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. +!TP_WAVELET_OLDSH;Algorithm using negatives values +!TP_WAVELET_OPACITY;Opacity blue-yellow !TP_WAVELET_OPACITYW;Contrast balance d/v-h curve -!TP_WAVELET_OPACITYWL;Final local contrast +!TP_WAVELET_OPACITYWL;Local contrast !TP_WAVELET_OPACITYWL_TOOLTIP;Modify the final local contrast at the end of the wavelet treatment.\n\nThe left side represents the smallest local contrast, progressing to the largest local contrast on the right. !TP_WAVELET_PASTEL;Pastel chroma !TP_WAVELET_PROC;Process +!TP_WAVELET_PROTAB;Protection +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_RADIUS;Radius shadows - highlight +!TP_WAVELET_RANGEAB;Range a and b % !TP_WAVELET_RE1;Reinforced !TP_WAVELET_RE2;Unchanged !TP_WAVELET_RE3;Reduced -!TP_WAVELET_RESCHRO;Chroma +!TP_WAVELET_RESBLUR;Blur luminance +!TP_WAVELET_RESBLURC;Blur chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. +!TP_WAVELET_RESCHRO;Strength !TP_WAVELET_RESCON;Shadows !TP_WAVELET_RESCONH;Highlights !TP_WAVELET_RESID;Residual Image !TP_WAVELET_SAT;Saturated chroma !TP_WAVELET_SETTINGS;Wavelet Settings +!TP_WAVELET_SHA;Sharp mask +!TP_WAVELET_SHFRAME;Shadows/Highlights +!TP_WAVELET_SHOWMASK;Show wavelet 'mask' +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_SIGMA;Attenuation response +!TP_WAVELET_SIGMAFIN;Attenuation response +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. !TP_WAVELET_SKIN;Skin targetting/protection !TP_WAVELET_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. -!TP_WAVELET_SKY;Sky targetting/protection -!TP_WAVELET_SKY_TOOLTIP;At -100 sky-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 sky-tones are protected while all other tones are affected. -!TP_WAVELET_STREN;Strength +!TP_WAVELET_SKY;Hue targetting/protection +!TP_WAVELET_SKY_TOOLTIP;Allows you to target or protect a range of hues.\nAt -100 selected hues are targetted.\nAt 0 all hues are treated equally.\nAt +100 selected hues are protected while all other hues are targetted. +!TP_WAVELET_SOFTRAD;Soft radius +!TP_WAVELET_STREN;Refine +!TP_WAVELET_STREND;Strength !TP_WAVELET_STRENGTH;Strength !TP_WAVELET_SUPE;Extra !TP_WAVELET_THR;Shadows threshold -!TP_WAVELET_THRESHOLD;Highlight levels -!TP_WAVELET_THRESHOLD2;Shadow levels -!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels between 9 and 9 minus the value will be affected by the shadow luminance range. Other levels will be fully treated. The highest level possible is limited by the highlight level value (9 minus highlight level value). -!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels beyond the chosen value will be affected by the highlight luminance range. Other levels will be fully treated. The chosen value here limits the highest possible value of the shadow levels. +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_THRESHOLD;Finer levels +!TP_WAVELET_THRESHOLD2;Coarser levels +!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels from the chosen value to the selected number of 'wavelet levels' will be affected by the Shadow luminance range. +!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels below and including the chosen value will be affected by the Highlight luminance range. !TP_WAVELET_THRH;Highlights threshold -!TP_WAVELET_TILESBIG;Big tiles +!TP_WAVELET_TILESBIG;Tiles !TP_WAVELET_TILESFULL;Full image !TP_WAVELET_TILESIZE;Tiling method -!TP_WAVELET_TILESLIT;Little tiles !TP_WAVELET_TILES_TOOLTIP;Processing the full image leads to better quality and is the recommended option, while using tiles is a fall-back solution for users with little RAM. Refer to RawPedia for memory requirements. +!TP_WAVELET_TMEDGS;Edge stopping +!TP_WAVELET_TMSCALE;Scale !TP_WAVELET_TMSTRENGTH;Compression strength -!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out. +!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. !TP_WAVELET_TMTYPE;Compression method !TP_WAVELET_TON;Toning +!TP_WAVELET_TONFRAME;Excluded colors +!TP_WAVELET_USH;None +!TP_WAVELET_USHARP;Clarity method +!TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. +!TP_WAVELET_WAVLOWTHR;Low contrast threshold +!TP_WAVELET_WAVOFFSET;Offset +!TP_WBALANCE_AUTOITCGREEN;Temperature correlation +!TP_WBALANCE_AUTOOLD;RGB grey +!TP_WBALANCE_AUTO_HEADER;Automatic !TP_WBALANCE_PICKER;Pick +!TP_WBALANCE_STUDLABEL;Correlation factor: %1 +!TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. !TP_WBALANCE_TEMPBIAS;AWB temperature bias -!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias". +!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the 'auto white balance'\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by 'computedTemp + computedTemp * bias'. !ZOOMPANEL_ZOOMFITCROPSCREEN;Fit crop to screen\nShortcut: f diff --git a/rtdata/languages/Japanese b/rtdata/languages/Japanese index 22dc027ea..0f35036db 100644 --- a/rtdata/languages/Japanese +++ b/rtdata/languages/Japanese @@ -1,14 +1,4 @@ -#01 2011-05-15 a3novy -#02 2011-11-13 a3novy -#03 2011-11-20 a3novy -#04 2011-12-03 a3novy -#05 2012-02-11 a3novy -#06 2012-04-04 a3novy -#07 2012-07-12 a3novy -#08 2012-12-22 a3novy -#09 2013-04-01 a3novy -#10 2013-04-19 a3novy -#11 2020-06-24 Yz2house +#Last update 10-12-2022 ABOUT_TAB_BUILD;バージョン ABOUT_TAB_CREDITS;クレジット @@ -17,19 +7,19 @@ ABOUT_TAB_RELEASENOTES;リリースノート ABOUT_TAB_SPLASH;スプラッシュ ADJUSTER_RESET_TO_DEFAULT;クリック - デフォルト値にリセット\nCtrl+クリック - 初期値にリセット BATCH_PROCESSING;バッチ処理 -CURVEEDITOR_AXIS_IN;I: -CURVEEDITOR_AXIS_LEFT_TAN;LT: -CURVEEDITOR_AXIS_OUT;O: -CURVEEDITOR_AXIS_RIGHT_TAN;RT: +CURVEEDITOR_AXIS_IN;入力値: +CURVEEDITOR_AXIS_LEFT_TAN;左正接: +CURVEEDITOR_AXIS_OUT;出力値: +CURVEEDITOR_AXIS_RIGHT_TAN;右正接: CURVEEDITOR_CATMULLROM;フレキシブル CURVEEDITOR_CURVE;カーブ CURVEEDITOR_CURVES;カーブ -CURVEEDITOR_CUSTOM;カスタム +CURVEEDITOR_CUSTOM;標準 CURVEEDITOR_DARKS;ダーク CURVEEDITOR_EDITPOINT_HINT;ボタンを押すと数値で入出力値を変えられるようになります\n\nカーブ上で目標ポイントを右クリックし、カーブ下に表示されるI(入力値)或いはO(出力値)\n編集するポイントを変更する場合はポイント以外の部分で右クリックします CURVEEDITOR_HIGHLIGHTS;ハイライト -CURVEEDITOR_LIGHTS;ライト -CURVEEDITOR_LINEAR;リニア +CURVEEDITOR_LIGHTS;明るさ +CURVEEDITOR_LINEAR;線形 CURVEEDITOR_LOADDLGLABEL;カーブの読み込み... CURVEEDITOR_MINMAXCPOINTS;イコライザ CURVEEDITOR_NURBS;コントロールケージ @@ -37,7 +27,7 @@ CURVEEDITOR_PARAMETRIC;パラメトリック CURVEEDITOR_SAVEDLGLABEL;カーブの保存... CURVEEDITOR_SHADOWS;シャドウ CURVEEDITOR_TOOLTIPCOPY;クリップボードに現在のカーブをコピー -CURVEEDITOR_TOOLTIPLINEAR;リニアにリセット +CURVEEDITOR_TOOLTIPLINEAR;線形にリセット CURVEEDITOR_TOOLTIPLOAD;ファイルからカーブを読み込む CURVEEDITOR_TOOLTIPPASTE;クリップボードからカーブを貼り付け CURVEEDITOR_TOOLTIPSAVE;現在のカーブを保存 @@ -47,15 +37,15 @@ DONT_SHOW_AGAIN;次回からこのメッセージを表示しない DYNPROFILEEDITOR_DELETE;削除 DYNPROFILEEDITOR_EDIT;編集 DYNPROFILEEDITOR_EDIT_RULE;ダイナミックプロファイルの規定を変更 -DYNPROFILEEDITOR_ENTRY_TOOLTIP;既定の符号は鈍いので\n入力する際に"re:"という接頭語を付けます\n通常の表現を使います +DYNPROFILEEDITOR_ENTRY_TOOLTIP;整合性が悪い場合は、入力する際に"re:"という接頭語を付けます\n通常の表現を使います DYNPROFILEEDITOR_IMGTYPE_ANY;任意 DYNPROFILEEDITOR_IMGTYPE_HDR;HDR DYNPROFILEEDITOR_IMGTYPE_PS;ピクセルシフト -DYNPROFILEEDITOR_IMGTYPE_STD;標準え +DYNPROFILEEDITOR_IMGTYPE_STD;標準 DYNPROFILEEDITOR_MOVE_DOWN;下に移動 DYNPROFILEEDITOR_MOVE_UP;上に移動 DYNPROFILEEDITOR_NEW;新規 -DYNPROFILEEDITOR_NEW_RULE;新しいダイナミックプロファイルの規定 +DYNPROFILEEDITOR_NEW_RULE;新しいダイナミックプロファイルのルール DYNPROFILEEDITOR_PROFILE;処理プロファイル EDITWINDOW_TITLE;画像編集 EDIT_OBJECT_TOOLTIP;この機能を使うための目安に、プレビュー画面にガイドを表示する @@ -68,7 +58,7 @@ EXIFFILTER_FOCALLEN;焦点距離 EXIFFILTER_IMAGETYPE;画像の種類 EXIFFILTER_ISO;ISO EXIFFILTER_LENS;レンズ -EXIFFILTER_METADATAFILTER;メタデータ絞り込みの適用 +EXIFFILTER_METADATAFILTER;メタデータ絞り込みを有効にする EXIFFILTER_SHUTTER;シャッター EXIFPANEL_ADDEDIT;追加/編集 EXIFPANEL_ADDEDITHINT;新しいタグを追加、またはタグの編集 @@ -76,13 +66,13 @@ EXIFPANEL_ADDTAGDLG_ENTERVALUE;値の入力 EXIFPANEL_ADDTAGDLG_SELECTTAG;タグ選択 EXIFPANEL_ADDTAGDLG_TITLE;タグの追加/編集 EXIFPANEL_KEEP;そのまま -EXIFPANEL_KEEPHINT;出力ファイルに書き込む際、選択タグをそのままにする +EXIFPANEL_KEEPHINT;出力ファイルに書き込む際、選択されたタグをそのままにする EXIFPANEL_REMOVE;削除 -EXIFPANEL_REMOVEHINT;出力ファイルに書き込む際、選択タグは外す +EXIFPANEL_REMOVEHINT;出力ファイルに書き込む際、選択されたタグは外す EXIFPANEL_RESET;リセット EXIFPANEL_RESETALL;すべてリセット -EXIFPANEL_RESETALLHINT;すべて元の値にリセット -EXIFPANEL_RESETHINT;選択タグを元の値にリセット +EXIFPANEL_RESETALLHINT;すべてのタグを元の値にリセット +EXIFPANEL_RESETHINT;選択されたタグを元の値にリセット EXIFPANEL_SHOWALL;全て表示 EXIFPANEL_SUBDIRECTORY;サブディレクトリ EXPORT_BYPASS;迂回させる機能 @@ -107,11 +97,11 @@ EXPORT_FASTEXPORTOPTIONS;高速書き出しオプション EXPORT_INSTRUCTIONS;出力設定に要する時間と手間を省くために、高速書き出しを優先させるオプションです。処理速度が優先される場合や、既定の出力パラメータを変えずに何枚ものリサイズ画像が要求される場合に奨められる方法で、低解像度画像を迅速に生成します。 EXPORT_MAXHEIGHT;最大高: EXPORT_MAXWIDTH;最大幅: -EXPORT_PIPELINE;高速書き出しの方法 +EXPORT_PIPELINE;処理の流れ EXPORT_PUTTOQUEUEFAST; 高速書き出しのキューに追加 EXPORT_RAW_DMETHOD;デモザイクの方式 EXPORT_USE_FAST_PIPELINE;処理速度優先(リサイズした画像に調整を全て行う) -EXPORT_USE_FAST_PIPELINE_TIP;処理速度を優先すると、処理は速くなりますが、画像の質は落ちます。通常、画像のリサイズは全処理工程の最後で行われますが、ここでは処理工程の初めの方でリサイズが行われます。処理速度は著しく上がりますが、処理された画像にアーティファクトが発生したり、全体的な質が低下したりします。 +EXPORT_USE_FAST_PIPELINE_TOOLTIP;処理速度を優先すると、処理は速くなりますが、画像の質は落ちます。通常、画像のリサイズは全処理工程の最後で行われますが、ここでは処理工程の初めの方でリサイズが行われます。処理速度は著しく上がりますが、処理された画像にアーティファクトが発生したり、全体的な質が低下したりします。 EXPORT_USE_NORMAL_PIPELINE;標準(リサイズ処理は最後、幾つかの処理を迂回) EXTPROGTARGET_1;raw EXTPROGTARGET_2;キュー処理 @@ -153,6 +143,7 @@ FILEBROWSER_POPUPCOLORLABEL4;ラベル: ブルー FILEBROWSER_POPUPCOLORLABEL5;ラベル: パープル FILEBROWSER_POPUPCOPYTO;コピーします... FILEBROWSER_POPUPFILEOPERATIONS;ファイルの操作 +FILEBROWSER_POPUPINSPECT;カメラ出しJPEG FILEBROWSER_POPUPMOVEEND;キュー処理の最後に移動 FILEBROWSER_POPUPMOVEHEAD;キュー処理の最初に移動 FILEBROWSER_POPUPMOVETO;移動します... @@ -195,7 +186,7 @@ FILEBROWSER_SHOWCOLORLABEL5HINT;パープル・ラベルの画像を表示\nシ FILEBROWSER_SHOWDIRHINT;全ての絞り込みをクリア\nショートカット: d FILEBROWSER_SHOWEDITEDHINT;編集済み画像を表示\nショートカット: 7 FILEBROWSER_SHOWEDITEDNOTHINT;未編集画像を表示\nショートカット: 6 -FILEBROWSER_SHOWEXIFINFO;EXIF情報を表示\nショートカット: i\n\nシングル・エディタ・タブのショートカット: Alt-i +FILEBROWSER_SHOWEXIFINFO;EXIF情報を表示\nショートカット: i\n\nシングル編集タブのショートカット: Alt-i FILEBROWSER_SHOWNOTTRASHHINT;ゴミ箱の中にある画像だけを表示 FILEBROWSER_SHOWORIGINALHINT;元画像だけを表示\n\nファイル名は同じだが拡張子が異なる画像がある場合は、環境設定の中のファイルブラウザタブにある拡張子リストの上位に位置する拡張子を持った画像を元画像とする。 FILEBROWSER_SHOWRANK1HINT;1つ星ランクを表示\nショートカット: 1 @@ -210,8 +201,8 @@ FILEBROWSER_SHOWUNCOLORHINT;カラー・ラベルのない画像を表示\nシ FILEBROWSER_SHOWUNRANKHINT;ランクなし画像を表示\nショートカット: 0 FILEBROWSER_THUMBSIZE;サムネイルのサイズ FILEBROWSER_UNRANK_TOOLTIP;ランクなし\nショートカット: Shift-0 -FILEBROWSER_ZOOMINHINT;サムネイルサイズの拡大\nショートカット: +\n\nシングル・エディタ・タブのショートカット: Alt-+ -FILEBROWSER_ZOOMOUTHINT;サムネイルサイズの縮小\nショートカット: -\n\nシングル・エディタ・タブのショートカット: Alt-- +FILEBROWSER_ZOOMINHINT;サムネイルサイズの拡大\nショートカット: +\n\nシングル編集タブのショートカット: Alt-+ +FILEBROWSER_ZOOMOUTHINT;サムネイルサイズの縮小\nショートカット: -\n\nシングル編集タブのショートカット: Alt-- FILECHOOSER_FILTER_ANY;全てのファイル FILECHOOSER_FILTER_COLPROF;カラープロファイル FILECHOOSER_FILTER_CURVE;カーブファイル @@ -228,8 +219,10 @@ GENERAL_BEFORE;補正前 GENERAL_CANCEL;キャンセル GENERAL_CLOSE;閉じる GENERAL_CURRENT;現在 +GENERAL_DELETE_ALL;全て削除 GENERAL_DISABLE;無効 GENERAL_DISABLED;無効 +GENERAL_EDIT;編集 GENERAL_ENABLE;有効 GENERAL_ENABLED;有効 GENERAL_FILE;ファイル @@ -251,17 +244,24 @@ GIMP_PLUGIN_INFO;RawTherapee GIMPプラグインにようこそ!\n画像編 HISTOGRAM_TOOLTIP_B;ブルー・ヒストグラム 表示/非表示 HISTOGRAM_TOOLTIP_BAR;RGBインジケーター・バーの表示/非表示\nプレビュー画像上でマウスの右ボタンクリックで 固定/開放 HISTOGRAM_TOOLTIP_CHRO;色度・ヒストグラム 表示/非表示 +HISTOGRAM_TOOLTIP_CROSSHAIR;照準線 表示/非表示 HISTOGRAM_TOOLTIP_G;グリーン・ヒストグラム 表示/非表示 HISTOGRAM_TOOLTIP_L;CIEL*a*b* 輝度・ヒストグラム 表示/非表示 HISTOGRAM_TOOLTIP_MODE;ヒストグラムの尺度を線形、対数-線形、対数-対数でトグルします HISTOGRAM_TOOLTIP_R;レッド・ヒストグラム 表示/非表示 -HISTOGRAM_TOOLTIP_RAW;rawヒストグラム 表示/非表示 +HISTOGRAM_TOOLTIP_SHOW_OPTIONS;スコープオプションボタンの見え方をトグル +HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;スコープの明るさを調整 +HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;ヒストグラム +HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw ヒストグラム +HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB パレード +HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;色相-色度 ベクトルスコープ +HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;色相-彩度 ベクトルスコープ +HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;波形グラフ HISTORY_CHANGED;変更されました HISTORY_CUSTOMCURVE;カスタムカーブ HISTORY_FROMCLIPBOARD;クリップボードから HISTORY_LABEL;履歴 HISTORY_MSG_1;写真を読み込みました -HISTORY_MSG_2;PP3を読み込みました HISTORY_MSG_3;PP3を変更しました HISTORY_MSG_4;履歴ブラウジング HISTORY_MSG_5;明るさ @@ -275,9 +275,6 @@ HISTORY_MSG_12;自動露光補正 HISTORY_MSG_13;露光 クリッピング HISTORY_MSG_14;L*a*b* - 明度 HISTORY_MSG_15;L*a*b* - コントラスト -HISTORY_MSG_16;輝度 黒レベル -HISTORY_MSG_17;輝度 ハイライト圧縮 -HISTORY_MSG_18;輝度 シャドウ圧縮 HISTORY_MSG_19;L*a*b* - L*カーブ HISTORY_MSG_20;シャープニング HISTORY_MSG_21;シャープニング 半径 @@ -303,19 +300,14 @@ HISTORY_MSG_40;色偏差 HISTORY_MSG_41;トーンカーブ1のモード HISTORY_MSG_42;トーンカーブ 2 HISTORY_MSG_43;トーンカーブ2のモード -HISTORY_MSG_44;輝度ノイズ低減 半径 -HISTORY_MSG_45;輝度ノイズ低減 エッジの許容度 -HISTORY_MSG_46;色ノイズ低減 -HISTORY_MSG_47;マトリクスでICCハイライト・ブレンド -HISTORY_MSG_48;DCPトーンカーブ使用 -HISTORY_MSG_49;色ノイズ低減 エッジの感度 +HISTORY_MSG_48;DCP トーンカーブ +HISTORY_MSG_49;DCP 光源 HISTORY_MSG_50;シャドウ/ハイライト -HISTORY_MSG_51;ハイライト -HISTORY_MSG_52;シャドウ -HISTORY_MSG_53;ハイライト トーンの幅 -HISTORY_MSG_54;シャドウ トーンの幅 -HISTORY_MSG_55;ローカルコントラスト -HISTORY_MSG_56;シャドウ/ハイライト 半径 +HISTORY_MSG_51;S/H - ハイライト +HISTORY_MSG_52;S/H - シャドウ +HISTORY_MSG_53;S/H - ハイライト トーンの幅 +HISTORY_MSG_54;S/H - シャドウ トーンの幅 +HISTORY_MSG_56;S/H - シャドウ/ハイライト 半径 HISTORY_MSG_57;90度 回転 HISTORY_MSG_58;左右反転 HISTORY_MSG_59;上下反転 @@ -326,7 +318,6 @@ HISTORY_MSG_63;スナップショット選択 HISTORY_MSG_64;写真切り抜き HISTORY_MSG_65;色収差補正 HISTORY_MSG_66;ハイライト復元 -HISTORY_MSG_67;ハイライト復元 量 HISTORY_MSG_68;ハイライト復元 方式 HISTORY_MSG_69;作業色空間 HISTORY_MSG_70;出力色空間 @@ -337,12 +328,10 @@ HISTORY_MSG_74;リサイズ スケール HISTORY_MSG_75;リサイズ 方式 HISTORY_MSG_76;Exif メタデータ HISTORY_MSG_77;IPTC メタデータ -HISTORY_MSG_78;リサイズ指定のデータ -HISTORY_MSG_79;リサイズ幅 +HISTORY_MSG_79;リサイズ 幅 HISTORY_MSG_80;リサイズ 高さ -HISTORY_MSG_81;リサイズの有効・無効 +HISTORY_MSG_81;リサイズ HISTORY_MSG_82;プロファイル変更 -HISTORY_MSG_83;高画質 シャドウ/ハイライト HISTORY_MSG_84;パースペクティブの補正 HISTORY_MSG_85;レンズ補正 プロファイル HISTORY_MSG_86;RGB カーブ - 輝度モード @@ -389,12 +378,6 @@ HISTORY_MSG_127;フラットフィールド 自動選択 HISTORY_MSG_128;フラットフィールド・ぼかし半径 HISTORY_MSG_129;フラットフィールド・ぼかしタイプ HISTORY_MSG_130;自動歪曲収差補正 -HISTORY_MSG_131;ノイズ低減 輝度 -HISTORY_MSG_132;ノイズ低減 カラー -HISTORY_MSG_133;ガンマ -HISTORY_MSG_134;ガンマポジション -HISTORY_MSG_135;フリー・ガンマ -HISTORY_MSG_136;ガンマ 勾配 HISTORY_MSG_137;黒レベル グリーン 1 HISTORY_MSG_138;黒レベル レッド HISTORY_MSG_139;黒レベル ブルー @@ -432,39 +415,39 @@ HISTORY_MSG_170;自然な彩度 - カーブ HISTORY_MSG_171;L*a*b* LC カーブ HISTORY_MSG_172;LCの適用をレッドと肌色トーンだけに制限 HISTORY_MSG_173;ノイズ低減 - 細部の復元 -HISTORY_MSG_174;CIE色の見えモデル2002 -HISTORY_MSG_175;CAM02 - CAT02 -HISTORY_MSG_176;CAM02 - 観視環境 -HISTORY_MSG_177;CAM02 - 画像の輝度 -HISTORY_MSG_178;CAM02 - 観視の輝度 -HISTORY_MSG_179;CAM02 - ホワイトポイントモデル -HISTORY_MSG_180;CAM02 - 明度 (J) -HISTORY_MSG_181;CAM02 - 色度 (C) -HISTORY_MSG_182;CAM02 - 自動 CAT02 -HISTORY_MSG_183;CAM02 - コントラスト (J) -HISTORY_MSG_184;CAM02 - 画像の周辺環境 -HISTORY_MSG_185;CAM02 - 色域制御 -HISTORY_MSG_186;CAM02 - アルゴリズム -HISTORY_MSG_187;CAM02 - レッドと肌色トーンを保護 -HISTORY_MSG_188;CAM02 - 明るさ (Q) -HISTORY_MSG_189;CAM02 - コントラスト (Q) -HISTORY_MSG_190;CAM02 - 彩度 (S) -HISTORY_MSG_191;CAM02 - 彩度 (M) -HISTORY_MSG_192;CAM02 - 色相角 -HISTORY_MSG_193;CAM02 - トーンカーブ 1 -HISTORY_MSG_194;CAM02 - トーンカーブ 2 -HISTORY_MSG_195;CAM02 - トーンカーブ 1 -HISTORY_MSG_196;CAM02 - トーンカーブ 2 -HISTORY_MSG_197;CAM02 - カラー・カーブ -HISTORY_MSG_198;CAM02 - カラー・カーブ -HISTORY_MSG_199;CAM02 - 出力のヒストグラムを表示 -HISTORY_MSG_200;CAM02 - トーンマッピング +HISTORY_MSG_174;色の見え&明るさ +HISTORY_MSG_175;CAL - 場面 - 色順応 +HISTORY_MSG_176;CAL - 観視 - 周囲 +HISTORY_MSG_177;CAL - 場面 - 絶対輝度 +HISTORY_MSG_178;CAL - 観視 - 絶対輝度 +HISTORY_MSG_179;CAL - 場面 - ホワイトポイントモデル +HISTORY_MSG_180;CAL - 編集 - 明度(J) +HISTORY_MSG_181;CAL - 編集 - 色度(C) +HISTORY_MSG_182;CAL - 場面 - 自動色順応 +HISTORY_MSG_183;CAL - 編集 - コントラスト(J) +HISTORY_MSG_184;CAL - 場面 - 周囲 +HISTORY_MSG_185;CAL - 色域制御 +HISTORY_MSG_186;CAL - 編集 - アルゴリズム +HISTORY_MSG_187;CAL - 編集 - レッドと肌色トーンを保護 +HISTORY_MSG_188;CAL - 編集 - 明るさ(Q) +HISTORY_MSG_189;CAL - 編集 - コントラスト(Q) +HISTORY_MSG_190;CAL - 編集 - 彩度(S) +HISTORY_MSG_191;CAL - 編集 - 鮮やかさ(M) +HISTORY_MSG_192;CAL - 編集 - 色相(h) +HISTORY_MSG_193;CAL - 編集 - トーンカーブ 1 +HISTORY_MSG_194;CAL - 編集 - トーンカーブ 2 +HISTORY_MSG_195;CAL - 編集 - トーンカーブ1のモード +HISTORY_MSG_196;CAL - 編集 - トーンカーブ2のモード +HISTORY_MSG_197;CAL - 編集 - カラーカーブ +HISTORY_MSG_198;CAL - 編集 - カラーカーブのモード +HISTORY_MSG_199;CAL - 編集 - ヒストグラムにCAMの出力を使う +HISTORY_MSG_200;CAL - 編集 - トーンマッピングにCAMを使う HISTORY_MSG_201;色差 レッド/グリーン HISTORY_MSG_202;色差 ブルー/イエロー HISTORY_MSG_203;ノイズ低減 - 方式 HISTORY_MSG_204;LMMSE 拡張処理 -HISTORY_MSG_205;CAM02 ホット/バッドピクセル -HISTORY_MSG_206;CAT02 - 自動で順応 +HISTORY_MSG_205;CAL ホット/バッドピクセル +HISTORY_MSG_206;CAL - 場面 - 自動で絶対輝度 HISTORY_MSG_207;フリンジ低減 - 色相カーブ HISTORY_MSG_208;ブルー/レッド イコライザ HISTORY_MSG_210;減光フィルター - 角度 @@ -493,7 +476,7 @@ HISTORY_MSG_232;白黒 ‘前の‘カーブのタイプ HISTORY_MSG_233;白黒 ‘後の‘カーブ HISTORY_MSG_234;白黒 ‘後の‘カーブのタイプ HISTORY_MSG_235;白黒 チャンネルミキサー 自動 -HISTORY_MSG_236;--未使用-- +HISTORY_MSG_236;--未使用の文字列-- HISTORY_MSG_237;白黒 チャンネルミキサー HISTORY_MSG_238;減光フィルター フェザー HISTORY_MSG_239;減光フィルター 強さ @@ -506,9 +489,8 @@ HISTORY_MSG_245;ビネットフィルター 中央 HISTORY_MSG_246;L*a*b* CL カーブ HISTORY_MSG_247;L*a*b* LH カーブ HISTORY_MSG_248;L*a*b* HH カーブ -HISTORY_MSG_249;詳細レベルによるコントラスト調整 - しきい値 -HISTORY_MSG_250;ノイズ低減 - 強化 -HISTORY_MSG_251;白黒 - アルゴリズム +HISTORY_MSG_249;CbDL しきい値 +HISTORY_MSG_251;白黒 アルゴリズム HISTORY_MSG_252;CbDL 肌色の目標/保護 HISTORY_MSG_253;CbDL アーティファクトを軽減 HISTORY_MSG_254;CbDL 肌色の色相 @@ -531,10 +513,8 @@ HISTORY_MSG_270;カラートーン調整 - ハイライトのグリーン HISTORY_MSG_271;カラートーン調整 - ハイライトのブルー HISTORY_MSG_272;カラートーン調整 - バランス HISTORY_MSG_273;カラートーン調整 - SMHでカラーバランス -HISTORY_MSG_274;カラートーン調整 - シャドウの彩度 -HISTORY_MSG_275;カラートーン調整 - ハイライトの彩度 HISTORY_MSG_276;カラートーン調整 - 不透明度 -HISTORY_MSG_277;カラートーン調整 - カーブをリセット +HISTORY_MSG_277;--未使用の文字列-- HISTORY_MSG_278;カラートーン調整 - 明度を維持 HISTORY_MSG_279;カラートーン調整 - シャドウ HISTORY_MSG_280;カラートーン調整 - ハイライト @@ -554,15 +534,14 @@ HISTORY_MSG_293;フィルムシミュレーション HISTORY_MSG_294;フィルムシミュレーション - 強さ HISTORY_MSG_295;フィルムシミュレーション - フィルム HISTORY_MSG_296;輝度ノイズ低減のカーブ -HISTORY_MSG_297;ノイズ低減 - 質 +HISTORY_MSG_297;ノイズ低減 - モード HISTORY_MSG_298;デッドピクセルフィルター HISTORY_MSG_299;色ノイズ低減のカーブ -HISTORY_MSG_300;- HISTORY_MSG_301;輝度ノイズの調整方法 HISTORY_MSG_302;色ノイズの調整方法 HISTORY_MSG_303;色ノイズの調整方法 HISTORY_MSG_304;W- コントラストレベル -HISTORY_MSG_305;ウェーブレット +HISTORY_MSG_305;W- ウェーブレットのレベル HISTORY_MSG_306;W- プロセス HISTORY_MSG_307;W- プレビュー HISTORY_MSG_308;W- プレビューの方向 @@ -575,19 +554,19 @@ HISTORY_MSG_314;W- 色域 アーティファクトの軽減 HISTORY_MSG_315;W- 残差 コントラスト HISTORY_MSG_316;W- 色域 肌色の目標/保護 HISTORY_MSG_317;W- 色域 肌色の色相 -HISTORY_MSG_318;W- コントラスト ハイライトレベル -HISTORY_MSG_319;W- コントラスト ハイライト範囲 -HISTORY_MSG_320;W- コントラスト シャドウ範囲 -HISTORY_MSG_321;W- コントラスト シャドウレベル +HISTORY_MSG_318;W- コントラスト 小さいディテールのレベル +HISTORY_MSG_319;W- コントラスト 小さいディテールのレベルの範囲 +HISTORY_MSG_320;W- コントラスト 大きいディテールのレベルの範囲 +HISTORY_MSG_321;W- コントラスト 大きいディテールのレベル HISTORY_MSG_322;W- 色域 色ずれの回避 HISTORY_MSG_323;W- ES ローカルコントラスト -HISTORY_MSG_324;W- 色度 明清色 -HISTORY_MSG_325;W- 色度 純色 -HISTORY_MSG_326;W- 色度 方法 +HISTORY_MSG_324;W- 色 明清色 +HISTORY_MSG_325;W- 色 純色 +HISTORY_MSG_326;W- 色 方法 HISTORY_MSG_327;W- コントラスト 適用先 -HISTORY_MSG_328;W- 色度 リンクを強化 -HISTORY_MSG_329;W- 色調 R/Gの不透明度 -HISTORY_MSG_330;W- 色調 B/Yの不透明度 +HISTORY_MSG_328;W- 色 リンクを強化 +HISTORY_MSG_329;W- 色 レッド/グリーンの不透明度 +HISTORY_MSG_330;W- 色 ブルー/イエローの不透明度 HISTORY_MSG_331;W- コントラストレベル エキストラ HISTORY_MSG_332;W- タイルの種類 HISTORY_MSG_333;W- 残差 シャドウ @@ -620,13 +599,13 @@ HISTORY_MSG_359;ホット/デッド しきい値 HISTORY_MSG_360;トーンマッピング ガンマ HISTORY_MSG_361;W- 最終 色度バランス HISTORY_MSG_362;W- 残差 圧縮の方法 -HISTORY_MSG_363;W- 残差 圧縮の強さ +HISTORY_MSG_363;W- 残差 ダイナミックレンジの圧縮 HISTORY_MSG_364;W- 最終 コントラストバランス HISTORY_MSG_365;W- 最終 デルタバランス HISTORY_MSG_366;W- 残差 圧縮のガンマ HISTORY_MSG_367;W- ES ローカルコントラストカーブ HISTORY_MSG_368;W- 最終 コントラストバランス -HISTORY_MSG_369;W- 最終 バランスの方法 +HISTORY_MSG_369;W- 最終 調整方法 HISTORY_MSG_370;W- 最終 ローカルコントラストカーブ HISTORY_MSG_371;リサイズ後のシャープニング(PRS) HISTORY_MSG_372;PRS アンシャープマスク - 半径 @@ -666,7 +645,6 @@ HISTORY_MSG_405;W - ノイズ低減とリファイン レベル4 HISTORY_MSG_406;W - ES - 隣接するピクセルに対する効果 HISTORY_MSG_407;レティネックス - 方式 HISTORY_MSG_408;レティネックス - 半径 -HISTORY_MSG_409;レティネックス - コントラスト HISTORY_MSG_410;レティネックス - 明るさ HISTORY_MSG_411;レティネックス - 強さ HISTORY_MSG_412;レティネックス - ガウスフィルタの勾配 @@ -682,7 +660,7 @@ HISTORY_MSG_421;レティネックス - ガンマ HISTORY_MSG_422;レティネックス - ガンマ HISTORY_MSG_423;レティネックス - 勾配 HISTORY_MSG_424;レティネックス - HLしきい値 -HISTORY_MSG_425;レティネックス - 対数の基数 +HISTORY_MSG_425;--未使用の文字列-- HISTORY_MSG_426;レティネックス - 色相イコライザ HISTORY_MSG_427;出力レンダリングの意図 HISTORY_MSG_428;モニターレンダリングの意図 @@ -703,45 +681,44 @@ HISTORY_MSG_442;レティネックス - スケール HISTORY_MSG_443;出力のブラックポイント補正 HISTORY_MSG_444;WB - 色温度のバイアス HISTORY_MSG_445;Raw サブイメージ -HISTORY_MSG_446;EvPixelShiftMotion -HISTORY_MSG_447;EvPixelShiftMotionCorrection -HISTORY_MSG_448;EvPixelShiftStddevFactorGreen +HISTORY_MSG_446;--未使用の文字列-- +HISTORY_MSG_447;--未使用の文字列-- +HISTORY_MSG_448;--未使用の文字列-- HISTORY_MSG_449;PS - ISOへの適合 -HISTORY_MSG_450;EvPixelShiftNreadIso -HISTORY_MSG_451;EvPixelShiftPrnu -HISTORY_MSG_452;PS - モーションを表示 +HISTORY_MSG_450;--未使用の文字列-- +HISTORY_MSG_451;--未使用の文字列-- +HISTORY_MSG_452;PS - 動体部分を表示 HISTORY_MSG_453;PS - マスクだけを表示 -HISTORY_MSG_454;EvPixelShiftAutomatic -HISTORY_MSG_455;EvPixelShiftNonGreenHorizontal -HISTORY_MSG_456;EvPixelShiftNonGreenVertical +HISTORY_MSG_454;--未使用の文字列-- +HISTORY_MSG_455;--未使用の文字列-- +HISTORY_MSG_456;--未使用の文字列-- HISTORY_MSG_457;PS - レッド/ブルーを確認 -HISTORY_MSG_458;EvPixelShiftStddevFactorRed -HISTORY_MSG_459;EvPixelShiftStddevFactorBlue -HISTORY_MSG_460;EvPixelShiftGreenAmaze -HISTORY_MSG_461;EvPixelShiftNonGreenAmaze +HISTORY_MSG_458;--未使用の文字列-- +HISTORY_MSG_459;--未使用の文字列-- +HISTORY_MSG_460;--未使用の文字列-- +HISTORY_MSG_461;--未使用の文字列-- HISTORY_MSG_462;PS - グリーンを確認 -HISTORY_MSG_463;EvPixelShiftRedBlueWeight -HISTORY_MSG_464;PS - モーションマスクをぼかす +HISTORY_MSG_463;--未使用の文字列-- +HISTORY_MSG_464;PS - 動体マスクをぼかす HISTORY_MSG_465;PS - ぼかしの半径 -HISTORY_MSG_466;EvPixelShiftSum -HISTORY_MSG_467;EvPixelShiftExp0 +HISTORY_MSG_466;--未使用の文字列-- +HISTORY_MSG_467;--未使用の文字列-- HISTORY_MSG_468;PS - 穴を埋める HISTORY_MSG_469;PS - メディアン -HISTORY_MSG_470;EvPixelShiftMedian3 -HISTORY_MSG_471;PS - 振れの補正 +HISTORY_MSG_470;--未使用の文字列-- +HISTORY_MSG_471;PS - 動体補正 HISTORY_MSG_472;PS - 境界を滑らかにする -HISTORY_MSG_473;PS - LMMSEを使う HISTORY_MSG_474;PS - 均等化 HISTORY_MSG_475;PS - 色チャンネルの均等化 -HISTORY_MSG_476;CAM02 - 観視環境の色温度 -HISTORY_MSG_477;CAM02 - 観視環境の色偏差 -HISTORY_MSG_478;CAM02 - 観視環境のYb -HISTORY_MSG_479;CAM02 - 観視環境のCAT02 -HISTORY_MSG_480;CAM02 - 観視環境のCAT02 自動 -HISTORY_MSG_481;CAM02 - 撮影環境の色温度 -HISTORY_MSG_482;CAM02 - 撮影環境の色偏差 -HISTORY_MSG_483;CAM02 - 撮影環境のYb -HISTORY_MSG_484;CAM02 - 撮影環境のYb 自動 +HISTORY_MSG_476;CAL - 観視 - 色温度 +HISTORY_MSG_477;CAL - 観視 - 色偏差 +HISTORY_MSG_478;CAL - 観視 - 平均輝度 +HISTORY_MSG_479;CAL - 観視 - 色順応 +HISTORY_MSG_480;CAL - 観視 - 色順応(自動) +HISTORY_MSG_481;CAL - 場面 - 色温度 +HISTORY_MSG_482;CAL - 場面 - 色偏差 +HISTORY_MSG_483;CAL - 場面 - 平均輝度 +HISTORY_MSG_484;CAL - 場面 - 平均輝度(自動) HISTORY_MSG_485;レンズ補正 HISTORY_MSG_486;レンズ補正 - カメラ HISTORY_MSG_487;レンズ補正 - レンズ @@ -750,7 +727,7 @@ HISTORY_MSG_489;DRC - CbDL HISTORY_MSG_490;DRC - 量 HISTORY_MSG_491;ホワイトバランス HISTORY_MSG_492;RGBカーブ -HISTORY_MSG_493;ローカル調整 +HISTORY_MSG_493;L*a*b*調整 HISTORY_MSG_494;キャプチャーシャープニング HISTORY_MSG_496;ローカル スポット 削除 HISTORY_MSG_497;ローカル スポット 選択 @@ -771,10 +748,10 @@ HISTORY_MSG_511;ローカル スポット しきい値 HISTORY_MSG_512;ローカル スポット ΔEの減衰 HISTORY_MSG_513;ローカル スポット スコープ HISTORY_MSG_514;ローカル スポット 構造 -HISTORY_MSG_515;ローカル調整 +HISTORY_MSG_515;ローカル編集 HISTORY_MSG_516;ローカル - 色と明るさ HISTORY_MSG_517;ローカル - 強力を有効にする -HISTORY_MSG_518;ローカル - 明るさ +HISTORY_MSG_518;ローカル - 明度 HISTORY_MSG_519;ローカル - コントラスト HISTORY_MSG_520;ローカル - 色度 HISTORY_MSG_521;ローカル - スコープ @@ -794,14 +771,14 @@ HISTORY_MSG_534;ローカル - ウォームとクール HISTORY_MSG_535;ローカル - Exp スコープ HISTORY_MSG_536;ローカル - Exp コントラストカーブ HISTORY_MSG_537;ローカル - 自然な彩度 -HISTORY_MSG_538;ローカル - Vib 純色 -HISTORY_MSG_539;ローカル - Vib パステル -HISTORY_MSG_540;ローカル - Vib しきい値 -HISTORY_MSG_541;ローカル - Vib 肌色の保護 -HISTORY_MSG_542;ローカル - Vib 色ずれの回避 -HISTORY_MSG_543;ローカル - Vib リンク -HISTORY_MSG_544;ローカル - Vib スコープ -HISTORY_MSG_545;ローカル - Vib H カーブ +HISTORY_MSG_538;ローカル - 自然な彩度 純色 +HISTORY_MSG_539;ローカル - 自然な彩度 パステル +HISTORY_MSG_540;ローカル - 自然な彩度 しきい値 +HISTORY_MSG_541;ローカル - 自然な彩度 肌色の保護 +HISTORY_MSG_542;ローカル - 自然な彩度 色ずれの回避 +HISTORY_MSG_543;ローカル - 自然な彩度 リンク +HISTORY_MSG_544;ローカル - 自然な彩度 スコープ +HISTORY_MSG_545;ローカル - 自然な彩度 H カーブ HISTORY_MSG_546;ローカル - ぼかしとノイズ HISTORY_MSG_547;ローカル - 半径 HISTORY_MSG_548;ローカル - ノイズ @@ -825,41 +802,41 @@ HISTORY_MSG_565;ローカル - スコープ HISTORY_MSG_566;ローカル - レティネックス ゲインのカーブ HISTORY_MSG_567;ローカル - レティネックス 反対処理 HISTORY_MSG_568;ローカル - シャープニング -HISTORY_MSG_569;ローカル - Sh 半径 -HISTORY_MSG_570;ローカル - Sh 量 -HISTORY_MSG_571;ローカル - Sh 減衰 -HISTORY_MSG_572;ローカル - Sh 繰り返し -HISTORY_MSG_573;ローカル - Sh スコープ -HISTORY_MSG_574;ローカル - Sh 反対処理 -HISTORY_MSG_575;ローカル - 詳細レベルによるコントラスト調整 +HISTORY_MSG_569;ローカル - シャドウハイライト 半径 +HISTORY_MSG_570;ローカル - シャドウハイライト 量 +HISTORY_MSG_571;ローカル - シャドウハイライト 減衰 +HISTORY_MSG_572;ローカル - シャドウハイライト 繰り返し +HISTORY_MSG_573;ローカル - シャドウハイライト スコープ +HISTORY_MSG_574;ローカル - シャドウハイライト 反対処理 +HISTORY_MSG_575;ローカル - 詳細レベルによるコントラスト調整(CbDL) HISTORY_MSG_576;ローカル - CbDL 複数のレベル HISTORY_MSG_577;ローカル - CbDL 色度 HISTORY_MSG_578;ローカル - CbDL しきい値 HISTORY_MSG_579;ローカル - CbDL スコープ -HISTORY_MSG_580;ローカル - ノイズ除去 -HISTORY_MSG_581;ローカル - ノイズ除去 輝度 細かい1 -HISTORY_MSG_582;ローカル - ノイズ除去 輝度 祖い -HISTORY_MSG_583;ローカル - ノイズ除去 細部の回復 +HISTORY_MSG_580;--未使用の文字列-- +HISTORY_MSG_581;ローカル - ノイズ除去 輝度 番手の低いレベル +HISTORY_MSG_582;ローカル - ノイズ除去 輝度 番手の高いレベル +HISTORY_MSG_583;ローカル - ノイズ除去 ディテールの回復 HISTORY_MSG_584;ローカル - ノイズ除去 イコライザ 白黒 -HISTORY_MSG_585;ローカル - ノイズ除去 色度 細かい -HISTORY_MSG_586;ローカル - ノイズ除去 色度 粗い +HISTORY_MSG_585;ローカル - ノイズ除去 色度 番手の低いレベル +HISTORY_MSG_586;ローカル - ノイズ除去 色度 番手の高いレベル HISTORY_MSG_587;ローカル - ノイズ除去 色度の回復 HISTORY_MSG_588;ローカル - ノイズ除去 イコライザ ブルー-レッド HISTORY_MSG_589;ローカル - ノイズ除去 平滑化フィルタ HISTORY_MSG_590;ローカル - ノイズ除去 スコープ HISTORY_MSG_591;ローカル - 色ずれの回避 -HISTORY_MSG_592;ローカル - Sh コントラスト +HISTORY_MSG_592;ローカル - シャドウハイライト コントラスト HISTORY_MSG_593;ローカル - ローカルコントラスト HISTORY_MSG_594;ローカル - ローカルコントラスト 半径 HISTORY_MSG_595;ローカル - ローカルコントラスト 量 HISTORY_MSG_596;ローカル - ローカルコントラスト 暗さ -HISTORY_MSG_597;ローカル - ローカルコントラスト 明るさ +HISTORY_MSG_597;ローカル - ローカルコントラスト 明度 HISTORY_MSG_598;ローカル - ローカルコントラスト スコープ HISTORY_MSG_599;ローカル - レティネックス 霞除去 HISTORY_MSG_600;ローカル - ソフトライト 有効 HISTORY_MSG_601;ローカル - ソフトライト 強さ HISTORY_MSG_602;ローカル - ソフトライト スコープ -HISTORY_MSG_603;ローカル - Sh ぼかしの半径 +HISTORY_MSG_603;ローカル - シャドウハイライト ぼかしの半径 HISTORY_MSG_605;ローカル - 色と明るさの変更 HISTORY_MSG_606;ローカル - 露光の変更 HISTORY_MSG_607;ローカル - 色と明るさ マスク C @@ -879,27 +856,27 @@ HISTORY_MSG_620;ローカル - 色と明るさ ぼかし HISTORY_MSG_621;ローカル - 露光補正 反対処理 HISTORY_MSG_622;ローカル - 構造の除外 HISTORY_MSG_623;ローカル - 露光補正 色の補間 -HISTORY_MSG_624;ローカル - 色と明るさ 補正グリッド -HISTORY_MSG_625;ローカル - 色と明るさ 補正の強さ -HISTORY_MSG_626;ローカル - 色と明るさ 補正の方式 +HISTORY_MSG_624;ローカル - カラー補正グリッド +HISTORY_MSG_625;ローカル - 補正グリッドの強さ +HISTORY_MSG_626;ローカル - 補正グリッドの方式 HISTORY_MSG_627;ローカル - シャドウ/ハイライト -HISTORY_MSG_628;ローカル - SH ハイライト -HISTORY_MSG_629;ローカル - SH ハイライトトーンの幅 -HISTORY_MSG_630;ローカル - SH シャドウ -HISTORY_MSG_631;ローカル - SH シャドウトーンの幅 -HISTORY_MSG_632;ローカル - SH 半径 -HISTORY_MSG_633;ローカル - SH スコープ +HISTORY_MSG_628;ローカル - シャドウハイライト ハイライト +HISTORY_MSG_629;ローカル - シャドウハイライト ハイライトトーンの幅 +HISTORY_MSG_630;ローカル - シャドウハイライト シャドウ +HISTORY_MSG_631;ローカル - シャドウハイライト シャドウトーンの幅 +HISTORY_MSG_632;ローカル - シャドウハイライト 半径 +HISTORY_MSG_633;ローカル - シャドウハイライト スコープ HISTORY_MSG_634;ローカル - 色と明るさ 半径 HISTORY_MSG_635;ローカル - 露光補正 半径 HISTORY_MSG_636;ローカル - 追加された機能 -HISTORY_MSG_637;ローカル - SH マスク C -HISTORY_MSG_638;ローカル - SH マスク L -HISTORY_MSG_639;ローカル - SH マスク H -HISTORY_MSG_640;ローカル - SH ブレンド -HISTORY_MSG_641;ローカル - SH マスクを使用 -HISTORY_MSG_642;ローカル - SH 半径 -HISTORY_MSG_643;ローカル - SH ぼかし -HISTORY_MSG_644;ローカル - SH 反対処理 +HISTORY_MSG_637;ローカル - シャドウハイライト マスク C +HISTORY_MSG_638;ローカル - シャドウハイライト マスク L +HISTORY_MSG_639;ローカル - シャドウハイライト マスク H +HISTORY_MSG_640;ローカル - シャドウハイライト ブレンド +HISTORY_MSG_641;ローカル - シャドウハイライト マスクを使用 +HISTORY_MSG_642;ローカル - シャドウハイライト 半径 +HISTORY_MSG_643;ローカル - シャドウハイライト ぼかし +HISTORY_MSG_644;ローカル - シャドウハイライト 反対処理 HISTORY_MSG_645;ローカル - 色差のバランス ab-L HISTORY_MSG_646;ローカル - 露光補正 色度のマスク HISTORY_MSG_647;ローカル - 露光補正 ガンマのマスク @@ -908,9 +885,9 @@ HISTORY_MSG_649;ローカル - 露光補正 ソフトな半径 HISTORY_MSG_650;ローカル - 色と明るさ 色度のマスク HISTORY_MSG_651;ローカル - 色と明るさ ガンマのマスク HISTORY_MSG_652;ローカル - 色と明るさ スロープのマスク -HISTORY_MSG_653;ローカル - SH 色度のマスク -HISTORY_MSG_654;ローカル - SH ガンマのマスク -HISTORY_MSG_655;ローカル - SH スロープのマスク +HISTORY_MSG_653;ローカル - シャドウハイライト 色度のマスク +HISTORY_MSG_654;ローカル - シャドウハイライト ガンマのマスク +HISTORY_MSG_655;ローカル - シャドウハイライト スロープのマスク HISTORY_MSG_656;ローカル - 色と明るさ ソフトな半径 HISTORY_MSG_657;ローカル - レティネックス アーティファクトの軽減 HISTORY_MSG_658;ローカル - CbDL ソフトな半径 @@ -919,7 +896,7 @@ HISTORY_MSG_660;ローカル - CbDL 明瞭 HISTORY_MSG_661;ローカル - CbDL 残差のコントラスト HISTORY_MSG_662;ローカル - deNoise 輝度 細かい0 HISTORY_MSG_663;ローカル - deNoise 輝度 細かい2 -HISTORY_MSG_664;ローカル - CbDL ぼかし +HISTORY_MSG_664;--未使用の文字列-- HISTORY_MSG_665;ローカル - CbDL ブレンドのマスク HISTORY_MSG_666;ローカル - CbDL 半径のマスク HISTORY_MSG_667;ローカル - CbDL 色度のマスク @@ -947,7 +924,7 @@ HISTORY_MSG_688;ローカル - 削除された機能 HISTORY_MSG_689;ローカル - レティネックス 透過マップのマスク HISTORY_MSG_690;ローカル - レティネックス スケール HISTORY_MSG_691;ローカル - レティネックス 暗さ -HISTORY_MSG_692;ローカル - レティネックス 明るさ +HISTORY_MSG_692;ローカル - レティネックス 明度 HISTORY_MSG_693;ローカル - レティネックス しきい値 HISTORY_MSG_694;ローカル - レティネックス ラプラシアンのしきい値 HISTORY_MSG_695;ローカル - ソフトの方式 @@ -998,19 +975,19 @@ HISTORY_MSG_745;ローカル - Exp Fattal オフセット HISTORY_MSG_746;ローカル - Exp Fattal シグマ HISTORY_MSG_747;ローカル 作成されたスポット HISTORY_MSG_748;ローカル - Exp ノイズ除去 -HISTORY_MSG_749;ローカル - Reti 深度 -HISTORY_MSG_750;ローカル - Reti モード 対数 - 線形 -HISTORY_MSG_751;ローカル - Reti 霞除去 輝度だけ -HISTORY_MSG_752;ローカル - Reti オフセット -HISTORY_MSG_753;ローカル - Reti 透過マップ -HISTORY_MSG_754;ローカル - Reti クリップ +HISTORY_MSG_749;ローカル - レティネックス 深度 +HISTORY_MSG_750;ローカル - レティネックス モード 対数 - 線形 +HISTORY_MSG_751;ローカル - レティネックス 霞除去 彩度 +HISTORY_MSG_752;ローカル - レティネックス オフセット +HISTORY_MSG_753;ローカル - レティネックス 透過マップ +HISTORY_MSG_754;ローカル - レティネックス クリップ HISTORY_MSG_755;ローカル - TM マスクを使う HISTORY_MSG_756;ローカル - Exp 露光補正マスクのアルゴリズムを使う HISTORY_MSG_757;ローカル - Exp ラプラシアンマスク -HISTORY_MSG_758;ローカル - Reti ラプラシアンマスク +HISTORY_MSG_758;ローカル - レティネックス ラプラシアンマスク HISTORY_MSG_759;ローカル - Exp ラプラシアンマスク HISTORY_MSG_760;ローカル - Color ラプラシアンマスク -HISTORY_MSG_761;ローカル - SH ラプラシアンマスク +HISTORY_MSG_761;ローカル - シャドウハイライト ラプラシアンマスク HISTORY_MSG_762;ローカル - cbdl ラプラシアンマスク HISTORY_MSG_763;ローカル - Blur ラプラシアンマスク HISTORY_MSG_764;ローカル - Solve PDE ラプラシアンマスク @@ -1021,9 +998,9 @@ HISTORY_MSG_768;ローカル - Grain 強さ HISTORY_MSG_769;ローカル - Grain スケール HISTORY_MSG_770;ローカル - Color コントラストカーブのマスク HISTORY_MSG_771;ローカル - Exp コントラストカーブのマスク -HISTORY_MSG_772;ローカル - SH コントラストカーブのマスク +HISTORY_MSG_772;ローカル - シャドウハイライト コントラストカーブのマスク HISTORY_MSG_773;ローカル - TM コントラストカーブのマスク -HISTORY_MSG_774;ローカル - Reti コントラストカーブのマスク +HISTORY_MSG_774;ローカル - レティネックス コントラストカーブのマスク HISTORY_MSG_775;ローカル - CBDL コントラストカーブのマスク HISTORY_MSG_776;ローカル - Blur Denoise コントラストカーブのマスク HISTORY_MSG_777;ローカル - Blur ローカルコントラストカーブのマスク @@ -1035,17 +1012,17 @@ HISTORY_MSG_782;ローカル - Blur Denoise ウェーブレットのレベルの HISTORY_MSG_783;ローカル - 色と明るさ ウェーブレットのレベル HISTORY_MSG_784;ローカル - ΔEのマスク HISTORY_MSG_785;ローカル - ΔEのスコープのマスク -HISTORY_MSG_786;ローカル - SH 方式 +HISTORY_MSG_786;ローカル - シャドウハイライト 方式 HISTORY_MSG_787;ローカル - イコライザの乗数 HISTORY_MSG_788;ローカル - イコライザのディテール -HISTORY_MSG_789;ローカル - SH マスクの量 -HISTORY_MSG_790;ローカル - SH マスクのアンカー +HISTORY_MSG_789;ローカル - シャドウハイライト マスクの量 +HISTORY_MSG_790;ローカル - シャドウハイライト マスクのアンカー HISTORY_MSG_791;ローカル - マスク ショートLカーブ HISTORY_MSG_792;ローカル - マスク 背景輝度 -HISTORY_MSG_793;ローカル - SH TRCのガンマ -HISTORY_MSG_794;ローカル - SH TRCのスロープ +HISTORY_MSG_793;ローカル - シャドウハイライト TRCのガンマ +HISTORY_MSG_794;ローカル - シャドウハイライト TRCのスロープ HISTORY_MSG_795;ローカル - マスク 復元したイメージの保存 -HISTORY_MSG_796;ローカル - 参考値の繰り返し +HISTORY_MSG_796;ローカル - 基準値の繰り返し HISTORY_MSG_797;ローカル - オリジナルとの融合方式 HISTORY_MSG_798;ローカル - 不透明度 HISTORY_MSG_799;ローカル - Color RGB トーンカーブ @@ -1058,17 +1035,17 @@ HISTORY_MSG_805;ローカル - ぼかしとノイズ マスクの構造 HISTORY_MSG_806;ローカル - 色と明るさ 機能としてのマスクの構造 HISTORY_MSG_807;ローカル - ぼかしとノイズ 機能としてのマスクの構造 HISTORY_MSG_808;ローカル - 色と明るさ マスクカーブ H(H) -HISTORY_MSG_809;ローカル - Vib カーブのマスク C(C) -HISTORY_MSG_810;ローカル - Vib カーブのマスク L(L) -HISTORY_MSG_811;ローカル - Vib カーブのマスク LC(H) +HISTORY_MSG_809;ローカル - 自然な彩度 カーブのマスク C(C) +HISTORY_MSG_810;ローカル - 自然な彩度 カーブのマスク L(L) +HISTORY_MSG_811;ローカル - 自然な彩度 カーブのマスク LC(H) HISTORY_MSG_813;ローカル - 自然な彩度 マスクを使う -HISTORY_MSG_814;ローカル - Vib ブレンドのマスク -HISTORY_MSG_815;ローカル - Vib 半径のマスク -HISTORY_MSG_816;ローカル - Vib 色度のマスク -HISTORY_MSG_817;ローカル - Vib ガンマのマスク -HISTORY_MSG_818;ローカル - Vib 勾配のマスク -HISTORY_MSG_819;ローカル - Vib ラプラシアンのマスク -HISTORY_MSG_820;ローカル - Vib コントラストカーブのマスク +HISTORY_MSG_814;ローカル - 自然な彩度 ブレンドのマスク +HISTORY_MSG_815;ローカル - 自然な彩度 半径のマスク +HISTORY_MSG_816;ローカル - 自然な彩度 色度のマスク +HISTORY_MSG_817;ローカル - 自然な彩度 ガンマのマスク +HISTORY_MSG_818;ローカル - 自然な彩度 勾配のマスク +HISTORY_MSG_819;ローカル - 自然な彩度 ラプラシアンのマスク +HISTORY_MSG_820;ローカル - 自然な彩度 コントラストカーブのマスク HISTORY_MSG_821;ローカル - 色と明るさ 背景のグリッド HISTORY_MSG_822;ローカル - 色と明るさ 背景の融合 HISTORY_MSG_823;ローカル - 色と明るさ 背景の融合 輝度だけ @@ -1076,89 +1053,87 @@ HISTORY_MSG_824;ローカル - Exp 減光マスクの強さ HISTORY_MSG_825;ローカル - Exp 減光マスクの角度 HISTORY_MSG_826;ローカル - Exp 減光の強さ HISTORY_MSG_827;ローカル - Exp 減光の角度 -HISTORY_MSG_828;ローカル - SH 階調 強さ -HISTORY_MSG_829;ローカル - SH 階調 角度 +HISTORY_MSG_828;ローカル - シャドウハイライト 階調 強さ +HISTORY_MSG_829;ローカル - シャドウハイライト 階調 角度 HISTORY_MSG_830;ローカル - 色と明るさ 階調 Lの強さ HISTORY_MSG_831;ローカル - 色と明るさ 階調 角度 HISTORY_MSG_832;ローカル - 色と明るさ 階調 Cの強さ HISTORY_MSG_833;ローカル - 減光のフェザー処理 HISTORY_MSG_834;ローカル - 色と明るさ 減光の強さ H -HISTORY_MSG_835;ローカル - Vib 諧調 Lの強さ -HISTORY_MSG_836;ローカル - Vib 階調 角度 -HISTORY_MSG_837;ローカル - Vib 階調 Cの強さ -HISTORY_MSG_838;ローカル - Vib 階調 Hの強さ +HISTORY_MSG_835;ローカル - 自然な彩度 諧調 Lの強さ +HISTORY_MSG_836;ローカル - 自然な彩度 階調 角度 +HISTORY_MSG_837;ローカル - 自然な彩度 階調 Cの強さ +HISTORY_MSG_838;ローカル - 自然な彩度 階調 Hの強さ HISTORY_MSG_839;ローカル - ソフトウェアの難易度 HISTORY_MSG_840;ローカル - CL カーブ HISTORY_MSG_841;ローカル - LC カーブ -HISTORY_MSG_842;ローカル - マスクぼかしのコントラストしきい値 -HISTORY_MSG_843;ローカル - マスクぼかしの半径 -HISTORY_MSG_844;ローカル - 色と明るさ マスク FTTW +HISTORY_MSG_842;ローカル - マスクぼかしの半径 +HISTORY_MSG_843;ローカル - マスクぼかしのコントラストしきい値 +HISTORY_MSG_844;ローカル - マスクぼかしのFFTW HISTORY_MSG_845;ローカル - 対数符号化 -HISTORY_MSG_846;ローカル - 符号化 自動 -HISTORY_MSG_847;ローカル - グレーポイントの源泉 -HISTORY_MSG_848;ローカル - グレーポイントの源泉 自動 -HISTORY_MSG_849;ローカル - グレーポイントの自動選択 -HISTORY_MSG_850;ローカル - ブラックEv -HISTORY_MSG_851;ローカル - ホワイトEv -HISTORY_MSG_852;ローカル - グレーポイントの目標 -HISTORY_MSG_853;ローカル - ローカルコントラスト -HISTORY_MSG_854;ローカル - 対数符号化のスコープ -HISTORY_MSG_855;ローカル - 画像全体 -HISTORY_MSG_856;ローカル - 対数の基数 -HISTORY_MSG_857;ローカル - Contrast 残差のぼかし -HISTORY_MSG_858;ローカル - Contrast 輝度だけ -HISTORY_MSG_859;ローカル - Contrast 最大値 ぼかしレベル -HISTORY_MSG_860;ローカル - Contrast カーブ ぼかすレベル -HISTORY_MSG_861;ローカル - Contrast カーブ コントラストレベル -HISTORY_MSG_862;ローカル - Contrast シグマ 輝度 -HISTORY_MSG_863;ローカル - Contrast 元画像との融合 -HISTORY_MSG_864;ローカル - Contrast ディテール -HISTORY_MSG_865;ローカル - Contrast アンカー -HISTORY_MSG_866;ローカル - Contrast カーブの圧縮 -HISTORY_MSG_867;ローカル - Contrast 残差の量 -HISTORY_MSG_868;ローカル - ΔEのバランス C-H -HISTORY_MSG_869;ローカル - ノイズ除去カーブ 輝度 -HISTORY_MSG_870;ローカル - LC カーブのマスク LC(H) -HISTORY_MSG_871;ローカル - LC カーブのマスク C(C) -HISTORY_MSG_872;ローカル - LC カーブのマスク L(L) -HISTORY_MSG_873;ローカル - LC マスク 有効 -HISTORY_MSG_875;ローカル - LC マスク ブレンド -HISTORY_MSG_876;ローカル - LC マスク 半径 -HISTORY_MSG_877;ローカル - LC マスク 色度 -HISTORY_MSG_878;ローカル - LC カーブのマスク コントラスト -HISTORY_MSG_879;ローカル - LC 色度 レベル -HISTORY_MSG_880;ローカル - LC 色度のぼかし レベル -HISTORY_MSG_881;ローカル - Contrast オフセット 輝度 -HISTORY_MSG_882;ローカル - Contrast ぼかし -HISTORY_MSG_883;ローカル - Contrast レベルごと -HISTORY_MSG_884;ローカル - Contrast ダイナミックレンジ ラプラシアン -HISTORY_MSG_885;ローカル - Contrast ダイナミックレンジ ウェーブレット -HISTORY_MSG_886;ローカル - Contrast ウェーブレット カーブの圧縮 -HISTORY_MSG_887;ローカル - Contrast ウェーブレット 残差の圧縮 -HISTORY_MSG_888;ローカル - Contrast ウェーブレット バランスのしきい値 -HISTORY_MSG_889;ローカル - Contrast ウェーブレット 階調の強さ -HISTORY_MSG_890;ローカル - Contrast ウェーブレット 階調の角度 -HISTORY_MSG_891;ローカル - Contrast ウェーブレット 階調フィルタ +HISTORY_MSG_846;ローカル - 対数符号化 自動 +HISTORY_MSG_847;ローカル - 対数符号化 情報源 +HISTORY_MSG_849;ローカル - 対数符号化 情報源 自動 +HISTORY_MSG_850;ローカル - 対数符号化 ブラックEv +HISTORY_MSG_851;ローカル - 対数符号化 ホワイトEv +HISTORY_MSG_852;ローカル - 対数符号化 目標とするレンダリング +HISTORY_MSG_853;ローカル - 対数符号化 コントラスト +HISTORY_MSG_854;ローカル - 対数符号化 スコープ +HISTORY_MSG_855;ローカル - 対数符号化 画像全体 +HISTORY_MSG_856;ローカル - 対数符号化 シャドウの範囲 +HISTORY_MSG_857;ローカル - ウェーブレット ぼかし 残差画像 +HISTORY_MSG_858;ローカル - ウェーブレット ぼかし 輝度だけ +HISTORY_MSG_859;ローカル - ウェーブレット ぼかし 最大 +HISTORY_MSG_860;ローカル - ウェーブレット ぼかし レベル +HISTORY_MSG_861;ローカル - ウェーブレット コントラスト 詳細レベル1 +HISTORY_MSG_862;ローカル - ウェーブレット コントラストの減衰 ƒ +HISTORY_MSG_863;ローカル - ウェーブレット 元画像と融合 +HISTORY_MSG_864;ローカル - ウェーブレット 方向別コントラストの減衰 +HISTORY_MSG_865;ローカル - ウェーブレット 方向別コントラスト Δ +HISTORY_MSG_866;ローカル - ウェーブレット 方向別コントラスト 圧縮のガンマ +HISTORY_MSG_868;ローカル - ΔE C-Hのバランス +HISTORY_MSG_869;ローカル - レベルによるノイズ除去 +HISTORY_MSG_870;ローカル - ウェーブレット マスク カーブH +HISTORY_MSG_871;ローカル - ウェーブレット マスク カーブC +HISTORY_MSG_872;ローカル - ウェーブレット マスク カーブL +HISTORY_MSG_873;ローカル - ウェーブレット マスク +HISTORY_MSG_875;ローカル - ウェーブレット マスク ブレンド +HISTORY_MSG_876;ローカル - ウェーブレット マスク スムーズ +HISTORY_MSG_877;ローカル - ウェーブレット マスク 色度 +HISTORY_MSG_878;ローカル - ウェーブレット マスク コントラストのカーブ +HISTORY_MSG_879;ローカル - ウェーブレット コントラスト 色度 +HISTORY_MSG_880;ローカル - ウェーブレット ぼかし 色度 +HISTORY_MSG_881;ローカル - ウェーブレット コントラスト オフセット +HISTORY_MSG_882;ローカル - ウェーブレット ぼかし +HISTORY_MSG_883;ローカル - ウェーブレット レベルによるコントラスト +HISTORY_MSG_884;ローカル - ウェーブレット 方向別コントラスト +HISTORY_MSG_885;ローカル - ウェーブレット トーンマッピング +HISTORY_MSG_886;ローカル - ウェーブレット トーンマッピング 圧縮 +HISTORY_MSG_887;ローカル - ウェーブレット トーンマッピング 残差画像の圧縮 +HISTORY_MSG_888;ローカル - コントラスト ウェーブレット バランスのしきい値 +HISTORY_MSG_889;ローカル - コントラスト ウェーブレット 階調の強さ +HISTORY_MSG_890;ローカル - コントラスト ウェーブレット 階調の角度 +HISTORY_MSG_891;ローカル - コントラスト ウェーブレット 階調フィルタ HISTORY_MSG_892;ローカル - 対数符号化 階調の強さ HISTORY_MSG_893;ローカル - 対数符号化 階調の角度 -HISTORY_MSG_894;ローカル - 色と明るさ 色差のプレビュー -HISTORY_MSG_897;ローカル - Contrast ウェーブレット ES 強さ -HISTORY_MSG_898;ローカル - Contrast ウェーブレット ES 半径 -HISTORY_MSG_899;ローカル - Contrast ウェーブレット ES ディテール -HISTORY_MSG_900;ローカル - Contrast ウェーブレット ES 勾配 -HISTORY_MSG_901;ローカル - Contrast ウェーブレット ES しきい値 低 -HISTORY_MSG_902;ローカル - Contrast ウェーブレット ES しきい値 高 -HISTORY_MSG_903;ローカル - Contrast ウェーブレット ES ローカルコントラスト -HISTORY_MSG_904;ローカル - Contrast ウェーブレット ES 最初のレベル -HISTORY_MSG_905;ローカル - Contrast ウェーブレット エッジシャープネス -HISTORY_MSG_906;ローカル - Contrast ウェーブレット ES 感度 -HISTORY_MSG_907;ローカル - Contrast ウェーブレット ES 増幅 -HISTORY_MSG_908;ローカル - Contrast ウェーブレット ES 隣接 -HISTORY_MSG_909;ローカル - Contrast ウェーブレット ES 表示 +HISTORY_MSG_894;ローカル - 色と明るさ ΔEのプレビュー +HISTORY_MSG_897;ローカル - コントラスト ウェーブレット ES 強さ +HISTORY_MSG_898;ローカル - コントラスト ウェーブレット ES 半径 +HISTORY_MSG_899;ローカル - コントラスト ウェーブレット ES ディテール +HISTORY_MSG_900;ローカル - コントラスト ウェーブレット ES 勾配 +HISTORY_MSG_901;ローカル - コントラスト ウェーブレット ES しきい値 低 +HISTORY_MSG_902;ローカル - コントラスト ウェーブレット ES しきい値 高 +HISTORY_MSG_903;ローカル - コントラスト ウェーブレット ES ローカルコントラスト +HISTORY_MSG_904;ローカル - コントラスト ウェーブレット ES 最初のレベル +HISTORY_MSG_905;ローカル - コントラスト ウェーブレット エッジシャープネス +HISTORY_MSG_906;ローカル - コントラスト ウェーブレット ES 感度 +HISTORY_MSG_907;ローカル - コントラスト ウェーブレット ES 増幅 +HISTORY_MSG_908;ローカル - コントラスト ウェーブレット ES 隣接 +HISTORY_MSG_909;ローカル - コントラスト ウェーブレット ES 表示 HISTORY_MSG_910;ローカル - ウェーブレット エッジ検出の効果 HISTORY_MSG_911;ローカル - ぼかし 色度 輝度 HISTORY_MSG_912;ローカル - ガイド付きフィルターの強さのぼかし -HISTORY_MSG_913;ローカル - Contrast Wavelet Sigma DR +HISTORY_MSG_913;ローカル - コントラスト ウェーブレット シグマ DR HISTORY_MSG_914;ローカル - ウェーブレットのぼかし シグマ BL HISTORY_MSG_915;ローカル - ウェーブレットのエッジ シグマ ED HISTORY_MSG_916;ローカル - ウェーブレットの残差画像 シャドウ @@ -1169,17 +1144,241 @@ HISTORY_MSG_920;ローカル - ウェーブレット シグマ LC HISTORY_MSG_921;ローカル - ウェーブレット 階調のシグマ LC2 HISTORY_MSG_922;ローカル - 白黒での変更 HISTORY_MSG_923;ローカル - 機能の複雑度モード -HISTORY_MSG_924;ローカル - 機能の複雑度モード -HISTORY_MSG_925;Local - カラー機能のスコープ -HISTORY_MSG_926;Local - マスクのタイプを表示 -HISTORY_MSG_927;Local - シャドウマスク -HISTORY_MSG_BLSHAPE;詳細レベルによるぼかし +HISTORY_MSG_924;--未使用の文字列-- +HISTORY_MSG_925;ローカル - カラー機能のスコープ +HISTORY_MSG_926;ローカル - マスクのタイプを表示 +HISTORY_MSG_927;ローカル - シャドウマスク +HISTORY_MSG_928;ローカル - 共通のカラーマスク +HISTORY_MSG_929;ローカル - 共通のカラーマスク スコープ +HISTORY_MSG_930;ローカル - 共通のカラーマスク 輝度の融合 +HISTORY_MSG_931;ローカル - 共通のカラーマスク 有効 +HISTORY_MSG_932;ローカル - 共通のカラーマスク ソフトな半径 +HISTORY_MSG_933;ローカル - 共通のカラーマスク ラプラシアン +HISTORY_MSG_934;ローカル - 共通のカラーマスク 色度 +HISTORY_MSG_935;ローカル - 共通のカラーマスク ガンマ +HISTORY_MSG_936;ローカル - 共通のカラーマスク スロープ +HISTORY_MSG_937;ローカル - 共通のカラーマスク C(C)カーブ +HISTORY_MSG_938;ローカル - 共通のカラーマスク L(L)カーブ +HISTORY_MSG_939;ローカル - 共通のカラーマスク LC(H)カーブ +HISTORY_MSG_940;ローカル - 共通のカラーマスク 機能としての構造 +HISTORY_MSG_941;ローカル - 共通のカラーマスク 構造の強さ +HISTORY_MSG_942;ローカル - 共通のカラーマスク H(H)カーブ +HISTORY_MSG_943;ローカル - 共通のカラーマスク 高速フーリエ変換 +HISTORY_MSG_944;ローカル - 共通のカラーマスク ぼかしの半径 +HISTORY_MSG_945;ローカル - 共通のカラーマスク コントラストのしきい値 +HISTORY_MSG_946;ローカル - 共通のカラーマスク シャドウ +HISTORY_MSG_947;ローカル - 共通のカラーマスク コントラストカーブ +HISTORY_MSG_948;ローカル - 共通のカラーマスク ウェーブレットのカーブ +HISTORY_MSG_949;ローカル - 共通のカラーマスク レベルのしきい値 +HISTORY_MSG_950;ローカル - 共通のカラーマスク 階調調節の強さ +HISTORY_MSG_951;ローカル - 共通のカラーマスク 階調調節の角度 +HISTORY_MSG_952;ローカル - 共通のカラーマスク ソフトな半径 +HISTORY_MSG_953;ローカル - 共通のカラーマスク 色度の融合 +HISTORY_MSG_954;ローカル - 機能の表示/非表示 +HISTORY_MSG_955;ローカル - RT-スポットを有効にする +HISTORY_MSG_956;ローカル - CHカーブ +HISTORY_MSG_957;ローカル - ノイズ除去モード +HISTORY_MSG_958;ローカル - 全ての設定を表示 +HISTORY_MSG_959;ローカル - インバースぼかし +HISTORY_MSG_960;ローカル - 対数符号化 cat02 +HISTORY_MSG_961;ローカル - 対数符号化 色の見えモデル +HISTORY_MSG_962;ローカル - 対数符号化 絶対輝度の情報源 +HISTORY_MSG_963;ローカル - 対数符号化 絶対輝度の目標 +HISTORY_MSG_964;ローカル - 対数符号化 周囲 +HISTORY_MSG_965;ローカル - 対数符号化 彩度S +HISTORY_MSG_966;ローカル - 対数符号化 コントラスト J +HISTORY_MSG_967;ローカル - 対数符号化 マスクカーブ C +HISTORY_MSG_968;ローカル - 対数符号化 マスクカーブ L +HISTORY_MSG_969;ローカル - 対数符号化 マスクカーブ H +HISTORY_MSG_970;ローカル - 対数符号化 マスクは有効 +HISTORY_MSG_971;ローカル - 対数符号化 マスク ブレンド +HISTORY_MSG_972;ローカル - 対数符号化 マスク 半径 +HISTORY_MSG_973;ローカル - 対数符号化 マスク 色度 +HISTORY_MSG_974;ローカル - 対数符号化 マスク コントラスト +HISTORY_MSG_975;ローカル - 対数符号化 明度J +HISTORY_MSG_977;ローカル - 対数符号化 コントラストQ +HISTORY_MSG_978;ローカル - 対数符号化 周囲の環境 +HISTORY_MSG_979;ローカル - 対数符号化 明るさQ +HISTORY_MSG_980;ローカル - 対数符号化 鮮やかさM +HISTORY_MSG_981;ローカル - 対数符号化 強さ +HISTORY_MSG_982;ローカル - イコライザ 色相 +HISTORY_MSG_983;ローカル - ノイズ除去 しきい値マスク 明るい +HISTORY_MSG_984;ローカル - ノイズ除去 しきい値マスク 暗い +HISTORY_MSG_985;ローカル - ノイズ除去 ラプラス変換 +HISTORY_MSG_986;ローカル - ノイズ除去 強化 +HISTORY_MSG_987;ローカル - 階調フィルタ しきい値マスク +HISTORY_MSG_988;ローカル - 階調フィルタ 暗い領域のしきい値マスク +HISTORY_MSG_989;ローカル - 階調フィルタ 明るい領域のしきい値マスク +HISTORY_MSG_990;ローカル - ノイズ除去 しきい値マスク +HISTORY_MSG_991;ローカル - ノイズ除去 暗い領域のしきい値マスク +HISTORY_MSG_992;ローカル - ノイズ除去 明るい領域のしきい値マスク +HISTORY_MSG_993;ローカル - ノイズ除去 インバースのアルゴリズム +HISTORY_MSG_994;ローカル - 階調フィルタ インバースのアルゴリズム +HISTORY_MSG_995;ローカル - ノイズ除去の減衰 +HISTORY_MSG_996;ローカル - 色の復元のしきい値 +HISTORY_MSG_997;ローカル - 色 暗い領域のしきい値マスク +HISTORY_MSG_998;ローカル - 色 明るい領域のしきい値マスク +HISTORY_MSG_999;ローカル - 色 減衰 +HISTORY_MSG_1000;ローカル - グレー領域のノイズ除去 +HISTORY_MSG_1001;ローカル - 対数符号化 復元のしきい値 +HISTORY_MSG_1002;ローカル - 対数符号化 暗い領域のしきい値マスク +HISTORY_MSG_1003;ローカル - 対数符号化 明るい領域のしきい値マスク +HISTORY_MSG_1004;ローカル - 対数符号化 減衰 +HISTORY_MSG_1005;ローカル - 露光補正 復元のしきい値 +HISTORY_MSG_1006;ローカル - 露光補正 暗い領域のしきい値マスク +HISTORY_MSG_1007;ローカル - 露光補正 明るい領域のしきい値マスク +HISTORY_MSG_1008;ローカル - 露光補正 減衰 +HISTORY_MSG_1009;ローカル - シャドウハイライト 復元のしきい値 +HISTORY_MSG_1010;ローカル - シャドウハイライト 暗い領域のしきい値マスク +HISTORY_MSG_1011;ローカル - シャドウハイライト 明るい領域のしきい値マスク +HISTORY_MSG_1012;ローカル - シャドウハイライト 減衰 +HISTORY_MSG_1013;ローカル - 自然な彩度 復元のしきい値 +HISTORY_MSG_1014;ローカル - 自然な彩度 暗い領域のしきい値マスク +HISTORY_MSG_1015;ローカル - 自然な彩度 明るい領域のしきい値マスク +HISTORY_MSG_1016;ローカル - 自然な彩度 減衰 +HISTORY_MSG_1017;ローカル - ローカルコントラスト 復元のしきい値 +HISTORY_MSG_1018;ローカル - ローカルコントラスト 暗い領域のしきい値マスク +HISTORY_MSG_1019;ローカル - ローカルコントラスト 明るい領域のしきい値マスク +HISTORY_MSG_1020;ローカル - ローカルコントラスト 減衰 +HISTORY_MSG_1021;ローカル - グレー領域の色ノイズ除去 +HISTORY_MSG_1022;ローカル - トーンマッピング 復元のしきい値 +HISTORY_MSG_1023;ローカル - トーンマッピング 暗い領域のしきい値マスク +HISTORY_MSG_1024;ローカル - トーンマッピング 明るい領域のしきい値マスク +HISTORY_MSG_1025;ローカル - トーンマッピング 減衰 +HISTORY_MSG_1026;ローカル - cbdl 復元のしきい値 +HISTORY_MSG_1027;ローカル - cbdl 暗い領域のしきい値マスク +HISTORY_MSG_1028;ローカル - cbdl 明るい領域のしきい値マスク +HISTORY_MSG_1029;ローカル - cbdl 減衰 +HISTORY_MSG_1030;ローカル - レティネックス 復元のしきい値 +HISTORY_MSG_1031;ローカル - レティネックス 暗い領域のしきい値マスク +HISTORY_MSG_1032;ローカル - レティネックス 明るい領域のしきい値マスク +HISTORY_MSG_1033;ローカル - レティネックス 減衰 +HISTORY_MSG_1034;ローカル - ノンローカルミーン - 強さ +HISTORY_MSG_1035;ローカル - ノンローカルミーン - ディテール +HISTORY_MSG_1036;ローカル - ノンローカルミーン - パッチ +HISTORY_MSG_1037;ローカル - ノンローカルミーン - 半径 +HISTORY_MSG_1038;ローカル - ノンローカルミーン - ガンマ +HISTORY_MSG_1039;ローカル - 質感 - ガンマ +HISTORY_MSG_1040;ローカル - スポット - ソフトな半径 +HISTORY_MSG_1041;ローカル - スポット - マンセル補正 +HISTORY_MSG_1042;ローカル - 対数符号化 - しきい値 +HISTORY_MSG_1043;ローカル - Exp - 標準化 +HISTORY_MSG_1044;ローカル - ローカルコントラスト 強さ +HISTORY_MSG_1045;ローカル - 色と明るさ 強さ +HISTORY_MSG_1046;ローカル - ノイズ除去 強さ +HISTORY_MSG_1047;ローカル - シャドウ/ハイライトとトーンイコライザ 強さ +HISTORY_MSG_1048;ローカル - ダイナミックレンジと露光補正 強さ +HISTORY_MSG_1049;ローカル - トーンマッピング 強さ +HISTORY_MSG_1050;ローカル - 対数符号化 色度 +HISTORY_MSG_1051;ローカル - 残差画像 ウェーブレット ガンマ +HISTORY_MSG_1052;ローカル - 残差画像 ウェーブレット スロープ +HISTORY_MSG_1053;ローカル - ノイズ除去 ガンマ +HISTORY_MSG_1054;ローカル - ウェーブレット ガンマ +HISTORY_MSG_1055;ローカル - 色と明るさ ガンマ +HISTORY_MSG_1056;ローカル - ダイナミックレンジ圧縮と露光補正 ガンマ +HISTORY_MSG_1057;ローカル - CIECAM 有効 +HISTORY_MSG_1058;ローカル - CIECAM 全体的な強さ +HISTORY_MSG_1059;ローカル - CIECAM 自動グレー +HISTORY_MSG_1060;ローカル - CIECAM 元画像のの平均輝度 +HISTORY_MSG_1061;ローカル - CIECAM 元画像の絶対輝度 +HISTORY_MSG_1062;ローカル - CIECAM 元画像の周囲環境 +HISTORY_MSG_1063;ローカル - CIECAM 彩度 +HISTORY_MSG_1064;ローカル - CIECAM 色度 +HISTORY_MSG_1065;ローカル - CIECAM 明度 J +HISTORY_MSG_1066;ローカル - CIECAM 明るさ Q +HISTORY_MSG_1067;ローカル - CIECAM コントラスト J +HISTORY_MSG_1068;ローカル - CIECAM しきい値 +HISTORY_MSG_1069;ローカル - CIECAM コントラスト Q +HISTORY_MSG_1070;ローカル - CIECAM 鮮やかさ +HISTORY_MSG_1071;ローカル - CIECAM 絶対輝度 +HISTORY_MSG_1072;ローカル - CIECAM 平均輝度 +HISTORY_MSG_1073;ローカル - CIECAM Cat16 +HISTORY_MSG_1074;ローカル - CIECAM ローカルコントラスト +HISTORY_MSG_1075;ローカル - CIECAM 観視条件 +HISTORY_MSG_1076;ローカル - CIECAM スロープ +HISTORY_MSG_1077;ローカル - CIECAM モード +HISTORY_MSG_1078;ローカル - レッドと肌色トーンを保護 +HISTORY_MSG_1079;ローカル - CIECAM シグモイドの強さ J +HISTORY_MSG_1080;ローカル - CIECAM シグモイドのしきい値 +HISTORY_MSG_1081;ローカル - CIECAM シグモイドのブレンド +HISTORY_MSG_1082;ローカル - CIECAM シグモイド Q ブラックEv ホワイトEv +HISTORY_MSG_1083;ローカル - CIECAM 色相 +HISTORY_MSG_1084;ローカル - ブラックEvとホワイトEvを使う +HISTORY_MSG_1085;ローカル - Jz 明度 +HISTORY_MSG_1086;ローカル - Jz コントラスト +HISTORY_MSG_1087;ローカル - Jz 色度 +HISTORY_MSG_1088;ローカル - Jz 色相 +HISTORY_MSG_1089;ローカル - Jz シグモイドの強さ +HISTORY_MSG_1090;ローカル - Jz シグモイドのしきい値 +HISTORY_MSG_1091;ローカル - Jz シグモイドのブレンド +HISTORY_MSG_1092;ローカル - Jz 順応 +HISTORY_MSG_1093;ローカル - CAMのモデル +HISTORY_MSG_1094;ローカル - Jz ハイライト +HISTORY_MSG_1095;ローカル - Jz ハイライトのしきい値 +HISTORY_MSG_1096;ローカル - Jz シャドウ +HISTORY_MSG_1097;ローカル - Jz シャドウのしきい値 +HISTORY_MSG_1098;ローカル - Jz SHの半径 +HISTORY_MSG_1099;ローカル - Cz(Hz)カーブ +HISTORY_MSG_1100;ローカル - 100カンデラのJzの基準値 +HISTORY_MSG_1101;ローカル - Jz PQ 再配分 +HISTORY_MSG_1102;ローカル - Jz(Hz)カーブ +HISTORY_MSG_1103;ローカル - 自然な彩度 ガンマ +HISTORY_MSG_1104;ローカル - シャープネス ガンマ +HISTORY_MSG_1105;ローカル - CIECAM トーン調整の方法 +HISTORY_MSG_1106;ローカル - CIECAM トーンカーブ +HISTORY_MSG_1107;ローカル - CIECAM 色調整の方法 +HISTORY_MSG_1108;ローカル - CIECAM カラーカーブ +HISTORY_MSG_1109;ローカル - Jz(Jz)カーブ +HISTORY_MSG_1110;ローカル - Cz(Cz)カーブ +HISTORY_MSG_1111;ローカル - Cz(Jz)カーブ +HISTORY_MSG_1112;ローカル - 強制的なJz +HISTORY_MSG_1113;ローカル - HDR PQ +HISTORY_MSG_1114;ローカル - Cie マスク 有効 +HISTORY_MSG_1115;ローカル - Cie マスク Cカーブ +HISTORY_MSG_1116;ローカル - Cie マスク Lカーブ +HISTORY_MSG_1117;ローカル - Cie マスク Hカーブ +HISTORY_MSG_1118;ローカル - Cie マスク ブレンド +HISTORY_MSG_1119;ローカル - Cie マスク 半径 +HISTORY_MSG_1120;ローカル - Cie マスク 色度 +HISTORY_MSG_1121;ローカル - Cie マスク コントラストカーブ +HISTORY_MSG_1122;ローカル - Cie マスク 復元のしきい値 +HISTORY_MSG_1123;ローカル - Cie マスク 復元 暗い部分 +HISTORY_MSG_1124;ローカル - Cie マスク 復元 明るい部分 +HISTORY_MSG_1125;ローカル - Cie マスク 復元の減衰 +HISTORY_MSG_1126;ローカル - Cie マスク ラプラシアン +HISTORY_MSG_1127;ローカル - Cie マスク ガンマ +HISTORY_MSG_1128;ローカル - Cie マスク スロープ +HISTORY_MSG_1129;ローカル - Cie 相対輝度 +HISTORY_MSG_1130;ローカル - Cie 彩度 Jz +HISTORY_MSG_1131;ローカル - マスク 色ノイズ除去  +HISTORY_MSG_1132;ローカル - Cie ウェーブレット シグマ Jz +HISTORY_MSG_1133;ローカル - Cie ウェーブレット レベル Jz +HISTORY_MSG_1134;ローカル - Cie ウェーブレット ローカルコントラスト Jz +HISTORY_MSG_1135;ローカル - Cie ウェーブレット 明瞭 Jz +HISTORY_MSG_1136;ローカル - Cie ウェーブレット 明瞭 Cz +HISTORY_MSG_1137;ローカル - Cie ウェーブレット 明瞭 ソフト +HISTORY_MSG_1138;ローカル - ローカル - Hz(Hz)カーブ +HISTORY_MSG_1139;ローカル - Jz ソフト Hカーブ +HISTORY_MSG_1140;ローカル - Jz 色度のしきい値 +HISTORY_MSG_1141;ローカル - 色度のカーブ Jz(Hz) +HISTORY_MSG_1142;ローカル - 強さ ソフト +HISTORY_MSG_1143;ローカル - Jz ブラックEv +HISTORY_MSG_1144;ローカル - Jz ホワイトEv +HISTORY_MSG_1145;ローカル - Jz 対数符号化 +HISTORY_MSG_1146;ローカル - Jz 対数符号化 目標のグレー +HISTORY_MSG_1147;ローカル - Jz ブラックEv ホワイトEv +HISTORY_MSG_1148;ローカル - Jz シグモイド +HISTORY_MSG_1149;ローカル - Q シグモイド +HISTORY_MSG_1150;ローカル - シグモイドQの代わりに対数符号化Qを使う +HISTORY_MSG_BLSHAPE;レベルによるぼかし HISTORY_MSG_BLURCWAV;色度のぼかし HISTORY_MSG_BLURWAV;輝度のぼかし HISTORY_MSG_BLUWAV;減衰応答 -HISTORY_MSG_CAT02PRESET;Cat02 自動プリセット +HISTORY_MSG_CATCAT;CAL - モードの設定 +HISTORY_MSG_CATCOMPLEX;CAL - 機能水準の設定 +HISTORY_MSG_CATMODEL;CAL - 色の見えモデルの設定 HISTORY_MSG_CLAMPOOG;色域外の色を切り取る -HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - カラー補正 +HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - 色の補正 HISTORY_MSG_COLORTONING_LABREGION_AB;CT - 色の補正 HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - 色チャンネル HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - 色度のマスク @@ -1193,24 +1392,41 @@ HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - 強化 HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - 彩度 HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - マスクの表示 HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - スロープ +HISTORY_MSG_COMPLEX;ウェーブレットの機能水準 +HISTORY_MSG_COMPLEXRETI;レティネックスの機能水準 HISTORY_MSG_DEHAZE_DEPTH;霞除去 - 深度 HISTORY_MSG_DEHAZE_ENABLED;霞除去 -HISTORY_MSG_DEHAZE_LUMINANCE;霞除去 - 輝度のみ +HISTORY_MSG_DEHAZE_SATURATION;霞除去 - 彩度 HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;霞除去 - 深度マップの表示 HISTORY_MSG_DEHAZE_STRENGTH;霞除去 - 強さ HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;デュアルデモザイク - 自動しきい値 HISTORY_MSG_DUALDEMOSAIC_CONTRAST;AMaZE+VNG4 - コントラストのしきい値 HISTORY_MSG_EDGEFFECT;エッジの効果調整 +HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - 参考出力 +HISTORY_MSG_FILMNEGATIVE_COLORSPACE;ネガフィルムの色空間 HISTORY_MSG_FILMNEGATIVE_ENABLED;ネガフィルム -HISTORY_MSG_FILMNEGATIVE_FILMBASE;フィルムのベースカラー +HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - 参考入力 HISTORY_MSG_FILMNEGATIVE_VALUES;ネガフィルムの値 HISTORY_MSG_HISTMATCHING;トーンカーブの自動調節 +HISTORY_MSG_HLBL;Color 色の波及 - ぼかし +HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +HISTORY_MSG_ICM_AINTENT;アブストラクトプロファイルの意図 +HISTORY_MSG_ICM_BLUX;原色 ブルー X +HISTORY_MSG_ICM_BLUY;原色 ブルー Y +HISTORY_MSG_ICM_FBW;白黒 +HISTORY_MSG_ICM_GREX;原色 グリーン X +HISTORY_MSG_ICM_GREY;原色 グリーン Y HISTORY_MSG_ICM_OUTPUT_PRIMARIES;出力 - プライマリ HISTORY_MSG_ICM_OUTPUT_TEMP;出力 - ICC-v4 光源 D HISTORY_MSG_ICM_OUTPUT_TYPE;出力 - タイプ +HISTORY_MSG_ICM_PRESER;ニュートラルを維持 +HISTORY_MSG_ICM_REDX;原色 レッド X +HISTORY_MSG_ICM_REDY;原色 レッド Y  HISTORY_MSG_ICM_WORKING_GAMMA;作業色空間 - ガンマ +HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;輝度 方式 +HISTORY_MSG_ICM_WORKING_PRIM_METHOD;原色 方式 HISTORY_MSG_ICM_WORKING_SLOPE;作業色空間 - 勾配 -HISTORY_MSG_ICM_WORKING_TRC_METHOD;作業色空間 - TRCの方式 +HISTORY_MSG_ICM_WORKING_TRC_METHOD;TRCの方式 HISTORY_MSG_ILLUM;輝度 HISTORY_MSG_LOCALCONTRAST_AMOUNT;ローカルコントラスト - 量 HISTORY_MSG_LOCALCONTRAST_DARKNESS;ローカルコントラスト - 暗い部分 @@ -1229,11 +1445,13 @@ HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - 周辺のシグマを増やす HISTORY_MSG_PERSP_CAM_ANGLE;パースペクティブ - カメラ HISTORY_MSG_PERSP_CAM_FL;パースペクティブ - カメラ HISTORY_MSG_PERSP_CAM_SHIFT;パースペクティブ - カメラ +HISTORY_MSG_PERSP_CTRL_LINE;パースペクティブ - 制御ライン HISTORY_MSG_PERSP_METHOD;パースペクティブ - 方法 HISTORY_MSG_PERSP_PROJ_ANGLE;パースペクティブ - 回復 HISTORY_MSG_PERSP_PROJ_ROTATE;パースペクティブ - PCA 回転 HISTORY_MSG_PERSP_PROJ_SHIFT;パースペクティブ - PCA -HISTORY_MSG_PIXELSHIFT_DEMOSAIC;PS - 振れに対するデモザイクの方式 +HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - 平均 +HISTORY_MSG_PIXELSHIFT_DEMOSAIC;PS - 動体に対するデモザイクの方式 HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;ラインノイズフィルタの方向 HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;PDAFラインフィルタ HISTORY_MSG_PREPROCWB_MODE;ホワイトバランスモードの前処理 @@ -1244,37 +1462,60 @@ HISTORY_MSG_RAWCACORR_AUTOIT;Rawの色収差補正 - 繰り返し HISTORY_MSG_RAWCACORR_COLORSHIFT;Rawの色収差補正 - 色ずれを回避 HISTORY_MSG_RAW_BORDER;Rawの境界 HISTORY_MSG_RESIZE_ALLOWUPSCALING;リサイズ - アップスケーリングを可能にする +HISTORY_MSG_RESIZE_LONGEDGE;リサイズ - ロングエッジ +HISTORY_MSG_RESIZE_SHORTEDGE;Resize - ショートエッジ HISTORY_MSG_SHARPENING_BLUR;シャープニング - ぼかしの半径 HISTORY_MSG_SHARPENING_CONTRAST;シャープニング - コントラストのしきい値 HISTORY_MSG_SH_COLORSPACE;S/H - 色空間 HISTORY_MSG_SIGMACOL;色度の効果調整 -HISTORY_MSG_SIGMADIR;Dirの効果調整 +HISTORY_MSG_SIGMADIR;方向の効果調整 HISTORY_MSG_SIGMAFIN;最終的なコントラストの効果調整 HISTORY_MSG_SIGMATON;トーンの効果調整 HISTORY_MSG_SOFTLIGHT_ENABLED;ソフトライト HISTORY_MSG_SOFTLIGHT_STRENGTH;ソフトライト - 強さ -HISTORY_MSG_TEMPOUT;CAM02 自動色温度設定 +HISTORY_MSG_SPOT;スポット除去 +HISTORY_MSG_SPOT_ENTRY;スポット除去 - ポイント変更 +HISTORY_MSG_TEMPOUT;CAM02/16 自動色温度設定 HISTORY_MSG_THRESWAV;バランスのしきい値 HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - アンカー -HISTORY_MSG_TRANS_Method;ジオメトリ - 方式 +HISTORY_MSG_TRANS_METHOD;ジオメトリ - 方式 HISTORY_MSG_WAVBALCHROM;イコライザ 色度 HISTORY_MSG_WAVBALLUM;イコライザ 輝度 HISTORY_MSG_WAVBL;レベルのぼかし -HISTORY_MSG_WAVCHROMCO;粗い部分の色度 -HISTORY_MSG_WAVCHROMFI;細部の色度 +HISTORY_MSG_WAVCHR;レベルのぼかし - 色度のぼかし +HISTORY_MSG_WAVCHROMCO;大きいディテールの色度 +HISTORY_MSG_WAVCHROMFI;小さいディテールの色度 HISTORY_MSG_WAVCLARI;明瞭 +HISTORY_MSG_WAVDENLH;レベル5 +HISTORY_MSG_WAVDENOISE;ローカルコントラスト +HISTORY_MSG_WAVDENOISEH;番手の高いレベルのローカルコントラスト +HISTORY_MSG_WAVDETEND;ディテール ソフト HISTORY_MSG_WAVEDGS;エッジ停止 +HISTORY_MSG_WAVGUIDH;ローカルコントラスト-色相イコライザ +HISTORY_MSG_WAVHUE;イコライザ 色相 +HISTORY_MSG_WAVLABGRID_VALUE;色調 - 色は除く +HISTORY_MSG_WAVLEVDEN;高いレベルのイコライザ +HISTORY_MSG_WAVLEVELSIGM;ノイズ除去 - 半径 +HISTORY_MSG_WAVLEVSIGM;半径 +HISTORY_MSG_WAVLIMDEN;相互作用 レベル5~6 とレベル1~4 HISTORY_MSG_WAVLOWTHR;最小コントラストのしきい値 HISTORY_MSG_WAVMERGEC;色度の融合 HISTORY_MSG_WAVMERGEL;輝度の融合 +HISTORY_MSG_WAVMIXMET;ローカルコントラストの基準値 HISTORY_MSG_WAVOFFSET;オフセット HISTORY_MSG_WAVOLDSH;古いアルゴリズムを使う +HISTORY_MSG_WAVQUAMET;ノイズ除去モード HISTORY_MSG_WAVRADIUS;シャドウ/ハイライトの半径 HISTORY_MSG_WAVSCALE;スケール HISTORY_MSG_WAVSHOWMASK;ウェーブレットのマスクを表示 -HISTORY_MSG_WAVSIGMA;シグマ +HISTORY_MSG_WAVSIGM;シグマ +HISTORY_MSG_WAVSIGMA;減衰応答 +HISTORY_MSG_WAVSLIMET;方式 HISTORY_MSG_WAVSOFTRAD;明瞭のソフトな半径 HISTORY_MSG_WAVSOFTRADEND;最終画像のソフトな半径 +HISTORY_MSG_WAVSTREND;ソフトの強さ +HISTORY_MSG_WAVTHRDEN;ローカルコントラストのしきい値 +HISTORY_MSG_WAVTHREND;ローカルコントラストのしきい値 HISTORY_MSG_WAVUSHAMET;明瞭の方式 HISTORY_NEWSNAPSHOT;追加 HISTORY_NEWSNAPSHOT_TOOLTIP;ショートカット: Alt-s @@ -1293,11 +1534,12 @@ ICCPROFCREATOR_ILL_41;D41 ICCPROFCREATOR_ILL_50;D50 ICCPROFCREATOR_ILL_55;D55 ICCPROFCREATOR_ILL_60;D60 +ICCPROFCREATOR_ILL_63;D63 : DCI-P3 映画館 ICCPROFCREATOR_ILL_65;D65 ICCPROFCREATOR_ILL_80;D80 ICCPROFCREATOR_ILL_DEF;デフォルト ICCPROFCREATOR_ILL_INC;StdA 2856K -ICCPROFCREATOR_ILL_TOOLTIP;ICC v4プロファイルに関する光源だけを設定することができます +ICCPROFCREATOR_ILL_TOOLTIP;ICC v4プロファイル、。v2プロファイルの光源が設定ができます。 ICCPROFCREATOR_PRIMARIES;プライマリ: ICCPROFCREATOR_PRIM_ACESP0;ACES AP0 ICCPROFCREATOR_PRIM_ACESP1;ACES AP1 @@ -1307,6 +1549,7 @@ ICCPROFCREATOR_PRIM_BETA;BetaRGB ICCPROFCREATOR_PRIM_BLUX;ブルー X ICCPROFCREATOR_PRIM_BLUY;ブルー Y ICCPROFCREATOR_PRIM_BRUCE;BruceRGB +ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 ICCPROFCREATOR_PRIM_GREX;グリーン X ICCPROFCREATOR_PRIM_GREY;グリーン Y ICCPROFCREATOR_PRIM_PROPH;Prophoto @@ -1314,13 +1557,14 @@ ICCPROFCREATOR_PRIM_REC2020;Rec2020 ICCPROFCREATOR_PRIM_REDX;レッド X ICCPROFCREATOR_PRIM_REDY;レッド Y ICCPROFCREATOR_PRIM_SRGB;sRGB -ICCPROFCREATOR_PRIM_TOOLTIP;ICC v4プロファイルに関するカスタムプライマリーを設定することが出来ます +ICCPROFCREATOR_PRIM_TOOLTIP;ICC v4プロファイル、。v2プロファイルのカスタムプライマリーが設定ができます。 ICCPROFCREATOR_PRIM_WIDEG;Widegamut ICCPROFCREATOR_PROF_V2;ICC v2 ICCPROFCREATOR_PROF_V4;ICC v4 ICCPROFCREATOR_SAVEDIALOG_TITLE;...でICCプロファイルを保存 ICCPROFCREATOR_SLOPE;勾配 -ICCPROFCREATOR_TRC_PRESET;トーン再現カーブ: +ICCPROFCREATOR_TRC_PRESET;トーンリプレーススカーブ +INSPECTOR_WINDOW_TITLE;カメラ出し画像 IPTCPANEL_CATEGORY;カテゴリ IPTCPANEL_CATEGORYHINT;画像の意図 IPTCPANEL_CITY;都市 @@ -1369,7 +1613,7 @@ MAIN_BUTTON_NAVNEXT_TOOLTIP;エディタで開いている画像に対応する MAIN_BUTTON_NAVPREV_TOOLTIP;エディタで開いている画像に対応する前の画像に移動します\nショートカット: Shift-F3\n\nファイルブラウザで選択したサムネイルに対応する前の画像に移動するには\nショートカット: F3 MAIN_BUTTON_NAVSYNC_TOOLTIP;現在開いている画像のサムネイルを明示しエディタとファイルブラウザを同期させ、ファイルブラウザでのフィルタをクリアします \nショートカット: x\n\n上記と同じですが、ファイルブラウザでのフィルタをクリアしません\nショートカット: y\n(除外する場合、開いているファイルのサムネイルが表示されませんので注意してください). MAIN_BUTTON_PREFERENCES;環境設定 -MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;現在の画像をキュー処理に追加\nショートカット: Ctrl+b +MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;現在の画像を処理キューに追加\nショートカット: Ctrl+b MAIN_BUTTON_SAVE_TOOLTIP;現在の画像を保存\nショートカット: Ctrl+S MAIN_BUTTON_SENDTOEDITOR;外部エディタで画像を編集 MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;現在の画像を外部エディタで編集\nショートカット: Ctrl+e @@ -1386,7 +1630,7 @@ MAIN_FRAME_QUEUE;キュー MAIN_FRAME_QUEUE_TOOLTIP;キューで処理します\nショートカット: Ctrl-F3 MAIN_FRAME_RECENT;最近開いたフォルダ MAIN_MSG_ALREADYEXISTS;ファイルはすでに存在します -MAIN_MSG_CANNOTLOAD;画像読み込みできません +MAIN_MSG_CANNOTLOAD;画像の読み込みができません MAIN_MSG_CANNOTSAVE;ファイル保存エラー MAIN_MSG_CANNOTSTARTEDITOR;エディタを開始することができません MAIN_MSG_CANNOTSTARTEDITOR_SECONDARY;"環境設定"で正しいパスを設定してください @@ -1415,7 +1659,7 @@ MAIN_TAB_FAVORITES_TOOLTIP;ショートカット: Alt-u MAIN_TAB_FILTER;絞り込み MAIN_TAB_INSPECT;カメラ出しJPEG MAIN_TAB_IPTC;IPTC -MAIN_TAB_LOCALLAB;ローカル調整 +MAIN_TAB_LOCALLAB;ローカル編集 MAIN_TAB_LOCALLAB_TOOLTIP;ショートカット Alt-o MAIN_TAB_METADATA;メタデータ MAIN_TAB_METADATA_TOOLTIP;ショートカット: Alt-m @@ -1429,8 +1673,8 @@ MAIN_TOOLTIP_BACKCOLOR2;プレビューの背景色を指定します: 中間のグレー\nショートカット: 9 MAIN_TOOLTIP_BEFOREAFTERLOCK;固定 / 固定解除 - 補正前 の表示設定\n\n固定: 補正前をそのまま表示し変更されません\n複数のツールの累積効果を評価するのに役立ちます\nさらに、比較は履歴上のどこからでも行うことができます\n\n固定解除: 現在使用のツールの効果が 補正後 に表示され、その1段階前が 補正前 に表示されます MAIN_TOOLTIP_HIDEHP;左パネル 表示/非表示 (履歴含む)\nショートカット: l -MAIN_TOOLTIP_INDCLIPPEDH;ハイライト・クリッピング領域の表示\nショートカット: < -MAIN_TOOLTIP_INDCLIPPEDS;シャドウ・クリッピング領域の表示\nショートカット: > +MAIN_TOOLTIP_INDCLIPPEDH;ハイライト・クリッピングの警告表示\nショートカット: < +MAIN_TOOLTIP_INDCLIPPEDS;シャドウ・クリッピングの警告表示\nショートカット: > MAIN_TOOLTIP_PREVIEWB;ブルー チャンネル表示\nショートカット: b MAIN_TOOLTIP_PREVIEWFOCUSMASK;フォーカス・マスク表示\nショートカット: Shift-f\n\n浅い被写界深度、低ノイズ、高ズームの画像の場合は、より正確に\n\nノイズの多い画像に対しては、検出精度を向上させるため10から30%縮小して評価します\n\nフォーカス・マスクをオンにすると表示に時間が掛かります MAIN_TOOLTIP_PREVIEWG;グリーン チャンネル表示\nショートカット: g @@ -1456,7 +1700,7 @@ NAVIGATOR_S;S: NAVIGATOR_V;V: NAVIGATOR_XY_FULL;幅 = %1, 高さ = %2 NAVIGATOR_XY_NA;x: --, y: -- -OPTIONS_BUNDLED_MISSING;付属のプロファイル "%1"が見つかりません\n\nインストールされたプロファイルが損傷しているかもしれません\n\nその場合はデフォルトの値が使われます +OPTIONS_BUNDLED_MISSING;付属のプロファイル '%1'が見つかりません\n\nインストールされたプロファイルが損傷しているかもしれません\n\nその場合はデフォルトの値が使われます OPTIONS_DEFIMG_MISSING;rawではない画像のデフォルプロファイルが見つからないか、設定されていません\n\nプロファイル・ディレクトリを確認してください、存在しないか破損しているかもしれません\n\nデフォルト設定値が使用されます OPTIONS_DEFRAW_MISSING;raw画像のデフォル・プロファイルが見つからないか、設定されていません\n\nプロファイル・ディレクトリを確認してください、存在しないか破損しているかもしれません\n\nデフォルト設定値が使用されます PARTIALPASTE_ADVANCEDGROUP;高度な設定 @@ -1499,11 +1743,10 @@ PARTIALPASTE_IMPULSEDENOISE;インパルス・ノイズ低減 PARTIALPASTE_IPTCINFO;IPTC PARTIALPASTE_LABCURVE;L*a*b* 調整 PARTIALPASTE_LENSGROUP;レンズ関係の設定 -PARTIALPASTE_LENSPROFILE;レンズ補正プロファイル +PARTIALPASTE_LENSPROFILE;プロファイルされたレンズ補正 PARTIALPASTE_LOCALCONTRAST;ローカルコントラスト -PARTIALPASTE_LOCALLAB;ローカル調整 -PARTIALPASTE_LOCALLABGROUP;ローカル調整の設定 -PARTIALPASTE_LOCGROUP;ローカル +PARTIALPASTE_LOCALLAB;ローカル編集 +PARTIALPASTE_LOCALLABGROUP;ローカル編集の設定 PARTIALPASTE_METADATA;メタデータモード PARTIALPASTE_METAGROUP;メタデータ PARTIALPASTE_PCVIGNETTE;ビネットフィルター @@ -1538,6 +1781,7 @@ PARTIALPASTE_SHARPENEDGE;エッジ PARTIALPASTE_SHARPENING;シャープニング (USM/RL) PARTIALPASTE_SHARPENMICRO;マイクロコントラスト PARTIALPASTE_SOFTLIGHT;ソフトライト +PARTIALPASTE_SPOT;スポット除去 PARTIALPASTE_TM_FATTAL;ダイナミックレンジ圧縮 PARTIALPASTE_VIBRANCE;自然な彩度 PARTIALPASTE_VIGNETTING;周辺光量補正 @@ -1573,14 +1817,17 @@ PREFERENCES_CHUNKSIZE_RAW_CA;Raw 色収差補正 PREFERENCES_CHUNKSIZE_RAW_RCD;RCD デモザイク PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans デモザイク PREFERENCES_CHUNKSIZE_RGB;RGB 処理 -PREFERENCES_CLIPPINGIND;クリッピング領域の表示 +PREFERENCES_CIE;色の見えモデル +PREFERENCES_CIEARTIF;アーティファクトを回避 +PREFERENCES_CLIPPINGIND;クリッピング警告の表示 PREFERENCES_CLUTSCACHE;HaldCLUT cache PREFERENCES_CLUTSCACHE_LABEL;cacheに入れるHaldCLUTの最大数 PREFERENCES_CLUTSDIR;HaldCLUTのディレクトリー PREFERENCES_CMMBPC;ブラックポイントの補正 -PREFERENCES_COMPLEXITYLOC;ローカル調整のデフォルトの複雑度 -PREFERENCES_COMPLEXITY_EXP;エキスパート -PREFERENCES_COMPLEXITY_NORM;通常 +PREFERENCES_COMPLEXITYLOC;デフォルトで表示するローカル編集の機能水準 +PREFERENCES_COMPLEXITY_EXP;高度 +PREFERENCES_COMPLEXITY_NORM;標準 +PREFERENCES_COMPLEXITY_SIMP;基本 PREFERENCES_CROP;切り抜き画像の編集 PREFERENCES_CROP_AUTO_FIT;切り抜き画像を自動的に拡大します PREFERENCES_CROP_GUIDES;切り抜き画像が編集されていない時はガイドを表示します @@ -1612,11 +1859,17 @@ PREFERENCES_DIRSELECTDLG;起動時の画像ディレクトリ選択... PREFERENCES_DIRSOFTWARE;インストール・ディレクトリ PREFERENCES_EDITORCMDLINE;カスタムコマンドライン PREFERENCES_EDITORLAYOUT;編集 レイアウト +PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;出力プロファイルを迂回 +PREFERENCES_EXTEDITOR_DIR;出力ディレクトリ +PREFERENCES_EXTEDITOR_DIR_CURRENT;入力画像と同じ +PREFERENCES_EXTEDITOR_DIR_CUSTOM;カスタム +PREFERENCES_EXTEDITOR_DIR_TEMP;OS 一時ディレクトリ +PREFERENCES_EXTEDITOR_FLOAT32;32-ビット 浮動小数点TIFF出力 PREFERENCES_EXTERNALEDITOR;外部エディタ PREFERENCES_FBROWSEROPTS;ファイルブラウザ/サムネイルのオプション PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;ファイルブラウザのツールバーを圧縮 PREFERENCES_FLATFIELDFOUND;検出 -PREFERENCES_FLATFIELDSDIR;フラットフィールド・ディレクトリ +PREFERENCES_FLATFIELDSDIR;フラットフィールドのディレクトリ PREFERENCES_FLATFIELDSHOTS;ショット PREFERENCES_FLATFIELDTEMPLATES;テンプレート PREFERENCES_FORIMAGE;rawではない画像 @@ -1626,9 +1879,10 @@ PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;サムネイルのサイズが異な PREFERENCES_GIMPPATH;GIMP インストール ディレクトリ PREFERENCES_HISTOGRAMPOSITIONLEFT;左パネルにヒストグラム PREFERENCES_HISTOGRAM_TOOLTIP;これを有効にすると、ヒストグラムとナビゲーターの表示に、出力プロファイル(ガンマ適用)の代わりに作業プロファイルを使います -PREFERENCES_HLTHRESHOLD;ハイライト・クリッピング領域のしきい値 +PREFERENCES_HLTHRESHOLD;ハイライト・クリッピング警告のしきい値 PREFERENCES_ICCDIR;カラープロファイルを含むディレクトリ PREFERENCES_IMPROCPARAMS;画像処理のデフォルト値 +PREFERENCES_INSPECTORWINDOW;カメラ出し画像を独自のウィンドウ或いはフルスクリーンで開く PREFERENCES_INSPECT_LABEL;カメラ出しJPEG PREFERENCES_INSPECT_MAXBUFFERS_LABEL;cacheに入れる画像の最大数 PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;ファイルブラウザの操作中にcacheに入れられる画像の最大数。RAM容量が小さい場合(2G以下)の場合は、設定値を1或いは2にするべき @@ -1646,12 +1900,12 @@ PREFERENCES_MENUGROUPLABEL;"カラーラベル"のグループ PREFERENCES_MENUGROUPPROFILEOPERATIONS;"処理プロファイル操作"のグループ PREFERENCES_MENUGROUPRANK;"ランキング"のグループ PREFERENCES_MENUOPTIONS;メニューオプションの状況 -PREFERENCES_MONINTENT;デフォルトのレンダリングの目標 +PREFERENCES_MONINTENT;デフォルトのレンダリングインテント PREFERENCES_MONITOR;モニター PREFERENCES_MONPROFILE;デフォルトのモニタープロファイル PREFERENCES_MONPROFILE_WARNOSX;MacのOSの制約により、サポート出来るのはsRGBだけです PREFERENCES_MULTITAB;マルチ編集タブモード -PREFERENCES_MULTITABDUALMON;独自のウィンドウモードによるマルチ編集タブ +PREFERENCES_MULTITABDUALMON;特定のウィンドウでマルチ編集タブを使う PREFERENCES_NAVIGATIONFRAME;ナビゲーション PREFERENCES_OVERLAY_FILENAMES;ファイル名をサムネイル上に透過表示する PREFERENCES_OVERLAY_FILENAMES_FILMSTRIP;ファイル名を編集パネルのサムネイル上に透過表示する @@ -1682,9 +1936,9 @@ PREFERENCES_PROFILESAVEINPUT;処理プロファイルのパラメータを入力 PREFERENCES_PROFILESAVELOCATION;処理プロファイルが保存されている場所 PREFERENCES_PROFILE_NONE;なし PREFERENCES_PROPERTY;プロパティ -PREFERENCES_PRTINTENT;目標とするレンダリング +PREFERENCES_PRTINTENT;レンダリングインテント PREFERENCES_PRTPROFILE;カラープロファイル -PREFERENCES_PSPATH;Adobe Photoshop のインストール・ディレクトリ +PREFERENCES_PSPATH;Adobe Photoshop(c)のインストール・ディレクトリ PREFERENCES_REMEMBERZOOMPAN;ズームレベルとパン速度を記憶する PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;現在の画像のズームレベルとパン速度を記憶し、新しく開く画像に適用\n\nこのオプションが使えるのは、編集画面のモードが“シングル編集”で、“プレビューのズームレベルが100%以下の場合に使うデモザイク”が“pp3に従う”と設定されている場合だけです。 PREFERENCES_SAVE_TP_OPEN_NOW;機能パネルの今の開閉状態を保存する @@ -1698,13 +1952,13 @@ PREFERENCES_SHOWDATETIME;日付表示 PREFERENCES_SHOWEXPOSURECOMPENSATION;露光補正追加 PREFERENCES_SHOWFILMSTRIPTOOLBAR;画像スライドにツールバーを表示する PREFERENCES_SHOWTOOLTIP;ローカル調整の機能のヒントを表示 -PREFERENCES_SHTHRESHOLD;シャドウ・クリッピング領域のしきい値 -PREFERENCES_SINGLETAB;シングルタブモードモード +PREFERENCES_SHTHRESHOLD;シャドウ・クリッピング警告のしきい値 +PREFERENCES_SINGLETAB;シングルタブ編集モード PREFERENCES_SINGLETABVERTAB;シングル編集タブモード, 垂直タブ PREFERENCES_SND_HELP;ファイルパスを入力 または空欄(無音).\nWindowsはシステムサウンドの "SystemDefault", "SystemAsterisk"など..\nLinuxはシステムサウンドの "complete", "window-attention"などを使用します PREFERENCES_SND_LNGEDITPROCDONE;編集処理 終了 PREFERENCES_SND_QUEUEDONE;キュー処理 終了 -PREFERENCES_SND_THRESHOLDSECS;秒後 +PREFERENCES_SND_THRESHOLDSECS;数秒後 PREFERENCES_STARTUPIMDIR;起動時の画像・ディレクトリ PREFERENCES_TAB_BROWSER;ファイルブラウザ PREFERENCES_TAB_COLORMGR;カラーマネジメント @@ -1721,12 +1975,13 @@ PREFERENCES_TP_LABEL;ツール パネル: PREFERENCES_TP_VSCROLLBAR;ツールパネルの垂直スクロールバーを隠す PREFERENCES_USEBUNDLEDPROFILES;付属のプロファイルを使用 PREFERENCES_WORKFLOW;レイアウト +PREFERENCES_ZOOMONSCROLL;スクロールを使って画像の拡大・縮小 PROFILEPANEL_COPYPPASTE;コピーするパラメータ PROFILEPANEL_GLOBALPROFILES;付属のプロファイル PROFILEPANEL_LABEL;処理プロファイル PROFILEPANEL_LOADDLGLABEL;処理プロファイルを読み込む... PROFILEPANEL_LOADPPASTE;読み込むパラメータ -PROFILEPANEL_MODE_TIP;処理プロファイルの適用モードボタン\n\nボタンが押された状態:処理プロファイルで設定されている値が適用され、且つ、他の値はプログラムにハードコーディングされているデフォルト値に置き換えられます\n\nボタンが離された状態:その処理プロファイルで設定されている値だけが適用されます +PROFILEPANEL_MODE_TOOLTIP;処理プロファイルの適用モードボタン\n\nボタンが押された状態:処理プロファイルで設定されている値が適用され、且つ、他の値はプログラムにハードコーディングされているデフォルト値に置き換えられます\n\nボタンが離された状態:その処理プロファイルで設定されている値だけが適用されます PROFILEPANEL_MYPROFILES;自分のプロファイル PROFILEPANEL_PASTEPPASTE;貼り付けるパラメータ PROFILEPANEL_PCUSTOM;カスタム @@ -1786,7 +2041,7 @@ SAVEDLG_AUTOSUFFIX;ファイルが存在する場合、自動的に末尾に文 SAVEDLG_FILEFORMAT;ファイル形式 SAVEDLG_FILEFORMAT_FLOAT;浮動小数点 SAVEDLG_FORCEFORMATOPTS;強制保存オプション -SAVEDLG_JPEGQUAL;JPEG 品質 +SAVEDLG_JPEGQUAL;JPEGの質 SAVEDLG_PUTTOQUEUE;キュー処理に追加 SAVEDLG_PUTTOQUEUEHEAD;キュー処理の最初に追加 SAVEDLG_PUTTOQUEUETAIL;キュー処理の最後に追加 @@ -1802,6 +2057,12 @@ SAVEDLG_WARNFILENAME;ファイルに名前が付けられます SHCSELECTOR_TOOLTIP;この3つのスライダーの位置をリセットするには\nマウスの右ボタンをクリック SOFTPROOF_GAMUTCHECK_TOOLTIP;有効にすると、出力プロファイルの色域から外れた色のピクセルをグレーで表示します SOFTPROOF_TOOLTIP;ソフトプルーフィング\n有効にすると、ICMツールの出力プロファイルを使った疑似的なレンダリングを行います。印刷した場合などの画像の印象を掴むのに大変便利です。 +TC_PRIM_BLUX;Bx +TC_PRIM_BLUY;By +TC_PRIM_GREX;Gx +TC_PRIM_GREY;Gy +TC_PRIM_REDX;Rx +TC_PRIM_REDY;Ry THRESHOLDSELECTOR_B;下 THRESHOLDSELECTOR_BL;下-左 THRESHOLDSELECTOR_BR;下-右 @@ -1809,10 +2070,11 @@ THRESHOLDSELECTOR_HINT;個々のコントロールポイントを移動するに THRESHOLDSELECTOR_T;上 THRESHOLDSELECTOR_TL;上-左 THRESHOLDSELECTOR_TR;上-右 -TOOLBAR_TOOLTIP_COLORPICKER;ロック式カラーピッカー\n\n有効にすると:\nプレビュー画像上でマウスを左クリックするとカラーピッカーが追加されます。\n左のボタンを押しながらマウスを動かすとカラーピッカーも移動します\nカラーピッカーを削除する時はマウスを右クリックします\nカラーピッカー全てを削除する場合は、Shiftボタンを押しながらマウスを右クリックします\nカラーピッカーのマーク以外の部分でマウスを右クリックすれば、ハンドツールに戻ります +TOOLBAR_TOOLTIP_COLORPICKER;ロック式カラーピッカー\n追加したピッカー上でShiftキーを押しながら左クリックすると、表示される色情報がRGB、Lab、HSVの順に変わります。\n\n有効にすると:\n- ピッカーの追加:左クリック\n- ピッカーの移動:左クリックしたまま移動\n- 1個のピッカーの削除:右クリック\n- 全てのピッカーを削除:ContlキーとShiftキーを押しながら右クリック\n- ハンドツールに戻す:ピッカーのアイコン以外の部分で右クリック TOOLBAR_TOOLTIP_CROP;切り抜き範囲選択\nショートカット: c TOOLBAR_TOOLTIP_HAND;手の平ツール\nショートカット: h -TOOLBAR_TOOLTIP_STRAIGHTEN;直線選択 / 角度補正\nショートカット: s\nプレビュー画像上にガイド線を描画し、垂直または水平方向を指示します。回転角度は、ガイド線の隣に表示されます。回転の中心は、プレビュー画像の中心です +TOOLBAR_TOOLTIP_PERSPECTIVE;遠近感の補正\n\n遠近感の歪みを補正するため制御ラインを調整します。ボタンをもう一度押すと調整が適用されます。 +TOOLBAR_TOOLTIP_STRAIGHTEN;直線選択 / 角度補正\nショートカット: s\n画像上にガイド線を描画し、垂直または水平方向を指示します。回転角度は、ガイド線の隣に表示されます。回転の中心は、プレビュー画像の中心です TOOLBAR_TOOLTIP_WB;スポット・ホワイトバランス\nショートカット: w TP_BWMIX_ALGO;アルゴリズム OYCPM TP_BWMIX_ALGO_LI;リニア @@ -1888,6 +2150,7 @@ TP_COARSETRAF_TOOLTIP_ROTLEFT;90度左回転\nショートカット: [\n\ TP_COARSETRAF_TOOLTIP_ROTRIGHT;90度右回転\nショートカット: ]\n\nシングル・エディタ・タブのショートカット: Alt-] TP_COARSETRAF_TOOLTIP_VFLIP;上下反転 TP_COLORAPP_ABSOLUTELUMINANCE;絶対輝度 +TP_COLORAPP_ADAPSCEN_TOOLTIP;カンデラ平方メートルで表せる撮影時の輝度に相当します。Exifデータから自動的に計算されます。 TP_COLORAPP_ALGO;アルゴリズム TP_COLORAPP_ALGO_ALL;すべて TP_COLORAPP_ALGO_JC;明度 + 色度 (JC) @@ -1895,34 +2158,42 @@ TP_COLORAPP_ALGO_JS;明度 + 彩度 (JS) TP_COLORAPP_ALGO_QM;明るさ + 鮮やかさ (QM) TP_COLORAPP_ALGO_TOOLTIP;サブセット、或いは全てのパラメータの中から選択 TP_COLORAPP_BADPIXSL;ホット/バッドピクセルフィルター -TP_COLORAPP_BADPIXSL_TOOLTIP;明るい部分のホット/バッドピクセルを圧縮します\n 0は効果なし 1は中間 2はガウスほかし\n\nこれらアーティファクトはCIECAM02の限界に起因するものです。色域を抑制する代わりに、イメージに暗い影が現れるのを防ぎます +TP_COLORAPP_BADPIXSL_TOOLTIP;明るい部分のホット/バッドピクセルを圧縮します\n 0は効果なし 1は中間 2はガウスほかし\n\nこれらアーティファクトはCIECAM02/16の限界に起因するものです。色域を抑制する代わりに、イメージに暗い影が現れるのを防ぎます TP_COLORAPP_BRIGHT;明るさ (Q) -TP_COLORAPP_BRIGHT_TOOLTIP;CIECAM02の明るさは L*a*b*やRGBとは異なり、白の輝度を計算に入れます +TP_COLORAPP_BRIGHT_TOOLTIP;CIECAM02/16の明るさは 色刺激から発せられた知覚された光の量のことで、L*a*b*やRGBの明るさとは異なります。 TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;設定を手動で行う場合、65以上の設定値を推奨 +TP_COLORAPP_CATCLASSIC;クラシック +TP_COLORAPP_CATMET_TOOLTIP;クラシック - 従来のCIECAMの作用です。色順応変換が、基本的な光源をベースにした'場面条件'と、基本的な光源をベースにした'観視条件'に対し、別々に作用します。\n\nシンメトリック – 色順応がホワイトバランスをベースにして作用します。'場面条件'、'画像の調整'、'観視条件'の設定はニュートラルになります。\n\n混成 – 作用は'クラシック'と同じですが、色順応はホワイトバランスをベースにします。 +TP_COLORAPP_CATMOD;モード +TP_COLORAPP_CATSYMGEN;自動シンメトリック +TP_COLORAPP_CATSYMSPE;混成 TP_COLORAPP_CHROMA;色度 (C) TP_COLORAPP_CHROMA_M;鮮やかさ (M) -TP_COLORAPP_CHROMA_M_TOOLTIP;CIECAM02の鮮やかさは L*a*b*やRGBの鮮やかさとは異なります +TP_COLORAPP_CHROMA_M_TOOLTIP;CIECAM02/16の鮮やかさは、グレーと比較して知覚される色の量のことで、その色刺激の映り方に彩が多いか少ないかを意味します。 TP_COLORAPP_CHROMA_S;彩度 (S) -TP_COLORAPP_CHROMA_S_TOOLTIP;CIECAM02の彩度は L*a*b*やRGBの彩度とは異なります -TP_COLORAPP_CHROMA_TOOLTIP;CIECAM02の色度は L*a*b*やRGBの色度とは異なります -TP_COLORAPP_CIECAT_DEGREE;CAT02 +TP_COLORAPP_CHROMA_S_TOOLTIP;CIECAM02/16の彩度は、色刺激自体が持つ明るさと比較したその色合いに該当するもので、L*a*b*やRGBの彩度とは異なります。 +TP_COLORAPP_CHROMA_TOOLTIP;CIECAM02/16の色度は、同一の観視環境の下では白に見える色刺激と比較した、その色刺激の'色合い'に相当するもので、L*a*b*やRGBの色度とは異なります。 +TP_COLORAPP_CIECAT_DEGREE;CAT02/16(色順応変換02/16) TP_COLORAPP_CONTRAST;コントラスト (J) TP_COLORAPP_CONTRAST_Q;コントラスト (Q) -TP_COLORAPP_CONTRAST_Q_TOOLTIP;CIECAM02のコントラスト(明るさQ)スライダーは L*a*b*やRGBとは異なります -TP_COLORAPP_CONTRAST_TOOLTIP;CIECAM02のコントラスト(明度J)スライダーは L*a*b*やRGBとは異なります +TP_COLORAPP_CONTRAST_Q_TOOLTIP;CIECAM02/16のコントラスト(Q) は明るさに基づくもので、L*a*b*やRGBのコントラストとは異なります +TP_COLORAPP_CONTRAST_TOOLTIP;CIECAM02/16のコントラスト(J)は明度に基づくもので、L*a*b*やRGBのコントラストとは異なります TP_COLORAPP_CURVEEDITOR1;トーンカーブ1 -TP_COLORAPP_CURVEEDITOR1_TOOLTIP;CIECAM02調整前のL(L*a*b*)のヒストグラムを表示\n CIECAM出力のヒストグラム表示チェックボックスが有効になっている場合は、CIECAM調整後の JまたはQのヒストグラムを表示します\n\n(J、Q)はメイン・ヒストグラムパネルには表示されません\n\n最終出力はメインのヒストグラムパネルを参照してください +TP_COLORAPP_CURVEEDITOR1_TOOLTIP;CIECAM02/16調整前のL(L*a*b*)のヒストグラムを表示\n CIECAMの出力のヒストグラムが有効になっている場合は、CIECAM調整後の JまたはQのヒストグラムを表示します\n\n(J、Q)はメイン・ヒストグラムパネルには表示されません\n\n最終出力はメインのヒストグラムパネルを参照してください TP_COLORAPP_CURVEEDITOR2;トーンカーブ2 -TP_COLORAPP_CURVEEDITOR2_TOOLTIP;2番目の露光トーンカーブも同じ使い方です +TP_COLORAPP_CURVEEDITOR2_TOOLTIP;最初のJ(J)カーブトーンカーブも同じ使い方です TP_COLORAPP_CURVEEDITOR3;カラーカーブ -TP_COLORAPP_CURVEEDITOR3_TOOLTIP;色度、彩度、鮮やかさのいずれかを調整します\n\nCIECAM02調整前の色度(L*a*b*)のヒストグラムを表示します\nチェックボックスの"カーブにCIECAM02出力のヒストグラムを表示" が有効の場合、CIECAM02調整後のC,sまたはMのヒストグラムを表示します\n\nC, sとMは、メインのヒストグラム・パネルには表示されません\n最終出力は、メインのヒストグラム・パネルを参照してください -TP_COLORAPP_DATACIE;カーブでCIECAM02出力のヒストグラムを表示 -TP_COLORAPP_DATACIE_TOOLTIP;有効の場合、CIECAM02カーブのヒストグラムは、JかQ、CIECAM02調整後のCかs、またはMの値/範囲の近似値を表示します\nこの選択はメイン・ヒストグラムパネルには影響を与えません\n\n無効の場合、CIECAM02カーブのヒストグラムは、CIECAM調整前のL*a*b*値を表示します -TP_COLORAPP_FREE;任意の色温度と色偏差 + CAT02 + [出力] +TP_COLORAPP_CURVEEDITOR3_TOOLTIP;色度、彩度、鮮やかさのいずれかを調整します\n\nCIECAM02/16調整前の色度(L*a*b*)のヒストグラムを表示します\nチェックボックスの'カーブにCIECAM02/16出力のヒストグラム' が有効の場合、CIECAM02/16調整後のC,sまたはMのヒストグラムを表示します\n\nC, sとMは、メインのヒストグラム・パネルには表示されません\n最終出力は、メインのヒストグラム・パネルを参照してください +TP_COLORAPP_DATACIE;カーブでCIECAM02/16出力のヒストグラムを表示 +TP_COLORAPP_DATACIE_TOOLTIP;有効の場合、CIECAM02/16カーブのヒストグラムは、JかQ、CIECAM02/16調整後のCかs、またはMの値/範囲の近似値を表示します\nこの選択はメイン・ヒストグラムパネルには影響を与えません\n\n無効の場合、CIECAM02/16カーブのヒストグラムは、CIECAM調整前のL*a*b*値を表示します +TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16は色順応変換の一つで、一定の光源(例えばD65)のホワイトポイントの値を、別な光源(例えばD50 やD55)のホワイトポイントの値に変換することです(WPモデルを参照)。 +TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16は色順応変換の一つで、一定の光源(例えばD50)のホワイトポイントの値を、別な光源(例えばD75)のホワイトポイントの値に変換することです(WPモデルを参照)。 +TP_COLORAPP_FREE;任意の色温度と色偏差 + CAT02/16 + [出力] TP_COLORAPP_GAMUT;色域制御 (L*a*b*) -TP_COLORAPP_GAMUT_TOOLTIP;L*a*b*モードの色域制御を可能にします +TP_COLORAPP_GEN;設定 - プリセット +TP_COLORAPP_GEN_TOOLTIP;この機能モジュールは、CIECAM02/16(色の見えモデル)をベースにしています。異なる光源の下での、人間の視覚の知覚を、より適切に真似るように設計された色モデルです(例えば、青白い光の中で見る物の色)。\n各色の条件を計算に入れながら、人間の視覚が認識する色に可能な限り近づくように変換します。\nまた、画像の場面や表示デバイスに応じて、その色が維持されるように、予定している出力条件(モニター、TV、プロジェクター、プリンターなど)を考慮します。 TP_COLORAPP_HUE;色相 (h) -TP_COLORAPP_HUE_TOOLTIP;色相 (h) - 0° から 360°の角度 +TP_COLORAPP_HUE_TOOLTIP;色相(h)は色相環におけるその色刺激の角度で、レッド、グリーン、ブルー、イエローで表現されます。 TP_COLORAPP_IL41;D41 TP_COLORAPP_IL50;D50 TP_COLORAPP_IL55;D55 @@ -1933,27 +2204,32 @@ TP_COLORAPP_ILA;白熱灯標準A 2856K TP_COLORAPP_ILFREE;フリー TP_COLORAPP_ILLUM;光源 TP_COLORAPP_ILLUM_TOOLTIP;撮影条件に最も近い条件を選択します\n一般的にはD50 ですが、時間と緯度に応じて変えます -TP_COLORAPP_LABEL;CIE色の見えモデル2002 -TP_COLORAPP_LABEL_CAM02;画像の調整 -TP_COLORAPP_LABEL_SCENE;撮影環境 -TP_COLORAPP_LABEL_VIEWING;観視環境 +TP_COLORAPP_LABEL;色の見え&明るさ +TP_COLORAPP_LABEL_CAM02;画像編集 +TP_COLORAPP_LABEL_SCENE;場面条件 +TP_COLORAPP_LABEL_VIEWING;観視条件 TP_COLORAPP_LIGHT;明度 (J) -TP_COLORAPP_LIGHT_TOOLTIP;CIECAM02の明度は L*a*b*やRGBの明度とは異なります -TP_COLORAPP_MEANLUMINANCE;中間輝度 (Yb%) +TP_COLORAPP_LIGHT_TOOLTIP;CIECAM02/16の明度は、同じような環視環境の下で白に見える色刺激の明瞭度と、その色の明瞭度を比較したもので、L*a*b*やRGBの明度とは異なります。 +TP_COLORAPP_MEANLUMINANCE;平均輝度 (Yb%) +TP_COLORAPP_MOD02;CAM02 +TP_COLORAPP_MOD16;CAM16 TP_COLORAPP_MODEL;ホワイトポイント・モデル -TP_COLORAPP_MODEL_TOOLTIP;WB [RT] + [出力]:\nRTのホワイトバランスは、撮影環境に使用されます。CIECAM02はD50の設定, 出力デバイスのホワイトバランスは「環境設定」の「カラーマネジメント」の設定\n\nWB [RT+CAT02] + [出力]:\nRTのホワイトバランス設定は、CAT02で使用され、出力デバイスのホワイトバランスは環境設定の値を使用します +TP_COLORAPP_MODELCAT;色の見えモデル +TP_COLORAPP_MODELCAT_TOOLTIP;色の見えモデルはCAM02或いはCAM16のどちらかを選択出来ます\n CAM02の方がより正確な場合があります\n CAM16の方がアーティファクトの発生が少ないでしょう +TP_COLORAPP_MODEL_TOOLTIP;ホワイトポイントモデル\n\nWB [RT] + [出力]\:周囲環境のホワイトバランスは、カラータブのホワイトバランスが使われます。CIECAM02/16の光源にはD50が使われ, 出力デバイスのホワイトバランスには観視環境のホワイトバランスが使われます\n\nWB [RT+CAT02] + [出力]:カラータブのホワイトバランスがCAT02で使われます。出力デバイスのホワイトバランスには観視環境のホワイトバランスが使われます\n\n任意の色温度と色偏差 + CAT02 + [出力]:色温度と色偏差はユーザーが設定します。出力デバイスのホワイトバランスには観視環境のホワイトバランスが使われます TP_COLORAPP_NEUTRAL;リセット -TP_COLORAPP_NEUTRAL_TIP;全てのスライダーチェックボックスとカーブをデフォルトにリセットします -TP_COLORAPP_PRESETCAT02;cat02の自動プリセット -TP_COLORAPP_PRESETCAT02_TIP;これを有効にすると、スライダー、色温度、色偏差がCAT02自動に合わせて設定されます\n撮影環境の輝度は変えることが出来ます\n必要であれば、CAT02の観視環境を変更します\n必要に応じて観視環境の色温度、色偏差、を変更します +TP_COLORAPP_NEUTRAL_TOOLTIP;全てのスライダーチェックボックスとカーブをデフォルトにリセットします TP_COLORAPP_RSTPRO;レッドと肌色トーンを保護 TP_COLORAPP_RSTPRO_TOOLTIP;レッドと肌色トーンを保護はスライダーとカーブの両方に影響します -TP_COLORAPP_SURROUND;周囲環境 -TP_COLORAPP_SURROUND_AVER;普通 +TP_COLORAPP_SOURCEF_TOOLTIP;撮影条件に合わせて、その条件とデータを通常の範囲に収めます。ここで言う“通常”とは、平均的或いは標準的な条件とデータのことです。例えば、CIECAM02/16の補正を計算に入れずに収める。 +TP_COLORAPP_SURROUND;観視時の周囲環境 +TP_COLORAPP_SURROUNDSRC;撮影時の周囲環境 +TP_COLORAPP_SURROUND_AVER;平均 TP_COLORAPP_SURROUND_DARK;暗い TP_COLORAPP_SURROUND_DIM;薄暗い -TP_COLORAPP_SURROUND_EXDARK;非常に暗い (Cutsheet) -TP_COLORAPP_SURROUND_TOOLTIP;トーンとカラーの変更は、出力デバイスの観視条件を計算に入れます\n\n普通:\n平均的な明るい環境 (標準)\n画像は変更されません\n\n薄暗い:\n薄暗い環境 (TV)\n画像は若干暗くなります\n\n暗い:\n暗い環境 (プロジェクター)\n画像はかなり暗くなります\n\n非常に暗い:\n非常に暗い環境 (Cutsheet)\n画像はとても暗くなります +TP_COLORAPP_SURROUND_EXDARK;非常に暗い +TP_COLORAPP_SURROUND_TOOLTIP;出力デバイスで観視する時の周囲環境を考慮するため、画像の明暗と色を変えます\n\n平均:\n周囲が平均的な明るさ(標準)\n画像は変わりません\n\n薄暗い:\n薄暗い環境、例、TVを見る環境\n画像は若干暗くなります\n\n暗い:\n暗い環境 例、プロジェクターを見る環境\n画像はかなり暗くなります\n\n非常に暗い:\n非常に暗い環境 (例、カットシートを使っている)\n画像はとても暗くなります +TP_COLORAPP_SURSOURCE_TOOLTIP;撮影時の周囲環境を考慮するため、画像の明暗と色を変えます。\n平均:周囲が平均的な明るさ(標準)。画像は変化しません。\n\n薄暗い:画像が少し明るくなります。\n\n暗い:画像が更に明るくなります。\n\n非常に暗い:画像は非常に明るくなります。 TP_COLORAPP_TCMODE_BRIGHTNESS;明るさ TP_COLORAPP_TCMODE_CHROMA;色度 TP_COLORAPP_TCMODE_COLORF;鮮やかさ @@ -1962,21 +2238,23 @@ TP_COLORAPP_TCMODE_LABEL2;カーブ・モード2 TP_COLORAPP_TCMODE_LABEL3;カーブ・色度モード TP_COLORAPP_TCMODE_LIGHTNESS;明度 TP_COLORAPP_TCMODE_SATUR;彩度 -TP_COLORAPP_TEMP2_TOOLTIP;シンメトリカルモードの場合は色温度 = White balance.\n色偏差は常に1.0\n\nA光源 色温度=2856\nD41 色温度=4100\nD50 色温度=5003\nD55 色温度=5503\nD60 色温度=6000\nD65 色温度=6504\nD75 色温度=7504 -TP_COLORAPP_TEMPOUT_TOOLTIP;色温度と色偏差を変えるために無効にします +TP_COLORAPP_TEMP2_TOOLTIP;シンメトリカルモードの場合はホワイトバランスの色温度を使います\n色偏差は常に1.0\n\nA光源 色温度=2856\nD41 色温度=4100\nD50 色温度=5003\nD55 色温度=5503\nD60 色温度=6000\nD65 色温度=6504\nD75 色温度=7504 TP_COLORAPP_TEMP_TOOLTIP;選択した光源に関し色偏差は常に1が使われます\n\n色温度=2856\nD50 色温度=5003\nD55 色温度=5503\nD65 色温度=6504\nD75 色温度=7504 -TP_COLORAPP_TONECIE;CIECAM02 明るさ(Q)を使用してトーンマッピング -TP_COLORAPP_TONECIE_TOOLTIP;このオプションが無効になっている場合、トーンマッピングはL*a*b*空間を使用します\nこのオプションが有効になっている場合、トーンマッピングは、CIECAM02を使用します\nトーンマッピング(L*a*b*/CIECAM02)ツールを有効にするには、この設定を有効にする必要があります -TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP;観視環境の絶対輝度\n(通常 16cd/m2) -TP_COLORAPP_WBCAM;WB [RT+CAT02] + [出力] +TP_COLORAPP_TONECIE;CIECAM02/16を使ったトーンマッピング +TP_COLORAPP_TONECIE_TOOLTIP;このオプションが無効になっている場合、トーンマッピングはL*a*b*空間を使用します\nこのオプションが有効になっている場合、トーンマッピングは、CIECAM02/16を使用します\nトーンマッピング(L*a*b*/CIECAM02)ツールを有効にするには、この設定を有効にする必要があります +TP_COLORAPP_VIEWINGF_TOOLTIP;周囲環境だけでなく、最終的に画像を見る媒体(モニター、TV、プロジェクター、プリンター。。。)を考慮します。この処理は、“画像調整”から持って来たデータを、周囲条件を考慮した観視環境に合わせて調整することです。 +TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP;観視条件の絶対輝度\n通常 平方メートル当たり16カンデラ +TP_COLORAPP_WBCAM;WB [RT+CAT02/16] + [出力] TP_COLORAPP_WBRT;WB [RT] + [出力] +TP_COLORAPP_YBOUT_TOOLTIP;Ybは背景の相対輝度のことで、グレーの割合%で表現します。グレー18%という数値は、CIEの明度で50%の背景輝度に相当します。\nYbは画像の平均輝度から算出されます。 +TP_COLORAPP_YBSCEN_TOOLTIP;Ybは背景の相対輝度のことで、グレーの割合%で表現します。グレー18%という数値は、CIEの明度で50%の背景輝度に相当します。\nYbは画像の平均輝度から算出されます。 TP_COLORTONING_AB;o C/L -TP_COLORTONING_AUTOSAT;自動彩度 +TP_COLORTONING_AUTOSAT;自動彩度調節 TP_COLORTONING_BALANCE;バランス TP_COLORTONING_BY;o C/L TP_COLORTONING_CHROMAC;不透明度 -TP_COLORTONING_COLOR;カラー -TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;C=f(L)の明度に応じたクロマの不透明度 +TP_COLORTONING_COLOR;カラー: +TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;C=f(L)の明度に応じた色の不透明度 TP_COLORTONING_HIGHLIGHT;ハイライト TP_COLORTONING_HUE;色相 TP_COLORTONING_LAB;L*a*b*モデルでブレンド @@ -2009,25 +2287,26 @@ TP_COLORTONING_METHOD;方法 TP_COLORTONING_METHOD_TOOLTIP;L*a*b*モデルのブレンドはカラー補間を使います\nカラーバランスは、シャドウ、ミッドトーン、ハイライトでバランスをとります\nSH+バランスは、ダイレクトカラーを使ってシャドウとハイライトでカラートン調整とバランスを調整します\n全ての方法で白黒変換を有効に出来ます TP_COLORTONING_MIDTONES;中間トーン TP_COLORTONING_NEUTRAL;スライダーをリセット -TP_COLORTONING_NEUTRAL_TIP;スライダーの全ての値(SMH:シャドウ、ミッドトーン、ハイライト)をデフォルトに戻す -TP_COLORTONING_OPACITY;不透明度 +TP_COLORTONING_NEUTRAL_TOOLTIP;スライダーの全ての値(SMH:シャドウ、ミッドトーン、ハイライト)をデフォルトに戻す +TP_COLORTONING_OPACITY;不透明度: TP_COLORTONING_RGBCURVES;RGB - カーブ TP_COLORTONING_RGBSLIDERS;RGB - スライダー TP_COLORTONING_SA;彩度の保護 TP_COLORTONING_SATURATEDOPACITY;強さ TP_COLORTONING_SATURATIONTHRESHOLD;しきい値 TP_COLORTONING_SHADOWS;シャドウ -TP_COLORTONING_SPLITCO;S/M/Hでカラートーン調整 -TP_COLORTONING_SPLITCOCO;S/M/Hでカラーバランス +TP_COLORTONING_SPLITCO;シャドウ/中間トーン/ハイライト +TP_COLORTONING_SPLITCOCO;シャドウ/中間トーン/ハイライトのカラーバランス TP_COLORTONING_SPLITLR;2色の彩度でカラートーン調整 TP_COLORTONING_STR;強さ TP_COLORTONING_STRENGTH;強さ TP_COLORTONING_TWO2;特定のクロマ‘2色’ TP_COLORTONING_TWOALL;特定のクロマ -TP_COLORTONING_TWOBY;特定の'a*'と'b*' +TP_COLORTONING_TWOBY;特定のa*とb* TP_COLORTONING_TWOCOLOR_TOOLTIP;標準的クロマ:\n線形的作用 a*=b*\n特定のクロマ:\n線形的作用 a*=b*、同じ増減率、カーブを対角線より下に下げると不透明度の値はマイナスになる、色相全体が影響を受ける\n特定のa*とb*:\n線形的作用 a*、b*別々に調整、特殊効果が目的\n特定のクロマ2色:\nカラーカーブで特定された2つの色相だけが影響を受ける TP_COLORTONING_TWOSTD;標準的クロマ TP_CROP_FIXRATIO;縦横比固定 +TP_CROP_GTCENTEREDSQUARE;センタリング正方形 TP_CROP_GTDIAGONALS;対角線 TP_CROP_GTEPASSPORT;バイオメトリック・パスポート TP_CROP_GTFRAME;フレーム @@ -2053,14 +2332,14 @@ TP_DEFRINGE_RADIUS;半径 TP_DEFRINGE_THRESHOLD;しきい値 TP_DEHAZE_DEPTH;深度 TP_DEHAZE_LABEL;霞除去 -TP_DEHAZE_LUMINANCE;輝度のみ +TP_DEHAZE_SATURATION;彩度 TP_DEHAZE_SHOW_DEPTH_MAP;深度マップの表示 TP_DEHAZE_STRENGTH;強さ TP_DIRPYRDENOISE_CHROMINANCE_AMZ;自動(多分割方式) TP_DIRPYRDENOISE_CHROMINANCE_AUTOGLOBAL;自動(分割方式) TP_DIRPYRDENOISE_CHROMINANCE_BLUEYELLOW;ブルー/イエロー TP_DIRPYRDENOISE_CHROMINANCE_CURVE;色ノイズ低減のカーブ -TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;クロミナンススライダー全ての値を増幅します\n色度をベースにこのカーブで色ノイズ低減の強さを加減します。例えば彩度の低い部分で作用を強める、或いは色度の高い部分で作用を弱めるように使います +TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;色ノイズに関するスライダーの全ての値を増幅します\n色度をベースにこのカーブで色ノイズ低減の強さを加減します。例えば彩度の低い部分で作用を強める、或いは色度の高い部分で作用を弱めるように使います TP_DIRPYRDENOISE_CHROMINANCE_FRAME;色ノイズ TP_DIRPYRDENOISE_CHROMINANCE_MANUAL;手動 TP_DIRPYRDENOISE_CHROMINANCE_MASTER;色(マスター) @@ -2097,7 +2376,7 @@ TP_DIRPYRDENOISE_MEDIAN_METHOD_LAB;L*a*b* TP_DIRPYRDENOISE_MEDIAN_METHOD_LABEL;メディアンフィルター TP_DIRPYRDENOISE_MEDIAN_METHOD_LUMINANCE;輝度のみ TP_DIRPYRDENOISE_MEDIAN_METHOD_RGB;RGB -TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;フィルタリングの方式で、"輝度のみ"と"L*a*b*"を選択した場合、メディアンフィルタリングはノイズ低減行程でウェーブレット変換が行われた直後に適用されます\n"RGB"モードの場合は、ノイズ低減行程の最後で適用されます +TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;'輝度のみ'と'L*a*b*'方式を選択した場合、メディアンフィルタはノイズ低減処理でウェーブレット変換が行われた直後に実行されます\n'RGB'モードの場合は、ノイズ低減処理の最後の行程で実行されます TP_DIRPYRDENOISE_MEDIAN_METHOD_WEIGHTED;加重平均 L* (少なめ) + a*b* (普通) TP_DIRPYRDENOISE_MEDIAN_PASSES;フィルタリングの繰り返し回数 TP_DIRPYRDENOISE_MEDIAN_PASSES_TOOLTIP;計算領域が3x3ピクセルのメディアンフィルタを3回繰り返し適用する方が、計算領域が7x7ピクセルのメディアンフィルタを1回適用するより結果が良くなることがままあります。 @@ -2125,7 +2404,7 @@ TP_DIRPYREQUALIZER_SKIN_TOOLTIP;-100 肌色トーンの調整が目的にな TP_DIRPYREQUALIZER_THRESHOLD;しきい値 TP_DIRPYREQUALIZER_TOOLTIP;肌色(色相、色度、明度)と他の色の間の遷移でアーティファクトが発生するのを軽減します TP_DISTORTION_AMOUNT;適用量 -TP_DISTORTION_AUTO_TIP;rawファイルの歪曲収差を、埋め込まれたJPEG画像とカメラによる自動歪曲収差補正と合わせることで自動的に補正します +TP_DISTORTION_AUTO_TOOLTIP;rawファイルの歪曲収差を、埋め込まれたJPEG画像とカメラによる自動歪曲収差補正と合わせることで自動的に補正します TP_DISTORTION_LABEL;歪曲収差補正 TP_EPD_EDGESTOPPING;エッジ停止 TP_EPD_GAMMA;ガンマ @@ -2134,12 +2413,12 @@ TP_EPD_REWEIGHTINGITERATES;再加重反復 TP_EPD_SCALE;スケール TP_EPD_STRENGTH;強さ TP_EXPOSURE_AUTOLEVELS;自動露光補正 -TP_EXPOSURE_AUTOLEVELS_TIP;画像を解析し、露光補正を自動で行います\n必要に応じてハイライト復元を有効にします +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;画像を解析し、露光補正を自動で行います\n必要に応じてハイライト復元を有効にします TP_EXPOSURE_BLACKLEVEL;黒レベル TP_EXPOSURE_BRIGHTNESS;明るさ TP_EXPOSURE_CLAMPOOG;色域から外れた色を切り取る TP_EXPOSURE_CLIP;クリップ % -TP_EXPOSURE_CLIP_TIP;自動露光補正で使う飽和ピクセルの割合 +TP_EXPOSURE_CLIP_TOOLTIP;自動露光補正で使う飽和ピクセルの割合 TP_EXPOSURE_COMPRHIGHLIGHTS;ハイライト圧縮 TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;ハイライト圧縮 しきい値 TP_EXPOSURE_COMPRSHADOWS;シャドウ圧縮 @@ -2163,14 +2442,21 @@ TP_EXPOSURE_TCMODE_WEIGHTEDSTD;加重平均 TP_EXPOS_BLACKPOINT_LABEL;raw ブラック・ポイント TP_EXPOS_WHITEPOINT_LABEL;raw ホワイト・ポイント TP_FILMNEGATIVE_BLUE;ブルーの比率 -TP_FILMNEGATIVE_FILMBASE_PICK;フィルのベースカラーをピック -TP_FILMNEGATIVE_FILMBASE_TOOLTIP;実際のフィルムのベースカラーを取得して、処理プロファイルに保存するために未露光のスポットをピック(例 フレームの境)\nこの方が、同じフィルムロールからの複数の画像をバッチ処理する際に、一貫性のあるカラーバランスを取り易いです\n変換する画像が極端に暗い、明るい、色のバランスが悪い場合に使えます。 -TP_FILMNEGATIVE_FILMBASE_VALUES;フィルムをベースにしたRGB: -TP_FILMNEGATIVE_GREEN;参考指数(コントラスト) -TP_FILMNEGATIVE_GUESS_TOOLTIP;原画像の中で色相がニュートラルな部分2か所をピックすることでレッドとブルーの比率を自動で設定します。明るさが異なる2か所をピックします。その後、ホワイトバランスを設定します。 +TP_FILMNEGATIVE_BLUEBALANCE;クール/ウォーム +TP_FILMNEGATIVE_COLORSPACE;反転の色空間: +TP_FILMNEGATIVE_COLORSPACE_INPUT;入力色空間 +TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;ネガの反転を実行する色空間を選びます:\n入力色空間 : 以前のRawTherapeeバージョンのように入力プロファイルの適用前に反転を実行します\n作業色空間 : 入力プロファイル適用後に反転を実行します。現在選択されている作業色空間を使います。 +TP_FILMNEGATIVE_COLORSPACE_WORKING;作業色空間 +TP_FILMNEGATIVE_GREEN;参考指数 +TP_FILMNEGATIVE_GREENBALANCE;マゼンタ/グリーン +TP_FILMNEGATIVE_GUESS_TOOLTIP;レッドとブルーの比率を、元画像の中で色相がニュートラルな2つの部分(明るさは異なる)をピックアップして、自動で設定します。 TP_FILMNEGATIVE_LABEL;ネガフィルム +TP_FILMNEGATIVE_OUT_LEVEL;出力のレベル TP_FILMNEGATIVE_PICK;ニュートラルなポイントをピック TP_FILMNEGATIVE_RED;レッドの比率 +TP_FILMNEGATIVE_REF_LABEL;入力RGB: %1 +TP_FILMNEGATIVE_REF_PICK;ホワイトバランスのスポットをピックアップ +TP_FILMNEGATIVE_REF_TOOLTIP;ポジの画像でホワイトバランスの取れているグレーの部分をピックアップします TP_FILMSIMULATION_LABEL;フィルムシミュレーション TP_FILMSIMULATION_SLOWPARSEDIR;RawTherapeeはフィルムシミュレーション機能に使う画像をHald CLUTフォルダーの中から探すよう設計されています(プログラムに組み込むにはフォルダーが大き過ぎるため)。\n変更するには、環境設定 > 画像処理 > フィルムシミュレーションと進み\nどのフォルダーが使われているか確認します。機能を利用する場合は、Hald CLUTだけが入っているフォルダーを指定するか、 この機能を使わない場合はそのフォルダーを空にしておきます。\n\n詳しくはRawPediaを参照して下さい。\n\nフィルム画像のスキャンを止めますか? TP_FILMSIMULATION_STRENGTH;強さ @@ -2202,6 +2488,7 @@ TP_HLREC_BLEND;ブレンド TP_HLREC_CIELAB;CIEL*a*b* ブレンディング TP_HLREC_COLOR;色の波及 TP_HLREC_ENA_TOOLTIP;自動露光でも動作可 +TP_HLREC_HLBLUR;ぼかし TP_HLREC_LABEL;ハイライト復元 TP_HLREC_LUMINANCE;輝度復元 TP_HLREC_METHOD;方式: @@ -2210,7 +2497,7 @@ TP_HSVEQUALIZER_HUE;H TP_HSVEQUALIZER_LABEL;HSV イコライザ TP_HSVEQUALIZER_SAT;S TP_HSVEQUALIZER_VAL;V -TP_ICM_APPLYBASELINEEXPOSUREOFFSET;基本露出オフセット +TP_ICM_APPLYBASELINEEXPOSUREOFFSET;基本露出 TP_ICM_APPLYBASELINEEXPOSUREOFFSET_TOOLTIP;DCPに埋め込まれている基本露出オフセットを用います。但し、適用するDCPにこのタグがある場合に限ります。 TP_ICM_APPLYHUESATMAP;ベーステーブル TP_ICM_APPLYHUESATMAP_TOOLTIP;DCPに埋め込まれているベーステーブル(色相彩度マップ)を用います。但し、適用するDCPにこのタグがある場合に限ります。 @@ -2220,8 +2507,10 @@ TP_ICM_BPC;ブラックポイント補正 TP_ICM_DCPILLUMINANT;光源 TP_ICM_DCPILLUMINANT_INTERPOLATED;補間 TP_ICM_DCPILLUMINANT_TOOLTIP;埋め込まれているDCPの光源のどちらを使うか選択。デフォルトではホワイトバランスに基づいて二つの光源の中間に補間する。この設定は二つのDCPの光源が補間サポートされる、を選択している場合に有効。 +TP_ICM_FBW;白黒 +TP_ICM_ILLUMPRIM_TOOLTIP;撮影条件に最も相応しい光源を選びます\n変更が行われるのは、‘変換先の原色’で‘カスタム (スライダー)’が選択された時だけです。 TP_ICM_INPUTCAMERA;カメラの標準的プロファイル -TP_ICM_INPUTCAMERAICC;カメラ固有のプロファイル +TP_ICM_INPUTCAMERAICC;カメラプロファイルの自動調和 TP_ICM_INPUTCAMERAICC_TOOLTIP;RawTherapeeが持っているカメラ固有のDCP或いはICCプロファイルを使用 シンプルなマトリクスより正確だが一部のカメラだけに利用可能 TP_ICM_INPUTCAMERA_TOOLTIP;dcrawのシンプルなカラー・マトリクス、RawTherapeeの拡張バージョン(カメラの機種によりどちらでも可能)またはDNGの埋め込みを使用 TP_ICM_INPUTCUSTOM;カスタム @@ -2232,27 +2521,72 @@ TP_ICM_INPUTEMBEDDED_TOOLTIP;raw以外のファイルに埋め込まれたカラ TP_ICM_INPUTNONE;プロファイルなし TP_ICM_INPUTNONE_TOOLTIP;すべてにカラープロファイルを使用しない 特殊な場合にのみ使用 TP_ICM_INPUTPROFILE;入力プロファイル -TP_ICM_LABEL;カラー・マネジメント +TP_ICM_LABEL;カラーマネジメント +TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +TP_ICM_NEUTRAL;リセット TP_ICM_NOICM;No ICM: sRGB 出力 TP_ICM_OUTPUTPROFILE;出力プロファイル -TP_ICM_PROFILEINTENT;目標とするレンダリング +TP_ICM_OUTPUTPROFILE_TOOLTIP;デフォルトでは、全てのRTv4或いはRTv2プロファイルでTRC - sRGB: ガンマ=2.4 勾配=12.92が適用されています\n\n'ICCプロファイルクリエーター'でv4或いはv2のプロファイルを以下の条件で作成出来ます;\n 原色: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n TRC: BT709, sRGB, 線形, 標準ガンマ=2.2, 標準ガンマ=1.8, カスタム\n 光源: D41, D50, D55, D60, D65, D80, stdA 2856K +TP_ICM_PRIMBLU_TOOLTIP;原色 ブルー:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +TP_ICM_PRIMGRE_TOOLTIP;原色 グリーン:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +TP_ICM_PRIMILLUM_TOOLTIP;画像を元のモード(“作業プロファイル”)から異なるモード(“変換先の原色”)に変えることが出来ます。画像に対し異なるカラーモードを選択すると、画像の色値を恒久的に変えることになります。\n\n‘原色’の変更は非常に複雑で、その使い方は非常に難しいものです。熟達した経験が必要です。\nチャンネルミキサーの原色のように、エキゾチックな色の調整が可能です。\nカスタム(スライダー)を使ってカメラのキャリブレーションを変えることが出来ます。 +TP_ICM_PRIMRED_TOOLTIP;原色 レッド:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 +TP_ICM_PROFILEINTENT;レンダリングの意図 +TP_ICM_REDFRAME;カスタム 原色 TP_ICM_SAVEREFERENCE;参照画像を保存 TP_ICM_SAVEREFERENCE_APPLYWB;ホワイトバランスを適用 TP_ICM_SAVEREFERENCE_APPLYWB_TOOLTIP;一般的に、ICCプロファイルを作成するための画像を保存する際に適用するホワイトバランスです、DCPプロファイルを作成する時は適用しません。 TP_ICM_SAVEREFERENCE_TOOLTIP;入力プロファイルが適用される前のリニアなTIFF画像を保存します。キャリブレーション目的やカメラプロファイルの作成などに使います。 -TP_ICM_TONECURVE;DCPトーンカーブ使用 -TP_ICM_TONECURVE_TOOLTIP;DCPのプロファイルに含まれているトーンカーブを使用することができます +TP_ICM_TONECURVE;トーンカーブ +TP_ICM_TONECURVE_TOOLTIP;DCPに埋め込まれているトーンカーブを適用します。但し、この設定は選択したDCPにトーンカーブが埋め込まれている場合だけです。 +TP_ICM_TRCFRAME;アブストラクトプロファイル +TP_ICM_TRCFRAME_TOOLTIP;このプロファイルは‘シンセティック’または‘バーチャル’プロファイルとしても知られ、処理工程の最後(CIECAMの前))に適用されるもので、独自の画像効果を作ることが出来ます\n以下の要素に変更を加えることが出来ます:\n 画像のトーンを変えられる‘トーンリプロダクションカーブ’\n 撮影条件に適合するようにプロファイルの原色を変更する‘光源’\n 主にチャンネルミキサー、キャリブレーションの2つを使って変換先の原色を変える‘変換先の原色’\n注意: アブストラクトプロファイルは組み込まれている作業プロファイルを考慮するだけで、作業プロファイルの変更は行いません。カスタム作業プロファイルでは動作しません +TP_ICM_TRC_TOOLTIP;RawTherapeeのデフォルトで使われている‘トーンリプロダクションカーブ(TRC)’(g=2.4、s=12.92)を変えることが出来ます。\nTRCは画像のトーンを変えます。RGB、L*a*b*の値、ヒストグラム、出力(スクリーン、TIF、JPEG)が変わります。\nガンマは主に明るいトーンを変え、勾配は暗いトーンを変えます。\nどの様な‘ガンマ’と‘勾配’が選択出来ます(但し、1より大きい値)。このアルゴリズムはカーブの線形部分と放物線部分の連続性を確保します。\n‘なし’以外の選択で、‘光源’と‘変換先の原色’の中の一覧が有効になります。 TP_ICM_WORKINGPROFILE;作業プロファイル -TP_ICM_WORKING_TRC;TRC: +TP_ICM_WORKING_CIEDIAG;CIE xy ダイヤグラム +TP_ICM_WORKING_ILLU;光源 +TP_ICM_WORKING_ILLU_1500;タングステン 1500K +TP_ICM_WORKING_ILLU_2000;タングステン 2000K +TP_ICM_WORKING_ILLU_D41;D41 +TP_ICM_WORKING_ILLU_D50;D50 +TP_ICM_WORKING_ILLU_D55;D55 +TP_ICM_WORKING_ILLU_D60;D60 +TP_ICM_WORKING_ILLU_D65;D65 +TP_ICM_WORKING_ILLU_D80;D80 +TP_ICM_WORKING_ILLU_D120;D120 +TP_ICM_WORKING_ILLU_NONE;デフォルト +TP_ICM_WORKING_ILLU_STDA;stdA 2875K +TP_ICM_WORKING_PRESER;パステルトーンを維持 +TP_ICM_WORKING_PRIM;変換先の原色 +TP_ICM_WORKING_PRIMFRAME_TOOLTIP;‘変換先の原色’のコンボボックスの中から‘カスタムCIE xyダイヤグラム’を選択すると、3つの原色がダイヤグラム上で変更可能となります。\n注意:この場合、ダイヤグラムのホワイトポイントの位置は更新されません。 +TP_ICM_WORKING_PRIM_AC0;ACESp0 +TP_ICM_WORKING_PRIM_ACE;ACESp1 +TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +TP_ICM_WORKING_PRIM_BET;Beta RGB +TP_ICM_WORKING_PRIM_BRU;BruceRGB +TP_ICM_WORKING_PRIM_BST;BestRGB +TP_ICM_WORKING_PRIM_CUS;カスタム(スライダー) +TP_ICM_WORKING_PRIM_CUSGR;カスタム(CIE xy ダイヤグラム) +TP_ICM_WORKING_PRIM_NONE;デフォルト +TP_ICM_WORKING_PRIM_PROP;ProPhoto +TP_ICM_WORKING_PRIM_REC;Rec2020 +TP_ICM_WORKING_PRIM_SRGB;sRGB +TP_ICM_WORKING_PRIM_WID;WideGamut +TP_ICM_WORKING_TRC;トーンリプロダクションカーブ: +TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +TP_ICM_WORKING_TRC_22;Adobe g=2.2 +TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 TP_ICM_WORKING_TRC_CUSTOM;カスタム TP_ICM_WORKING_TRC_GAMMA;ガンマ +TP_ICM_WORKING_TRC_LIN;リニア g=1 TP_ICM_WORKING_TRC_NONE;なし TP_ICM_WORKING_TRC_SLOPE;勾配 +TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 TP_ICM_WORKING_TRC_TOOLTIP;組み込まれたプロファイルだけ TP_IMPULSEDENOISE_LABEL;インパルスノイズ低減 TP_IMPULSEDENOISE_THRESH;しきい値 TP_LABCURVE_AVOIDCOLORSHIFT;色ずれを回避 -TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP;作業色空間の色域に色を合わせ、マンセル補正を適用します +TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP;作業色空間の色域に色を合わせ、マンセル補正を適用します(均等知覚色空間) TP_LABCURVE_BRIGHTNESS;明度 TP_LABCURVE_CHROMATICITY;色度 TP_LABCURVE_CHROMA_TOOLTIP;白黒トーンを適用するには、彩度を-100に設定します @@ -2285,7 +2619,7 @@ TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;色相に応じた輝度 L=f(H) TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;輝度に応じた輝度 L*a*b* L=f(L) TP_LABCURVE_LABEL;L*a*b* 調整 TP_LABCURVE_LCREDSK;LCの適用をレッドと肌色トーンだけに制限 -TP_LABCURVE_LCREDSK_TIP;有効の場合 LC カーブ(色度に応じた輝度)の適用は、レッドと肌色トーンだけ制限されます\n無効の場合は、すべてのトーンに適用されます +TP_LABCURVE_LCREDSK_TOOLTIP;有効の場合 LC カーブ(色度に応じた輝度)の適用は、レッドと肌色トーンだけ制限されます\n無効の場合は、すべてのトーンに適用されます TP_LABCURVE_RSTPROTECTION;レッドと肌色トーンを保護 TP_LABCURVE_RSTPRO_TOOLTIP;色度スライダーとCCカーブを使用することができます TP_LENSGEOM_AUTOCROP;自動的に切り抜き選択 @@ -2296,7 +2630,7 @@ TP_LENSGEOM_LOG;対数 TP_LENSPROFILE_CORRECTION_AUTOMATCH;自動で選択 TP_LENSPROFILE_CORRECTION_LCPFILE;LCPファイル TP_LENSPROFILE_CORRECTION_MANUAL;手動で選択 -TP_LENSPROFILE_LABEL;レンズ補正 プロファイル +TP_LENSPROFILE_LABEL;プロファイルされているレンズ補正 TP_LENSPROFILE_LENS_WARNING;注意:レンズプロファイルに使われるクロップファクターはカメラのクロップファクターより大きいので、誤った結果になる可能性があります。 TP_LENSPROFILE_MODE_HEADER;レンズプロファイル TP_LENSPROFILE_USE_CA;色収差 @@ -2309,133 +2643,178 @@ TP_LOCALCONTRAST_LABEL;ローカルコントラスト TP_LOCALCONTRAST_LIGHTNESS;明るい部分のレベル TP_LOCALCONTRAST_RADIUS;半径 TP_LOCALLAB_ACTIV;輝度だけ -TP_LOCALLAB_ADJ;イコライザ ブルー/イエロー レッド/グリーン -TP_LOCALLAB_ALL;全ての種類 +TP_LOCALLAB_ACTIVSPOT;RT-スポットを有効にする +TP_LOCALLAB_ADJ;イコライザ カラー TP_LOCALLAB_AMOUNT;量 TP_LOCALLAB_ARTIF;形状検出 -TP_LOCALLAB_ARTIF_TOOLTIP;色差の軽減を強めることで形状検出を向上させますが、形状の検出の範囲が狭まることがあります\n画像の形状のしきい値が画像のベタな部分のレベルを考慮します -TP_LOCALLAB_AUTOGRAY;自動 +TP_LOCALLAB_ARTIF_TOOLTIP;ΔE-スコープのしきい値:スコープを適用するΔEの幅が変わります。色域の広い画像には高いしきい値を使います。\nΔEの減衰:値を増やすと形状検出の質は向上しますが、スコープの範囲が狭くなります。 +TP_LOCALLAB_AUTOGRAY;自動平均輝度(Yb%) +TP_LOCALLAB_AUTOGRAYCIE;自動 TP_LOCALLAB_AVOID;色ずれの回避 -TP_LOCALLAB_BALAN;ΔEのバランス ab-L -TP_LOCALLAB_BALANEXP;ΔØ PDE バランス -TP_LOCALLAB_BALANH;ΔEのバランス C-H -TP_LOCALLAB_BALAN_TOOLTIP;色差のアルゴリズムのパラメータを変えます。\nab-L、C - Hを増減させます\nノイズ除去は変わりません +TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;作業色空間の色域に色を収め、マンセル補正を行います(均一的な知覚のLab)\nJz或いはCAM16が使われている場合は、マンセル補正が常に無効になります。 +TP_LOCALLAB_AVOIDMUN;マンセル補正だけ +TP_LOCALLAB_AVOIDMUN_TOOLTIP;Jz或いはCAM16が使われている場合は、マンセル補正が常に無効になります。 +TP_LOCALLAB_AVOIDRAD;ソフトな半径 +TP_LOCALLAB_BALAN;ab-Lのバランス(ΔE) +TP_LOCALLAB_BALANEXP;ラプラシアンのバランス +TP_LOCALLAB_BALANH;C-Hのバランス(ΔE) +TP_LOCALLAB_BALAN_TOOLTIP;ΔEのアルゴリズムのパラメータを変えます。\nL*a*b*の構成要素、或いはC、Hをある程度考慮します\nノイズ除去のバランスは変わりません TP_LOCALLAB_BASELOG;対数の基数 TP_LOCALLAB_BILATERAL;平滑化フィルタ TP_LOCALLAB_BLACK_EV;ブラックEv TP_LOCALLAB_BLCO;色度だけ TP_LOCALLAB_BLENDMASKCOL;ブレンド +TP_LOCALLAB_BLENDMASKMASK;マスクの輝度の加減 +TP_LOCALLAB_BLENDMASKMASKAB;マスクの色度の加減 +TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;スライダーの値が0の場合は作用しません\n元画像にマスクを追加したり、追加したマスクを削除します TP_LOCALLAB_BLENDMASK_TOOLTIP;ブレンド=0の場合は、形状検出だけが改善します\nブレンドが0より大きい場合は、画像にマスクが追加されます。 ブレンドが0より小さい場合は、画像からマスクが除かれます。 TP_LOCALLAB_BLGUID;ガイド付きフィルタ TP_LOCALLAB_BLINV;インバース TP_LOCALLAB_BLLC;輝度と色度 TP_LOCALLAB_BLLO;輝度だけ TP_LOCALLAB_BLMED;メディアン -TP_LOCALLAB_BLMETHOD_TOOLTIP;通常-全ての設定に対し、直接的なぼかしとノイズ\n反対‐スコープと拡張アルゴリズムを除いた設定で、ぼかしとノイズの反対処理\nシンメトリック‐全ての設定でぼかしとノイズの反対処理(予期せぬ結果になることが有り) -TP_LOCALLAB_BLNOI_EXP;ぼかし & ノイズ +TP_LOCALLAB_BLMETHOD_TOOLTIP;通常:全ての設定に対し、直接的なぼかしとノイズ処理\nインバース:ぼかしとノイズ処理\n注意:設定によっては予期しない結果になることがあります +TP_LOCALLAB_BLNOI_EXP;ぼかし & ノイズ除去 TP_LOCALLAB_BLNORM;通常 -TP_LOCALLAB_BLSYM;シンメトリック -TP_LOCALLAB_BLUFR;平滑化 - ぼかし - 質感 - ノイズ除去 -TP_LOCALLAB_BLUMETHOD_TOOLTIP;背景をぼかし、前景を分離するために:\n*RT-スポットが画像全体をカバーできるようにして(スコープと境界を高くする)背景をぼかします-通常或いはリバースモード\n*使用したい機能で一つ以上の除外RT-スポットを追加し(スコープを大きくします)、前景を分離します、マスクを使うことで効果を増幅出来ます -TP_LOCALLAB_BLUR;ガウスぼかし - ノイズ - ノイズ除去 -TP_LOCALLAB_BLURCBDL;ぼかしのレベル 0-1-2-3-4 -TP_LOCALLAB_BLURCOL;マスクぼかしの半径 +TP_LOCALLAB_BLUFR;ぼかし/質感とノイズ除去 +TP_LOCALLAB_BLUMETHOD_TOOLTIP;背景をぼかし、前景を区分けするために:\n画像全体をRT-スポットで完全に囲み(スコープと境界値は高くします)背景をぼかします-'通常’或いは’インバース’モードを選択します\n*一つ以上のRT-スポットで’除外’モードを使い、スコープ値を高くして前景を区分けします\n\nこの機能モジュール('メディアン’及び’ガイド付きフィルタ’を含む)は、メインのノイズ低減と併用できます。 +TP_LOCALLAB_BLUR;ガウスぼかし - ノイズ - 質感 +TP_LOCALLAB_BLURCOL;半径 +TP_LOCALLAB_BLURCOLDE_TOOLTIP;孤立したピクセルが計算に入るの避けるため、ΔEを計算するために使われる画像に少しぼかしをかけます TP_LOCALLAB_BLURDE;形状検出のぼかし TP_LOCALLAB_BLURLC;輝度だけ TP_LOCALLAB_BLURLEVELFRA;レベルのぼかし -TP_LOCALLAB_BLURMASK_TOOLTIP;コントラストのしきい値と構造を考慮したマスクぼかしのスライダーでぼかしマスクを生成します。 -TP_LOCALLAB_BLURRESIDFRA;残差のぼかし -TP_LOCALLAB_BLUR_TOOLNAME;平滑化ぼかし 質感 & ノイズ除去 - 1 -TP_LOCALLAB_BLWH;全ての変更を強制的に白黒にする -TP_LOCALLAB_BLWH_TOOLTIP;色の構成要素、"a"と"b"の値を強制的にゼロにします -TP_LOCALLAB_BUTTON_ADD;追加 +TP_LOCALLAB_BLURMASK_TOOLTIP;マスクを生成するために半径の大きなぼかしを使います。これにより画像のコントラストを変えたり、画像の一部を暗く、又は明るくすることが出来ます。 +TP_LOCALLAB_BLURRMASK_TOOLTIP;ガウスぼかしの’半径’を変えることが出来ます(0~1000) +TP_LOCALLAB_BLUR_TOOLNAME;ぼかし/質感 & ノイズ除去 +TP_LOCALLAB_BLWH;全ての変更を白黒画像で行う +TP_LOCALLAB_BLWH_TOOLTIP;色の構成要素、'a'と'b'の値を強制的にゼロにします。\n白黒、或いはフィルムシミュレーションの画像の処理に便利です。 +TP_LOCALLAB_BUTTON_ADD;作成/追加 TP_LOCALLAB_BUTTON_DEL;削除 TP_LOCALLAB_BUTTON_DUPL;複製 TP_LOCALLAB_BUTTON_REN;名前の変更 TP_LOCALLAB_BUTTON_VIS;表示/非表示 -TP_LOCALLAB_CBDL;詳細レベルによるコントラスト調整 - 不良の補正 -TP_LOCALLAB_CBDLCLARI_TOOLTIP;中間トーンを強化します -TP_LOCALLAB_CBDL_ADJ_TOOLTIP;ウェーブレット機能のように作用します\n最初のレベル(0)は2x2ピクセルで解析します\n最後のレベル(5)は64x64ピクセルで解析します +TP_LOCALLAB_BWFORCE;ブラックEvとホワイトEvを使う +TP_LOCALLAB_CAM16PQREMAP;HDR PQ(最大輝度) +TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;CAM16に適応したPQ (知覚量子化)。これによりPQの内部関数を変えることが出来ます(通常は10000カンデラ毎平方メートル - デフォルトは100カンデラ毎平方メートルですが無効になります\n異なるデバイスや画像を扱う場合に使えます。 +TP_LOCALLAB_CAM16_FRA;CAM16による画像の調整 +TP_LOCALLAB_CAMMODE;CAMのモデル +TP_LOCALLAB_CAMMODE_CAM16;CAM16 +TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +TP_LOCALLAB_CATAD;色順応 - Cat16 +TP_LOCALLAB_CBDL;詳細レベルによるコントラスト調整 +TP_LOCALLAB_CBDLCLARI_TOOLTIP;中間トーンのローカルコントラストを強化します +TP_LOCALLAB_CBDL_ADJ_TOOLTIP;ウェーブレットと同じです\n最初のレベル(0)は2x2ピクセルのディテールで解析します\n最後のレベル(5)は64x64ピクセルのディテールで解析します TP_LOCALLAB_CBDL_THRES_TOOLTIP;ノイズが先鋭化するのを避けます -TP_LOCALLAB_CBDL_TOOLNAME;詳細レベルによるコントラスト調整 (不良部分の補正) - 2 +TP_LOCALLAB_CBDL_TOOLNAME;詳細レベルによるコントラスト調整 TP_LOCALLAB_CENTER_X;センターX TP_LOCALLAB_CENTER_Y;センターY -TP_LOCALLAB_CH;カーブ CL - LC +TP_LOCALLAB_CH;CL - LC TP_LOCALLAB_CHROMA;色度 TP_LOCALLAB_CHROMABLU;色度のレベル -TP_LOCALLAB_CHROMABLU_TOOLTIP;輝度のスライダーと比べて増幅と減衰の作用の働きをします\n1以下で減衰、1以上で増幅の作用となります +TP_LOCALLAB_CHROMABLU_TOOLTIP;輝度の設定に応じて、効果を増やしたり減らしたりします\n設定値が1以下の場合は効果が減ります。1より大きいと効果が増えます TP_LOCALLAB_CHROMACBDL;色度 -TP_LOCALLAB_CHROMACB_TOOLTIP;輝度のスライダーと比べて増幅と減衰の作用の働きをします\n100以下で減衰、100以上で増幅の作用となります +TP_LOCALLAB_CHROMACB_TOOLTIP;輝度の設定に応じて、効果を増やしたり減らしたりします\n設定値が1以下の場合は効果が減ります。1より大きいと効果が増えます TP_LOCALLAB_CHROMALEV;色度のレベル -TP_LOCALLAB_CHROMASKCOL;色度のマスク +TP_LOCALLAB_CHROMASKCOL;色度 TP_LOCALLAB_CHROMASK_TOOLTIP;このスライダーを使って背景の彩度を下げることが出来ます(インバースマスクで言う0に近いカーブ).\n色度に対するマスクの作用を強めることも出来ます。 +TP_LOCALLAB_CHROML;色度 (C) TP_LOCALLAB_CHRRT;色度 -TP_LOCALLAB_CIRCRADIUS;スポットサイズ -TP_LOCALLAB_CIRCRAD_TOOLTIP;RT-スポットの参考値を含んでいるので、形状検出(色相、輝度、色度、Sobel)に有利です\n小さい値は花びらの補正などに便利です\n大きな値は肌などの補正に便利です +TP_LOCALLAB_CIE;色の見えモデル(CAM16とJzCzHz) +TP_LOCALLAB_CIEC;色の見えモデルの環境変数を使う +TP_LOCALLAB_CIECAMLOG_TOOLTIP;このモジュールはCIE色の見えモデルをベースにしています。このモデルは異なる光源の下で人の目が知覚する色を真似るものです。\n最初の処理は’場面条件’で対数符号化によって実行されます。この際、撮影時の’絶対輝度’が使われます。\n次の処理は単純化した’画像の調整’で3つに絞り込んだ変数(ローカルコントラスト、コントラストJ、彩度S)を使います。\n3つ目の処理は’観視条件’で出力画像を見る条件(モニター、TV、プロジェクター、プリンターなどのこと)を考慮します。この処理により表示媒体に関わらず同じ画像の色やコントラストを維持します。 +TP_LOCALLAB_CIECOLORFRA;色 +TP_LOCALLAB_CIECONTFRA;コントラスト +TP_LOCALLAB_CIELIGHTCONTFRA;明るさとコントラスト +TP_LOCALLAB_CIELIGHTFRA;明度 +TP_LOCALLAB_CIEMODE;処理過程の位置の変更 +TP_LOCALLAB_CIEMODE_COM;デフォルト +TP_LOCALLAB_CIEMODE_DR;ダイナミックレンジ +TP_LOCALLAB_CIEMODE_TM;トーンマッピング +TP_LOCALLAB_CIEMODE_TOOLTIP;デフォルトではCIECAMが処理過程の最後になっています。"マスクと修正領域"と"輝度マスクをベースにした回復"は"CAM16 + JzCzHz"で使えます。\n好みに併せて他の機能(トーンマッピング、ダイナミックレンジ圧縮、対数符号化)にCIECAMを統合することも出来ます。調整結果はCIECAMを統合しなかった場合と異なります。このモードでは"マスクと修正領域"と"輝度マスクをベースにした回復"が使えます。 +TP_LOCALLAB_CIEMODE_WAV;ウェーブレット +TP_LOCALLAB_CIETOOLEXP;カーブ +TP_LOCALLAB_CIE_TOOLNAME;色の見えモデル(CAM16とJzCzHz) +TP_LOCALLAB_CIRCRADIUS;スポットの中心の大きさ +TP_LOCALLAB_CIRCRAD_TOOLTIP;この円内の情報がRT-スポットの編集の基準値となります。色相、輝度、色度、Sobelの形状検出に使います。\n小さい半径は花の色などの補正に。\n大きな半径は肌などの補正に適しています。 TP_LOCALLAB_CLARICRES;色度を融合 -TP_LOCALLAB_CLARIFRA;明瞭とシャープマスク - ブレンド & ソフトイメージ +TP_LOCALLAB_CLARIFRA;明瞭とシャープマスク/ブレンド & ソフトイメージ +TP_LOCALLAB_CLARIJZ_TOOLTIP;レベル0から4まではシャープマスクが働きます\nレベル5以上では明瞭が働きます TP_LOCALLAB_CLARILRES;輝度の融合 TP_LOCALLAB_CLARISOFT;ソフトな半径 -TP_LOCALLAB_CLARISOFT_TOOLTIP;輝度の融合が0以外の場合に明瞭とシャープマスクが有効となります。\n\nウェーブレットピラミッドモジュールの全てが有効となります\nソフトな半径が0の場合は無効となります +TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;‘ソフトな半径’のスライダー (ガイド付きフィルタのアルゴリズム) は、明瞭、シャープマスク、Jzのローカルコントラスト(ウェーブレット)に関連するハロやアーティファクトを軽減するために使います。 +TP_LOCALLAB_CLARISOFT_TOOLTIP;'ソフトな半径’のスライダーは(ガイド付きフィルタのアルゴリズム)、明瞭とシャープマスク、及び全てのウェーブレットピラミッドの処理に起因するハロと不規則性を軽減します。作用を無効にするには値を0にします。 TP_LOCALLAB_CLARITYML;明瞭 -TP_LOCALLAB_CLARI_TOOLTIP;ウェーブレットのレベルが4以下の場合は、’シャープマスク’が有効となります。\n5以上のレベルでは’明瞭化’が有効となります。 +TP_LOCALLAB_CLARI_TOOLTIP;'シャープマスク’はレベル0~4で有効です。\n’明瞭’はレベル5以上で有効です。\n'レベルのダイナミックレンジ圧縮’を利用する場合に役立ちます。 TP_LOCALLAB_CLIPTM;復元されたデータの切り取り(ゲイン) -TP_LOCALLAB_COFR;色と明るさ - 小さな不良 -TP_LOCALLAB_COLORDE;プレビューのカラー選択 ΔE - 強さ +TP_LOCALLAB_COFR;色と明るさ +TP_LOCALLAB_COLORDE;ΔEのプレビューカラー - 強さ TP_LOCALLAB_COLORDEPREV_TOOLTIP;有効になっている機能が1つだけの時は、設定のパネル(拡張する)のΔEのプレビューボタンを使います。\n複数の機能が有効になっている時は、各機能に備わっているマスクと調節の中のΔEのプレビューを使います。 -TP_LOCALLAB_COLORDE_TOOLTIP;設定値がマイナスの場合は色差(ΔE)のプレビューの色をブルーで表示、プラスの場合はグリーンで表示\n\nマスクと調節(マスクなしで調節を表示):プラスであれば、実際の変更を表示、マイナスであれば、強化した調節(輝度のみ)をブルーとイエローで表示 +TP_LOCALLAB_COLORDE_TOOLTIP;設定値がマイナスの場合は色差(ΔE)のプレビューの色をブルーで表示、プラスの場合はグリーンで表示\n\nマスクと調節(マスクなしで変更された領域を表示):プラスであれば、実際の変更を表示、マイナスであれば、強化された変更(輝度のみ)をブルーとイエローで表示 TP_LOCALLAB_COLORSCOPE;カラー機能のスコープ -TP_LOCALLAB_COLORSCOPE_TOOLTIP;色と明るさ、露光補正(標準)、シャドウ/ハイライト、自然な彩度は共通したスコープを使います。\n他の機能に関しては、それぞれ特定のスコープを使います。 -TP_LOCALLAB_COLOR_TOOLNAME;色&&明るさ (不良部分の補正) - 11 +TP_LOCALLAB_COLORSCOPE_TOOLTIP;色と明るさ、露光補正(標準)、シャドウ/ハイライト、自然な彩度の機能にはこのスコープを使います。\n他の機能に関しては、それぞれのモジュールに属しているスコープを使います。 +TP_LOCALLAB_COLOR_CIE;カラーカーブ +TP_LOCALLAB_COLOR_TOOLNAME;色と明るさ TP_LOCALLAB_COL_NAME;名前 TP_LOCALLAB_COL_VIS;ステータス TP_LOCALLAB_COMPFRA;詳細レベルの方向によるコントラスト -TP_LOCALLAB_COMPFRAME_TOOLTIP;特殊な効果を付けるために使います。アーティファクトを軽減するためには'明瞭 & シャープマスク、ブレンド & ソフトイメージ'を使います\n処理時間が大きく増えます -TP_LOCALLAB_COMPLEX_METHOD;ソフトウェアの複雑度 -TP_LOCALLAB_COMPLEX_TOOLTIP; ローカル調整の扱いの複雑度を選択出来ます -TP_LOCALLAB_COMPREFRA;ウェーブレットを使ったレベルのダイナミックレンジ(非)圧縮 -TP_LOCALLAB_COMPRESS_TOOLTIP;アーティファクトを軽減するため必要に応じて'明瞭 & シャープマスク、ブレンド & ソフトイメージ'の'ソフトな半径'使います -TP_LOCALLAB_CONTCOL;マスクぼかしのコントラストしきい値 +TP_LOCALLAB_COMPREFRA;ウェーブレットのレベルを使ったトーンマッピング +TP_LOCALLAB_CONTCOL;コントラストしきい値 TP_LOCALLAB_CONTFRA;レベルによるコントラスト調整 TP_LOCALLAB_CONTRAST;コントラスト -TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;メインのマスクのコントラストをコントロール +TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;マスクのコントラストを自由に変更できますが、アーティファクトが発生するかもしれません。 TP_LOCALLAB_CONTRESID;コントラスト +TP_LOCALLAB_CONTTHMASK_TOOLTIP;質感をベースに、画像のどの部分に影響を与えるか決定出来ます TP_LOCALLAB_CONTTHR;コントラストのしきい値 -TP_LOCALLAB_CSTHRESHOLD;Ψ ウェーブレットのレベル -TP_LOCALLAB_CSTHRESHOLDBLUR;Ψ ウェーブレットレベルのマスク -TP_LOCALLAB_CURV;明るさ - コントラスト - 色度 "強力" +TP_LOCALLAB_CONTWFRA;ローカルコントラスト +TP_LOCALLAB_CSTHRESHOLD;ウェーブレットのレベル +TP_LOCALLAB_CSTHRESHOLDBLUR;ウェーブレットのレベルの選択 +TP_LOCALLAB_CURV;明度 - コントラスト - 色度 "強力" TP_LOCALLAB_CURVCURR;通常 -TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;カーブが最上部に位置している時は、マスクが完全に黒く表示され、マスクの作用がない状態\nカーブを下に下げるにつれ、マスクの色が変わり、合わせて画像の状態も変わる -TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;使うためには'カーブを有効にする'に✔を入れる +TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;カーブが最上部に位置している時は、マスクは黒一色で、画像は変化しません\nカーブを下げると、徐々にマスクに彩りが現れて明るくなり、 画像が漸進的に変化します\n\n必須ではありませんが、カーブの頂点をRT-スポットの色度、輝度、色相の基準値を示しているグレーの境界線に来るように位置することを奨めます +TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;カーブが最上部に位置している時は、マスクは黒一色で、画像は変化しません\nカーブを下げると、徐々にマスクに彩りが現れて明るくなり、 画像が漸進的に変化します\n\n必須ではありませんが、カーブの頂点をRT-スポットの色度、輝度、色相の基準値を示しているグレーの境界線に来るように位置することを奨めます +TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;カーブを有効にするには、’カーブのタイプ’のコンボボックスから’標準’を選びます TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;トーンカーブ TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), 色と明るさでL(H)との併用可 -TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'通常', L=f(L)カーブはスライダーと同じアルゴリズムを使っています\n'強力' L=f(L)カーブで作用を強めた新しいアルゴリズムを使っていますが、場合によってアーティファクトが出ることがあります -TP_LOCALLAB_CURVENCONTRAST;強力+コントラストのしきい値(試験的) -TP_LOCALLAB_CURVENH;強力 -TP_LOCALLAB_CURVENHSU;色相と色度の組み合わせ(試験的) -TP_LOCALLAB_CURVENSOB2;色相と色度の組み合わせ+コントラストのしきい値(試験的) +TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'通常', L=f(L)カーブは明るさのスライダーと同じアルゴリズムを使っています +TP_LOCALLAB_CURVES_CIE;トーンカーブ TP_LOCALLAB_CURVNONE;カーブを無効 TP_LOCALLAB_DARKRETI;暗さ TP_LOCALLAB_DEHAFRA;霞除去 TP_LOCALLAB_DEHAZ;強さ +TP_LOCALLAB_DEHAZFRAME_TOOLTIP;大気に起因する霞を除去します。全体の彩度とディテールが向上します\n色被りも除去できますが、青味がかかることがあるので、その場合は別な機能で補正します TP_LOCALLAB_DEHAZ_TOOLTIP;マイナス値にすると霞が増えます -TP_LOCALLAB_DELTAD;色差のバランス +TP_LOCALLAB_DELTAD;デルタバランス TP_LOCALLAB_DELTAEC;ΔE画像のマスク -TP_LOCALLAB_DENOIS;Ψ ノイズ除去 +TP_LOCALLAB_DENOI1_EXP;輝度マスクをベースにしたノイズ除去 +TP_LOCALLAB_DENOI2_EXP;輝度マスクをベースにした詳細の復元 +TP_LOCALLAB_DENOIBILAT_TOOLTIP;インパルスノイズ、或いは‘ソルト & ペッパー’ノイズを軽減します +TP_LOCALLAB_DENOICHROC_TOOLTIP;ブロッチノイズとパケットノイズを処理します +TP_LOCALLAB_DENOICHRODET_TOOLTIP;漸進的にフーリエ変換(離散コサイン変換)を適用することで、ディテールの色度を回復します +TP_LOCALLAB_DENOICHROF_TOOLTIP;小さいディテールの色ノイズを調整します +TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;ブルー/イエロー、或いはレッド/グリーンの補色次元で色ノイズを軽減します +TP_LOCALLAB_DENOIEQUAL_TOOLTIP;シャドウ、或いはハイライト部分で、ある程度ノイズ低減を実行出来ます +TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;漸進的にフーリエ変換(離散コサイン変換)を適用することで、輝度のディテールを回復します +TP_LOCALLAB_DENOIMASK;色ノイズのマスク +TP_LOCALLAB_DENOIMASK_TOOLTIP;全ての機能でマスクの色ノイズの程度を加減することが出来ます。\nLC(h)カーブを使う際、アーティファクトを避けたり、色度をコントロールするのに便利です。 +TP_LOCALLAB_DENOIQUA_TOOLTIP;’控え目’なモードでは、低周波ノイズは除去されません。’積極的’なモードは低周波ノイズも除去します。\n’控え目’も’積極的’も、ウェーブレットとDCTを使いますが、’輝度のノンローカルミーン’を併用することも出来ます。 +TP_LOCALLAB_DENOITHR_TOOLTIP;均一及び低コントラスト部分のノイズを減らす補助としてエッジ検出を調整します TP_LOCALLAB_DENOI_EXP;ノイズ除去 -TP_LOCALLAB_DENOI_TOOLTIP;このモジュール(処理工程の後の方に位置)だけで使うことも、メインのノイズ低減(処理工程の最初の方に位置)と併用することも出来ます\nスコープは色(ΔE)に応じてノイズ除去の作用に違いを持たせます。\n”メディアン”と”ガイド付きフィルタ”(平滑化ぼかし)も使えば、ノイズ除去のパフォーマンスが良くなります。\n”レベルのぼかし”や”ウェーブレットピラミッド”の併用で更にノイズ除去のパフォーマンスが上がります。 +TP_LOCALLAB_DENOI_TOOLTIP;このモジュールは単独のノイズ低減機能(処理工程の最後の方に位置)として、或いはメインのディテールタブに付属するノイズ低減(処理工程の最初の方に位置)の追加機能として使うことが出来ます。\n色(ΔE)を基本に、スコープを使って作用に差を付けることが出来ます。\n但し、RT-スポットは最低128x128の大きさの必要です TP_LOCALLAB_DEPTH;深度 TP_LOCALLAB_DETAIL;ローカルコントラスト +TP_LOCALLAB_DETAILFRA;エッジ検出 - DCT TP_LOCALLAB_DETAILSH;ディテール -TP_LOCALLAB_DETAILTHR;細部の色の明るさのしきい値 (DCT) +TP_LOCALLAB_DETAILTHR;輝度と色の詳細のしきい値 +TP_LOCALLAB_DIVGR;ガンマ TP_LOCALLAB_DUPLSPOTNAME;コピー TP_LOCALLAB_EDGFRA;エッジシャープネス -TP_LOCALLAB_EDGSHOW;全ての機能を表示 +TP_LOCALLAB_EDGSHOW;設定機能を全て表示 TP_LOCALLAB_ELI;楕円 TP_LOCALLAB_ENABLE_AFTER_MASK;トーンマッピングを使う TP_LOCALLAB_ENABLE_MASK;マスクを有効にする TP_LOCALLAB_ENABLE_MASKAFT;露光補正の全てのアルゴリズムを使う -TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;元のデータの代わりに透過マップを使った後は、有効にしたマスクは保持されているデータを使います。 +TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;元のデータの代わりに透過マップを使った後は、有効にしたマスクは修復されたデータを使います。 TP_LOCALLAB_ENH;強化 TP_LOCALLAB_ENHDEN;強化 + 色ノイズの軽減 TP_LOCALLAB_EPSBL;ディテール @@ -2448,163 +2827,285 @@ TP_LOCALLAB_EV_NVIS_ALL;全て非表示 TP_LOCALLAB_EV_VIS;表示 TP_LOCALLAB_EV_VIS_ALL;全て表示 TP_LOCALLAB_EXCLUF;除外 -TP_LOCALLAB_EXCLUF_TOOLTIP;スコープを動かして色を拡張するような場合、データの一部を除外する場合に使います\nRT-スポットに対する全ての設定で適用できます。 +TP_LOCALLAB_EXCLUF_TOOLTIP;’除外’モードはRT-スポットの中に編集の影響を受けたくない部分がある場合、別なRT-スポットで除外モードを選択し、その部分の編集効果を無効にします。’スコープ’を使えば影響を無効にする範囲を調整出来ます\n除外スポットに別な機能を追加することが出来るので、通常スポットの様に使うことも可能です(目標とする効果を無効にして、別な機能の効果を出すような場合) TP_LOCALLAB_EXCLUTYPE;スポットのタイプ -TP_LOCALLAB_EXCLUTYPE_TOOLTIP;通常方式は、スポットのデータを繰り返して使います\n例外方式は元のデータに戻して使う方式です +TP_LOCALLAB_EXCLUTYPE_TOOLTIP;通常スポットが使う情報は再帰的になります。\n\n除外スポットはローカル調整のデータを再初期化します。\nそれまでの作用を一部、或いは全てキャンセルするために使います。或いは、インバースモードで動作を実行するために使います。\n\n’画像全体’はローカル編集の機能を画像全体で使うためのモードです。\nRT-スポットのフレーム(外枠)がプレビュー画像の外側に自動で設定されます。\n’境界の階調調節’の境界値が自動で100に設定されます。\n注意1:目標とする調整に応じて、RT-スポットの中心円の位置や大きさを変えます。\n注意2:このスポットタイプでノイズ除去やウェーブレット、或いは高速フーリエ変換を使う場合はメモリー消費量が非常に大きくなります。PCのスペックが低いとプログラムがクラッシュすることがあります。 TP_LOCALLAB_EXECLU;除外スポット +TP_LOCALLAB_EXFULL;画像全体 TP_LOCALLAB_EXNORM;通常スポット -TP_LOCALLAB_EXPCBDL_TOOLTIP;センサーの汚れに起因する不良で、それらが画像の大切な部分にある、或いは複数個所にそれらある場合\n\na) RT-スポットをその部分に作成(必要であれば大きさを調節); b) または複数個所をカバーするスポットを作成; c) 比較的大きな境界の調整を設定; d) レベル3と4のスライダー、場合によっては2の値も100以下にします。必要に応じて色度のスライダーも使います。 +TP_LOCALLAB_EXPCBDL_TOOLTIP;センサーやレンズの汚れ跡を、それに該当する詳細レベルのコントラストを減らすことで除去します。 TP_LOCALLAB_EXPCHROMA;色度の補間 -TP_LOCALLAB_EXPCHROMA_TOOLTIP;この機能は露光量補正とPDE IPOLだけに関わります\n色が褪せるのを避けます -TP_LOCALLAB_EXPCOLOR_TOOLTIP;不良個所か小さい場合:\n\n赤目 : 中心円を赤い部分に合わせ、RT-スポットの範囲を眼の大きさ程度にします。スコープの値を小さくし、"明るさ" -100, "色" -100にします\n\n赤外線センサーのスポット:中心円を不良個所に合わせます、 RT-スポットの範囲はデフォルトに近い大きさで構いません - "色"を減らし、場合によっては"スコープ"を使って作用の及ぶ範囲を調節します\n\nセンサーの汚れ(小):中心円を不良部分に合わせます(スポットサイズも調整します)、RT-スポットの範囲が不良個所にあまり近づかないようにします(境界部分が目立たないようにする) a) "境界の調節"は小さくします; b) "輝度"、場合によっては"色" を使って不良個所のレンダリングを正常な部分のレンダリングに近づけます; c) "スコープ"を適度に使って作用の及ぶ範囲を調節します -TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;ウェーブレットのレベル或いはノイズ除去の説明を参照して下さい。\n但し、幾つか変更されている部分もあります:より多くの機能がノイズ除去に関する詳細が多くなっています。\nウェーブレットのレベルのトーンマッピング -TP_LOCALLAB_EXPCONTRAST_TOOLTIP;大きさが50x50ピクセルより小さいスポットを使うのは避けます\n代わりに、境界値を低く、境界の減衰値とスコープ値を高く設定して小さなRT-スポットを真似ます\nアーティストを軽減するために、必要であれば’ソフトな半径’を調整しながら’明瞭 & シャープマスクとイメージのブレンド’モジュールを使います +TP_LOCALLAB_EXPCHROMA_TOOLTIP;色が褪せるのを避けるため、’露光量補正 ƒ’と’コントラストの減衰 ƒ’と関連付けて使います。 +TP_LOCALLAB_EXPCOLOR_TOOLTIP;色、明度、コントラストの調整に使います。赤目やセンサーの汚れに起因する不良の補正にも使えます。 +TP_LOCALLAB_EXPCOMP;露光量補正 ƒ +TP_LOCALLAB_EXPCOMPINV;露光量補正 +TP_LOCALLAB_EXPCOMP_TOOLTIP;ポートレート或いは色の階調が少ない画像の場合、’設定’の’形状検出’を調整します:\n\n’ΔEスコープのしきい値’を増やします\n’ΔEの減衰’を減らします\n’バランス ab-L(ΔE)'を増やします +TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;RawPediaの'ウェーブレットのレベル’を参照して下さい。\nローカル編集のウェーブレットのレベルは異なる部分が幾つかあります:各ディテールのレベルに対する調整機能がより多く、多様性が増します。\n例、ウェーブレットのレベルのトーンマッピングです。 +TP_LOCALLAB_EXPCONTRAST_TOOLTIP;あまりに小さいRT-スポットの設定は避けます(少なくとも32x32ピクセル以上)。\n低い’境界値’と高い’境界の減衰’値、及び’スコープ’値を使い、小さいRT-スポットを真似て欠陥部分を補正します。\nアーティファクトを軽減するために、必要に応じて’ソフトな半径’を調整して ’明瞭とシャープマスク’、’ファイルの融合’を使います。 TP_LOCALLAB_EXPCURV;カーブ TP_LOCALLAB_EXPGRAD;階調フィルタ -TP_LOCALLAB_EXPLAPBAL_TOOLTIP;元画像とラプラス変換の間のバランスをとります -TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;ラプラス変換の適用前後でガンマを適用します -TP_LOCALLAB_EXPLAPLIN_TOOLTIP;ラプラス変換の適用前に、露光補正の線形要素を追加します -TP_LOCALLAB_EXPLAP_TOOLTIP;しきい値のスライダーを増やすほど、コントラストの減衰作用が強くなります -TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;画像を融合するために複数の機能が使えます(Photoshopのレイヤーのように):差分、積算、ソフトライト、オーバーレイ+不透明度。。。\n元画像 : 現在のRT-スポットを元画像と融合.\n前のスポット : 現在のRT-スポットを前のRT-スポットと融合 – スポットが一つだけの場合は元画像との融合になります\n背景:現在のRT-スポットを背景の色と輝度と融合します -TP_LOCALLAB_EXPMETHOD_TOOLTIP;標準:メインの露光補正と類似したアルゴリズムを使いますが、 L*a*b*で作業するため色差を考慮します\n\nラプラスとポアソン方程式:色差を考慮する別なアルゴリズムですが、フーリエ空間でのラプラスの欠点を解決すためポアソン方程式(PDE)を使います\nPDEを使ったアルゴリズムは結果が大きく異なるため、標準とは異なる設定が必要でしょう\n露出不足の画像に有効かもしれません\nPDEはアーティファクトとノイズを軽減します -TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;アーティファクト(ノイズ)の発生を避けるため、ラプラス変換の前にメディアンを適用します -TP_LOCALLAB_EXPOSE;露光補正-PDEアルゴリズム -TP_LOCALLAB_EXPOSURE_TOOLTIP;シャドウ部分が強いような場合は、”シャドウ/ハイライト”のモジュールが使えます +TP_LOCALLAB_EXPGRADCOL_TOOLTIP;階調フィルタは’色と明るさ’の輝度、色度、色相の階調と、ファイルの融合、'露光補正'の輝度の階調、、'露光補正マスク'の輝度の階調、'シャドウ/ハイライト'の輝度の階調、'自然な彩度'の輝度、色度、色相の階調、’ローカルコントラスト&ウェーブレットピラミッド’のローカルコントラストの階調で使えます。\nフェザー処理は’設定’の中にあります。 +TP_LOCALLAB_EXPLAPBAL_TOOLTIP;変化させた画像と元の画像のブレンドを変えます +TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;ラプラス変換前後にガンマカーブを加えて、コントラストが過剰な、或いは不足した画像を修正します +TP_LOCALLAB_EXPLAPLIN_TOOLTIP;ラプラス変換を適用する前に、線形要素を加え、露出不足の画像を修正します +TP_LOCALLAB_EXPLAP_TOOLTIP;スライダーを右に移動すると漸進的にコントラストが減少します +TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;不透明度のコントロールで、GIMPやPhotoshop(C)の、Difference, Multiply, Soft Light, Overlayなどのレイヤー融合モードが使えます。\n元画像:現在のRT-スポットと元画像の融合\n前のRT-スポット:現在のRT-スポットと前のRT-スポットを融合(但し、前のスポットがある場合に限る、ない場合は元画像と融合)\n背景:現在のRT-スポットと背景の色と輝度を融合 +TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;アーティファクト(ノイズ)の発生を避けるため、ラプラス変換の前にメディアンフィルタを適用します +TP_LOCALLAB_EXPOSE;ダイナミックレンジ & 露光補正 +TP_LOCALLAB_EXPOSURE_TOOLTIP;シャドウ部分が強いような場合は、’シャドウ/ハイライト’のモジュールが使えます TP_LOCALLAB_EXPRETITOOLS;高度なレティネックス機能 TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-スポットの大きさが最低でも39x39ピクセル必要です\nスポットが小さい場合は、低い境界値、高い減衰値、高いスコープ値を設定します TP_LOCALLAB_EXPTOOL;露光補正の機能 -TP_LOCALLAB_EXPTRC;トーンリプロダクションカーブ - TRC -TP_LOCALLAB_EXP_TOOLNAME;露光補正 - ダイナミックレンジ圧縮 - 10 +TP_LOCALLAB_EXP_TOOLNAME;ダイナミックレンジ & 露光補正 TP_LOCALLAB_FATAMOUNT;量 TP_LOCALLAB_FATANCHOR;アンカー -TP_LOCALLAB_FATANCHORA;オフセット TP_LOCALLAB_FATDETAIL;ディテール -TP_LOCALLAB_FATFRA;ダイナミックレンジ圧縮 f -TP_LOCALLAB_FATFRAME_TOOLTIP;ここではFattalトーンマッピングアルゴリズムを使います\nアンカーで画像の露出不足・過多に応じた選択が出来ます\n現在のスポットに近く、マスクを使用する2番目のスポットの輝度を増やすのに便利です +TP_LOCALLAB_FATFRA;ダイナミックレンジ圧縮 ƒ +TP_LOCALLAB_FATFRAME_TOOLTIP;ここではFattalのトーンマッピングアルゴリズムを使います\nアンカーで画像の露出不足・過多に応じた選択が出来ます\n現在のスポットに近く、マスクを使用する2番目のスポットの輝度を増やすのに便利です TP_LOCALLAB_FATLEVEL;シグマ -TP_LOCALLAB_FATRES;残差画像の量 -TP_LOCALLAB_FATSHFRA;マスクのダイナミックレンジ圧縮のマスク f -TP_LOCALLAB_FEATH_TOOLTIP;スポットの対角線に対する減光フィルタの幅の割合\n.. -TP_LOCALLAB_FEATVALUE;フェザー処理(階調フィルタ) -TP_LOCALLAB_FFTCOL_MASK;FFTW f -TP_LOCALLAB_FFTW;f 高速フーリエ変換を使う -TP_LOCALLAB_FFTW2;f 高速フーリエ変換を使う(TIF, JPG,..) +TP_LOCALLAB_FATSHFRA;マスクのダイナミックレンジ圧縮のマスク ƒ +TP_LOCALLAB_FEATH_TOOLTIP;RT-スポットの対角線の長さに対する諧調幅の割合で作用します\nこれは階調フィルタを備えているモジュール全てに共通です\n但し、フェザー処理が働くのは、階調フィルタの中で一つ以上の調整が行われている場合だけです +TP_LOCALLAB_FEATVALUE;フェザー処理 +TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +TP_LOCALLAB_FFTMASK_TOOLTIP;質を高めるためにフーリエ変換を使います(但し、処理時間とメモリー消費が増えます) +TP_LOCALLAB_FFTW;ƒ 高速フーリエ変換を使う TP_LOCALLAB_FFTWBLUR;ƒ - 常に高速フーリエ変換を使う -TP_LOCALLAB_FULLIMAGE;画像全体のブラックEvとホワイトEvを計算 +TP_LOCALLAB_FULLIMAGE;画像全体のブラックEvとホワイトEv +TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;画像全体のEvレベルを計算します TP_LOCALLAB_GAM;ガンマ +TP_LOCALLAB_GAMC;ガンマ +TP_LOCALLAB_GAMCOL_TOOLTIP;L*a*b*の輝度値にガンマを適用します\nガンマが3.0の場合は、"線形"の輝度が使われます。 +TP_LOCALLAB_GAMC_TOOLTIP;プラミッド1と2による処理の前後で、L*a*b*の輝度値にガンマを適用します\nガンマが3.0の場合は、"線形"の輝度が使われます。 TP_LOCALLAB_GAMFRA;トーンリプロダクションカーブ(TRC) TP_LOCALLAB_GAMM;ガンマ -TP_LOCALLAB_GAMMASKCOL;ガンマのマスク +TP_LOCALLAB_GAMMASKCOL;ガンマ +TP_LOCALLAB_GAMMASK_TOOLTIP;ガンマとスロープを調整すると、不連続になるのを避けるために’L’が徐々に変わるため、アーティファクトを発生させずにマスクの修正が出来ます TP_LOCALLAB_GAMSH;ガンマ +TP_LOCALLAB_GAMW;ガンマ(ウェーブレットピラミッド) TP_LOCALLAB_GRADANG;階調フィルタの角度 TP_LOCALLAB_GRADANG_TOOLTIP;-180度から+180度の間で角度を調整 -TP_LOCALLAB_GRADFRA;階調フィルタ -TP_LOCALLAB_GRADGEN_TOOLTIP;階調フィルタの機能は”色と明るさ”と、”露光”、”シャドウ/ハイライト”、”自然な彩度”に備わっています\n\n自然な彩度、色と明るさには輝度、色調、色相の階調フィルタが使えます\nフェザー処理は設定の中にあります -TP_LOCALLAB_GRADLOGFRA;階調フィルタ 輝度 +TP_LOCALLAB_GRADFRA;階調フィルタのマスク +TP_LOCALLAB_GRADGEN_TOOLTIP;階調フィルタの機能は’色と明るさ’と、’露光’、'シャドウ/ハイライト”、’自然な彩度’に備わっています\n\n自然な彩度、色と明るさには輝度、色調、色相の階調フィルタが使えます\nフェザー処理は設定の中にあります +TP_LOCALLAB_GRADLOGFRA;輝度の階調フィルタ TP_LOCALLAB_GRADSTR;階調フィルタ 強さ TP_LOCALLAB_GRADSTRAB_TOOLTIP;色度の階調の強さを調整します -TP_LOCALLAB_GRADSTRCHRO;色調の階調の強さ -TP_LOCALLAB_GRADSTRHUE;色相の階調の強さ(融合されたファイル) +TP_LOCALLAB_GRADSTRCHRO;色度の階調の強さ +TP_LOCALLAB_GRADSTRHUE;色相の階調の強さ TP_LOCALLAB_GRADSTRHUE2;色相の階調の強さ TP_LOCALLAB_GRADSTRHUE_TOOLTIP;色相の階調の強さを調整します TP_LOCALLAB_GRADSTRLUM;輝度の階調の強さ -TP_LOCALLAB_GRADSTR_TOOLTIP;露出度の階調の強さを調整します TP_LOCALLAB_GRAINFRA;フィルムの質感 1:1 -TP_LOCALLAB_GRALWFRA;階調フィルタ ローカルコントラスト -TP_LOCALLAB_GRIDFRAME_TOOLTIP;スポットは均一な画像部分にある方が望ましいです\n\n通常モードの場合だけに使えます。融合された背景による色相、彩度、色、輝度が関係します。 +TP_LOCALLAB_GRAINFRA2;粗い +TP_LOCALLAB_GRAIN_TOOLTIP;画像にフィルムのような質感を加えます +TP_LOCALLAB_GRALWFRA;階調フィルタ(ローカルコントラスト) +TP_LOCALLAB_GRIDFRAME_TOOLTIP;このツールはブラシとして使うことが出来ます。小さいRT-スポットと低い‘境界値’、‘境界値の減衰’を設定します。\n‘標準’モードだけで使います。融合する背景(ΔE)に関係するのは色相、彩度、色、輝度です。 +TP_LOCALLAB_GRIDMETH_TOOLTIP;カラートーン調整:色が変わる際に輝度を考慮します。グリッド上の’白い点’は0の位置、’黒い点’だけを移動した場合は、H=f(H)と同じ効果です。両方の点を移動した場合に’カラートーン調整’の効果になります。\n\n直接:色度に直接作用します。 TP_LOCALLAB_GRIDONE;カラートーン調整 TP_LOCALLAB_GRIDTWO;直接 TP_LOCALLAB_GUIDBL;ソフトな半径 +TP_LOCALLAB_GUIDBL_TOOLTIP;半径を変えられるガイド付きフィルタを適用します。アーティファクトを軽減したり、画像にぼかしを掛けたり出来ます。 +TP_LOCALLAB_GUIDEPSBL_TOOLTIP;ガイド付きフィルタの配分機能を変化させます。マイナス値の設定はガウスぼかしに似た効果となります TP_LOCALLAB_GUIDFILTER;ガイド付きフィルタの半径 -TP_LOCALLAB_GUIDFILTER_TOOLTIP;画像に応じて値を決めます - 画像が霞んでいなければ値を低く取ります +TP_LOCALLAB_GUIDFILTER_TOOLTIP;アーティファクトが減ったり、増えたりします +TP_LOCALLAB_GUIDSTRBL_TOOLTIP;ガイド付きフィルタの強さ TP_LOCALLAB_HHMASK_TOOLTIP;例えば肌の微妙な色相調整に使います -TP_LOCALLAB_HIGHMASKCOL;ハイライトマスク -TP_LOCALLAB_HLH;カーブ H +TP_LOCALLAB_HIGHMASKCOL;ハイライト +TP_LOCALLAB_HLH;H +TP_LOCALLAB_HUECIE;色相 TP_LOCALLAB_IND;独立 (マウス) TP_LOCALLAB_INDSL;独立 (マウス + スライダー) -TP_LOCALLAB_INVERS;反対 -TP_LOCALLAB_INVERS_TOOLTIP;反対を選択すると調整の多様性が失われます\n\n代わりの方法\n初めのスポット:\n画像全体 –境界線をプレビュー画像の外側にセットします\n スポットの形状は矩形、境界値は100\n\n2番目のスポットを作成し除外スポットにします -TP_LOCALLAB_ISOGR;粗さ (ISO) -TP_LOCALLAB_LABBLURM;マスクぼかし -TP_LOCALLAB_LABEL;ローカル調整 +TP_LOCALLAB_INVBL;インバース +TP_LOCALLAB_INVBL_TOOLTIP;‘インバース’モードに代わる方法:2つのスポットを使う\n初めのスポット:\nタイプは画像全体にします。\n\n2番目のRT-スポット:除外スポットを使います。 +TP_LOCALLAB_INVERS;インバース +TP_LOCALLAB_INVERS_TOOLTIP;インバースを選択すると使える機能の数が少なくなります。\n\n代わりの方法:2つのRT-スポットを使います\n初めのスポット:\nタイプは画像全体にします。\n\n2番目のRT-スポット:除外スポットを使います。 +TP_LOCALLAB_INVMASK;インバースアルゴリズム +TP_LOCALLAB_ISOGR;配分(ISO) +TP_LOCALLAB_JAB;ブラックEvとホワイトEvを使う +TP_LOCALLAB_JABADAP_TOOLTIP;PU(均一的知覚)の順応\n"絶対輝度"を考慮したJzと彩度の関係を自動的に調整します +TP_LOCALLAB_JZ100;Jzの基準値 100カンデラ +TP_LOCALLAB_JZ100_TOOLTIP;100カンデラ毎平方メートルでのJzの基準値(画像シグナル)を自動で調整します。\n彩度の値と“PU 順応” (均一的な知覚の順応)が変わります。 +TP_LOCALLAB_JZADAP;PU-順応 +TP_LOCALLAB_JZCH;色度 +TP_LOCALLAB_JZCHROM;色度 +TP_LOCALLAB_JZCLARICRES;色度Czを融合 +TP_LOCALLAB_JZCLARILRES;Jzを融合 +TP_LOCALLAB_JZCONT;コントラスト +TP_LOCALLAB_JZFORCE;強制的にJzを1にする +TP_LOCALLAB_JZFORCE_TOOLTIP;スライダーやカーブの応答を改善するために、Jzの最大値を強制的に1にします。 +TP_LOCALLAB_JZFRA;Jz Cz Hzによる画像調整 +TP_LOCALLAB_JZHFRA;Hzカーブ +TP_LOCALLAB_JZHJZFRA;Jz(Hz)カーブ +TP_LOCALLAB_JZHUECIE;色相の回転 +TP_LOCALLAB_JZLIGHT;明るさ +TP_LOCALLAB_JZLOG;対数符号化 Jz +TP_LOCALLAB_JZLOGWBS_TOOLTIP;対数符号化を使うかシグモイドを使うかでブラックEvとホワイトEvの調整が異なる場合があります\nシグモイドの場合、ハイライト、コントラスト、彩度の良好なレンダリングを得るために、ホワイトEvの調整(多くの場合、増やす方向)が必要になることがあります +TP_LOCALLAB_JZLOGWB_TOOLTIP;自動を有効にすると、スポット内のEvレベルと'平均輝度 Yb%'が計算されて調整されます。計算結果は"対数符号化 Jz"を含む、全てのJzの働きに使われます。\nまた、撮影時の絶対輝度が計算されます。 +TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Ybは背景の平均輝度を指し、グレーの割合(%)で表します。グレー18%は背景のCIE Labの輝度値が50%であることと同じです。\nデータは画像の平均輝度に基づいています\n対数符号化が使われている場合は、対数符号化が行われる前に適用するゲインの量を決めるために平均輝度が使われます。平均輝度の値が低い程、ゲインが増えます。 +TP_LOCALLAB_JZMODECAM_TOOLTIP;Jzが使えるのは機能水準が'高度'な場合だけです。Jzが機能するのは出力デバイス(モニター)がHDRの場合だけです(最大出力輝度が100カンデラ毎平方メートル以上、理想的には4000から10000カンデラ毎平方メートル、ブラックポイントが0.005カンデラ毎平方メートル以下のモニターです)。ここで想定されるのは、a)モニターのICCのプロファイル接続色空間でJzazbz (或いはXYZ)が使える、b)実数精度で作業出来る、c)モニターがキャリブレートされている(出来れば、DCI-P3、或いはRec-2020の色域で)、d) 通常のガンマ(sRGB、或いはBT709)が知覚量子化の関数で置き換えられる、ことです。 +TP_LOCALLAB_JZPQFRA;Jz 再マッピング +TP_LOCALLAB_JZPQFRA_TOOLTIP;Jzのアルゴリズムを以下の様にSDR(標準ダイナミックレンジ)の環境、或いはHDR(ハイダイナミックレンジ)の環境の特性に対して適応させることが出来ます:\n a) 輝度値が0から100カンデラ毎平方メートルの間では、システムがSDRであるように作用する\n b) 輝度値が100から10000カンデラ毎平方メートルの間では、画像とモニターのHDR特性にJzのアルゴリズムを適応させる。\n\n“PQ - 最大輝度P”を10000カンデラ毎平方メートルに設定すると、“Jzの再マッピング”がJzazbzのオリジナルアルゴリズムの特性を示します。 +TP_LOCALLAB_JZPQREMAP;PQ - 最大輝度 +TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (知覚量子化) - PQの内部関数を変えることが出来ます。デフォルトでは120カンデラ毎平方メートルが設定されていますが、一般的な10000カンデラ毎平方メートルに変えられます。\n異なる画像、処理、デバイスに適応させるために使います。 +TP_LOCALLAB_JZQTOJ;相対輝度 +TP_LOCALLAB_JZQTOJ_TOOLTIP;"絶対輝度"の代わりに"相対輝度"が使えるようになります - 明るさが明度で表現されるようになります。\n変更により、明るさとコントラストのスライダー、及びJz(Jz)カーブが影響を受けます。 +TP_LOCALLAB_JZSAT;彩度 +TP_LOCALLAB_JZSHFRA;Jz シャドウ/ハイライト +TP_LOCALLAB_JZSOFTCIE;ソフトな半径(ガイド付きフィルタ) +TP_LOCALLAB_JZSTRSOFTCIE;ガイド付きフィルタの強さ +TP_LOCALLAB_JZTARGET_EV;観視の平均輝度(Yb%) +TP_LOCALLAB_JZTHRHCIE;Jz(Hz)の色度のしきい値 +TP_LOCALLAB_JZWAVEXP;Jz ウェーブレット +TP_LOCALLAB_LABBLURM;マスクのぼかし +TP_LOCALLAB_LABEL;ローカル編集 TP_LOCALLAB_LABGRID;カラー補正グリッド TP_LOCALLAB_LABGRIDMERG;背景 TP_LOCALLAB_LABGRID_VALUES;高(a)=%1 高(b)=%2\n低(a)=%3 低(b)=%4 -TP_LOCALLAB_LABSTRUM;マスクの構造 -TP_LOCALLAB_LAPLACC;ΔØ ラプラシアンマスク PDEの境界条件あり -TP_LOCALLAB_LAPLACE;Δ ラプラシアンのしきい値 ΔE -TP_LOCALLAB_LAPLACEXP;Δ ラプラシアンのしきい値 -TP_LOCALLAB_LAPMASKCOL;Δ ラプラシアンのしきい値マスク -TP_LOCALLAB_LAPRAD_TOOLTIP;半径とラプラス変換のしきい値を同時に使うことを避けます。 +TP_LOCALLAB_LABSTRUM;構造マスク +TP_LOCALLAB_LAPLACC;ΔØ マスク ラプラス変換 PDEの境界条件あり +TP_LOCALLAB_LAPLACE;ラプラス変換のしきい値 ΔE +TP_LOCALLAB_LAPLACEXP;ラプラス変換のしきい値 +TP_LOCALLAB_LAPMASKCOL;ラプラス変換のしきい値 +TP_LOCALLAB_LAPRAD1_TOOLTIP;明るい領域の輝度値を上げることでマスクのコントラストを増やします。 +TP_LOCALLAB_LAPRAD2_TOOLTIP;スムーズな半径はアーティファクトを軽減し、境界を滑らかにするためにガイド付きフィルタを使います。 +TP_LOCALLAB_LAPRAD_TOOLTIP;スムーズな半径はガイド付きフィルタを使ってアーティファクトを減らし、境界をスムーズにします。 TP_LOCALLAB_LAP_MASK_TOOLTIP;全てのラプラシアンマスクのポアソン方程式の解を求めます\nラプラシアンのしきい値マスクを有効にするとアーティファクトが軽減され、スムーズな効果が得られます\n無効の場合は線形的な応答となります -TP_LOCALLAB_LC_FFTW_TOOLTIP;高速フーリエ変換は画像の質を改善し、大きな半径を使えるようにします\n処理する領域の大きさに応じて処理時間が増えます\n大きな半径で使うことを奨めます\n\nFFTWの最適化を図るために領域を数ピクセル削ります -TP_LOCALLAB_LC_TOOLNAME;ローカルコントラスト & ウェーブレット (不良部分の補正) - 7 +TP_LOCALLAB_LC_FFTW_TOOLTIP;高速フーリエ変換を使うと質が向上し、大きな半径も使えますが、処理時間が増えます(処理する領域次第で)。大きい半径を使う時だけに使う方がいいでしょう。FFTWの最適化を図るため、処理する領域が数ピクセルほど小さくなります。これだけで、処理の効率がが1.5倍~10倍良くなります。 +TP_LOCALLAB_LC_TOOLNAME;ローカルコントラスト & ウェーブレット TP_LOCALLAB_LEVELBLUR;ぼかしを施すレベルの最大値 -TP_LOCALLAB_LEVELLOCCONTRAST_TOOLTIP;横軸はローカルコントラスト(輝度に近い)を表し、縦軸はローカルコントラストの増減を表します -TP_LOCALLAB_LEVELWAV;Ψ ウェーブレットのレベル -TP_LOCALLAB_LEVELWAV_TOOLTIP;詳細レベルの数はスポットとプレビューのサイズに応じて自動で決まります\n最大512ピクセルで解析するレベル8から最大4ピクセルで解析するレベル1まで -TP_LOCALLAB_LIGHTNESS;明るさ -TP_LOCALLAB_LIGHTN_TOOLTIP;反対モードで明るさを-100にすると輝度が0になります -TP_LOCALLAB_LIGHTRETI;明るさ +TP_LOCALLAB_LEVELWAV;ウェーブレットのレベル +TP_LOCALLAB_LEVELWAV_TOOLTIP;詳細レベルの番手はスポットとプレビューのサイズに応じて自動で決まります\n最大512ピクセルで解析するレベル9から最大4ピクセルで解析するレベル1まで +TP_LOCALLAB_LEVFRA;レベル +TP_LOCALLAB_LIGHTNESS;明度 +TP_LOCALLAB_LIGHTN_TOOLTIP;インバースモードにして、スコープを高く(75以上)、明度を-100にして色度を下げると、境界の外側の輝度が0になります。 +TP_LOCALLAB_LIGHTRETI;明度 TP_LOCALLAB_LINEAR;線形性 TP_LOCALLAB_LIST_NAME;現在のスポットに機能を追加 -TP_LOCALLAB_LIST_TOOLTIP;機能を選んだ後、その複雑度、”通常”或いは”エキスパート”を選択します\n付随する番号は各RT-スポットの処理の中の機能がある場所をしましています +TP_LOCALLAB_LIST_TOOLTIP;RT-スポットで使う機能をこの中から選択します。\n表示された機能の右側のコンボボックスから、機能の水準(基本、標準、高度)を選びます。デフォルトでは基本を表示するように設定されていますが、環境設定で変更出来ます\n機能の水準は、編集中でも変えることも出来ます TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;選択したウェーブレットのレベルによって、中間トーンとハイライトへの作用を優先します -TP_LOCALLAB_LMASK_LL_TOOLTIP;中間トーンとハイライトへの作用を優先します +TP_LOCALLAB_LMASK_LL_TOOLTIP;マスクのコントラストを自由に変えられます。但し、アーティファクトが発生するかもしれません TP_LOCALLAB_LOCCONT;アンシャープマスク -TP_LOCALLAB_LOC_CONTRAST;ローカルコントラスト-ウェーブレット-欠損/汚れの補正 -TP_LOCALLAB_LOC_CONTRASTPYR;Ψ ピラミッド1: -TP_LOCALLAB_LOC_CONTRASTPYR2;Ψ ピラミッド2: -TP_LOCALLAB_LOC_CONTRASTPYR2LAB;レベルによるコントラスト調整- トーンマッピング(s) -TP_LOCALLAB_LOC_CONTRASTPYRLAB;階調フィルタ - エッジシャープネス - ぼかし +TP_LOCALLAB_LOC_CONTRAST;ローカルコントラスト & ウェーブレット +TP_LOCALLAB_LOC_CONTRASTPYR;ピラミッド1: +TP_LOCALLAB_LOC_CONTRASTPYR2;ピラミッド2: +TP_LOCALLAB_LOC_CONTRASTPYR2LAB;レベルによるコントラスト調整/トーンマッピング/方向によるコントラスト +TP_LOCALLAB_LOC_CONTRASTPYRLAB;階調フィルタ/エッジシャープネス/ぼかし TP_LOCALLAB_LOC_RESIDPYR;残差画像 メイン TP_LOCALLAB_LOG;対数符号化 +TP_LOCALLAB_LOG1FRA;CAM16による画像の調整 +TP_LOCALLAB_LOG2FRA;観視条件 TP_LOCALLAB_LOGAUTO;自動 -TP_LOCALLAB_LOGAUTO_TOOLTIP;このボタンを押すことで、ダイナミックレンジとグレーポイントの源泉の推定値が得られます(グレーポイントの源泉で"自動"が有効になっている場合)\n自動計算による値を仕上げるためには、もう一度ボタンを押します -TP_LOCALLAB_LOGBASE_TOOLTIP;デフォルト値は2です\n2以下にするとアルゴリズムの作用が減少します。シャドウ部分がより暗く、ハイライト部分がより明るくなります\n2以上にするとアルゴリズムの作用が変わります。シャドウ部分は灰色がかり、ハイライト部分の色がさめた印象になります -TP_LOCALLAB_LOGBLACKWHEV_TOOLTIP;ダイナミックレンジの推定値 - ブラックEvとホワイトEv -TP_LOCALLAB_LOGENCOD_TOOLTIP;対数符号化(ACES)を使ってトーンマッピングを行います\n露出不足やハイダイナミックレンジの画像の補正に便利です\n\n処理は : 1) ダイナミックレンジを計算、2) 好みに応じて調節 -TP_LOCALLAB_LOGFRA;グレーポイントの源泉 -TP_LOCALLAB_LOGFRAME_TOOLTIP;処理の初期段階で画像の露光レベルを計算する、或いはそのまま使用します:\n前者はブラックEv, ホワイトEv、グレーポイントの源泉から計算\n後者はメインの露光量補正の値を使います +TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;場面条件の’平均輝度’を自動で計算します。 +TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;相対的な露光レベルの中の’自動’ボタンを押すと、撮影画像の環境に関する平均輝度が自動的に計算されます。 +TP_LOCALLAB_LOGAUTO_TOOLTIP;'自動平均輝度(Yb%)'のオプションが有効になっている時に、このボタンを押すと撮影画像の環境に関する’ダイナミックレンジ’と’平均輝度’が計算されます。\nまた、撮影時の絶対輝度も計算されます。\n再度ボタンを押すと自動的にこれら値が調整されます。 +TP_LOCALLAB_LOGBASE_TOOLTIP;デフォルト値は2です\n2以下ではアルゴリズムの働きが弱まり、シャドウ部分が暗く、ハイライト部分が明るくなります\n2より大きい場合は、シャドウ部分が濃いグレーに変わり、ハイライト部分は白っぽくなります +TP_LOCALLAB_LOGCATAD_TOOLTIP;色順応とは時空環境に応じて色を認識する能力です。\n光源がD50から大きく外れている場合のホワイトバランス調整に有用です\nこの機能で、出力デバイスの光源の下で同じ色になるように近づけます。 +TP_LOCALLAB_LOGCIE;シグモイドの代わりに対数符号化を使う +TP_LOCALLAB_LOGCIE_TOOLTIP;対数符号化Qを使うトーンマッピングでは、ブラックEvとホワイトEvの調節、場面条件の平均輝度と観視条件の平均輝度(Y%)の調整が出来ます。 +TP_LOCALLAB_LOGCOLORFL;鮮やかさ (M) +TP_LOCALLAB_LOGCOLORF_TOOLTIP;グレーに対して知覚される色相の量のことです。\n色刺激が多かれ少なかれ色付いて見えることの指標です。 +TP_LOCALLAB_LOGCONQL;コントラスト (Q) +TP_LOCALLAB_LOGCONTHRES;コントラストのしきい値(J & Q) +TP_LOCALLAB_LOGCONTL;コントラスト (J) +TP_LOCALLAB_LOGCONTL_TOOLTIP;CIECAM16のコントラストJは輝度により変わる彩色の増加を計算に入れます。 +TP_LOCALLAB_LOGCONTQ_TOOLTIP;CIECAM16のコントラストQはその明るさで知覚する彩色の増加を計算に入れます。 +TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;明度Jと明るさQの中間トーンのコントラストを調節します。\n正の値ではJとQのコントラストスライダーの効果が徐々に減少し、負の値では効果が徐々に増加します。 +TP_LOCALLAB_LOGDETAIL_TOOLTIP;主に高周波に作用します。 +TP_LOCALLAB_LOGENCOD_TOOLTIP;対数符号化(ACES)を使ったトーンマッピング\n露光不足或いはハイダイナミックレンジ画像の処理に使います\n\n2段階の処理です : 1)ダイナミックレンジの算出、2)手動による調整 +TP_LOCALLAB_LOGEXP;全ての機能 +TP_LOCALLAB_LOGFRA;場面条件 +TP_LOCALLAB_LOGFRAME_TOOLTIP;RT-スポットに関する露出のレベルと’平均輝度 Yb%'(グレーポイントの情報源)を計算し調整します。結果は全てのLab関連処理と殆どのRGB関連処理に使われます。\nまた、場面の絶対輝度も考慮します。 +TP_LOCALLAB_LOGIMAGE_TOOLTIP;対応する色の見えモデルの変数(例えば、コントラストJと彩度S、及び機能水準が高度な場合の、コントラストQ、明るさQ、明度J、鮮やかさM)を考慮します。 +TP_LOCALLAB_LOGLIGHTL;明度 (J) +TP_LOCALLAB_LOGLIGHTL_TOOLTIP;L*a*b*の明度に近いものですが、知覚される彩色の増加を考慮ています。 +TP_LOCALLAB_LOGLIGHTQ;明るさ (Q) +TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;その色刺激から発せられる知覚された光の量を意味します。\nその色刺激の明るさの多寡の指標です。 TP_LOCALLAB_LOGLIN;対数モード TP_LOCALLAB_LOGPFRA;相対的な露光レベル -TP_LOCALLAB_LOGSRCGREY_TOOLTIP;画像のグレーポイントの推定値、処理行程の前の方 -TP_LOCALLAB_LOGTARGGREY_TOOLTIP;好みに合わせて適用する値を変えられます -TP_LOCALLAB_LOG_TOOLNAME;対数符号化 - 0 -TP_LOCALLAB_LUM;カーブ LL - CC +TP_LOCALLAB_LOGREPART;全体の強さ +TP_LOCALLAB_LOGREPART_TOOLTIP;元画像と比べた対数符号化した画像の強さを調整します。\n色の見えモデルの構成要素には影響しません。 +TP_LOCALLAB_LOGSATURL_TOOLTIP;色の見えモデル16の彩度Sは、物体自身が持つ明るさに関した色刺激の色に該当します\n主に、中間トーンからハイライトにかけて作用します。 +TP_LOCALLAB_LOGSCENE_TOOLTIP;場面条件に該当します。 +TP_LOCALLAB_LOGSURSOUR_TOOLTIP;場面条件を考慮して明暗と色を調整します。\n\n平均: 平均的な光の環境(標準)。画像は変わりません。\n\n薄暗い: 薄暗い環境。画像が少し明るくなります。\n\n暗い: 暗い環境。画像がより明るくなります。 +TP_LOCALLAB_LOGVIEWING_TOOLTIP;最終画像を見る周囲環境同様、それを見る媒体(モニター、TV、プロジェクター、プリンターなど)に対応します。 +TP_LOCALLAB_LOG_TOOLNAME;対数符号化 +TP_LOCALLAB_LUM;LL - CC TP_LOCALLAB_LUMADARKEST;最も暗い部分 -TP_LOCALLAB_LUMASK;マスクの背景輝度 -TP_LOCALLAB_LUMASK_TOOLTIP;マスクの表示(マスクと調節)で、背景のグレーを調節します +TP_LOCALLAB_LUMASK;マスクの背景色と輝度 +TP_LOCALLAB_LUMASK_TOOLTIP;マスクの表示(マスクと修正領域)で、背景のグレーを調節します TP_LOCALLAB_LUMAWHITESEST;最も明るい部分 -TP_LOCALLAB_LUMONLY;輝度だけ -TP_LOCALLAB_MASFRAME;マスクと融合 -TP_LOCALLAB_MASFRAME_TOOLTIP;全てのマスクに共通する\nガンマ、スロープ、色度、コントラストカーブ、詳細レベルのコントラストカーブのマスクが使われる時は、選択領域のレタッチを避けるために色差イメージを考慮する。 -TP_LOCALLAB_MASK;マスク -TP_LOCALLAB_MASK2;コントラストカーブのマスク -TP_LOCALLAB_MASKCOL;カーブマスク -TP_LOCALLAB_MASKH;色相のカーブマスク -TP_LOCALLAB_MASK_TOOLTIP;使いたい一つの機能で複数のマスクを有効に出来ますが、そのためには別の機能を有効にする必要があります(但し、その機能自体を使う必要はありません、例えば、スライダーが0でも構いません)\nこの特性を有するマスクには’+’のマークがあります\n追加的な機能を持つマスクには’*’のマークが付いています\n数字が示すのはマスクの使用の順番です\n\nインバースマスクがある機能に関するマスクは組み合わせることが可能です\nこの場合、マスクに関連する新しい機能はインバースの中で選択します;その機能を使う際は値を非常に小さくしなければなりません(例えば、露光0.01) -TP_LOCALLAB_MED;中間 +TP_LOCALLAB_LUMFRA;L*a*b* 標準 +TP_LOCALLAB_MASFRAME;マスクと融合に関する設定 +TP_LOCALLAB_MASFRAME_TOOLTIP;これは全てのマスクに共通します\n以下のマスク機能が使われた時に目標とする領域が変化するのを避けるためにΔE画像を考慮します:ガンマ、スロープ、色度、コントラストカーブ(ウェーブレットのレベル)、ぼかしマスク、構造のマスク(有効になっている場合)\nこの機能はインバースモードでは無効になります +TP_LOCALLAB_MASK;カーブ +TP_LOCALLAB_MASK2;コントラストカーブ +TP_LOCALLAB_MASKCOM;共通のカラーマスク +TP_LOCALLAB_MASKCOM_TOOLNAME;共通のカラーマスク +TP_LOCALLAB_MASKCOM_TOOLTIP;このマスクは全ての機能で使えます。カラースコープを考慮します。\nこのマスクは’色と明るさ’や’露光補正’などに備わったその機能を補間するためのマスクとは異なります +TP_LOCALLAB_MASKCURVE_TOOLTIP;デフォルトでは3つのカーブは1(最大値)にセットされています:\n C=f(C)は色度に応じて色度が変わるカーブです。より適切な目標範囲を定めるために色度を減らします。このカーブをゼロ近くに設定すれば(Cの最大値を少し低くするだけでカーブは有効になります)、インバースモードを使って背景色の彩度を下げることが出来ます。\n L=f(L)は輝度を使ってより適切な目標範囲を定めるためのカーブです。\n L and C = f(H)は色相を使ってより適切な目標範囲を定めるためのカーブです。 +TP_LOCALLAB_MASKDDECAY;減衰の強さ +TP_LOCALLAB_MASKDECAY_TOOLTIP;マスクのグレーレベルの減衰の度合いをコントロールします\n 1は線形で減衰、 1より大きい場合はパラボリック、1より小さい場合はより緩やかな減衰になります +TP_LOCALLAB_MASKDEINV_TOOLTIP;マスクを解析するアルゴリズムが反対の作用になります\n ✔を入れると暗い部分と非常に明るい部分が減ります +TP_LOCALLAB_MASKDE_TOOLTIP;'マスクと修正領域'のL(L)やLC(H)マスクに内包されている輝度の情報をベースに、ノイズ除去を目的として使います。\n この機能を使うためにはL(L)やLC(H)のマスクを有効にする必要があります。\n マスクが'暗い'しきい値より暗い場合は、ノイズ除去が漸進的に作用します\n マスクが'明るい'しきい値より明るい場合は、ノイズ除去が漸進的に作用します\n マスクの明るさが2つのしきい値の間になっている場合は、グレー領域の'輝度ノイズ除去'、或いは'色ノイズ除去'を使ってない限り、ノイズ除去を除く画像の設定が維持されます +TP_LOCALLAB_MASKGF_TOOLTIP;'マスクと修正領域'のL(L)やLC(H)マスクに内包されている輝度の情報をベースに、ガイド付きフィルタを目的として使います。\n この機能を使うためにはL(L)やLC(H)のマスクを有効にする必要があります。\n マスクが'暗い'しきい値より暗い場合は、階調調整が漸進的に作用します\n マスクが'明るい'しきい値より明るい場合は、ガイド付きフィルタが漸進的に作用します\n マスクの明るさが2つのしきい値の間になっている場合は、ガイド付きフィルタを除いた画像の設定が維持されます +TP_LOCALLAB_MASKH;色相のカーブ +TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;このしきい値より明るい部分では、”CBDL(輝度のみ)”のパラメータが調整を行う前の元の状態に漸進的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク'、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で'ロック式カラーピッカー'を使い、どの部分が影響を受けているか見極めます。但し、'設定'の'マスクと融合'の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;このしきい値より明るい部分では、画像の調整パラメータが調整を行う前の元の状態に斬新的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク'、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で'ロック式カラーピッカー'を使い、どの部分が影響を受けているか見極めます。但し、'設定'の'マスクと融合'の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP;しきい値をホワイト値最大(マスクで定義された)で0%に設定すると、ノイズ除去は100%から漸進的に減少します。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク'、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で'ロック式カラーピッカー'を使い、どの部分が影響を受けているか見極めます。但し、'設定'の'マスクと融合'の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;このしきい値より明るい部分では、画像の調整パラメータが調整を行う前の元の状態に斬新的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク'、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で'ロック式カラーピッカー'を使い、どの部分が影響を受けているか見極めます。但し、'設定'の'マスクと融合'の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;このしきい値より明るい部分では、画像の調整パラメータが調整を行う前の元の状態に斬新的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク'、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で'ロック式カラーピッカー'を使い、どの部分が影響を受けているか見極めます。但し、'設定'の'マスクと融合'の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;このしきい値より明るい部分では、”レティネックス(輝度のみ)”のパラメータが調整を行う前の元の状態に漸進的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク'、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で'ロック式カラーピッカー'を使い、どの部分が影響を受けているか見極めます。但し、'設定'の'マスクと融合'の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;このしきい値より明るい部分では、画像の調整パラメータが調整を行う前の元の状態に斬新的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク'、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で'ロック式カラーピッカー'を使い、どの部分が影響を受けているか見極めます。但し、'設定'の'マスクと融合'の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;このしきい値より明るい部分では、画像が“トーンマッピング”の調整を行う前の元の状態に斬新的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク'、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で'ロック式カラーピッカー'を使い、どの部分が影響を受けているか見極めます。但し、'設定'の'マスクと融合'の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;このしきい値より明るい部分では、画像の調整パラメータが調整を行う前の元の状態に斬新的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク'、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で'ロック式カラーピッカー'を使い、どの部分が影響を受けているか見極めます。但し、'設定'の'マスクと融合'の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;このしきい値より明るい部分では、画像の調整パラメータが調整を行う前の元の状態に斬新的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク'、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で'ロック式カラーピッカー'を使い、どの部分が影響を受けているか見極めます。但し、'設定'の'マスクと融合'の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKHIGTHRES_TOOLTIP;しきい値をホワイト値最大(マスクで定義された)で0%に設定すると、ガイド付きフィルタは100%から漸進的に減少します。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク'、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で'ロック式カラーピッカー'を使い、どの部分が影響を受けているか見極めます。但し、'設定'の'マスクと融合'の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKLCTHR;明るい領域の輝度のしきい値 +TP_LOCALLAB_MASKLCTHR2;明るい領域の輝度のしきい値 +TP_LOCALLAB_MASKLCTHRLOW;暗い領域の輝度のしきい値 +TP_LOCALLAB_MASKLCTHRLOW2;暗い領域の輝度のしきい値 +TP_LOCALLAB_MASKLCTHRMID;グレー領域の輝度ノイズ除去 +TP_LOCALLAB_MASKLCTHRMIDCH;グレー領域の色ノイズ除去 +TP_LOCALLAB_MASKLC_TOOLTIP;'マスクと修正領域'のL(L)やLC(H)マスクに内包されている輝度の情報をベースに、ノイズ除去を目的として使います。\nこの機能を使うためにはL(L)やLC(H)のマスクを有効にする必要があります。\n'暗い部分と明るい部分のノイズ除去強化'のスライダーの値が1より大きい場合、'暗い領域の輝度のしきい値'で設定されたしきい値を0%、最も暗い値(マスクによって定義される)を100%として、ノイズ除去が漸進的に増加します。\n明るい部分では、'明るい領域の輝度のしきい値'で設定されたしきい値を0%、最も明るい値(マスクによって定義される)を100%として、ノイズ除去が漸進的に減衰します。\n2つのしきい値の間の部分では、ノイズ除去の設定はマスクによる影響を受けません。 +TP_LOCALLAB_MASKLNOISELOW;暗い部分と明るい部分のノイズ除去強化 +TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;このしきい値より明るい部分では、画像が'CBDL(輝度のみ)'のパラメータ調整を行う前の元の状態に漸進的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で“ロック式カラーピッカー”を使い、どの部分が影響を受けているか見極めます。但し、“設定”の“マスクと融合”の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;このしきい値より暗い部分では、画像の調整パラメータが調整を行う前の元の状態に斬新的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で“ロック式カラーピッカー”を使い、どの部分が影響を受けているか見極めます。但し、“設定”の“マスクと融合”の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;しきい値をホワイト値最大(マスクで定義された)で0%に設定すると、ノイズ除去は100%から漸進的に増加します。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で“ロック式カラーピッカー”を使い、どの部分が影響を受けているか見極めます。但し、“設定”の“マスクと融合”の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;このしきい値より暗い部分では、画像の調整パラメータが調整を行う前の元の状態に斬新的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で“ロック式カラーピッカー”を使い、どの部分が影響を受けているか見極めます。但し、“設定”の“マスクと融合”の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;このしきい値より暗い部分では、画像の調整パラメータが調整を行う前の元の状態に斬新的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で“ロック式カラーピッカー”を使い、どの部分が影響を受けているか見極めます。但し、“設定”の“マスクと融合”の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;このしきい値より明るい部分では、画像が'レティネックス'(輝度のみ)のパラメータ調整を行う前の元の状態に漸進的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で“ロック式カラーピッカー”を使い、どの部分が影響を受けているか見極めます。但し、“設定”の“マスクと融合”の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;このしきい値より暗い部分では、画像の調整パラメータが調整を行う前の元の状態に斬新的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で“ロック式カラーピッカー”を使い、どの部分が影響を受けているか見極めます。但し、“設定”の“マスクと融合”の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;このしきい値より暗い部分では、画像の調整パラメータが調整を行う前の元の状態に斬新的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で“ロック式カラーピッカー”を使い、どの部分が影響を受けているか見極めます。但し、“設定”の“マスクと融合”の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;このしきい値より暗い部分では、画像の調整パラメータが調整を行う前の元の状態に斬新的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で“ロック式カラーピッカー”を使い、どの部分が影響を受けているか見極めます。但し、“設定”の“マスクと融合”の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;このしきい値より暗い部分では、画像の調整パラメータが調整を行う前の元の状態に斬新的に復元されます。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で“ロック式カラーピッカー”を使い、どの部分が影響を受けているか見極めます。但し、“設定”の“マスクと融合”の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;しきい値をホワイト値最大(マスクで定義された)で0%に設定すると、ガイド付きフィルタは100%から漸進的に増加します。\n 'マスクと修正領域'の中の機能('構造のマスク'、'ぼかしのマスク、'スムーズな半径'、'ガンマとスロープ'、'コントラストカーブ'、'ウェーブレットを使ったローカルコントラスト')を使ってグレーレベルを変えることが出来ます。\n マスク上で“ロック式カラーピッカー”を使い、どの部分が影響を受けているか見極めます。但し、“設定”の“マスクと融合”の中にある’背景の色/輝度のマスク’の値を0にしておく必要があります。 +TP_LOCALLAB_MASKRECOL_TOOLTIP;'マスクと修正領域'のL(L)やLC(H)マスクに内包されている輝度の情報をベースに、”色と明るさ”の設定による効果を和らげるために使います。\n この機能を使うためにはL(L)やLC(H)のマスクを有効にする必要があります。\n 暗いしきい値以下と明るいしきい値以上の'暗い'領域と'明るい'領域は、'色と明るさ'の設定によって変更される前の値(元の値)に漸進的に復元されます。\n 2つのしきい値の間の部分では、'色と明るさ'の設定値が100%適用されます。 +TP_LOCALLAB_MASKRECOTHRES;復元のしきい値 +TP_LOCALLAB_MASKREEXP_TOOLTIP;'マスクと修正領域'のL(L)やLC(H)マスクに内包されている、輝度情報をベースに、“ダイナミックレンジと露光補正”の設定による効果を和らげます。\n この機能を使うためには、L(L)マスクやLC(H)マスクを有効にする必要があります。\n 暗いしきい値以下と明るいしきい値以上の'暗い'領域と'明るい'領域は、'ダイナミックレンジと露光補正'の設定によって変更される前の値(元の値)に漸進的に復元されます。\n 2つのしきい値の間の部分では、'ダイナミックレンジと露光補正'の設定が100%働きます。 +TP_LOCALLAB_MASKRELOG_TOOLTIP;'マスクと修正領域'のL(L)やLC(H)マスクに内包されている、画像の輝度情報をベースにした“対数符号化”の効果を和らげます。\n この機能を使うためには、L(L)マスクやLC(H)マスクを有効にしておかなくてはなりません。\n 暗い領域のしきい値より暗い部分、と明るい領域のしきい値より明るい部分では、'対数符号化'による調整が働く前の元画像の状態に漸進的に復元されます。色の波及を使ったハイライト復元の効果を維持するために使えます。\n 2つのしきい値の間の部分では、'対数符号化'の設定が100%働きます。 +TP_LOCALLAB_MASKRESCB_TOOLTIP;'マスクと修正領域'のL(L)やLC(H)マスクに内包されている輝度の情報をベースに、”CBDL”(輝度のみ)の設定による効果を和らげるために使います。\n この機能を使うためにはL(L)やLC(H)のマスクを有効にする必要があります。\n 暗いしきい値以下と明るいしきい値以上の'暗い'領域と'明るい'領域は、'CBDL'の設定によって変更される前の値(元の値)に漸進的に復元されます。\n 2つのしきい値の間の部分では、'CBDL'の設定値が100%適用されます。 +TP_LOCALLAB_MASKRESH_TOOLTIP;'マスクと修正領域'のL(L)やLC(H)マスクに内包されている輝度の情報をベースに、”シャドウ/ハイライト”の設定による効果を和らげるために使います。\n この機能を使うためにはL(L)やLC(H)のマスクを有効にする必要があります。\n 暗いしきい値以下と明るいしきい値以上の'暗い'領域と'明るい'領域は、'シャドウ/ハイライト'の設定によって変更される前の値(元の値)に漸進的に復元されます。\n 2つのしきい値の間の部分では、'シャドウ/ハイライト'の設定値が100%適用されます。 +TP_LOCALLAB_MASKRESRETI_TOOLTIP;'マスクと修正領域'のL(L)やLC(H)マスクに内包されている輝度の情報をベースに、”レティネックス”(輝度のみ)の設定による効果を和らげるために使います。\n この機能を使うためにはL(L)やLC(H)のマスクを有効にする必要があります。\n 暗いしきい値以下と明るいしきい値以上の'暗い'領域と'明るい'領域は、'レティネックス'の設定によって変更される前の値(元の値)に漸進的に復元されます。\n 2つのしきい値の間の部分では、'レティネックス'の設定値が100%適用されます。 +TP_LOCALLAB_MASKRESTM_TOOLTIP;'マスクと修正領域'のL(L)やLC(H)マスクに内包されている輝度の情報をベースに、”トーンマッピング”の設定による効果を和らげるために使います。\n この機能を使うためにはL(L)やLC(H)のマスクを有効にする必要があります。\n 暗いしきい値以下と明るいしきい値以上の'暗い'領域と'明るい'領域は、'トーンマッピング'の設定によって変更される前の値(元の値)に漸進的に復元されます。\n 2つのしきい値の間の部分では、'トーンマッピング'の設定値が100%適用されます。 +TP_LOCALLAB_MASKRESVIB_TOOLTIP;'マスクと修正領域'のL(L)やLC(H)マスクに内包されている輝度の情報をベースに、”自然な彩度 ウォームとクール”の設定による効果を和らげるために使います。\n この機能を使うためにはL(L)やLC(H)のマスクを有効にする必要があります。\n 暗いしきい値以下と明るいしきい値以上の'暗い'領域と'明るい'領域は、'自然な彩度 ウォームとクール'の設定によって変更される前の値(元の値)に漸進的に復元されます。\n 2つのしきい値の間の部分では、'自然な彩度 ウォームとクール'の設定値が100%適用されます。 +TP_LOCALLAB_MASKRESWAV_TOOLTIP;'マスクと修正領域'のL(L)やLC(H)マスクに内包されている輝度の情報をベースに、”ローカルコントラスト ウェーブレット”の設定による効果を和らげるために使います。\n この機能を使うためにはL(L)やLC(H)のマスクを有効にする必要があります。\n 暗いしきい値以下と明るいしきい値以上の'暗い'領域と'明るい'領域は、'ローカルコントラスト ウェーブレット'の設定によって変更される前の値(元の値)に漸進的に復元されます。\n 2つのしきい値の間の部分では、'ローカルコントラスト ウェーブレット'の設定値が100%適用されます。 +TP_LOCALLAB_MASKUNUSABLE;'マスクと修正領域'のマスクが無効 +TP_LOCALLAB_MASKUSABLE;'マスクと修正領域'のマスクが有効 +TP_LOCALLAB_MASK_TOOLTIP;一つの機能の中で複数のマスクを活用することが出来ます。他の機能を有効にしてそのマスクだけを使います(機能の中のスライダー値は全て0にする)。\n\nまたは、RT-スポットを複製し、初めのスポットの近くに置き、そのRT-スポットのマスクを使います。この場合、調整のための基準値の違いが小さいため、より精緻な調整が可能です。 TP_LOCALLAB_MEDIAN;メディアン 低 +TP_LOCALLAB_MEDIANITER_TOOLTIP;メディアンフィルタ適用の繰り返し回数を設定します +TP_LOCALLAB_MEDIAN_TOOLTIP;メディアンの値を3x3~9x9ピクセルの範囲で選べます。値を高くするほどノイズ低減とぼかしが強くなります TP_LOCALLAB_MEDNONE;なし TP_LOCALLAB_MERCOL;色 -TP_LOCALLAB_MERDCOL;背景の融合(ΔE) +TP_LOCALLAB_MERDCOL;背景の融合 TP_LOCALLAB_MERELE;明るくするだけ TP_LOCALLAB_MERFIV;追加 TP_LOCALLAB_MERFOR;色の覆い焼き TP_LOCALLAB_MERFOU;乗算 -TP_LOCALLAB_MERGE1COLFRA;オリジナル或いは前のイメージと融合 -TP_LOCALLAB_MERGECOLFRA;マスク: LCHと構造 -TP_LOCALLAB_MERGEFIV;前のスポット(マスク7) + LCHマスク -TP_LOCALLAB_MERGEFOU;前のスポット(マスク7) -TP_LOCALLAB_MERGEMER_TOOLTIP;融合画像に対しΔEを計算に入れます(この方法はスコープの作用と同等です) -TP_LOCALLAB_MERGENONE;なし -TP_LOCALLAB_MERGEONE;ショートカーブ'L'のマスク -TP_LOCALLAB_MERGEOPA_TOOLTIP;オリジナル或いは前のスポットと現在のスポットとの融合する際の不透明度の % \nコントラストのしきい値:オリジナルコントラストの機能の結果を調整 -TP_LOCALLAB_MERGETHR;オリジナル(マスク7) + LCHマスク -TP_LOCALLAB_MERGETWO;オリジナル(マスク7) -TP_LOCALLAB_MERGETYPE;イメージとマスクの融合 -TP_LOCALLAB_MERGETYPE_TOOLTIP;なしの場合、LCHモードの全てのマスクを使います\nショートカーブ 'L'マスクの場合、マスク2、3、4、6、7はスキップします\nオリジナルマスク7の場合、現在のイメージと元のイメージを融合します +TP_LOCALLAB_MERGE1COLFRA;融合するファイルの選択:オリジナル/前のRT-スポット/背景 +TP_LOCALLAB_MERGECOLFRA;マスク:LChと構造 +TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;LChの3つのカーブ、或いは構造検出のアルゴリズム、またはその両方をベースにマスクを作ります +TP_LOCALLAB_MERGEMER_TOOLTIP;ファイルを癒合する際にΔEを考慮します(この場合はスコープと同じ働きです) +TP_LOCALLAB_MERGEOPA_TOOLTIP;不透明度とは初めのRT-スポット或いは前のスポットと融合させる現在のスポットの割合です\nコントラストのしきい値:元画像のコントラストに応じで結果を調整するスライダーです TP_LOCALLAB_MERHEI;重ね合わせ TP_LOCALLAB_MERHUE;色相 TP_LOCALLAB_MERLUCOL;輝度 @@ -2612,7 +3113,7 @@ TP_LOCALLAB_MERLUM;光度 TP_LOCALLAB_MERNIN;スクリーン TP_LOCALLAB_MERONE;標準 TP_LOCALLAB_MERSAT;彩度 -TP_LOCALLAB_MERSEV;ソフトライト Photoshop +TP_LOCALLAB_MERSEV;ソフトライト(レガシー) TP_LOCALLAB_MERSEV0;ソフトライト イリュージョン TP_LOCALLAB_MERSEV1;ソフトライト W3C TP_LOCALLAB_MERSEV2;ハードライト @@ -2623,54 +3124,79 @@ TP_LOCALLAB_MERTHR;差異 TP_LOCALLAB_MERTWE;除外 TP_LOCALLAB_MERTWO;減算 TP_LOCALLAB_METHOD_TOOLTIP;'強化 + 色ノイズ低減'を選ぶと処理時間が著しく増加します\nしかし、アーティファクトは軽減されます -TP_LOCALLAB_MLABEL;復元されたデータ 最小値=%1 最大値=%2 (クリップ - オフセット) -TP_LOCALLAB_MLABEL_TOOLTIP;最低値=0、最大値=32768の近くになるよう調整します\n標準化を行うため‘保持されたデータを切り取る’と‘オフセット’を使えます\n\n混成のない画像に戻します -TP_LOCALLAB_MODE_EXPERT;エキスパート -TP_LOCALLAB_MODE_NORMAL;通常 +TP_LOCALLAB_MLABEL;復元されたデータ 最小値=%1 最大値=%2 +TP_LOCALLAB_MLABEL_TOOLTIP;最低値を0、最大値を32768(対数モード)に近づける必要がありますが、必ずしも一致させる必要はありません。標準化のために、'ゲイン'と'オフセット'を調整します\nブレンドせずに画像を回復します +TP_LOCALLAB_MODE_EXPERT;高度 +TP_LOCALLAB_MODE_NORMAL;標準 +TP_LOCALLAB_MODE_SIMPLE;基本 TP_LOCALLAB_MRFIV;背景 -TP_LOCALLAB_MRFOU;前のスポット +TP_LOCALLAB_MRFOU;前のRT-スポット TP_LOCALLAB_MRONE;なし -TP_LOCALLAB_MRTHR;元のイメージ -TP_LOCALLAB_MRTWO;ショートカーブ 'L'マスク -TP_LOCALLAB_MULTIPL_TOOLTIP;非常に広範囲(-18EV~+4EV)でトーンのレタッチが出来ます。初めのスライダーは-18EV~-6EVの非常に暗い部分に作用します。最後のスライダーは4EVまでの明るい部分に作用します +TP_LOCALLAB_MRTHR;オリジナルRT-スポット +TP_LOCALLAB_MULTIPL_TOOLTIP;トーンの幅が広い画像、-18EV~+4EV、を調整します: 最初のスライダーは-18EV~-6EVの非常に暗い部分に作用します。2つ目のスライダーは-6EV~+4EVの部分に作用します TP_LOCALLAB_NEIGH;半径 -TP_LOCALLAB_NOISECHROCOARSE;色度 粗い (ウェーブレット) +TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;値を低くすると詳細と質感が保たれます。高くするとノイズ除去が強まります。\nガンマが3.0の場合は輝度ノイズの除去には線形が使われます。 +TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;処理対象の大きさに対して適用するノイズ除去の量を調節するスライダーです。 +TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;値を高くするとノイズ除去が強まりますが、その分処理時間が増えます。 +TP_LOCALLAB_NLDENOISE_TOOLTIP;'ディテールの復元'はラプラス変換に作用します。詳細を含んだ部分より、むしろ均質な部分を目標にします。 +TP_LOCALLAB_NLDET;ディテールの復元 +TP_LOCALLAB_NLFRA;輝度のノンローカルミーンフィルタ +TP_LOCALLAB_NLFRAME_TOOLTIP;ノンローカルミーンフィルタによるノイズ除去は画像の全ピクセルの平均値を使い、その平均値との類似性に応じて、目標ピクセルのノイズ除去に重みを付けます。\nローカルミーンフィルタに比べ、詳細の損失が少なくて済みます。\n輝度ノイズだけを考慮します。色ノイズの除去はウェーブレットとフーリエ変換(DCT)を使う方がベターだからです。\nこのフィルタは単独でも、或いは”詳細レベルによる輝度ノイズの除去”と併用しても使えます。 +TP_LOCALLAB_NLGAM;ガンマ +TP_LOCALLAB_NLLUM;強さ +TP_LOCALLAB_NLPAT;パッチの最大値 +TP_LOCALLAB_NLRAD;半径の最大値 +TP_LOCALLAB_NOISECHROCOARSE;高い番手の色度(ウェーブレット) TP_LOCALLAB_NOISECHROC_TOOLTIP;0より大きい値で効果の高いアルゴリズムが働き始めます\n大まかなスライダーの場合は2以上からです -TP_LOCALLAB_NOISECHRODETAIL;色度 細部の回復 (DCT) -TP_LOCALLAB_NOISECHROFINE;色度 細かい (ウェーブレット) -TP_LOCALLAB_NOISEDETAIL_TOOLTIP;スライダー値が100になると無効 +TP_LOCALLAB_NOISECHRODETAIL;色度の詳細復元 +TP_LOCALLAB_NOISECHROFINE;低い番手の色度(ウェーブレット) +TP_LOCALLAB_NOISEGAM;ガンマ +TP_LOCALLAB_NOISEGAM_TOOLTIP;ガンマが1の時は、"Lab"の輝度が使われます。ガンマが3.0の時は"線形"の輝度が使われます\n低い値にするとディテールと質感が保たれます。高い値にするとノイズ除去が強まります。 TP_LOCALLAB_NOISELEQUAL;イコライザ 白黒 -TP_LOCALLAB_NOISELUMCOARSE;輝度 大まか(ウェーブレット) -TP_LOCALLAB_NOISELUMDETAIL;輝度 細部の回復 (DCT) +TP_LOCALLAB_NOISELUMCOARSE;高い番手の輝度(ウェーブレット) +TP_LOCALLAB_NOISELUMDETAIL;輝度の詳細復元 TP_LOCALLAB_NOISELUMFINE;輝度 詳細レベル2(ウェーブレット) TP_LOCALLAB_NOISELUMFINETWO;輝度 詳細レベル3(ウェーブレット) TP_LOCALLAB_NOISELUMFINEZERO;輝度 詳細レベル1(ウェーブレット) TP_LOCALLAB_NOISEMETH;ノイズ低減 +TP_LOCALLAB_NOISE_TOOLTIP;輝度ノイズを追加 TP_LOCALLAB_NONENOISE;なし +TP_LOCALLAB_NUL_TOOLTIP;. TP_LOCALLAB_OFFS;オフセット TP_LOCALLAB_OFFSETWAV;オフセット TP_LOCALLAB_OPACOL;不透明度 TP_LOCALLAB_ORIGLC;元画像だけと融合 -TP_LOCALLAB_ORRETILAP_TOOLTIP;2次ラプラシアンのしきい値に作用します。作用に差をつけるため、特に背景に対する作用、ΔEを計算に入れます(スコープの作用と異なります) +TP_LOCALLAB_ORRETILAP_TOOLTIP;'スコープ'による変更の前に、ΔEを変更します。これにより画像の異なる部分(例えば背景)に対する作用に差を付けることが出来ます。 TP_LOCALLAB_ORRETISTREN_TOOLTIP;1次ラプラシアンのしきい値に作用します。設定値を高くするほど、コントラストの違いが減少します TP_LOCALLAB_PASTELS2;自然な彩度 -TP_LOCALLAB_PDE;ΔØ ラプラシアン PDE - ダイナミックレンジ圧縮 + 標準 -TP_LOCALLAB_PDEFRA;PDE IPOL - コントラスト減衰 -TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL - IPOLから取り入れ、独自にRawtherapee用にアレンジしたアルゴリズム:非常に異なる効果が出るので設定を変える必要があります。標準的にはブラックをマイナス値、ガンマを1以下にするなど\n露出の低い画像に便利だと思われます\n +TP_LOCALLAB_PDE;PDE IPOL - ダイナミックレンジ圧縮 +TP_LOCALLAB_PDEFRA;コントラストの減衰 ƒ +TP_LOCALLAB_PDEFRAME_TOOLTIP;RawtherapeeはPDE IPOLのアルゴリズムを採用しています : 異なる効果が期待できますが、メインの露光補正機能とは異なる設定が必要です。\n露出不足やハイダイナミックレンジの画像の補正に便利でしょう +TP_LOCALLAB_PREVHIDE;基本的な設定項目だけを表示 TP_LOCALLAB_PREVIEW;ΔEのプレビュー +TP_LOCALLAB_PREVSHOW;全ての設定項目を表示 TP_LOCALLAB_PROXI;ΔEの減衰 +TP_LOCALLAB_QUAAGRES;積極的 +TP_LOCALLAB_QUACONSER;控え目 TP_LOCALLAB_QUALCURV_METHOD;カーブのタイプ TP_LOCALLAB_QUAL_METHOD;全体の質 +TP_LOCALLAB_QUANONEALL;なし +TP_LOCALLAB_QUANONEWAV;ノンローカルミーンだけ TP_LOCALLAB_RADIUS;半径 -TP_LOCALLAB_RADIUS_TOOLTIP;半径の値が30より大きい場合は、高速フーリエ変換を使います -TP_LOCALLAB_RADMASKCOL;半径のマスクを滑らかにする +TP_LOCALLAB_RADIUS_TOOLTIP;半径が30より大きい場合は、高速フーリエ変換を使います +TP_LOCALLAB_RADMASKCOL;スムーズな半径 +TP_LOCALLAB_RECOTHRES02_TOOLTIP;“回復のしきい値”が1より大きい場合は、“マスクと修正領域”に付属するマスクは、その前に画像に対して行われた全ての調整を考慮しますが、現在のツールで行われた調整(例、色と明るさや、ウェーブレット、CAM16、など)は考慮しません。\n“回復のしきい値”が1より小さい場合は、“マスクと修正領域”に付属するマスクは、その前に画像に対して行われた全ての調整を考慮しません。\n\nどちらの場合も、“回復のしきい値”は現在のツール(例、色と明るさや、ウェーブレット、CAM16、など)で調整されたマスクされた画像に作用します。 TP_LOCALLAB_RECT;長方形 -TP_LOCALLAB_RECURS;参考値の繰り返し -TP_LOCALLAB_RECURS_TOOLTIP;新しいモジュール使用とRT-スポットが作成される度に、色相、輝度、色度の参考値が再計算されます。\nマスクを使った作業に便利です。 -TP_LOCALLAB_REFLABEL;参照 (0..1) 色度=%1 輝度=%2 色相=%3 +TP_LOCALLAB_RECURS;基準値を繰り返し更新 +TP_LOCALLAB_RECURS_TOOLTIP;各機能の適用後に基準値を強制的に再計算させる機能です\nマスクを使った作業にも便利です TP_LOCALLAB_REN_DIALOG_LAB;新しいコントロールスポットの名前を入力 TP_LOCALLAB_REN_DIALOG_NAME;コントロールスポットの名前変更 -TP_LOCALLAB_RESETSHOW;全ての表示変更をリセット +TP_LOCALLAB_REPARCOL_TOOLTIP;元画像に関する色と明るさの構成の相対的強さを調整出来るようにします。 +TP_LOCALLAB_REPARDEN_TOOLTIP;元画像に関するノイズ除去の構成の相対的強さを調整出来るようにします。 +TP_LOCALLAB_REPAREXP_TOOLTIP;元画像に関するダイナミックレンジと露光補正の構成の相対的強さを調整出来るようにします。 +TP_LOCALLAB_REPARSH_TOOLTIP;元画像に関するシャドウ/ハイライトとトーンイコライザの構成の相対的強さを調整出来るようにします。 +TP_LOCALLAB_REPARTM_TOOLTIP;元画像に関するトーンマッピングの構成の相対的強さを調整出来るようにします。 +TP_LOCALLAB_REPARW_TOOLTIP;元画像に関するローカルコントラストとウェーブレットの構成の相対的強さを調整出来るようにします。 TP_LOCALLAB_RESID;残差画像 TP_LOCALLAB_RESIDBLUR;残差画像をぼかす TP_LOCALLAB_RESIDCHRO;残差画像の色度 @@ -2680,106 +3206,112 @@ TP_LOCALLAB_RESIDHI;ハイライト TP_LOCALLAB_RESIDHITHR;ハイライトのしきい値 TP_LOCALLAB_RESIDSHA;シャドウ TP_LOCALLAB_RESIDSHATHR;シャドウのしきい値 -TP_LOCALLAB_RETI;霞除去 - レティネックス 強いコントラスト +TP_LOCALLAB_RETI;霞除去 & レティネックス TP_LOCALLAB_RETIFRA;レティネックス +TP_LOCALLAB_RETIFRAME_TOOLTIP;画像処理においてレティネックスは便利な機能です\nぼけた、霧かかった、或いは霞んだ画像を補正出来ます\nこういった画像は輝度に大きな違いがあるのが特徴です\n特殊効果を付けるためにも使えます(トーンマッピング) TP_LOCALLAB_RETIM;独自のレティネックス -TP_LOCALLAB_RETITOOLFRA;レティネックスの機能 -TP_LOCALLAB_RETI_FFTW_TOOLTIP;高速フーリエ変換は質を向上させ大きな半径の使用が可能になります\n処理時間は編集する領域の大きさに応じて変わります \n大きな半径を扱う場合に適用するのがいいでしょう\n\n処理領域を数ピクセル減らすことでFFTWの最適化を図ることが出来ます \n但し、RT-スポットの境界線(縦或いは横)が画像からはみ出している場合は最適化を図れません -TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Have no effect when the value "Lightness = 1" or "Darkness =2" is chosen.\nIn other cases, the last step of "Multiple scale Retinex" is applied an algorithm close to "local contrast", these 2 cursors, associated with "Strength" will allow to play upstream on the local contrast. -TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Play on internal parameters to optimize response.\nLook at the "restored datas" indicators "near" min=0 and max=32768 (log mode), but others values are possible. -TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm allows differenciation for haze or normal.\nLogarithm brings more contrast but will generate more halo. -TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;画像に応じてこれらの値を適用します - 霧のかかった画像の場合で、調整したいのが前景或いは背景なのかに応じて。 -TP_LOCALLAB_RETI_SCALE_TOOLTIP;If scale=1, retinex behaves like local contrast with many more possibilities.\nThe greater the scale, the more intense the recursive action, the longer the calculation times -TP_LOCALLAB_RET_TOOLNAME;霞除去 & レティネックス - 9 +TP_LOCALLAB_RETITOOLFRA;レティネックス機能 +TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;'明度=1'或いは'暗さ=2'の場合は効果がありません\n他の値の場合は、最終工程で'マルチスケールレティネックス'('ローカルコントラスト'の調整に似ています)が適用されます。'強さ'に関わる2つのスライダーでローカルコントラストのアップストリーの処理が調整されます +TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;効果の最適化を図るため内部の変数を変えます\n'修復されたデータ'は最低値が0、最大値が32768(対数モード)に近いことが望ましいのですが、必ずしも一致させる必要はありません。 +TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;対数モードを使うとコントラストが増えますが、ハロが発生することもあります +TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;半径と分散(バリアンス)のスライダーは霞を調整します。前景或いは背景を目標にします +TP_LOCALLAB_RETI_SCALE_TOOLTIP;スケールが1の時は、レティネックスはローカルコントラストを調整した様な効果になります\nスケールの値を増やすと回帰作用が強化されますが、その分処理時間も増加します +TP_LOCALLAB_RET_TOOLNAME;霞除去 & レティネックス TP_LOCALLAB_REWEI;再加重平均の繰り返し TP_LOCALLAB_RGB;RGB トーンカーブ +TP_LOCALLAB_RGBCURVE_TOOLTIP;RGBモードには4つの選択肢があります:標準、加重平均、輝度とフィルム調 TP_LOCALLAB_ROW_NVIS;非表示 TP_LOCALLAB_ROW_VIS;表示 +TP_LOCALLAB_RSTPROTECT_TOOLTIP;レッドと肌色の保護は、彩度や色度、鮮やかさのスライダー調整に影響します。 TP_LOCALLAB_SATUR;彩度 -TP_LOCALLAB_SAVREST;保存 - 元に戻した現在のイメージ +TP_LOCALLAB_SATURV;彩度S TP_LOCALLAB_SCALEGR;スケール TP_LOCALLAB_SCALERETI;スケール TP_LOCALLAB_SCALTM;スケール -TP_LOCALLAB_SCOPEMASK;ΔE画像のスコープマスク -TP_LOCALLAB_SCOPEMASK_TOOLTIP;色差画像のマスクを有効にすると使えます\n低い値にすると選択した領域の調整が行われません +TP_LOCALLAB_SCOPEMASK;スコープ(ΔE画像のマスク) +TP_LOCALLAB_SCOPEMASK_TOOLTIP;ΔE画像のマスクが有効の場合に使えます\n低い値にするほど、目標とする編集領域が変化してしまうことが避けられます TP_LOCALLAB_SENSI;スコープ -TP_LOCALLAB_SENSIBN;スコープ -TP_LOCALLAB_SENSICB;スコープ -TP_LOCALLAB_SENSIDEN;スコープ TP_LOCALLAB_SENSIEXCLU;スコープ -TP_LOCALLAB_SENSIEXCLU_TOOLTIP;除外モードに含まれている色も調整 -TP_LOCALLAB_SENSIH;スコープ -TP_LOCALLAB_SENSIH_TOOLTIP;スコープの作用を調整します:\n小さい値を設定すると調整領域の色の変化は中心円に近いものに制限されます\n高い値を設定すると色の変化の範囲が広がります。\n20以下の設定がアルゴリズムの働きにとっていいでしょう -TP_LOCALLAB_SENSILOG;スコープ -TP_LOCALLAB_SENSIS;スコープ -TP_LOCALLAB_SENSIS_TOOLTIP;スコープの作用を調整します:\n小さい値を設定すると調整領域の色の変化は中心円に近いものに制限されます\n高い値を設定すると色の変化の範囲が広がります。\n20以下の設定がアルゴリズムの働きにとっていいでしょう -TP_LOCALLAB_SENSI_TOOLTIP;スコープの作用を調整します:\n小さい値を設定すると調整領域の色の変化は中心円に近いものに制限されます\n高い値を設定すると色の変化の範囲が広がります。\n20以下の設定がアルゴリズムの働きにとっていいでしょう +TP_LOCALLAB_SENSIEXCLU_TOOLTIP;除外される色を調整します +TP_LOCALLAB_SENSIMASK_TOOLTIP;共通なマスクに付属するスコープを調整します\n元画像とマスクの違いに対して作用します\nRT-スポットの中心の輝度、色度、色相の基準値を使います\n\nマスク自体のΔEを調整することも出来ます。'設定'の中の”スコープ(ΔE画像のマスク)”を使います。 +TP_LOCALLAB_SENSI_TOOLTIP;スコープの作用を加減します:\n小さい値を設定すると、色に対する作用はRT-スポットの中心部付近に限定されます\n高い値を設定すると、広範囲の色に作用が及びます TP_LOCALLAB_SETTINGS;設定 TP_LOCALLAB_SH1;シャドウ/ハイライト TP_LOCALLAB_SH2;イコライザ TP_LOCALLAB_SHADEX;シャドウ -TP_LOCALLAB_SHADEXCOMP;シャドウの圧縮とトーンの幅 -TP_LOCALLAB_SHADHIGH;シャドウ/ハイライト-階調-トーンイコライザ-TRC -TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;露光モジュールだけでは処理が困難な場合に、代わりに使う、或いは補間に使います。\nノイズ低減の使用が必要かもしれません:シャドウを明るく -TP_LOCALLAB_SHAMASKCOL;シャドウのマスク -TP_LOCALLAB_SHAPETYPE;RT-スポット領域の形状 -TP_LOCALLAB_SHAPE_TOOLTIP;長方形は通常モードのみ +TP_LOCALLAB_SHADEXCOMP;シャドウの圧縮 +TP_LOCALLAB_SHADHIGH;シャドウ/ハイライト & トーンイコライザ +TP_LOCALLAB_SHADHMASK_TOOLTIP;シャドウ/ハイライトのアルゴリズムと同じ要領で、マスクのハイライト部分を暗くします +TP_LOCALLAB_SHADMASK_TOOLTIP;シャドウ/ハイライトのアルゴリズムと同じ要領で、マスクのシャドウ部分を明るくします +TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;シャドウとハイライトをシャドウ/ハイライトスライダー、或いはトーンイコライザで調整します。\n露光補正モジュールを、代わり、或いは一緒に使うことが出来ます。\n階調フィルタも使えます +TP_LOCALLAB_SHAMASKCOL;シャドウ +TP_LOCALLAB_SHAPETYPE;スポットの形状 +TP_LOCALLAB_SHAPE_TOOLTIP;デフォルト設定は”楕円形”です\n”長方形”は特定のケースに使います。 TP_LOCALLAB_SHARAMOUNT;量 TP_LOCALLAB_SHARBLUR;半径のぼかし TP_LOCALLAB_SHARDAMPING;減衰 TP_LOCALLAB_SHARFRAME;変更 TP_LOCALLAB_SHARITER;繰り返し TP_LOCALLAB_SHARP;シャープニング -TP_LOCALLAB_SHARP_TOOLNAME;シャープニング - 8 +TP_LOCALLAB_SHARP_TOOLNAME;シャープニング TP_LOCALLAB_SHARRADIUS;半径 TP_LOCALLAB_SHORTC;ショートカーブ'L'マスク -TP_LOCALLAB_SHORTCMASK_TOOLTIP;L(L)とL(H)2つのカーブをつスキップします。\nマスクの作用によって調整された現在のイメージと元イメージを融合します\n但し、これが使えるのは2, 3, 4, 6, 7のマスクです -TP_LOCALLAB_SHOWC;マスクと調節 +TP_LOCALLAB_SHORTCMASK_TOOLTIP;L(L)とL(H)2つのカーブをスキップします。\nマスクの作用によって調整された現在のイメージと元イメージを融合します\n但し、これが使えるのは2, 3, 4, 6, 7のマスクです +TP_LOCALLAB_SHOWC;マスクと修正領域 TP_LOCALLAB_SHOWC1;ファイルの融合 -TP_LOCALLAB_SHOWCB;マスクと調節 +TP_LOCALLAB_SHOWCB;マスクと修正領域 TP_LOCALLAB_SHOWDCT;フーリエの処理を表示 -TP_LOCALLAB_SHOWE;マスクと調節 +TP_LOCALLAB_SHOWE;マスクと修正領域 TP_LOCALLAB_SHOWFOURIER;フーリエ (DCT) -TP_LOCALLAB_SHOWLAPLACE;Δ ラプラシアン (最初) -TP_LOCALLAB_SHOWLC;マスクと調節 +TP_LOCALLAB_SHOWLAPLACE;Δ ラプラシアン (一次) +TP_LOCALLAB_SHOWLC;マスクと修正領域 TP_LOCALLAB_SHOWMASK;マスクの表示 -TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;調整具合を表示させます\n但し、見られる表示は1度に1種類(色と明るさ、或いは露光のセクション)だけです\n'マスクと調整'のドロップダウンボックスで、'なし' 或いは マスクを表示できるものを選択します\n\nマスクの処理はは形状検出の前に行われます -TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;フーリエによる処理を表示します:\n処理の異なる段階を表示\nラプラス - しきい値に応じた2次微分を行う(最初のステップ)\nフーリエ -変換したラプラスをDCTで表示\nポアソン - ポアソンDCEの解を表示\n標準化 - 輝度の標準化なしに結果を表示 -TP_LOCALLAB_SHOWMASKTYP1;ぼかしとノイズ +TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;マスクと修正箇所の表示:\n注意:一度に一つの機能のマスクしか見ることが出来きません\n調整及び修正した画像:機能による調整とマスクによる修正の両方を含む画像を表示\n修正領域をマスクなしで表示:マスクを適用する前の修正領域を表示\n修正領域をマスクと共に表示:マスクを適用した修正領域を表示\nマスクの表示:カーブやフィルタの効果を含めたマスクの様子を表示します\nスポットの構造を表示:'スポットの構造'スライダー(機能水準が高度の場合)が有効になった時に、構造検出マスクを見ることが出来ます\n注意:形状検出のアルゴリズムが作用する前にマスクが適用されます +TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;フーリエ変換による処理を段階的に見ることが出来ます\nラプラス - しきい値の関数としてラプラス変換の2次微分を計算仕します\nフーリエ - 離散コサイン変換(DCT)でラプラス変換を表示します\nポアソン - ポアソン方程式の解を表示します\n輝度の標準化なし - 輝度の標準化なしで結果を表示します +TP_LOCALLAB_SHOWMASKTYP1;ぼかし&ノイズ除去 TP_LOCALLAB_SHOWMASKTYP2;ノイズ除去 -TP_LOCALLAB_SHOWMASKTYP3;ぼかしとノイズ + ノイズ除去 -TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;マスクと調節を選択出来ます\nぼかしとノイズ:この場合は、'ノイズ除去'は使えません\nノイズ除去:この場合は、'ぼかしとノイズ'は使えません\n\nぼかしとノイズ+ノイズ除去:マスクを共用しますが、'調節を表示'と'スコープ'の扱いには注意が必要です -TP_LOCALLAB_SHOWMNONE;なし -TP_LOCALLAB_SHOWMODIF;マスクなしで変更を表示 -TP_LOCALLAB_SHOWMODIFMASK;マスクと共に変更を表示 -TP_LOCALLAB_SHOWNORMAL;輝度の標準化(なし) -TP_LOCALLAB_SHOWPLUS;マスクと調節- 平滑化によるぼかしとノイズ低減 +TP_LOCALLAB_SHOWMASKTYP3;ぼかし&ノイズ除去 + ノイズ除去 +TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;‘マスクと修正領域’と併せて使うことが出来ます。\n‘ぼかしとノイズ’を選択した場合、マスクはノイズ除去には使えません。\n‘ノイズ除去を選択した場合、マスクは’ぼかしとノイズ‘には使えません。\n’ぼかしとノイズ + ノイズ除去‘を選択した場合は、マスクを共有することが出来ます。但し、この場合、’ぼかしとノイズ‘とノイズ除去のスコープスライダーが有効となるので、修正を行う際には’マスクと共に修正領域を表示‘のオプションを使うことを奨めます。 +TP_LOCALLAB_SHOWMNONE;調整及び修正した画像 +TP_LOCALLAB_SHOWMODIF;修正領域をマスクなしで表示 +TP_LOCALLAB_SHOWMODIF2;マスクの表示 +TP_LOCALLAB_SHOWMODIFMASK;修正領域をマスクと共に表示 +TP_LOCALLAB_SHOWNORMAL;輝度の標準化をしない +TP_LOCALLAB_SHOWPLUS;マスクと修正領域(ぼかし&ノイズ除去) TP_LOCALLAB_SHOWPOISSON;ポアソン (pde f) -TP_LOCALLAB_SHOWR;マスクと調節 +TP_LOCALLAB_SHOWR;マスクと修正領域 TP_LOCALLAB_SHOWREF;ΔEのプレビュー -TP_LOCALLAB_SHOWS;マスクと調節 -TP_LOCALLAB_SHOWSTRUC;構造スポットを表示 -TP_LOCALLAB_SHOWSTRUCEX;構造スポットを表示 - "通常"では不可 -TP_LOCALLAB_SHOWT;マスクと調節 -TP_LOCALLAB_SHOWVI;マスクと調節 -TP_LOCALLAB_SHRESFRA;シャドウ/ハイライト -TP_LOCALLAB_SHTRC_TOOLTIP;TRC(諧調再現カーブ)を使って画像のトーンを調節します。\nガンマは主に明るいトーンに作用します\n勾配は主に暗いトーンに作用します -TP_LOCALLAB_SH_TOOLNAME;シャドウ/ハイライト & トーンイコライザ - 5 +TP_LOCALLAB_SHOWS;マスクと修正領域 +TP_LOCALLAB_SHOWSTRUC;スポットの構造を表示 +TP_LOCALLAB_SHOWSTRUCEX;スポットの構造を表示 +TP_LOCALLAB_SHOWT;マスクと修正領域 +TP_LOCALLAB_SHOWVI;マスクと修正領域 +TP_LOCALLAB_SHRESFRA;シャドウ/ハイライト&TRC +TP_LOCALLAB_SHTRC_TOOLTIP;'作業プロファイル'をベースに(但し、それが提供されている場合のみ)、TRC(トーンレスポンスカーブ)を使って画像のトーンを調節します。\nガンマは主に明るいトーンに作用します\n勾配は主に暗いトーンに作用します +TP_LOCALLAB_SH_TOOLNAME;シャドウ/ハイライト & トーンイコライザ +TP_LOCALLAB_SIGFRA;シグモイドQと対数符号化Q +TP_LOCALLAB_SIGJZFRA;Jz シグモイド TP_LOCALLAB_SIGMAWAV;減衰応答 -TP_LOCALLAB_SIM;シンプル -TP_LOCALLAB_SLOMASKCOL;スロープのマスク +TP_LOCALLAB_SIGMOIDBL;ブレンド +TP_LOCALLAB_SIGMOIDLAMBDA;コントラスト +TP_LOCALLAB_SIGMOIDQJ;ブラックEvとホワイトEvを使う +TP_LOCALLAB_SIGMOIDTH;しきい値(グレーポイント) +TP_LOCALLAB_SIGMOID_TOOLTIP;'CIECAM'(或いは’Jz)と'シグモイド'関数を使って、トーンマッピングの様な効果を作ることが出来ます。\n3つのスライダーを使います: a) コントラストのスライダーはシグモイドの形状を変えることで強さを変えます。 b) しきい値(グレーポイント)のスライダーは、輝度に応じて作用を変えます。 c)ブレンドは画像の最終的なコントラストや輝度を変えます。 +TP_LOCALLAB_SLOMASKCOL;スロープ +TP_LOCALLAB_SLOMASK_TOOLTIP;ガンマとスロープを調整することで、不連続を避けるための“L”の漸進的修正により、アーティファクトの無いマスクの修正が出来ます TP_LOCALLAB_SLOSH;スロープ -TP_LOCALLAB_SOFT;ソフトライトと独自のレティネックス +TP_LOCALLAB_SOFT;ソフトライト & 独自のレティネックス TP_LOCALLAB_SOFTM;ソフトライト TP_LOCALLAB_SOFTMETHOD_TOOLTIP;独自のレティネックスは他のレティネックス方式とは大きく異なります\nグレーと輝度のバランスに作用します TP_LOCALLAB_SOFTRADIUSCOL;ソフトな半径 -TP_LOCALLAB_SOFTRETI;アーティファクトの軽減 ΔE -TP_LOCALLAB_SOFTRETI_TOOLTIP;透過マップを向上させるため色差を考慮します。 -TP_LOCALLAB_SOFT_TOOLNAME;ソフトライト & 独自のレティネックス - 6 -TP_LOCALLAB_SOURCE_GRAY;値 -TP_LOCALLAB_SPECCASE;特定のケース +TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;アーティファクトの発生を軽減するために出力画像にガイド付きフィルタを適用します +TP_LOCALLAB_SOFTRETI;ΔEアーティファクトの軽減 +TP_LOCALLAB_SOFT_TOOLNAME;ソフトライト & 独自のレティネックス +TP_LOCALLAB_SOURCE_ABS;絶対輝度 +TP_LOCALLAB_SOURCE_GRAY;平均輝度(Y%) +TP_LOCALLAB_SPECCASE;特有の設定 TP_LOCALLAB_SPECIAL;RGBカーブの特殊な利用 -TP_LOCALLAB_SPECIAL_TOOLTIP;Only for this RGB curve, disabled (or reduce effects) of Scope, mask...for example, if you want to have a negative effect. +TP_LOCALLAB_SPECIAL_TOOLTIP;チェックボックスに✔を入れると、他の全ての作用が取り除かれます。例えば、“スコープ”, マスク, スライダーなどの作用(境界を除きます) が除かれRGBトーンカーブの効果だけが使われます TP_LOCALLAB_SPOTNAME;新しいスポット TP_LOCALLAB_STD;標準 TP_LOCALLAB_STR;強さ @@ -2787,82 +3319,111 @@ TP_LOCALLAB_STRBL;強さ TP_LOCALLAB_STREN;圧縮の強さ TP_LOCALLAB_STRENG;強さ TP_LOCALLAB_STRENGR;強さ +TP_LOCALLAB_STRENGRID_TOOLTIP;望む効果は'強さ'で調整出来ますが、作用の範囲を制限する'スコープ'を使うことも出来ます。 TP_LOCALLAB_STRENGTH;ノイズ TP_LOCALLAB_STRGRID;強さ -TP_LOCALLAB_STRRETI_TOOLTIP;レティネックスの強さが0.2より小さい場合は霞除去だけが有効となります。\nレティネックスの強さが0.1以上の場合、霞除去の作用は輝度だけです。 TP_LOCALLAB_STRUC;構造 -TP_LOCALLAB_STRUCCOL;構造 -TP_LOCALLAB_STRUCCOL1;構造のスポット -TP_LOCALLAB_STRUCT_TOOLTIP;形状検出で構造を計算に入れるため、Sobelアルゴリズムを使います。\n“マスクと調節の構造スポットを表示”を有効にすればプレビューを見ることが出来ます。 +TP_LOCALLAB_STRUCCOL;スポットの構造 +TP_LOCALLAB_STRUCCOL1;スポットの構造 +TP_LOCALLAB_STRUCT_TOOLTIP;形状検出に関する構造を考慮するSobelアルゴリズムを使います.\n'マスクと修正領域'を有効にして、マスクのプレビュー(変更なし)を見るために'スポットの構造を表示'を有効にします\n\nエッジ検出の精度を上げるため、構造マスク、ぼかしマスク、ローカルコントラスト(ウェーブレットのレベル)と共に使うことが出来ます\n\n明るさ、コントラスト、色度、露光補正、或いはマスクに関係しない機能を使った調整効果は、'調整及び修正した画像'、或いは'修正された領域をマスクと共に表示'で、見ることが出来ます TP_LOCALLAB_STRUMASKCOL;構造マスクの強さ -TP_LOCALLAB_STRUMASK_TOOLTIP;Generate a structure mask with difference between surface areas and reliefs.\nIf structure mask as tool is enabled, this mask is used in addition to the other tools (gamma, slope, contrast curve ...) -TP_LOCALLAB_STYPE;形状の方式 +TP_LOCALLAB_STRUMASK_TOOLTIP;“機能としての構造のマスク”オプションを無効のままで構造のマスク(スライダー)を使う:この場合、3つのカーブが活用されていなくても、構造を表示するマスクが生成されます。構造のマスクはマスク1(ぼかしとノイズ除去)とマスク7(色と明るさ)で使えます +TP_LOCALLAB_STRUSTRMASK_TOOLTIP;このスライダーの調整は控えめに行うことを奨めます +TP_LOCALLAB_STYPE;スポットの変形方法 TP_LOCALLAB_STYPE_TOOLTIP;2つのタイプから選びます:\nシンメトリックは左と右の境界線、上部と底部の境界線がリンクしています\n独立は全ての境界線を独立で動かすことが出来ます TP_LOCALLAB_SYM;シンメトリック(マウス) TP_LOCALLAB_SYMSL;シンメトリック(マウス + スライダー) -TP_LOCALLAB_TARGET_GRAY;グレーポイントの目標 -TP_LOCALLAB_THRES;構造のしきい値 +TP_LOCALLAB_TARGET_GRAY;平均輝度(Yb%) +TP_LOCALLAB_THRES;しきい値の構造 TP_LOCALLAB_THRESDELTAE;ΔE-スコープのしきい値 TP_LOCALLAB_THRESRETI;しきい値 TP_LOCALLAB_THRESWAV;バランスのしきい値 -TP_LOCALLAB_TLABEL;TM データ 最小値=%1 最大値=%2 平均値=%3 標準偏差=%4 (しきい値) -TP_LOCALLAB_TLABEL2;TM 効果 Tm=%1 TM=%2 -TP_LOCALLAB_TLABEL_TOOLTIP;これは透過マップの結果を示しています。\n最小値と最大値は分散に使われます。\nTm、TMはそれぞれ透過マップの最小値と最大値です。\nしきい値を調整して標準化できます。 -TP_LOCALLAB_TM;トーンマッピング - 質感 +TP_LOCALLAB_TLABEL;TM 最小値=%1 最大値=%2 平均値=%3 標準偏差=%4 +TP_LOCALLAB_TLABEL_TOOLTIP;透過マップの結果\n最低値と最大値が分散(バリアンス)で使われます\n透過マップの最小値はTm=Min、最大値はTM=Maxで表示されます\nしきい値スライダーで結果を標準化します +TP_LOCALLAB_TM;トーンマッピング TP_LOCALLAB_TM_MASK;透過マップを使う -TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;エッジ停止を増やす - 或いは再加重平均の繰り返しを増やすと処理時間も増えます - 但し、その分効果が増します -TP_LOCALLAB_TONEMAPGAM_TOOLTIP;Gamma moves the action of tone-mapping to shadows or highlights. -TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. -TP_LOCALLAB_TONEMAP_TOOLTIP;トーンマッピング - メインメニューの同じ機能は必ず無効にする -TP_LOCALLAB_TONEMASCALE_TOOLTIP;This control gives meaning to the difference between "local" and "global" contrast.\nThe greater it is the larger a detail needs to be in order to be boosted -TP_LOCALLAB_TONE_TOOLNAME;トーンマッピング - 4 +TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;このスライダーはエッジ感度に影響します\n値を大きくするとコントラストの変化が'エッジ'と認識されるようになります\n設定値が0の場合トーンマッピングの効果はアンシャープマスクの様な効果になります +TP_LOCALLAB_TONEMAPGAM_TOOLTIP;ガンマのスライダーの動きで、トーンマッピングの効果が、シャドウ或いはハイライト部分にシフトします +TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;時折、画像の印象が漫画風になることや、稀に柔らかい印象ながら幅の広いハロが出ることがあります\nこの場合、再加重の反復回数を増やすことで解決できることがあります +TP_LOCALLAB_TONEMAP_TOOLTIP;メインのトーンマッピング機能と同じです\nローカル編集のトーンマッピングを使用する際は、メインの機能を無効にする必要があります +TP_LOCALLAB_TONEMASCALE_TOOLTIP;このスライダーで'ローカルコントラスト'と'グローバルコントラスト'の境界を調整出来ます。\n値を大きくすると、強化する必要のあるディテールが大きくなります +TP_LOCALLAB_TONE_TOOLNAME;トーンマッピング TP_LOCALLAB_TOOLCOL;機能としての構造マスク -TP_LOCALLAB_TOOLMASK;機能 +TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;マスクがあれば、それを修正することが出来ます +TP_LOCALLAB_TOOLMASK;マスクツール +TP_LOCALLAB_TOOLMASK_2;ウェーブレット +TP_LOCALLAB_TOOLMASK_TOOLTIP;'機能としての構造のマスク'のオプションを有効にして、構造マスク(スライダー)を使う:この場合、構造を表示するマスクは、1回以上2つのカーブ、L(L)或いはLC(H)が変更された後に生成されます\nここで、'構造マスク'は他のマスクの様な機能を果たします:ガンマ、スロープなど\n画像の構造に応じてマスクの作用を変えられます。このオプションは'ΔE画像のマスク'と付随する'スコープ(Δ”画像のマスク)'に敏感に作用します TP_LOCALLAB_TRANSIT;境界の階調調整 -TP_LOCALLAB_TRANSITGRAD;境界の差異 XY -TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Y軸方向の境界に対するX軸方向の境界の割合を変える +TP_LOCALLAB_TRANSITGRAD;XY軸方向の境界の差別 +TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Y軸方向の作用の領域を変えることが出来ます TP_LOCALLAB_TRANSITVALUE;境界値 -TP_LOCALLAB_TRANSITWEAK;境界値の減衰 -TP_LOCALLAB_TRANSITWEAK_TOOLTIP;境界値の減衰を調節 : 処理の滑らかさを変える - 1 線形 - 2 パラボリック - 3 3乗 -TP_LOCALLAB_TRANSIT_TOOLTIP;作用が及ぶ部分と及ばない部分の境界の平滑化を調整します +TP_LOCALLAB_TRANSITWEAK;境界値の減衰(線形~Log) +TP_LOCALLAB_TRANSITWEAK_TOOLTIP;境界値の減衰を調節 : 処理の滑らかさを変える - 1 線形 - 2 パラボリック - 3~25乗\n非常に低い境界値と併せれば、CBDL、ウェーブレット、色と明るさを使った不良部分の補正に使うことが出来ます。 +TP_LOCALLAB_TRANSIT_TOOLTIP;RT-スポットの中心円からフレームの間で作用が働く領域と作用が減衰する領域の境界を、中心円からフレームまでの%で調整します TP_LOCALLAB_TRANSMISSIONGAIN;透過のゲイン TP_LOCALLAB_TRANSMISSIONMAP;透過マップ TP_LOCALLAB_TRANSMISSION_TOOLTIP;透過に応じて透過を決めるカーブです\n横軸はマイナス値(最小)から平均値、プラス値(最大)まであります\n\nこのカーブを使って透過を変え、アーティファクトを軽減できます -TP_LOCALLAB_USEMASK;マスクの使う +TP_LOCALLAB_USEMASK;ラプラス変換 TP_LOCALLAB_VART;分散(コントラスト) -TP_LOCALLAB_VIBRANCE;自然な彩度 - ウォーム & クール -TP_LOCALLAB_VIB_TOOLNAME;自然な彩度 - ウォーム & クール - 3 +TP_LOCALLAB_VIBRANCE;自然な彩度 & ウォーム/クール +TP_LOCALLAB_VIBRA_TOOLTIP;自然な彩度を調整する機能です(基本的にはメインの自然な彩度と同じです)\nCIECAMのアルゴリズムを使ったホワイトバランス調整と同等の作用をします +TP_LOCALLAB_VIB_TOOLNAME;自然な彩度 - ウォーム/クール TP_LOCALLAB_VIS_TOOLTIP;選択したコントロールスポットを表示・非表示するためにはクリックします\n全てのコントロールスポットを表示・非表示するためにはCtrlを押しながらクリックします -TP_LOCALLAB_WAMASKCOL;Ψ ウェーブレットレベルのマスク -TP_LOCALLAB_WARM;ウォーム & -クールと偽色 -TP_LOCALLAB_WARM_TOOLTIP;このスライダーはホワイトバランスのようなCIECAMのアルゴリズムを使っています、選択したエリアの印象を暖かくしたり、冷たくしたりします。\n場合によっては、色のアーティファクトを軽減できます -TP_LOCALLAB_WASDEN_TOOLTIP;最初の3つの細かいレベルのノイズを軽減\n3より粗いレベルのノイズを軽減 -TP_LOCALLAB_WAV;レベルによるローカルコントラスト調整 -TP_LOCALLAB_WAVBLUR_TOOLTIP;残差画像を含め、分解された各詳細レベルに対してぼかしを実行します -TP_LOCALLAB_WAVCOMP;レベルごとの圧縮 -TP_LOCALLAB_WAVCOMPRE;レベルごとの(非)圧縮 -TP_LOCALLAB_WAVCOMPRE_TOOLTIP;トーンマッピング或いはレベルごとのローカルコントラストが軽減出来ます\n横軸がレベルの番手を表しています -TP_LOCALLAB_WAVCOMP_TOOLTIP;ウェーブレットによる分解の方向(水平、垂直、斜め)に応じたローカルコントラストを調整できます -TP_LOCALLAB_WAVCON;レベルによるコントラスト調整 -TP_LOCALLAB_WAVCONTF_TOOLTIP;詳細レベルによるコントラスト調整と似ています:横軸がレベルを表しています -TP_LOCALLAB_WAVDEN;レベルによる輝度ノイズの軽減(0 1 2 + 3、それ以上) -TP_LOCALLAB_WAVE;Ψ ウェーブレット +TP_LOCALLAB_WARM;ウォーム/クール & 偽色 +TP_LOCALLAB_WARM_TOOLTIP;このスライダーはCIECAMのアルゴリズムを使っていて、目標部分に暖か味を加える、或いは冷たい印象にするようなホワイトバランス調整を行います\n特定のケースでは色ノイズを減らす効果が期待できます +TP_LOCALLAB_WASDEN_TOOLTIP;輝度ノイズの低減:分岐線を含むカーブの左側部分は最初のディテールレベル、1、2、3(細かいディテール)に相当します。右側部分は大まかなディテールのレベル(3より上のレベル)に相当します。 +TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;各レベルで作用のバランスをとります。 +TP_LOCALLAB_WAT_BLURLC_TOOLTIP;デフォルトでは、ぼかしがL*a*b*の3つの構成要素全てに影響するように設定されています。\n輝度だけにぼかしを施したい場合は、ボックスに✔を入れます。 +TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'色度の融合'は色度に対し目標とする効果を強化する際に使われます。 +TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'輝度の融合'は輝度に対し目標とする効果を強化する際に使います。 +TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'レベルの色度':輝度値の割合でLabの補色次元'a'と'b'を調整します。 +TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;オフセットは低コントラストと高コントラストのディテールの間のバランスを変える機能です。\n高い値はコントラストの高いディテールのコントラスト変化を増幅します。低い値はコントラストの低いディテールのそれを増幅します。 +TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;スライダーを左に動かすと、小さなディテールのレベルの効果が強調されます。右に動かすと、大きいレベルの効果が強調されます。 +TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;残差画像はコントラストや色度などを調整した場合、元画像と同じ特性を示します。 +TP_LOCALLAB_WAT_GRADW_TOOLTIP;スライダーを右に動かすほど、形状検出のアルゴリズムの効果が強まり、ローカルコントラストの効果は目立たなくなります。 +TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;X軸は右側ほどローカルコントラスト値が高いことを意味します。\nY軸はローカルコントラスト値の増減を意味します。 +TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;元のコントラストの強さをベースにウェーブレットのレベルでローカルコントラストの配分を調整することが出来ます。画像の遠近感を変えてレリーフの効果を出したり、元々コントラストが非常に低いシャドウ部分などでローカルコントラストを下げてディテールが目立たないようにします。 +TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'元画像だけと融合'を選択すると、'ウェーブレットピラミッド'の設定は'明瞭'や'シャープマスク'に影響しません。 +TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;残差画像、各詳細レベルにぼかしをかけます。 +TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;コントラストを増減するために残差画像を圧縮します。 +TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;ローカルコントラストの調整効果は、中間コントラストのディテールに対し強く、低/高コントラストのディテールに対しては弱い働きになります。\nこのスライダーは、低/高、両極のコントラストに向かって調整効果が減衰する範囲を調整します。\nスライダーの値を高くすると、ローカルコントラストの調整効果が100%及ぶコントラスト値の範囲が広がりますが、その分アーティファクトが発生するリスクも高まります。\n値を低くすると、調整効果を受けるコントラストの範囲が狭まり、調整がピンポイントになります。 +TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;エッジ検出の効果を強化します +TP_LOCALLAB_WAT_STRWAV_TOOLTIP;設定した階調と角度に応じて、ローカルコントラストが変わるようにします。輝度値ではなく、輝度値の差を考慮します。 +TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;”ウェーブレットのレベル”で使われるレベルの範囲を設定します。 +TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;分解した各レベルにぼかしをかけることが出来ます。\n X軸は左から右に向って、大きなディテールのレベルを表しています。 +TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;'詳細レベルによるコントラスト調整'に似ています。X軸は左から右に向って、大きなディテールのレベルを表しています。 +TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;画像の輝度をベースにして、3方向(水平、垂直、斜め)のコントラストバランスに作用します。\nデフォルトでは、アーティファクトの発生を避けるため、シャドウ、或いはハイライト部分への効果は減らしてあります。 +TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;’エッジのシャープネス’の機能全てを表示します。RawPediaのウェーブレットのレベルが参考になります。 +TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;レベルに対するぼかしの効果を最大にします。 +TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;X軸は右側ほどローカルコントラスト値が高いことを意味します。\nY軸はローカルコントラスト値の増減を意味します。 +TP_LOCALLAB_WAT_WAVTM_TOOLTIP;各レベルの圧縮カーブを中央より下げる(マイナス)とトーンマッピングのような効果になります。\n中央より上では(プラス)、レベルのコントラストが減衰します。\nX軸は左から右に向って、大きなディテールのレベルを表しています。 +TP_LOCALLAB_WAV;ローカルコントラスト +TP_LOCALLAB_WAVBLUR_TOOLTIP;分解された各レベル、及び残差画像にぼかしをかけます +TP_LOCALLAB_WAVCOMP;ウェーブレットのレベルによる圧縮 +TP_LOCALLAB_WAVCOMPRE;ウェーブレットのレベルによる圧縮 +TP_LOCALLAB_WAVCOMPRE_TOOLTIP;トーンマッピングを適用する、或いは各レベルのローカルコントラストを減らすことが出来ます。\nX軸は左から右に向って、大きなディテールのレベルを表しています。 +TP_LOCALLAB_WAVCOMP_TOOLTIP;ウェーブレット分解の方向(水平、垂直、斜め)をベースにローカルコントラストを適用します。 +TP_LOCALLAB_WAVCON;ウェーブレットのレベルによるコントラスト調整 +TP_LOCALLAB_WAVCONTF_TOOLTIP;”詳細レベルによるコントラスト調整”に似ています。X軸の右側ほど大きいディテールのレベルを意味します。 +TP_LOCALLAB_WAVDEN;輝度ノイズ除去 +TP_LOCALLAB_WAVE;ウェーブレット TP_LOCALLAB_WAVEDG;ローカルコントラスト -TP_LOCALLAB_WAVEEDG_TOOLTIP;少なくとも最初の4つのレベルが使える必要があります -TP_LOCALLAB_WAVGRAD_TOOLTIP;ローカルコントラストの”輝度”に関する諧調調整 -TP_LOCALLAB_WAVHIGH;Ψ ウェーブレット 高 -TP_LOCALLAB_WAVLEV;レベルごとのぼかし -TP_LOCALLAB_WAVLOW;Ψ ウェーブレット 低 -TP_LOCALLAB_WAVMASK;Ψ ローカルコントラストのレベルのマスク -TP_LOCALLAB_WAVMASK_TOOLTIP;Allows fine work on mask levels contrasts (structure) -TP_LOCALLAB_WAVMED;Ψ ウェーブレット 普通 +TP_LOCALLAB_WAVEEDG_TOOLTIP;エッジに対するローカルコントラストの作用に着目してシャープネスを改善します。メインのウェーブレットのレベルに備わっている機能と同じで、同じ設定が使えます。 +TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;’ローカルコントラスト’で使うウェーブレットのレベルの範囲 +TP_LOCALLAB_WAVGRAD_TOOLTIP;設定した階調と角度に応じて、ローカルコントラストが変わるようにします。輝度値ではなく、輝度値の差を考慮しています。 +TP_LOCALLAB_WAVHUE_TOOLTIP;色相に基づいてノイズ除去の強弱を加減できます。 +TP_LOCALLAB_WAVLEV;ウェーブレットのレベルによるぼかし +TP_LOCALLAB_WAVMASK;ローカルコントラスト +TP_LOCALLAB_WAVMASK_TOOLTIP;マスクのローカルコントラストを変えるためにウェーブレットを使い、構造(肌、建物など)を強化したり弱めたりします TP_LOCALLAB_WEDIANHI;メディアン 高 TP_LOCALLAB_WHITE_EV;ホワイトEv +TP_LOCALLAB_ZCAMFRA;ZCAMによる画像の調整 +TP_LOCALLAB_ZCAMTHRES;高い値の回復 TP_LOCAL_HEIGHT;ボトム TP_LOCAL_HEIGHT_T;トップ TP_LOCAL_WIDTH;右 TP_LOCAL_WIDTH_L;左 -TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Equalize action.\nHigh = Reinforce high light.\n +TP_LOCRETI_METHOD_TOOLTIP;低 = 暗い部分を補強します\n均一 = 暗い部分、明るい部分を均等に処理します\n高 = 非常に明るい部分を補強します TP_METADATA_EDIT;変更を適用 TP_METADATA_MODE;メタデータ コピーモード TP_METADATA_STRIP;メタデータを全て取り除く @@ -2885,8 +3446,11 @@ TP_PERSPECTIVE_CAMERA_ROLL;回転 TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;水平移動 TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;垂直移動 TP_PERSPECTIVE_CAMERA_YAW;水平 +TP_PERSPECTIVE_CONTROL_LINES;制御ライン +TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+ドラッグ: 新しいラインを引く\n右クリック: ラインを削除 +TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;最低2本の水平な、或いは垂直なコントロールラインが必要です。 TP_PERSPECTIVE_HORIZONTAL;水平 -TP_PERSPECTIVE_LABEL;パースペクティブ +TP_PERSPECTIVE_LABEL;遠近感の歪み TP_PERSPECTIVE_METHOD;方式 TP_PERSPECTIVE_METHOD_CAMERA_BASED;カメラベース TP_PERSPECTIVE_METHOD_SIMPLE;シンプル @@ -2922,7 +3486,7 @@ TP_PRSHARPENING_LABEL;リサイズ後のシャープニング TP_PRSHARPENING_TOOLTIP;リサイズ後の画像をシャープニングします。但し、リサイズの方式がランチョスの場合に限ります。プレビュー画面でこの機能の効果を見ることは出来ません。使用法に関してはRawPediaを参照して下さい。 TP_RAWCACORR_AUTO;自動補正 TP_RAWCACORR_AUTOIT;繰り返し -TP_RAWCACORR_AUTOIT_TOOLTIP;”自動補正”が有効になっている場合にこの設定が可能です。\n自動補正の作用は控えめなため、全ての色収差が常に補正されるとは限りません。\n残りの色収差を補正するためには、自動色収差補正の繰り返しを最大5回行います。\n繰り返すたびに、直前の繰り返しで残った色収差を軽減しますが、その分処理時間は増えます。 +TP_RAWCACORR_AUTOIT_TOOLTIP;'自動補正'が有効になっている場合にこの設定が可能です。\n自動補正の作用は控えめなため、全ての色収差が常に補正されるとは限りません。\n残りの色収差を補正するためには、自動色収差補正の繰り返しを最大5回行います。\n繰り返すたびに、直前の繰り返しで残った色収差を軽減しますが、その分処理時間は増えます。 TP_RAWCACORR_AVOIDCOLORSHIFT;色ずれを回避 TP_RAWCACORR_CABLUE;ブルー TP_RAWCACORR_CARED;レッド @@ -2943,9 +3507,11 @@ TP_RAW_3PASSBEST;3-Pass (Markesteijn) TP_RAW_4PASS;3-パス+fast TP_RAW_AHD;AHD TP_RAW_AMAZE;AMaZE +TP_RAW_AMAZEBILINEAR;AMaZE+バイリニア補間 TP_RAW_AMAZEVNG4;AMaZE+VNG4 TP_RAW_BORDER;境界 TP_RAW_DCB;DCB +TP_RAW_DCBBILINEAR;DCB+バイリニア補間 TP_RAW_DCBENHANCE;DCB 拡張処理 TP_RAW_DCBITERATIONS;DCB 反復の数 TP_RAW_DCBVNG4;DCB+VNG4 @@ -2973,33 +3539,36 @@ TP_RAW_LMMSE_TOOLTIP;ガンマ追加 (step 1) - メディアン追加 (step 2,3, TP_RAW_MONO;Mono TP_RAW_NONE;なし (センサーのパターンを表示) TP_RAW_PIXELSHIFT;ピクセルシフト -TP_RAW_PIXELSHIFTBLUR;振れマスクのぼかし -TP_RAW_PIXELSHIFTDMETHOD;振れに対するデモザイクの方式 -TP_RAW_PIXELSHIFTEPERISO;ISOの適合 +TP_RAW_PIXELSHIFTAVERAGE;動体部分に平均を使う +TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;ブレのある部分の特定のフレームを使う代わりに、全てのフレームの平均を使う\nブレの少ない(オーバーラップ)対象にブレの効果を施す +TP_RAW_PIXELSHIFTBLUR;動体マスクのぼかし +TP_RAW_PIXELSHIFTDMETHOD;動体に対するデモザイクの方式 +TP_RAW_PIXELSHIFTEPERISO;感度 TP_RAW_PIXELSHIFTEPERISO_TOOLTIP;通常のISOに関してはデフォルトの0で十分だと思われます。\n高いISOの場合は、振れの検知を良くするために設定値を上げます。\n少しづつ増加させ、振れのマスクの変化を見ます。 TP_RAW_PIXELSHIFTEQUALBRIGHT;構成画像の明るさを均等にする TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL;チャンネルごとに均等化 TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL_TOOLTIP;有効:RGBの色チャンネルごとに均等化を行います。\n無効:全ての色チャンネルで同じように均等化を行います。 TP_RAW_PIXELSHIFTEQUALBRIGHT_TOOLTIP;選択した構成画像の明るさを他の構成画像の明るさに適用し均等化します。\n露出オーバーがある画像が発生する場合は、マゼンタ被りが起こるのを避けるために最も明るい画像を選択しないようにるいか、或いは振れの補正を有効にします。 -TP_RAW_PIXELSHIFTGREEN;振れに関するグリーンチャンネルを確認 -TP_RAW_PIXELSHIFTHOLEFILL;振れマスクの穴を埋める -TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;振れマスクの穴を埋める -TP_RAW_PIXELSHIFTMEDIAN;振れのある領域にはメディアンを使用 -TP_RAW_PIXELSHIFTMEDIAN_TOOLTIP;振れのある領域に関しては、選択した画像ではなく全ての構成画像にメディアンを使います。\n全ての構成画像で異なる位置にある被写体は除きます。\n動きの遅い被写体(オーバーラッピング)には振れの効果が出ます。 +TP_RAW_PIXELSHIFTGREEN;動体のグリーンチャンネルを確認 +TP_RAW_PIXELSHIFTHOLEFILL;動体のマスクのギャップを埋める +TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;動体マスクのギャップ埋めて大きい領域全体がデモザイクされるようにします +TP_RAW_PIXELSHIFTMEDIAN;動体部分にメディアンを使用 +TP_RAW_PIXELSHIFTMEDIAN_TOOLTIP;動体部分に関しては、選択した画像ではなく全ての構成画像にメディアンを使います。\n全ての構成画像で異なる位置にある被写体は除きます。\n動きの遅い被写体(オーバーラッピング)にはブレの効果が出ます。 TP_RAW_PIXELSHIFTMM_AUTO;自動 TP_RAW_PIXELSHIFTMM_CUSTOM;カスタム TP_RAW_PIXELSHIFTMM_OFF;オフ -TP_RAW_PIXELSHIFTMOTIONMETHOD;振れ補正 -TP_RAW_PIXELSHIFTNONGREENCROSS;振れに関するレッド/ブルーのチャンネルを確認 -TP_RAW_PIXELSHIFTSHOWMOTION;振れマスクを含めて表示 -TP_RAW_PIXELSHIFTSHOWMOTIONMASKONLY;振れマスクだけを表示 -TP_RAW_PIXELSHIFTSHOWMOTIONMASKONLY_TOOLTIP;画像全体ではなく振れマスクだけを表示します。 -TP_RAW_PIXELSHIFTSHOWMOTION_TOOLTIP;振れのある画像部分をグリーンマスクを被せて表示します。 +TP_RAW_PIXELSHIFTMOTIONMETHOD;動体補正 +TP_RAW_PIXELSHIFTNONGREENCROSS;動体のレッド/ブルーのチャンネルを確認 +TP_RAW_PIXELSHIFTSHOWMOTION;動体マスクを含めて表示 +TP_RAW_PIXELSHIFTSHOWMOTIONMASKONLY;動体マスクだけを表示 +TP_RAW_PIXELSHIFTSHOWMOTIONMASKONLY_TOOLTIP;画像全体ではなく動体マスクだけを表示します。 +TP_RAW_PIXELSHIFTSHOWMOTION_TOOLTIP;動体部分にグリーンのマスクを被せて表示します。 TP_RAW_PIXELSHIFTSIGMA;ぼかしの半径 TP_RAW_PIXELSHIFTSIGMA_TOOLTIP;デフォルトで設定している値1.0で基本的なISO値の画像には十分です。\nISO値の高い画像ではスライダーの値を増やします。5.0から始めるのがいいでしょう。\n設定値を変えながら振れマスクを見極めます。 TP_RAW_PIXELSHIFTSMOOTH;境界部分を滑らかにする -TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;これは振れのある領域と振れがない領域の境を滑らかに補正するものです。\n0に設定すると機能の働きはありません。\n1に設定すると、選択された構成画像にAMaZEかLMMSEが使われた結果が得られます("LMMSEを使う"というオプション次第)、或いは"メディアンを使う"が選択されていれば全ての構成画像にメディアンが使われます。 +TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;これは動体部分とそうでない部分の境を滑らかに補正するものです。\n0に設定すると機能の働きはありません。\n1に設定すると、選択された構成画像にAMaZEかLMMSEが使われた結果が得られます("LMMSEを使う"というオプション次第)、或いは"メディアンを使う"が選択されていれば全ての構成画像にメディアンが使われます。 TP_RAW_RCD;RCD +TP_RAW_RCDBILINEAR;RCD+バイリニア補間 TP_RAW_RCDVNG4;RCD+VNG4 TP_RAW_SENSOR_BAYER_LABEL;ベイヤー配列を使ったセンサー TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-passが最適です(低ISO画像には奨められます)\n高ISO画像の場合、1-passと3-passの違いは殆どありません、処理速度は前者の方が速いです。 @@ -3016,9 +3585,13 @@ TP_RESIZE_H;高さ: TP_RESIZE_HEIGHT;高さ TP_RESIZE_LABEL;リサイズ TP_RESIZE_LANCZOS;ランチョス +TP_RESIZE_LE;ロングエッジ: +TP_RESIZE_LONG;ロングエッジ TP_RESIZE_METHOD;方式: TP_RESIZE_NEAREST;ニアレスト TP_RESIZE_SCALE;スケール +TP_RESIZE_SE;ショートエッジ: +TP_RESIZE_SHORT;ショートエッジ TP_RESIZE_SPECIFY;条件指定: TP_RESIZE_W;幅: TP_RESIZE_WIDTH;幅 @@ -3072,10 +3645,10 @@ TP_RETINEX_MEDIAN;透過のメディアンフィルター TP_RETINEX_METHOD;方法 TP_RETINEX_METHOD_TOOLTIP;高=光度の高い部分のレンダリングを補正します\n均等=光度の高い部分と低い部分を均等に補正します\n低=光度の低い部分を重点的に補正します\nハイライト=ハイライト部分のマゼンタ被りを補正します TP_RETINEX_MLABEL;霞のない画像に修復 最小値=%1 最大値=%2 -TP_RETINEX_MLABEL_TOOLTIP;最小値=0 最大値=32768に近づける\nバランスの良い霞のない画像 +TP_RETINEX_MLABEL_TOOLTIP;修復のためには最低値を0、最大値を32768(対数モード)に近づける必要がありますが、他の数値も使えます。標準化のために、”ゲイン”と”オフセット”を調整します\nブレンドせずに画像を回復します TP_RETINEX_NEIGHBOR;半径 TP_RETINEX_NEUTRAL;リセット -TP_RETINEX_NEUTRAL_TIP;全てのスライダー値とカーブをデフォルトの状態に戻します +TP_RETINEX_NEUTRAL_TOOLTIP;全てのスライダー値とカーブをデフォルトの状態に戻します TP_RETINEX_OFFSET;オフセット TP_RETINEX_SCALES;ガウスフィルタの勾配 TP_RETINEX_SCALES_TOOLTIP;スライダー値が0の場合、同一の作業を繰り返します\n0より大きい値を設定すると、繰り返し作業を増やした時に、スケールと隣接するピクセルに対する作用は減ります。0より小さい場合は、その逆です @@ -3087,7 +3660,7 @@ TP_RETINEX_THRESHOLD;しきい値 TP_RETINEX_THRESHOLD_TOOLTIP;インとアウトの制限を意味します\nイン=原画像\nアウト=ガウスフィルタを施した原画像 TP_RETINEX_TLABEL;透過 差異の最小値=%1 最大値=%2 平均=%3 標準偏差=%4 TP_RETINEX_TLABEL2;透過 最小値=%1 最大値=%2 -TP_RETINEX_TLABEL_TOOLTIP;透過マップの結果を表示しています\n差異の最小値と最大値です\n平均と標準偏差\n透過マップの最小値と最大値です +TP_RETINEX_TLABEL_TOOLTIP;透過マップの結果\n最低値と最大値が分散(バリアンス)で使われます\n透過マップの最小値はTm=Min、最大値はTM=Maxで表示されます\nしきい値スライダーで結果を標準化します TP_RETINEX_TRANF;透過 TP_RETINEX_TRANSMISSION;透過マップ TP_RETINEX_TRANSMISSION_TOOLTIP;透過に応じて透過を調整します\n横軸:左からマイナス値(最小を含む)、平均、プラス値(最大を含む)\n縦軸:増幅或いは減衰 @@ -3111,7 +3684,7 @@ TP_RGBCURVES_RED;R TP_ROTATE_DEGREE;角度 TP_ROTATE_LABEL;回転 TP_ROTATE_SELECTLINE;直線選択・角度補正ツール -TP_SAVEDIALOG_OK_TIP;ショートカット Ctrl-Enter +TP_SAVEDIALOG_OK_TOOLTIP;ショートカット Ctrl-Enter TP_SHADOWSHLIGHTS_HIGHLIGHTS;ハイライト TP_SHADOWSHLIGHTS_HLTONALW;ハイライトトーンの幅 TP_SHADOWSHLIGHTS_LABEL;シャドウ/ハイライト @@ -3148,6 +3721,11 @@ TP_SHARPENMICRO_MATRIX;3×3マトリクスの代わりに 5×5 TP_SHARPENMICRO_UNIFORMITY;均等 TP_SOFTLIGHT_LABEL;ソフトライト TP_SOFTLIGHT_STRENGTH;強さ +TP_SPOT_COUNTLABEL;%1 ポイント +TP_SPOT_DEFAULT_SIZE;初期のスポットサイズ +TP_SPOT_ENTRYCHANGED;変更されたポイント +TP_SPOT_HINT;この機能をプレビュー領域で実行可能にするためにはこのボタンを押します。\n\n スポットを編集するには、白いマークを編集したい領域に持って行くと編集用の図が表示されます。\n\n スポットを追加するには、コントロールキーを押しながらマウスを左クリックし、マスクの元にする画像の部分まで表示されている円をドラッグして(この時点でコントロールキーを離しても構いません)、マウスをリリースします。\n\n元となる画像部分や修正したい画像部分を動かすには、マウスのカーソルを円内に置いてドラッグします。\n\n内側の円(マスクの効果が最大に働く部分)と外側の円(フェザー処理が働く部分)の大きさは変えることが出来ます(カーソルを円の淵に持って行くとオレンジになり、ドラッグするとレッドに変わります)。\n\n 修正が終わったら、円の外側でマウスを右クリックする、或いは編集ボタンを再度押すと編集モードが終了します。 +TP_SPOT_LABEL;スポット除去 TP_TM_FATTAL_AMOUNT;量 TP_TM_FATTAL_ANCHOR;アンカー TP_TM_FATTAL_LABEL;ダイナミックレンジ圧縮 @@ -3192,55 +3770,58 @@ TP_WAVELET_B1;グレー TP_WAVELET_B2;残差 TP_WAVELET_BACKGROUND;背景 TP_WAVELET_BACUR;カーブ -TP_WAVELET_BALANCE;コントラストバランス 斜め/垂直-水平 -TP_WAVELET_BALANCE_TOOLTIP;ウェーブレットの解析方向の垂直-水平と斜めのバランスを変えます\nコントラスト、色度、或いは残差画像のトーンマッピングが有効の場合、バランスにより効果が増幅されます +TP_WAVELET_BALANCE;方向別コントラストバランス 斜めと垂直・水平 +TP_WAVELET_BALANCE_TOOLTIP;ウェーブレットの解析方向(垂直・水平と斜め)のバランスを変えます\nコントラスト、色度、或いは残差画像のトーンマッピングが有効の場合、バランスにより効果が増幅されます TP_WAVELET_BALCHRO;色度のバランス -TP_WAVELET_BALCHROM;色ノイズ除去のイコライザ ブルー/イエロー レッド/グリーン +TP_WAVELET_BALCHROM;イコライザ 色 TP_WAVELET_BALCHRO_TOOLTIP;有効にすると、’コントラストバランス’のカーブやスライダーも色度のバランスに影響します -TP_WAVELET_BALLUM;輝度ノイズ除去のイコライザ 白黒 +TP_WAVELET_BALLUM;輝度ノイズ除去のイコライザ TP_WAVELET_BANONE;なし TP_WAVELET_BASLI;スライダー -TP_WAVELET_BATYPE;コントラストバランス方式 -TP_WAVELET_BL;ぼかしのレベル -TP_WAVELET_BLCURVE;詳細レベルによるぼかし +TP_WAVELET_BATYPE;調整方法 +TP_WAVELET_BL;レベルのぼかし +TP_WAVELET_BLCURVE;レベルごとのぼかし TP_WAVELET_BLURFRAME;ぼかし TP_WAVELET_BLUWAV;減衰応答 -TP_WAVELET_CBENAB;カラートーンとカラーバランス -TP_WAVELET_CB_TOOLTIP;高い値は、’カラートーン’と併用するか、或いはカラートーンは使わないで単独で使います。\n低い値の場合は前景の色合いを変えずに背景(空 ...) のホワイトバランスを変えるような効果を得られます。一般的にはコントラストが高くなる印象があります。 +TP_WAVELET_CBENAB;色調とカラーバランス +TP_WAVELET_CB_TOOLTIP;高い値は特殊な効果を生みます。色度のモジュールを使った特殊効果と似ています。但し、作用は残差画像にだけ及ぶものです。\n控え目な調整値は、手動でホワイトバランスを変えるような効果になります。 TP_WAVELET_CCURVE;ローカルコントラスト TP_WAVELET_CH1;全ての色 TP_WAVELET_CH2;明清色 - 純色 TP_WAVELET_CH3;コントラストのレベルとリンク TP_WAVELET_CHCU;カーブ TP_WAVELET_CHR;色度とコントラストのリンクの強さ -TP_WAVELET_CHRO;純色 - 明清色のしきい値 +TP_WAVELET_CHRO;純色/明清色を調整するレベルのしきい値 TP_WAVELET_CHROFRAME;色ノイズの除去 TP_WAVELET_CHROMAFRAME;色度 TP_WAVELET_CHROMCO;番手の高いレベルの色度 TP_WAVELET_CHROMFI;番手の低いレベルの色度 TP_WAVELET_CHRO_TOOLTIP;どのレベルで明清色と純色を調整するか決めます\n1-x:純色を調整するレベルの範囲\nx-9:明清色を調整するレベルの範囲\n\n但し、値がレベルの総数より多い場合は機能が無効となります TP_WAVELET_CHRWAV;色度のぼかし -TP_WAVELET_CHR_TOOLTIP;色度を”コントラストレベル”と”色度とコントラストのリンクの強さ”の相関関係で調整します +TP_WAVELET_CHR_TOOLTIP;色度を'コントラストレベル'と'色度とコントラストのリンクの強さ'に応じて調整します TP_WAVELET_CHSL;スライダー TP_WAVELET_CHTYPE;調整の方法 TP_WAVELET_CLA;明瞭 TP_WAVELET_CLARI;シャープマスクと明瞭 TP_WAVELET_COLORT;レッド/グリーンの不透明度 TP_WAVELET_COMPCONT;コントラスト +TP_WAVELET_COMPEXPERT;高度 TP_WAVELET_COMPGAMMA;ガンマの圧縮 TP_WAVELET_COMPGAMMA_TOOLTIP;残差画像のガンマを調整することで、画像データとヒストグラムの均衡を図ります。 +TP_WAVELET_COMPLEXLAB;機能水準 +TP_WAVELET_COMPLEX_TOOLTIP;標準: 殆どの処理操作に関する適当な機能のセットを減らして表示します\n高度: 高度な処理操作にに必要な機能を全て表示します +TP_WAVELET_COMPNORMAL;標準 TP_WAVELET_COMPTM;トーンマッピング TP_WAVELET_CONTEDIT;'後の' コントラストカーブ TP_WAVELET_CONTFRAME;コントラスト - 圧縮 TP_WAVELET_CONTR;色域 TP_WAVELET_CONTRA;コントラスト -TP_WAVELET_CONTRASTEDIT;細かい~大まか レベルの指定 TP_WAVELET_CONTRAST_MINUS;コントラスト - TP_WAVELET_CONTRAST_PLUS;コントラスト + TP_WAVELET_CONTRA_TOOLTIP;残差画像のコントラストを変えます TP_WAVELET_CTYPE;色の制御 -TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;拡大率が300%より上になると無効になります -TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;元画像のローカルコントラストに応じてローカルコントラストを調節します\n横軸の低い部分は細かいローカルコントラストを表しています(実質値10~20)\n50%はローカルコントラストの平均(実質値100~300)を表しています\n66%はローカルコントラストの標準偏差(実質値300~800)を表しています\n100%はローカルコントラストの最大値を表しています(実質値3000~8000) +TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;拡大率が概ね300%より大きくなると無効になります +TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;元画像のローカルコントラスト(横軸)に応じてローカルコントラストを調節します\n横軸の低い部分は小さいディテールのローカルコントラストを表しています(実質値10~20)\n50%はローカルコントラストの平均(実質値100~300)を表しています\n66%はローカルコントラストの標準偏差(実質値300~800)を表しています\n100%はローカルコントラストの最大値を表しています(実質値3000~8000) TP_WAVELET_CURVEEDITOR_CH;コントラストレベル=f(色相) TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;色相に応じて各レベルのコントラストを調節します\n色域抑制のカーブ調整と重複しないように注意します\nウェーブレットのコントラストレベルスライダー値が0の場合は効果はありません TP_WAVELET_CURVEEDITOR_CL;L @@ -3255,87 +3836,119 @@ TP_WAVELET_DAUB6;D6 - 標準プラス TP_WAVELET_DAUB10;D10 - やや高い TP_WAVELET_DAUB14;D14 - 高い TP_WAVELET_DAUBLOCAL;ウェーブレット エッジ検出の効果 -TP_WAVELET_DAUB_TOOLTIP;ドブシー関数の係数を変更します\nD4=標準的なエッジ検出の効果\nD14=通常はエッジ検出の効果が高いが、処理時間が約10%増加\n\n初めのレベルの質だけでなくエッジ検出にも影響します。但し、レベル質は厳格に係数の種類に比例している訳ではありません。画像や使い方にも影響されます。 -TP_WAVELET_DIRFRAME;方向によるコントラスト +TP_WAVELET_DAUB_TOOLTIP;ドブシー関数の係数を変更します:\nD4=標準\nD4=標準的なエッジ検出の効果\nD14=通常はエッジ検出の効果が最も高くなりますが、処理時間も約10%増加します\n\n番手の低いレベルの質だけでなくエッジ検出にも影響します。但し、レベル質は厳格に係数の種類に比例している訳ではありません。画像や使い方にも影響されます。 +TP_WAVELET_DEN5THR;ガイド付きしきい値 +TP_WAVELET_DENCURV;カーブ +TP_WAVELET_DENL;補正の構造 +TP_WAVELET_DENLH;レベル1~4のガイド付きしきい値 +TP_WAVELET_DENLOCAL_TOOLTIP;ローカルコントラストに応じてノイズ除去を行うためにカーブを使います\nノイズが除去される領域は構造が保たれます。 +TP_WAVELET_DENMIX_TOOLTIP;ローカルコントラストの基準値はガイド付きフィルタで使われます。\n画像次第で、ノイズのレベル計測がノイズ除去処理の前か後になるかで結果が変わります。これら4つの選択の中から、元画像と修正(ノイズ除去)画像の間で最も妥協できるものを選びます。 +TP_WAVELET_DENOISE;ローカルコントラストをベースにしたガイド付きカーブ +TP_WAVELET_DENOISEGUID;色相をベースにしたガイド付きしきい値 +TP_WAVELET_DENOISEH;番手の高いレベルのカーブ ローカルコントラスト +TP_WAVELET_DENOISEHUE;ノイズ除去 色相イコライザ +TP_WAVELET_DENQUA;モード +TP_WAVELET_DENSIGMA_TOOLTIP;ガイドの形状に順応します +TP_WAVELET_DENSLI;スライダー +TP_WAVELET_DENSLILAB;方式 +TP_WAVELET_DENWAVGUID_TOOLTIP;ガイド付きフィルタの作用を加減するのに色相を使います +TP_WAVELET_DENWAVHUE_TOOLTIP;色に応じてノイズ除去を加減します +TP_WAVELET_DETEND;ディテール +TP_WAVELET_DIRFRAME;方向のバランスによるコントラスト調整 TP_WAVELET_DONE;垂直 TP_WAVELET_DTHR;対角線 TP_WAVELET_DTWO;水平 -TP_WAVELET_EDCU;カーブ +TP_WAVELET_EDCU;非対称正規分布 TP_WAVELET_EDEFFECT;減衰応答 TP_WAVELET_EDEFFECT_TOOLTIP;このスライダーは機能の最大効果を受けるコントラスト値の範囲を調整するものです。最大値(2.5)を設定すると機能の効果が無効となります。 TP_WAVELET_EDGCONT;ローカルコントラスト -TP_WAVELET_EDGCONT_TOOLTIP;スライダーを左に動かすとコントラストが減り、右に動かすと増えます\n底部の左、天井部の左、底部の右、天井部の右は、それぞれ低いコントラスト、平均的コントラスト、平均+1標準偏差のコントラスト、最も高いコントラストを示しています +TP_WAVELET_EDGCONT_TOOLTIP;スライダーを左に動かすとコントラストが減り、右に動かすと増えます\n底部の左、天井部の左、底部の右、天井部の右は、それぞれ低いコントラスト、平均的コントラスト、平均+1標準偏差のコントラスト、最も高いコントラストを代表しています TP_WAVELET_EDGE;エッジのシャープネス TP_WAVELET_EDGEAMPLI;基底値の増幅 TP_WAVELET_EDGEDETECT;グラデーション感度 TP_WAVELET_EDGEDETECTTHR;しきい値 低(ノイズ) -TP_WAVELET_EDGEDETECTTHR2;しきい値 高(エッジ検出) +TP_WAVELET_EDGEDETECTTHR2;しきい値 高(エッジ検出の強化) TP_WAVELET_EDGEDETECTTHR_TOOLTIP;しきい値を変えることで、エッジ検出の目標を調整します。例えば、青空の中のノイズが先鋭化しないようにします。 -TP_WAVELET_EDGEDETECT_TOOLTIP;スライダーを右に動かすと、エッジ検出の感度が上がります。これはローカルコントラスト、しきい値 高、しきい値 低にも影響します +TP_WAVELET_EDGEDETECT_TOOLTIP;スライダーを右に動かすと、エッジ検出の感度が上がります。これはローカルコントラスト、エッジ検出の設定、ノイズに影響します。 TP_WAVELET_EDGESENSI;エッジ検出の感度 TP_WAVELET_EDGREINF_TOOLTIP;最初のレベルに対する作用を強めたり、弱めたりし、次のレベルに対してはその逆を行います、他のレベルは変わりません TP_WAVELET_EDGTHRESH;ディテール -TP_WAVELET_EDGTHRESH_TOOLTIP;低いレベルと他のレベルの区分を変更します。しきい値を高くするほど、低いレベルに作用の重点が置かれます。注意:マイナス値の設定は高いレベルに重点が置かれ、アーティファクトが発生することがあります。 +TP_WAVELET_EDGTHRESH_TOOLTIP;番手の低いレベルと他のレベルの区分を変更します。しきい値を高くするほど、番手の低いレベルに作用の重点が置かれます。注意:マイナス値の設定は高いレベルに重点が置かれ、アーティファクトが発生することがあります。 TP_WAVELET_EDRAD;半径 -TP_WAVELET_EDRAD_TOOLTIP;この機能の半径は、他のシャープニング機能の半径とは大きく異なります。複雑な関数を使って各レベルの値を比較します。そのため、半径がゼロでも何らかの効果があります -TP_WAVELET_EDSL;しきい値スライダー -TP_WAVELET_EDTYPE;ローカルコントラストの方式 +TP_WAVELET_EDRAD_TOOLTIP;この機能の半径は、他のシャープニング機能の半径とは大きく異なります。複雑な関数を使って各レベルの値を比較します。そのため、半径がゼロでも何らかの効果が出ます +TP_WAVELET_EDSL;しきい値カーブ +TP_WAVELET_EDTYPE;ローカルコントラストの調整方法 TP_WAVELET_EDVAL;強さ TP_WAVELET_FINAL;最終調整 TP_WAVELET_FINCFRAME;最終的なローカルコントラスト -TP_WAVELET_FINEST;最も細かい -TP_WAVELET_HIGHLIGHT;細かいレベルの輝度調整範囲 +TP_WAVELET_FINEST;最も小さいディテールのレベル +TP_WAVELET_FINTHR_TOOLTIP;ガイド付きフィルタの作用の加減にローカルコントラストを使います +TP_WAVELET_GUIDFRAME;最終的な平滑化(ガイド付きフィルタ) +TP_WAVELET_HIGHLIGHT;小さいディテールのレベルの輝度範囲 TP_WAVELET_HS1;全輝度範囲 TP_WAVELET_HS2;指定した輝度範囲 TP_WAVELET_HUESKIN;肌色の色相 TP_WAVELET_HUESKIN_TOOLTIP;底部の2つのポイントは、色相変化が始まる部分に設定されています、天井部の2つのポイントは変化が終わる所で、色相調整の効果が最も高い部分です\n\n設定ポイントを著しく動かす必要がある場合、或いはアーティファクトが発生するようであれば、ホワイトバランスが不適切と考えられます TP_WAVELET_HUESKY;色相の範囲(デフォルト:青空) TP_WAVELET_HUESKY_TOOLTIP;底部の2つのポイントは、色相変化が始まる部分に設定されています、天井部の2つのポイントは変化が終わる所で、色相調整の効果が最も高い部分です\n\n設定ポイントを著しく動かす必要がある場合、或いはアーティファクトが発生するようであれば、ホワイトバランスが不適切と考えられます -TP_WAVELET_ITER;デルタバランスのレベル -TP_WAVELET_ITER_TOOLTIP;スライダーを左に動かすと、低いレベルのデルタが増え、高いレベルのデルタが減ります\n右に動かすとその逆です +TP_WAVELET_ITER;レベルのデルタバランス +TP_WAVELET_ITER_TOOLTIP;スライダーを左に動かすと、番手の低いレベルへの効果が強まり、高いレベルへの効果が弱まります\n右に動かすとその逆です TP_WAVELET_LABEL;ウェーブレット -TP_WAVELET_LARGEST;最も大まか +TP_WAVELET_LABGRID_VALUES;粗いレベルの(a)=%1 粗いレベルの(b)=%2\n細かいレベルの(a)=%3 細かいレベルの(b)=%4 +TP_WAVELET_LARGEST;最も粗いレベル TP_WAVELET_LEVCH;色度 +TP_WAVELET_LEVDEN;レベル5、6のノイズ除去 TP_WAVELET_LEVDIR_ALL;全てのレベルと方向を合わせた画像 TP_WAVELET_LEVDIR_INF;選択したレベル以下を合わせた画像 TP_WAVELET_LEVDIR_ONE;選択したレベルだけの画像 -TP_WAVELET_LEVDIR_SUP;選択したレベルより上を合わせた画像 +TP_WAVELET_LEVDIR_SUP;選択したレベルより上と残差画像を合わせた画像 +TP_WAVELET_LEVELHIGH;レベル5、6の半径 +TP_WAVELET_LEVELLOW;レベル1~4の半径 TP_WAVELET_LEVELS;ウェーブレット レベルの数 -TP_WAVELET_LEVELS_TOOLTIP;画像を幾つの詳細レベルに分割するか選択します。分割数が増えればメモリー使用量が増え、処理時間も長くなります。 +TP_WAVELET_LEVELSIGM;半径 +TP_WAVELET_LEVELS_TOOLTIP;画像を幾つのレベルに分割するか選択します。分割数が増えればメモリー使用量が増え、処理時間も長くなります。 TP_WAVELET_LEVF;コントラスト +TP_WAVELET_LEVFOUR;レベル5、6のノイズ除去とガイド付きしきい値 TP_WAVELET_LEVLABEL;プレビューで表示可能な最大レベル=%1 -TP_WAVELET_LEVONE;レベル2 +TP_WAVELET_LEVONE;レベル 2 TP_WAVELET_LEVTHRE;レベル 4 -TP_WAVELET_LEVTWO;レベル3 -TP_WAVELET_LEVZERO;レベル1 +TP_WAVELET_LEVTWO;レベル 3 +TP_WAVELET_LEVZERO;レベル 1 +TP_WAVELET_LIMDEN;レベル1~4に対するレベル5,6の相互作用 TP_WAVELET_LINKEDG;エッジのシャープネスの強さとリンク TP_WAVELET_LIPST;高度なアルゴリズム -TP_WAVELET_LOWLIGHT;大まかなレベルの輝度調整範囲 -TP_WAVELET_LOWTHR_TOOLTIP;詳細とノイズの増幅を避けます +TP_WAVELET_LOWLIGHT;大きいディテールのレベルの輝度範囲 +TP_WAVELET_LOWTHR_TOOLTIP;ノイズの増幅を避けます TP_WAVELET_MEDGREINF;最初のレベル TP_WAVELET_MEDI;青空のアーティファクトを軽減 TP_WAVELET_MEDILEV;エッジ検出 TP_WAVELET_MEDILEV_TOOLTIP;エッジの検出を有効にした際には、次の操作が奨められます:\n- アーティファクト発生を避けるため低いレベルのコントラストを使わない\n- グラデーション感度では高い値を使う\n\n効果を和らげるには、ノイズ低減とリファインの’リファイン’を下げる -TP_WAVELET_MERGEC;色度を融合 -TP_WAVELET_MERGEL;輝度を融合 +TP_WAVELET_MERGEC;色調の融合 +TP_WAVELET_MERGEL;輝度の融合 +TP_WAVELET_MIXCONTRAST;基準値 +TP_WAVELET_MIXDENOISE;ノイズ除去 +TP_WAVELET_MIXMIX;混成 50%ノイズ - 50%ノイズ除去 +TP_WAVELET_MIXMIX70;混成 30%ノイズ - 70%ノイズ除去 +TP_WAVELET_MIXNOISE;ノイズ TP_WAVELET_NEUTRAL;ニュートラル -TP_WAVELET_NOIS;ノイズ低減 -TP_WAVELET_NOISE;ノイズ低減とリファイン -TP_WAVELET_NOISE_TOOLTIP;詳細レベル4の輝度ノイズ除去が20以上の時にはアグレッシブモードが使われます\n色ノイズ除去で、大まかなレベルの値が20以上の時は、アグレッシブモードが使われます +TP_WAVELET_NOIS;ノイズ除去 +TP_WAVELET_NOISE;ノイズ除去とリファイン TP_WAVELET_NPHIGH;高い TP_WAVELET_NPLOW;低い TP_WAVELET_NPNONE;なし TP_WAVELET_NPTYPE;隣接するピクセルに対する効果 -TP_WAVELET_NPTYPE_TOOLTIP;このアルゴリズムは近傍する8つのピクセルを使って比較します。違いが少ない場合に、エッジを強化します。 -TP_WAVELET_OFFSET_TOOLTIP;オフセットはシャドウとハイライトのバランスを調整する機能です\n 高い値を設定するとシャドウ部分のコントラスト強化が増幅されます。最小コントラストのしきい値と合わせて使えば、コントラストを高くしたい部分の見極めに役立つでしょう +TP_WAVELET_NPTYPE_TOOLTIP;このアルゴリズムは近傍の8つのピクセルを使って比較します。違いが少ない場合に、エッジを強化します。 +TP_WAVELET_OFFSET_TOOLTIP;オフセットは低コントラストと高コントラストのディテールのバランスを変える機能です\n高い値は高コントラストのディテールのコントラスト変化を増幅し、低い値は低コントラストのディテールのコントラスト変化を大きくします\n低い減衰応答を使うことで、どのコントラスト値が増幅されるか加減出来ます TP_WAVELET_OLDSH;マイナス値が使えるアルゴリズム TP_WAVELET_OPACITY;ブルー/イエローの不透明度 -TP_WAVELET_OPACITYW;コントラストバランス d/v-hカーブ +TP_WAVELET_OPACITYW;斜め/垂直・水平のバランスカーブ TP_WAVELET_OPACITYWL;最終的なローカルコントラスト TP_WAVELET_OPACITYWL_TOOLTIP;ウェーブレット処理の最後で最終的なローカルコントラストを調整します\n\nイコライザは左から右に向かって、最も細かいローカルコントラストから大きいローカルコントラストを表しています -TP_WAVELET_PASTEL;明清色の色度 +TP_WAVELET_PASTEL;明清色の色度の定義 TP_WAVELET_PROC;プロセス TP_WAVELET_PROTAB;保護 +TP_WAVELET_QUAAGRES;積極的 +TP_WAVELET_QUACONSER;控え目 TP_WAVELET_RADIUS;シャドウ/ハイライトの半径 TP_WAVELET_RANGEAB;aとbの範囲 % TP_WAVELET_RE1;強める @@ -3348,11 +3961,12 @@ TP_WAVELET_RESCHRO;強さ TP_WAVELET_RESCON;シャドウ TP_WAVELET_RESCONH;ハイライト TP_WAVELET_RESID;残差画像 -TP_WAVELET_SAT;純色の色度 +TP_WAVELET_SAT;純色の色度の定義 TP_WAVELET_SETTINGS;ウェーブレットの設定 TP_WAVELET_SHA;シャープマスク TP_WAVELET_SHFRAME;シャドウ/ハイライト TP_WAVELET_SHOWMASK;ウェーブレットの'マスク'を表示 +TP_WAVELET_SIGM;半径 TP_WAVELET_SIGMA;減衰応答 TP_WAVELET_SIGMAFIN;減衰応答 TP_WAVELET_SIGMA_TOOLTIP;コントラストスライダーの調整効果は、中間的なマイクロコントラストは強く、低い、或いは高いマイクロコントラストはそうでもありません。\n減衰応答は、この調整作用を極端なコントラスト値に向けて、どれだけ素早く減衰させるかコントロールするスライダーです。\n高い値を設定すると、減衰が強く作用するマイクロコントラストの領域が広がりますが、アーティファクトが発生することがあります。\n低い値を設定すると、減衰が強く作用するマイクロコントラストの領域が狭くなるので、よりピンポイントに効果が表れます。 @@ -3361,20 +3975,21 @@ TP_WAVELET_SKIN_TOOLTIP;-100にすると肌色のトーンだけが調整の TP_WAVELET_SKY;色相の目標/保護 TP_WAVELET_SKY_TOOLTIP;-100にすると青空のトーンだけが調整の対象になります\n0にすると全てのカラートーンが調整されます\n+100にすると青空のトーンは保護され、他のカラートーンが調整されます TP_WAVELET_SOFTRAD;ソフトな半径 -TP_WAVELET_STREN;強さ +TP_WAVELET_STREN;リファイン +TP_WAVELET_STREND;強さ TP_WAVELET_STRENGTH;強さ TP_WAVELET_SUPE;エキストラ TP_WAVELET_THR;シャドウのしきい値 -TP_WAVELET_THRESHOLD;調整するレベル 細かい -TP_WAVELET_THRESHOLD2;調整するレベル 大まか -TP_WAVELET_THRESHOLD2_TOOLTIP;設定値より上の詳細レベルだけが、大まかなレベルの輝度範囲で設定された条件で調整されます。 -TP_WAVELET_THRESHOLD_TOOLTIP;設定値以下の詳細レベルだけが、細かいレベルの輝度範囲で設定された条件で調整されます。 -TP_WAVELET_THRESWAV;バランスのしきい値 +TP_WAVELET_THRDEN_TOOLTIP;ローカルコントラストに応じたノイズ除去の目安に使うため、ステップカーブを作成します。ノイズ除去がコントラストの低い均一な画質部分に適用されます。詳細がある部分(コントラストが高い)は保持されます。 +TP_WAVELET_THREND;ローカルコントラストのしきい値 +TP_WAVELET_THRESHOLD;調整レベル(小さいディテール) +TP_WAVELET_THRESHOLD2;調整レベル(大きいディテール) +TP_WAVELET_THRESHOLD2_TOOLTIP;設定値より上のレベルだけが、大きなディテールのレベルの輝度範囲で設定された条件で調整されます。 +TP_WAVELET_THRESHOLD_TOOLTIP;設定値以下のレベルだけが、小さいディテールのレベルの輝度範囲で設定された条件で調整されます。 TP_WAVELET_THRH;ハイライトのしきい値 -TP_WAVELET_TILESBIG;大きいタイル +TP_WAVELET_TILESBIG;タイル TP_WAVELET_TILESFULL;画像全体 -TP_WAVELET_TILESIZE;タイルのサイズ -TP_WAVELET_TILESLIT;小さいタイル +TP_WAVELET_TILESIZE;解析の領域 TP_WAVELET_TILES_TOOLTIP;画像全体を処理する方が良い結果をもたらすので、推奨される選択です。タイルによる処理はRAMの容量が小さいユーザー向けです。必要なメモリー容量に関してはRawPediaを参照して下さい。 TP_WAVELET_TMEDGS;エッジ停止 TP_WAVELET_TMSCALE;スケール @@ -3385,13 +4000,12 @@ TP_WAVELET_TON;カラートーン TP_WAVELET_TONFRAME;除外されたカラー TP_WAVELET_USH;なし TP_WAVELET_USHARP;明瞭の方式 -TP_WAVELET_USHARP_TOOLTIP;オリジン : ウェーブレットによる調整を含まないソースファイル\nウェーブレット : ウェーブレットによる調整を含むソースファイル TP_WAVELET_USH_TOOLTIP;シャープマスクを選択すると、ウェーブレットの設定が次の様に自動的に行われます:\n背景=ブラック、処理=レベル3以下...レベルは1~4の間で変えられます\n\n明瞭を選択すると、ウェーブレットの設定が次の様に自動的に行われます:\n背景=残差画像、処理=レベル7以上 レベルは5~10の間で変えられます TP_WAVELET_WAVLOWTHR;最小コントラストのしきい値 TP_WAVELET_WAVOFFSET;オフセット TP_WBALANCE_AUTO;自動補正 -TP_WBALANCE_AUTOITCGREEN;色温度の相関関係を繰り返し解析する -TP_WBALANCE_AUTOOLD;RGBグレーを使う +TP_WBALANCE_AUTOITCGREEN;色温度の相関関係 +TP_WBALANCE_AUTOOLD;RGBグレー TP_WBALANCE_AUTO_HEADER;自動 TP_WBALANCE_CAMERA;カメラ TP_WBALANCE_CLOUDY;曇天 @@ -3437,7 +4051,7 @@ TP_WBALANCE_SPOTWB;ピペットを使ってプレビュー画像のニュート TP_WBALANCE_STUDLABEL;t検定 Itcwb: %1 TP_WBALANCE_STUDLABEL_TOOLTIP;t検定の結果を表示\n低い値ほど相関関係が良いことになります\n値が0.002以下はエクセレント\n0.005以下は非常に良い\n0.01以下は良い\n0.05以下は十分\n0.5以上は悪い\n光源が標準的ではない場合は、t検定が良好であってもホワイトバラスが良いことにはなりません\nt検定結果が1000と表示された場合は反復解析が行われなかったことを意味します。良い結果と想定される前の計算結果が使われます TP_WBALANCE_TEMPBIAS;自動ホワイトバランス 色温度のバイアス -TP_WBALANCE_TEMPBIAS_TOOLTIP;”自動ホワイトバランスの計算に変更を加えます”\n色温度を変えることで画像の暖かみを増やしたり、冷たさを増やしたりします。\n偏向の度合いは色温度の割合で表示されます\n従って計算値は "算出した色温度 + 算出した色温度 * 偏向"で計算したものです +TP_WBALANCE_TEMPBIAS_TOOLTIP;'自動ホワイトバランスの計算に変更を加えます'\n色温度を変えることで画像の暖かみを増やしたり、冷たさを増やしたりします。\n偏向の度合いは色温度の割合で表示されます\n従って計算値は "算出した色温度 + 算出した色温度 * 偏向"で計算したものです TP_WBALANCE_TEMPERATURE;色温度 TP_WBALANCE_TUNGSTEN;タングステン TP_WBALANCE_WATER1;水中 1 @@ -3455,4 +4069,4 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: - ! Untranslated keys follow; remove the ! prefix after an entry is translated. !!!!!!!!!!!!!!!!!!!!!!!!! -!TP_WAVELET_FINCOAR_TOOLTIP;The left (positive) part of the curve acts on the finer levels (increase).\nThe 2 points on the abscissa represent the respective action limits of finer and coarser levels 5 and 6 (default).\nThe right (negative) part of the curve acts on the coarser levels (increase).\nAvoid moving the left part of the curve with negative values. Avoid moving the right part of the curve with positives values +!TP_NEUTRAL_TOOLTIP;Resets exposure sliders to neutral values.\nApplies to the same controls that Auto Levels applies to, regardless of whether you used Auto Levels or not. diff --git a/rtdata/languages/LICENSE b/rtdata/languages/LICENSE old mode 100755 new mode 100644 diff --git a/rtdata/languages/Magyar b/rtdata/languages/Magyar index 7ecdc6f3b..6283dbe4b 100644 --- a/rtdata/languages/Magyar +++ b/rtdata/languages/Magyar @@ -156,13 +156,11 @@ HISTOGRAM_TOOLTIP_BAR;RGB jelzősáv megjelenítése/elrejtése.\nKattints jobb HISTOGRAM_TOOLTIP_G;Zöld csatorna hisztogrammja (mutat/elrejt) HISTOGRAM_TOOLTIP_L;CIELAB Luminancia hisztogramm (mutat/elrejt) HISTOGRAM_TOOLTIP_R;Piros csatorna hisztogrammja (mutat/elrejt) -HISTOGRAM_TOOLTIP_RAW;Raw hisztogram megjelenítése/elrejtése HISTORY_CHANGED;Változott HISTORY_CUSTOMCURVE;Saját görbe HISTORY_FROMCLIPBOARD;Vágólapról HISTORY_LABEL;Előzmények HISTORY_MSG_1;Kép betöltve -HISTORY_MSG_2;Beállítások betöltése HISTORY_MSG_3;Beállítások változtatása HISTORY_MSG_4;Előzményböngészés HISTORY_MSG_5;Fényerő @@ -176,9 +174,6 @@ HISTORY_MSG_12;Auto szint HISTORY_MSG_13;Vágás HISTORY_MSG_14;Luminancia, fényerő HISTORY_MSG_15;Luminancia, kontraszt -HISTORY_MSG_16;Luminancia, fekete szint -HISTORY_MSG_17;Luminancia, világos tónusok tömörítése -HISTORY_MSG_18;Luminancia, sötét tónusok tömörítése HISTORY_MSG_19;Luminancia görbe HISTORY_MSG_20;Élesítés HISTORY_MSG_21;Élesítés sugara @@ -204,10 +199,6 @@ HISTORY_MSG_40;Fehér árnyalat HISTORY_MSG_41;Színeltolás "A" HISTORY_MSG_42;Színeltolás "B" HISTORY_MSG_43;Luminanciazaj-csökkentés -HISTORY_MSG_44;Lum. zajcsökkentés sugara -HISTORY_MSG_45;Lum. zajcsökkentés éltoleranciája -HISTORY_MSG_46;Színzaj-csökkentés -HISTORY_MSG_47;Színzaj-csökkentés sugara HISTORY_MSG_48;Színzaj-csökkentés éltoleranciája HISTORY_MSG_49;Élérzékeny színzaj-csökkentés HISTORY_MSG_50;Árnyékok/Fények korrekció @@ -215,7 +206,6 @@ HISTORY_MSG_51;Fényes részek HISTORY_MSG_52;Sötét részek HISTORY_MSG_53;Világos tónustartomány HISTORY_MSG_54;Sötét tónustartomány -HISTORY_MSG_55;Lokális kontraszt HISTORY_MSG_56;Árnyékok/Fények sugár HISTORY_MSG_57;Durva forgatás HISTORY_MSG_58;Vízszintes tükrözés @@ -227,7 +217,6 @@ HISTORY_MSG_63;Pillanatkép kiválasztása HISTORY_MSG_64;Képkivágás HISTORY_MSG_65;Kromatikus aberráció korrekciója HISTORY_MSG_66;Kiégett részek megmentése -HISTORY_MSG_67;Kiégett részek visszaállítása HISTORY_MSG_68;Kiégett részek algoritmus HISTORY_MSG_69;Feldolgozási (munka-) színprofil HISTORY_MSG_70;Kimeneti színprofil @@ -238,12 +227,10 @@ HISTORY_MSG_74;Átméretezés szorzója HISTORY_MSG_75;Átméretezés algoritmusa HISTORY_MSG_76;EXIF Metaadatok HISTORY_MSG_77;IPTC Metaadatok -HISTORY_MSG_78;Data specified for resize HISTORY_MSG_79;Átméretezés szélesség szerint HISTORY_MSG_80;Átméretezés magasság szerint HISTORY_MSG_81;Átméretezés engedélyezve HISTORY_MSG_82;Megváltozott profil -HISTORY_MSG_83;Árnyékok/csúcsfények - kiváló minőség HISTORY_MSG_84;Perspektívakorrekció HISTORY_MSG_85;Wavelet együtthatók HISTORY_MSG_86;Wavelet equalizer @@ -290,12 +277,6 @@ HISTORY_MSG_127;Flat Field automatikus kivál. HISTORY_MSG_128;Flat Field elmosás sugara HISTORY_MSG_129;Flat Field elmosás típusa HISTORY_MSG_130;Auto torzítás -HISTORY_MSG_131;Zajszűrés - luminencia -HISTORY_MSG_132;Zajszűrés - szín -HISTORY_MSG_133;Gamma -HISTORY_MSG_134;Gamma - Position -HISTORY_MSG_135;Gamma - szabad -HISTORY_MSG_136;Gamma - meredekség HISTORY_MSG_137;Feketeszint - zöld 1 HISTORY_MSG_138;Feketeszint - vörös HISTORY_MSG_139;Feketeszint - kék @@ -635,11 +616,11 @@ TP_EPD_REWEIGHTINGITERATES;Újrasúlyozási ismétlések TP_EPD_SCALE;Skála TP_EPD_STRENGTH;Erősség TP_EXPOSURE_AUTOLEVELS;Auto szint -TP_EXPOSURE_AUTOLEVELS_TIP;Az automatikus szintek ki/bekapcsolása, mely a kép elemzése alapján állítja be a paramétereket +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Az automatikus szintek ki/bekapcsolása, mely a kép elemzése alapján állítja be a paramétereket TP_EXPOSURE_BLACKLEVEL;Feketeszint TP_EXPOSURE_BRIGHTNESS;Fényerő TP_EXPOSURE_CLIP;Vágás -TP_EXPOSURE_CLIP_TIP;Automatikus szintek meghatározásához a kiégett pixelek aránya +TP_EXPOSURE_CLIP_TOOLTIP;Automatikus szintek meghatározásához a kiégett pixelek aránya TP_EXPOSURE_COMPRHIGHLIGHTS;Világos tónusok tömörítése TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Csúcsfények helyreállításának küszöbe TP_EXPOSURE_COMPRSHADOWS;Sötét tónusok tömörítése @@ -692,7 +673,7 @@ TP_LABCURVE_LABEL;Lab görbék TP_LENSGEOM_AUTOCROP;Automatikus vágás TP_LENSGEOM_FILL;Automatikus kitöltés TP_LENSGEOM_LABEL;Objektív / Geometria -TP_NEUTRAL_TIP;Expozíciós paraméterek visszaállítása a semleges értékre +TP_NEUTRAL_TOOLTIP;Expozíciós paraméterek visszaállítása a semleges értékre TP_PERSPECTIVE_HORIZONTAL;Vízszintes TP_PERSPECTIVE_LABEL;Perspektíva TP_PERSPECTIVE_VERTICAL;Függőleges @@ -839,7 +820,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !DYNPROFILEEDITOR_DELETE;Delete !DYNPROFILEEDITOR_EDIT;Edit !DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule -!DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the "re:" prefix to enter\na regular expression. +!DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the 're:' prefix to enter\na regular expression. !DYNPROFILEEDITOR_IMGTYPE_ANY;Any !DYNPROFILEEDITOR_IMGTYPE_HDR;HDR !DYNPROFILEEDITOR_IMGTYPE_PS;Pixel Shift @@ -858,11 +839,11 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !EXPORT_BYPASS_RAW_LMMSE_ITERATIONS;Bypass [raw] LMMSE Enhancement Steps !EXPORT_PIPELINE;Processing pipeline !EXPORT_USE_FAST_PIPELINE;Dedicated (full processing on resized image) -!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_FAST_PIPELINE_TOOLTIP;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) !EXTPROGTARGET_1;raw !EXTPROGTARGET_2;queue-processed -!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. +!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply 'find' keywords. !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles !FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles !FILEBROWSER_COLORLABEL_TOOLTIP;Color label.\n\nUse dropdown menu or shortcuts:\nShift-Ctrl-0 No Color\nShift-Ctrl-1 Red\nShift-Ctrl-2 Yellow\nShift-Ctrl-3 Green\nShift-Ctrl-4 Blue\nShift-Ctrl-5 Purple @@ -878,6 +859,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !FILEBROWSER_POPUPCOLORLABEL3;Label: Green !FILEBROWSER_POPUPCOLORLABEL4;Label: Blue !FILEBROWSER_POPUPCOLORLABEL5;Label: Purple +!FILEBROWSER_POPUPINSPECT;Inspect !FILEBROWSER_POPUPRANK;Rank !FILEBROWSER_POPUPRANK0;Unrank !FILEBROWSER_POPUPRANK1;Rank 1 * @@ -908,6 +890,8 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !GENERAL_AUTO;Automatic !GENERAL_CLOSE;Close !GENERAL_CURRENT;Current +!GENERAL_DELETE_ALL;Delete all +!GENERAL_EDIT;Edit !GENERAL_HELP;Help !GENERAL_OPEN;Open !GENERAL_RESET;Reset @@ -916,7 +900,16 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !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_CROSSHAIR;Show/Hide indicator crosshair. !HISTOGRAM_TOOLTIP_MODE;Toggle between linear, log-linear and log-log scaling of the histogram. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform !HISTORY_MSG_166;Exposure - Reset !HISTORY_MSG_167;Demosaicing method !HISTORY_MSG_168;L*a*b* - CC curve @@ -925,39 +918,39 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !HISTORY_MSG_171;L*a*b* - LC curve !HISTORY_MSG_172;L*a*b* - Restrict LC !HISTORY_MSG_173;NR - Detail recovery -!HISTORY_MSG_174;CIECAM02 -!HISTORY_MSG_175;CAM02 - CAT02 adaptation -!HISTORY_MSG_176;CAM02 - Viewing surround -!HISTORY_MSG_177;CAM02 - Scene luminosity -!HISTORY_MSG_178;CAM02 - Viewing luminosity -!HISTORY_MSG_179;CAM02 - White-point model -!HISTORY_MSG_180;CAM02 - Lightness (J) -!HISTORY_MSG_181;CAM02 - Chroma (C) -!HISTORY_MSG_182;CAM02 - Automatic CAT02 -!HISTORY_MSG_183;CAM02 - Contrast (J) -!HISTORY_MSG_184;CAM02 - Scene surround -!HISTORY_MSG_185;CAM02 - Gamut control -!HISTORY_MSG_186;CAM02 - Algorithm -!HISTORY_MSG_187;CAM02 - Red/skin prot. -!HISTORY_MSG_188;CAM02 - Brightness (Q) -!HISTORY_MSG_189;CAM02 - Contrast (Q) -!HISTORY_MSG_190;CAM02 - Saturation (S) -!HISTORY_MSG_191;CAM02 - Colorfulness (M) -!HISTORY_MSG_192;CAM02 - Hue (h) -!HISTORY_MSG_193;CAM02 - Tone curve 1 -!HISTORY_MSG_194;CAM02 - Tone curve 2 -!HISTORY_MSG_195;CAM02 - Tone curve 1 -!HISTORY_MSG_196;CAM02 - Tone curve 2 -!HISTORY_MSG_197;CAM02 - Color curve -!HISTORY_MSG_198;CAM02 - Color curve -!HISTORY_MSG_199;CAM02 - Output histograms -!HISTORY_MSG_200;CAM02 - Tone mapping +!HISTORY_MSG_174;Color Appearance & Lighting +!HISTORY_MSG_175;CAL - SC - Adaptation +!HISTORY_MSG_176;CAL - VC - Surround +!HISTORY_MSG_177;CAL - SC - Absolute luminance +!HISTORY_MSG_178;CAL - VC - Absolute luminance +!HISTORY_MSG_179;CAL - SC - WP model +!HISTORY_MSG_180;CAL - IA - Lightness (J) +!HISTORY_MSG_181;CAL - IA - Chroma (C) +!HISTORY_MSG_182;CAL - SC - Auto adaptation +!HISTORY_MSG_183;CAL - IA - Contrast (J) +!HISTORY_MSG_184;CAL - SC - Surround +!HISTORY_MSG_185;CAL - Gamut control +!HISTORY_MSG_186;CAL - IA - Algorithm +!HISTORY_MSG_187;CAL - IA - Red/skin protection +!HISTORY_MSG_188;CAL - IA - Brightness (Q) +!HISTORY_MSG_189;CAL - IA - Contrast (Q) +!HISTORY_MSG_190;CAL - IA - Saturation (S) +!HISTORY_MSG_191;CAL - IA - Colorfulness (M) +!HISTORY_MSG_192;CAL - IA - Hue (h) +!HISTORY_MSG_193;CAL - IA - Tone curve 1 +!HISTORY_MSG_194;CAL - IA - Tone curve 2 +!HISTORY_MSG_195;CAL - IA - Tone curve 1 mode +!HISTORY_MSG_196;CAL - IA - Tone curve 2 mode +!HISTORY_MSG_197;CAL - IA - Color curve +!HISTORY_MSG_198;CAL - IA - Color curve mode +!HISTORY_MSG_199;CAL - IA - Use CAM output for histograms +!HISTORY_MSG_200;CAL - IA - Use CAM for tone mapping !HISTORY_MSG_201;NR - Chrominance - R&G !HISTORY_MSG_202;NR - Chrominance - B&Y !HISTORY_MSG_203;NR - Color space !HISTORY_MSG_204;LMMSE enhancement steps -!HISTORY_MSG_205;CAM02 - Hot/bad pixel filter -!HISTORY_MSG_206;CAT02 - Auto scene luminosity +!HISTORY_MSG_205;CAL - Hot/bad pixel filter +!HISTORY_MSG_206;CAL - SC - Auto absolute luminance !HISTORY_MSG_207;Defringe - Hue curve !HISTORY_MSG_208;WB - B/R equalizer !HISTORY_MSG_210;GF - Angle @@ -1000,7 +993,6 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !HISTORY_MSG_247;L*a*b* - LH curve !HISTORY_MSG_248;L*a*b* - HH curve !HISTORY_MSG_249;CbDL - Threshold -!HISTORY_MSG_250;NR - Enhanced !HISTORY_MSG_251;B&W - Algorithm !HISTORY_MSG_252;CbDL - Skin tar/prot !HISTORY_MSG_253;CbDL - Reduce artifacts @@ -1024,8 +1016,6 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !HISTORY_MSG_271;CT - High - Blue !HISTORY_MSG_272;CT - Balance !HISTORY_MSG_273;CT - Color Balance SMH -!HISTORY_MSG_274;CT - Sat. Shadows -!HISTORY_MSG_275;CT - Sat. Highlights !HISTORY_MSG_276;CT - Opacity !HISTORY_MSG_277;--unused-- !HISTORY_MSG_278;CT - Preserve luminance @@ -1050,7 +1040,6 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !HISTORY_MSG_297;NR - Mode !HISTORY_MSG_298;Dead pixel filter !HISTORY_MSG_299;NR - Chrominance curve -!HISTORY_MSG_300;- !HISTORY_MSG_301;NR - Luma control !HISTORY_MSG_302;NR - Chroma method !HISTORY_MSG_303;NR - Chroma method @@ -1068,10 +1057,10 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !HISTORY_MSG_315;W - Residual - Contrast !HISTORY_MSG_316;W - Gamut - Skin tar/prot !HISTORY_MSG_317;W - Gamut - Skin hue -!HISTORY_MSG_318;W - Contrast - Highlight levels -!HISTORY_MSG_319;W - Contrast - Highlight range -!HISTORY_MSG_320;W - Contrast - Shadow range -!HISTORY_MSG_321;W - Contrast - Shadow levels +!HISTORY_MSG_318;W - Contrast - Finer levels +!HISTORY_MSG_319;W - Contrast - Finer range +!HISTORY_MSG_320;W - Contrast - Coarser range +!HISTORY_MSG_321;W - Contrast - Coarser levels !HISTORY_MSG_322;W - Gamut - Avoid color shift !HISTORY_MSG_323;W - ES - Local contrast !HISTORY_MSG_324;W - Chroma - Pastel @@ -1135,14 +1124,14 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !HISTORY_MSG_382;PRS RLD - Amount !HISTORY_MSG_383;PRS RLD - Damping !HISTORY_MSG_384;PRS RLD - Iterations -!HISTORY_MSG_385;W - Residual - Color Balance +!HISTORY_MSG_385;W - Residual - Color balance !HISTORY_MSG_386;W - Residual - CB green high !HISTORY_MSG_387;W - Residual - CB blue high !HISTORY_MSG_388;W - Residual - CB green mid !HISTORY_MSG_389;W - Residual - CB blue mid !HISTORY_MSG_390;W - Residual - CB green low !HISTORY_MSG_391;W - Residual - CB blue low -!HISTORY_MSG_392;W - Residual - Color Balance +!HISTORY_MSG_392;W - Residual - Color balance !HISTORY_MSG_393;DCP - Look table !HISTORY_MSG_394;DCP - Baseline exposure !HISTORY_MSG_395;DCP - Base table @@ -1159,7 +1148,6 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !HISTORY_MSG_406;W - ES - Neighboring pixels !HISTORY_MSG_407;Retinex - Method !HISTORY_MSG_408;Retinex - Radius -!HISTORY_MSG_409;Retinex - Contrast !HISTORY_MSG_410;Retinex - Offset !HISTORY_MSG_411;Retinex - Strength !HISTORY_MSG_412;Retinex - Gaussian gradient @@ -1175,7 +1163,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !HISTORY_MSG_422;Retinex - Gamma !HISTORY_MSG_423;Retinex - Gamma slope !HISTORY_MSG_424;Retinex - HL threshold -!HISTORY_MSG_425;Retinex - Log base +!HISTORY_MSG_425;--unused-- !HISTORY_MSG_426;Retinex - Hue equalizer !HISTORY_MSG_427;Output rendering intent !HISTORY_MSG_428;Monitor rendering intent @@ -1195,30 +1183,45 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !HISTORY_MSG_442;Retinex - Scale !HISTORY_MSG_443;Output black point compensation !HISTORY_MSG_444;WB - Temp bias -!HISTORY_MSG_445;Raw sub-image -!HISTORY_MSG_449;PS - ISO adaption -!HISTORY_MSG_452;PS - Show motion -!HISTORY_MSG_453;PS - Show mask only -!HISTORY_MSG_457;PS - Check red/blue -!HISTORY_MSG_462;PS - Check green -!HISTORY_MSG_464;PS - Blur motion mask -!HISTORY_MSG_465;PS - Blur radius -!HISTORY_MSG_468;PS - Fill holes -!HISTORY_MSG_469;PS - Median -!HISTORY_MSG_471;PS - Motion correction -!HISTORY_MSG_472;PS - Smooth transitions -!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_MSG_445;Raw Sub-Image +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_449;PS ISO adaption +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_452;PS Show motion +!HISTORY_MSG_453;PS Show mask only +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_457;PS Check red/blue +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_462;PS Check green +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_464;PS Blur motion mask +!HISTORY_MSG_465;PS Blur radius +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_468;PS Fill holes +!HISTORY_MSG_469;PS Median +!HISTORY_MSG_470;--unused-- +!HISTORY_MSG_471;PS Motion correction +!HISTORY_MSG_472;PS Smooth transitions +!HISTORY_MSG_474;PS Equalize +!HISTORY_MSG_475;PS Equalize channel +!HISTORY_MSG_476;CAL - VC - Temperature +!HISTORY_MSG_477;CAL - VC - Tint +!HISTORY_MSG_478;CAL - VC - Mean luminance +!HISTORY_MSG_479;CAL - VC - Adaptation +!HISTORY_MSG_480;CAL - VC - Auto adaptation +!HISTORY_MSG_481;CAL - SC - Temperature +!HISTORY_MSG_482;CAL - SC - Tint +!HISTORY_MSG_483;CAL - SC - Mean luminance +!HISTORY_MSG_484;CAL - SC - Auto mean luminance !HISTORY_MSG_485;Lens Correction !HISTORY_MSG_486;Lens Correction - Camera !HISTORY_MSG_487;Lens Correction - Lens @@ -1229,6 +1232,654 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !HISTORY_MSG_492;RGB Curves !HISTORY_MSG_493;L*a*b* Adjustments !HISTORY_MSG_494;Capture Sharpening +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_507;Local Spot center +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_516;Local - Color and light +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_527;Local - Color Inverse +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_542;Local - Vib avoid colorshift +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_591;Local - Avoid color shift +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_607;Local - Color Mask C +!HISTORY_MSG_608;Local - Color Mask L +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_611;Local - Color Mask H +!HISTORY_MSG_612;Local - Color Structure +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_615;Local - Blend color +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_618;Local - Use Color Mask +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_624;Local - Color correction grid +!HISTORY_MSG_625;Local - Color correction strength +!HISTORY_MSG_626;Local - Color correction Method +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_634;Local - radius color +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_650;Local - Color mask chroma +!HISTORY_MSG_651;Local - Color mask gamma +!HISTORY_MSG_652;Local - Color mask slope +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_656;Local - Color soft radius +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_760;Local - Color Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_770;Local - Color Mask contrast curve +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_779;Local - Color Mask local contrast curve +!HISTORY_MSG_780;Local - Color Mask shadows +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_783;Local - Color Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_799;Local - Color RGB ToneCurve +!HISTORY_MSG_800;Local - Color ToneCurve Method +!HISTORY_MSG_801;Local - Color ToneCurve Special +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_803;Local - Color Merge +!HISTORY_MSG_804;Local - Color mask Structure +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_806;Local - Color mask Structure as tool +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_808;Local - Color mask curve H(H) +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_821;Local - color grid background +!HISTORY_MSG_822;Local - color background merge +!HISTORY_MSG_823;Local - color background luminance +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_830;Local - Color gradient strength L +!HISTORY_MSG_831;Local - Color gradient angle +!HISTORY_MSG_832;Local - Color gradient strength C +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_834;Local - Color gradient strength H +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_894;Local - Color Preview dE +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_925;Local - Scope color tools +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_928;Local - Common color mask +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_996;Local - Color recovery threshold +!HISTORY_MSG_997;Local - Color threshold mask low +!HISTORY_MSG_998;Local - Color threshold mask high +!HISTORY_MSG_999;Local - Color decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1070;Local - CIECAM colorfullness +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1107;Local - CIECAM Color method +!HISTORY_MSG_1108;Local - CIECAM Color curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_BLSHAPE;Blur by level +!HISTORY_MSG_BLURCWAV;Blur chroma +!HISTORY_MSG_BLURWAV;Blur luminance +!HISTORY_MSG_BLUWAV;Attenuation response +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM !HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors !HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction !HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction @@ -1244,22 +1895,42 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation !HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask !HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity !HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth !HISTORY_MSG_DEHAZE_ENABLED;Haze Removal -!HISTORY_MSG_DEHAZE_LUMINANCE;Dehaze - Luminance only +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation !HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map !HISTORY_MSG_DEHAZE_STRENGTH;Dehaze - Strength !HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Dual demosaic - Auto threshold !HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Dual demosaic - Contrast threshold +!HISTORY_MSG_EDGEFFECT;Edge Attenuation response +!HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output +!HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space !HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negative +!HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input !HISTORY_MSG_FILMNEGATIVE_VALUES;Film negative values !HISTORY_MSG_HISTMATCHING;Auto-matched tone curve +!HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y !HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primaries !HISTORY_MSG_ICM_OUTPUT_TEMP;Output - ICC-v4 illuminant D !HISTORY_MSG_ICM_OUTPUT_TYPE;Output - Type -!HISTORY_MSG_ICM_WORKING_GAMMA;Working - Gamma -!HISTORY_MSG_ICM_WORKING_SLOPE;Working - Slope -!HISTORY_MSG_ICM_WORKING_TRC_METHOD;Working - TRC method +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_GAMMA;TRC - Gamma +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ICM_WORKING_SLOPE;TRC - Slope +!HISTORY_MSG_ICM_WORKING_TRC_METHOD;TRC method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant !HISTORY_MSG_LOCALCONTRAST_AMOUNT;Local Contrast - Amount !HISTORY_MSG_LOCALCONTRAST_DARKNESS;Local Contrast - Darkness !HISTORY_MSG_LOCALCONTRAST_ENABLED;Local Contrast @@ -1274,24 +1945,84 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iterations !HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius !HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average !HISTORY_MSG_PIXELSHIFT_DEMOSAIC;PS - Demosaic method for motion !HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;Line noise filter direction !HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode +!HISTORY_MSG_PROTAB;Protection !HISTORY_MSG_PRSHARPEN_CONTRAST;PRS - Contrast threshold +!HISTORY_MSG_RANGEAB;Range ab !HISTORY_MSG_RAWCACORR_AUTOIT;Raw CA Correction - Iterations !HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift !HISTORY_MSG_RAW_BORDER;Raw border !HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge !HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius !HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold !HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace +!HISTORY_MSG_SIGMACOL;Chroma Attenuation response +!HISTORY_MSG_SIGMADIR;Dir Attenuation response +!HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response +!HISTORY_MSG_SIGMATON;Toning Attenuation response !HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light !HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength +!HISTORY_MSG_SPOT;Spot removal +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. +!HISTORY_MSG_TEMPOUT;CAM02 automatic temperature +!HISTORY_MSG_THRESWAV;Balance threshold !HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor -!HISTORY_MSG_TRANS_Method;Geometry - Method +!HISTORY_MSG_TRANS_METHOD;Geometry - Method +!HISTORY_MSG_WAVBALCHROM;Equalizer chrominance +!HISTORY_MSG_WAVBALLUM;Equalizer luminance +!HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVCHROMCO;Chroma coarse +!HISTORY_MSG_WAVCHROMFI;Chroma fine +!HISTORY_MSG_WAVCLARI;Clarity +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVEDGS;Edge stopping +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVLOWTHR;Threshold low contrast +!HISTORY_MSG_WAVMERGEC;Merge C +!HISTORY_MSG_WAVMERGEL;Merge L +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVOFFSET;Offset +!HISTORY_MSG_WAVOLDSH;Old algorithm +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVRADIUS;Radius shadows-highlights +!HISTORY_MSG_WAVSCALE;Scale +!HISTORY_MSG_WAVSHOWMASK;Show wavelet mask +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSIGMA;Attenuation response +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSOFTRAD;Soft radius clarity +!HISTORY_MSG_WAVSOFTRADEND;Soft radius final +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!HISTORY_MSG_WAVUSHAMET;Clarity method !HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s !ICCPROFCREATOR_COPYRIGHT;Copyright: -!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0" +!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to 'RawTherapee, CC0'. !ICCPROFCREATOR_CUSTOM;Custom !ICCPROFCREATOR_DESCRIPTION;Description: !ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Append gamma and slope values to the description @@ -1303,11 +2034,12 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !ICCPROFCREATOR_ILL_50;D50 !ICCPROFCREATOR_ILL_55;D55 !ICCPROFCREATOR_ILL_60;D60 +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater !ICCPROFCREATOR_ILL_65;D65 !ICCPROFCREATOR_ILL_80;D80 !ICCPROFCREATOR_ILL_DEF;Default !ICCPROFCREATOR_ILL_INC;StdA 2856K -!ICCPROFCREATOR_ILL_TOOLTIP;You can only set the illuminant for ICC v4 profiles. +!ICCPROFCREATOR_ILL_TOOLTIP;You can set the illuminant for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIMARIES;Primaries: !ICCPROFCREATOR_PRIM_ACESP0;ACES AP0 !ICCPROFCREATOR_PRIM_ACESP1;ACES AP1 @@ -1317,6 +2049,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !ICCPROFCREATOR_PRIM_BLUX;Blue X !ICCPROFCREATOR_PRIM_BLUY;Blue Y !ICCPROFCREATOR_PRIM_BRUCE;BruceRGB +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 !ICCPROFCREATOR_PRIM_GREX;Green X !ICCPROFCREATOR_PRIM_GREY;Green Y !ICCPROFCREATOR_PRIM_PROPH;Prophoto @@ -1324,13 +2057,14 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !ICCPROFCREATOR_PRIM_REDX;Red X !ICCPROFCREATOR_PRIM_REDY;Red Y !ICCPROFCREATOR_PRIM_SRGB;sRGB -!ICCPROFCREATOR_PRIM_TOOLTIP;You can only set custom primaries for ICC v4 profiles. +!ICCPROFCREATOR_PRIM_TOOLTIP;You can set custom primaries for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIM_WIDEG;Widegamut !ICCPROFCREATOR_PROF_V2;ICC v2 !ICCPROFCREATOR_PROF_V4;ICC v4 !ICCPROFCREATOR_SAVEDIALOG_TITLE;Save ICC profile as... !ICCPROFCREATOR_SLOPE;Slope -!ICCPROFCREATOR_TRC_PRESET;Tone response curve: +!ICCPROFCREATOR_TRC_PRESET;Tone response curve +!INSPECTOR_WINDOW_TITLE;Inspector !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 @@ -1342,7 +2076,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !IPTCPANEL_CREATORJOBTITLEHINT;Enter the Job Title of the person listed in the Creator field. !IPTCPANEL_DATECREATEDHINT;Enter the Date the image was taken. !IPTCPANEL_DESCRIPTION;Description -!IPTCPANEL_DESCRIPTIONHINT;Enter a "caption" describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. +!IPTCPANEL_DESCRIPTIONHINT;Enter a 'caption' describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. !IPTCPANEL_DESCRIPTIONWRITER;Description writer !IPTCPANEL_DESCRIPTIONWRITERHINT;Enter the name of the person involved in writing, editing or correcting the description of the image. !IPTCPANEL_HEADLINEHINT;Enter a brief publishable synopsis or summary of the contents of the image. @@ -1366,12 +2100,14 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !MAIN_MSG_PATHDOESNTEXIST;The path\n\n%1\n\ndoes not exist. Please set a correct path in Preferences. !MAIN_MSG_SETPATHFIRST;You first have to set a target path in Preferences in order to use this function! !MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue. -!MAIN_MSG_WRITEFAILED;Failed to write\n"%1"\n\nMake sure that the folder exists and that you have write permission to it. +!MAIN_MSG_WRITEFAILED;Failed to write\n'%1'\n\nMake sure that the folder exists and that you have write permission to it. !MAIN_TAB_ADVANCED;Advanced !MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-a !MAIN_TAB_FAVORITES;Favorites !MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: Alt-u !MAIN_TAB_INSPECT; Inspect +!MAIN_TAB_LOCALLAB;Local +!MAIN_TAB_LOCALLAB_TOOLTIP;Shortcut: Alt-o !MAIN_TOOLTIP_BACKCOLOR0;Background color of the preview: theme-based\nShortcut: 9 !MAIN_TOOLTIP_BACKCOLOR1;Background color of the preview: black\nShortcut: 9 !MAIN_TOOLTIP_BACKCOLOR2;Background color of the preview: white\nShortcut: 9 @@ -1389,26 +2125,29 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !NAVIGATOR_S;S: !NAVIGATOR_V;V: !NAVIGATOR_XY_FULL;Width: %1, Height: %2 -!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. -!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. -!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. +!OPTIONS_BUNDLED_MISSING;The bundled profile '%1' could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. +!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. +!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. !PARTIALPASTE_ADVANCEDGROUP;Advanced Settings !PARTIALPASTE_CHANNELMIXERBW;Black-and-white -!PARTIALPASTE_COLORAPP;CIECAM02 +!PARTIALPASTE_COLORAPP;Color Appearance & Lighting !PARTIALPASTE_COLORTONING;Color toning !PARTIALPASTE_DEHAZE;Haze removal !PARTIALPASTE_EQUALIZER;Wavelet levels -!PARTIALPASTE_FILMNEGATIVE;Film Negative +!PARTIALPASTE_FILMNEGATIVE;Film negative !PARTIALPASTE_FILMSIMULATION;Film simulation !PARTIALPASTE_FLATFIELDCLIPCONTROL;Flat-field clip control !PARTIALPASTE_GRADIENT;Graduated filter !PARTIALPASTE_LENSPROFILE;Profiled lens correction !PARTIALPASTE_LOCALCONTRAST;Local contrast +!PARTIALPASTE_LOCALLAB;Local Adjustments +!PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings !PARTIALPASTE_METADATA;Metadata mode !PARTIALPASTE_PCVIGNETTE;Vignette filter !PARTIALPASTE_PREPROCESS_DEADPIXFILT;Dead pixel filter !PARTIALPASTE_PREPROCESS_HOTPIXFILT;Hot pixel filter !PARTIALPASTE_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!PARTIALPASTE_PREPROCWB;Preprocess White Balance !PARTIALPASTE_PRSHARPENING;Post-resize sharpening !PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;CA avoid color shift !PARTIALPASTE_RAWCACORR_CAREDBLUE;CA red & blue @@ -1418,6 +2157,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !PARTIALPASTE_RAW_PIXELSHIFT;Pixel Shift !PARTIALPASTE_RETINEX;Retinex !PARTIALPASTE_SOFTLIGHT;Soft light +!PARTIALPASTE_SPOT;Spot removal !PARTIALPASTE_TM_FATTAL;Dynamic range compression !PREFERENCES_APPEARANCE;Appearance !PREFERENCES_APPEARANCE_COLORPICKERFONT;Color picker font @@ -1442,10 +2182,16 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !PREFERENCES_CHUNKSIZE_RAW_RCD;RCD demosaic !PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans demosaic !PREFERENCES_CHUNKSIZE_RGB;RGB processing +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts !PREFERENCES_CLUTSCACHE;HaldCLUT Cache !PREFERENCES_CLUTSCACHE_LABEL;Maximum number of cached CLUTs !PREFERENCES_CLUTSDIR;HaldCLUT directory !PREFERENCES_CMMBPC;Black point compensation +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic !PREFERENCES_CROP;Crop Editing !PREFERENCES_CROP_AUTO_FIT;Automatically zoom to fit the crop !PREFERENCES_CROP_GUIDES;Guides shown when not editing the crop @@ -1462,16 +2208,23 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID !PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EDITORCMDLINE;Custom command line +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Compact toolbars in File Browser !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_HISTOGRAM_TOOLTIP;If enabled, the working profile is used for rendering the main histogram and the Navigator panel, otherwise the gamma-corrected output profile is used. +!PREFERENCES_INSPECTORWINDOW;Open inspector in own window or fullscreen !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_MAXRECENTFOLDERS;Maximum number of recent folders -!PREFERENCES_MENUGROUPEXTPROGS;Group "Open with" +!PREFERENCES_MENUGROUPEXTPROGS;Group 'Open with' !PREFERENCES_MONINTENT;Default rendering intent !PREFERENCES_MONITOR;Monitor !PREFERENCES_MONPROFILE;Default color profile @@ -1495,12 +2248,13 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !PREFERENCES_PRTINTENT;Rendering intent !PREFERENCES_PRTPROFILE;Color profile !PREFERENCES_REMEMBERZOOMPAN;Remember zoom % and pan offset -!PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in "Single Editor Tab Mode" and when "Demosaicing method used for the preview at <100% zoom" is set to "As in PP3". +!PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in 'Single Editor Tab Mode' and when 'Demosaicing method used for the preview at <100% zoom' is set to 'As in PP3'. !PREFERENCES_SAVE_TP_OPEN_NOW;Save tool collapsed/expanded state now !PREFERENCES_SERIALIZE_TIFF_READ;TIFF Read Settings !PREFERENCES_SERIALIZE_TIFF_READ_LABEL;Serialize reading of TIFF files !PREFERENCES_SERIALIZE_TIFF_READ_TOOLTIP;Enabling this option when working with folders containing uncompressed TIFF files can increase performance of thumbnail generation. !PREFERENCES_SHOWFILMSTRIPTOOLBAR;Show Filmstrip toolbar +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips !PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules !PREFERENCES_TAB_PERFORMANCE;Performance !PREFERENCES_THUMBNAIL_INSPECTOR_JPEG;Embedded JPEG preview @@ -1508,8 +2262,9 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !PREFERENCES_THUMBNAIL_INSPECTOR_RAW;Neutral raw rendering !PREFERENCES_THUMBNAIL_INSPECTOR_RAW_IF_NO_JPEG_FULLSIZE;Embedded JPEG if fullsize, neutral raw otherwise !PREFERENCES_USEBUNDLEDPROFILES;Use bundled profiles +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling !PROFILEPANEL_GLOBALPROFILES;Bundled profiles -!PROFILEPANEL_MODE_TIP;Processing profile fill mode.\n\nButton pressed: partial profiles will be converted to full profiles; the missing values will be replaced with hard-coded defaults.\n\nButton released: profiles will be applied as they are, altering only those values which they contain. +!PROFILEPANEL_MODE_TOOLTIP;Processing profile fill mode.\n\nButton pressed: partial profiles will be converted to full profiles; the missing values will be replaced with hard-coded defaults.\n\nButton released: profiles will be applied as they are, altering only those values which they contain. !PROFILEPANEL_MYPROFILES;My profiles !PROFILEPANEL_PDYNAMIC;Dynamic !PROFILEPANEL_PINTERNAL;Neutral @@ -1547,6 +2302,12 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !SHCSELECTOR_TOOLTIP;Click right mouse button to reset the position of those 3 sliders. !SOFTPROOF_GAMUTCHECK_TOOLTIP;Highlight pixels with out-of-gamut colors with respect to:\n- the printer profile, if one is set and soft-proofing is enabled,\n- the output profile, if a printer profile is not set and soft-proofing is enabled,\n- the monitor profile, if soft-proofing is disabled. !SOFTPROOF_TOOLTIP;Soft-proofing simulates the appearance of the image:\n- when printed, if a printer profile is set in Preferences > Color Management,\n- when viewed on a display that uses the current output profile, if a printer profile is not set. +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry !THRESHOLDSELECTOR_B;Bottom !THRESHOLDSELECTOR_BL;Bottom-left !THRESHOLDSELECTOR_BR;Bottom-right @@ -1555,6 +2316,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !THRESHOLDSELECTOR_TL;Top-left !THRESHOLDSELECTOR_TR;Top-right !TOOLBAR_TOOLTIP_COLORPICKER;Lockable Color Picker\n\nWhen the tool is active:\n- Add a picker: left-click.\n- Drag a picker: left-click and drag.\n- Delete a picker: right-click.\n- Delete all pickers: Ctrl+Shift+right-click.\n- Revert to hand tool: right-click outside any picker. +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. !TP_BWMIX_ALGO;Algorithm OYCPM !TP_BWMIX_ALGO_LI;Linear !TP_BWMIX_ALGO_SP;Special effects @@ -1589,7 +2351,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_BWMIX_MIXC;Channel Mixer !TP_BWMIX_NEUTRAL;Reset !TP_BWMIX_RGBLABEL;R: %1%% G: %2%% B: %3%% Total: %4%% -!TP_BWMIX_RGBLABEL_HINT;Final RGB factors that take care of all the mixer options.\n"Total" displays the sum of the RGB values:\n- always 100% in relative mode\n- higher (lighter) or lower (darker) than 100% in absolute mode. +!TP_BWMIX_RGBLABEL_HINT;Final RGB factors that take care of all the mixer options.\n'Total' displays the sum of the RGB values:\n- always 100% in relative mode\n- higher (lighter) or lower (darker) than 100% in absolute mode. !TP_BWMIX_RGB_TOOLTIP;Mix the RGB channels. Use presets for guidance.\nPay attention to negative values that may cause artifacts or erratic behavior. !TP_BWMIX_SETTING;Presets !TP_BWMIX_SETTING_TOOLTIP;Different presets (film, landscape, etc.) or manual Channel Mixer settings. @@ -1618,6 +2380,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !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_ABSOLUTELUMINANCE;Absolute luminance +!TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. !TP_COLORAPP_ALGO;Algorithm !TP_COLORAPP_ALGO_ALL;All !TP_COLORAPP_ALGO_JC;Lightness + Chroma (JC) @@ -1627,51 +2390,76 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_COLORAPP_BADPIXSL;Hot/bad pixel filter !TP_COLORAPP_BADPIXSL_TOOLTIP;Suppression of hot/bad (brightly colored) pixels.\n0 = No effect\n1 = Median\n2 = Gaussian.\nAlternatively, adjust the image to avoid very dark shadows.\n\nThese artifacts are due to limitations of CIECAM02. !TP_COLORAPP_BRIGHT;Brightness (Q) -!TP_COLORAPP_BRIGHT_TOOLTIP;Brightness in CIECAM02 takes into account the white's luminosity and differs from L*a*b* and RGB brightness. +!TP_COLORAPP_BRIGHT_TOOLTIP;Brightness in CIECAM is the amount of perceived light emanating from a stimulus. It differs from L*a*b* and RGB brightness. !TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;When setting manually, values above 65 are recommended. +!TP_COLORAPP_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed !TP_COLORAPP_CHROMA;Chroma (C) !TP_COLORAPP_CHROMA_M;Colorfulness (M) -!TP_COLORAPP_CHROMA_M_TOOLTIP;Colorfulness in CIECAM02 differs from L*a*b* and RGB colorfulness. +!TP_COLORAPP_CHROMA_M_TOOLTIP;Colorfulness in CIECAM is the perceived amount of hue in relation to gray, an indicator that a stimulus appears to be more or less colored. !TP_COLORAPP_CHROMA_S;Saturation (S) -!TP_COLORAPP_CHROMA_S_TOOLTIP;Saturation in CIECAM02 differs from L*a*b* and RGB saturation. -!TP_COLORAPP_CHROMA_TOOLTIP;Chroma in CIECAM02 differs from L*a*b* and RGB chroma. -!TP_COLORAPP_CIECAT_DEGREE;CAT02 adaptation +!TP_COLORAPP_CHROMA_S_TOOLTIP;Saturation in CIECAM corresponds to the color of a stimulus in relation to its own brightness. It differs from L*a*b* and RGB saturation. +!TP_COLORAPP_CHROMA_TOOLTIP;Chroma in CIECAM corresponds to the color of a stimulus relative to the clarity of a stimulus that appears white under identical conditions. It differs from L*a*b* and RGB chroma. +!TP_COLORAPP_CIECAT_DEGREE;Adaptation !TP_COLORAPP_CONTRAST;Contrast (J) !TP_COLORAPP_CONTRAST_Q;Contrast (Q) -!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_CONTRAST_Q_TOOLTIP;Contrast (Q) in CIECAM is based on brightness. It differs from L*a*b* and RGB contrast. +!TP_COLORAPP_CONTRAST_TOOLTIP;Contrast (J) in CIECAM is based on lightness. It 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_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM.\nIf the 'Show CIECAM output histograms in CAL curves' checkbox is enabled, shows the histogram of J after CIECAM.\n\nJ is not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel. !TP_COLORAPP_CURVEEDITOR2;Tone curve 2 -!TP_COLORAPP_CURVEEDITOR2_TOOLTIP;Same usage as with the second exposure tone curve. +!TP_COLORAPP_CURVEEDITOR2_TOOLTIP;Same usage as with the first J(J) tone curve. !TP_COLORAPP_CURVEEDITOR3;Color curve -!TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Adjust either chroma, saturation or colorfulness.\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_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_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_CURVEEDITOR3_TOOLTIP;Adjust either chroma, saturation or colorfulness.\n\nShows the histogram of chromaticity (L*a*b*) before CIECAM.\nIf the 'Show CIECAM output histograms in CAL curves' checkbox is enabled, shows the histogram of C, S or M after CIECAM.\n\nC, S and M are not shown in the main histogram panel.\nFor final output refer to the main histogram panel. +!TP_COLORAPP_DATACIE;Show CIECAM output histograms in CAL curves +!TP_COLORAPP_DATACIE_TOOLTIP;Affects histograms shown in Color Appearance & Lightning curves. Does not affect RawTherapee's main histogram.\n\nEnabled: show approximate values for J and C, S or M after the CIECAM adjustments.\nDisabled: show L*a*b* values before CIECAM adjustments. +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_FREE;Free temp + tint + CAT02/16 +[output] +!TP_COLORAPP_GAMUT;Use gamut control in L*a*b* mode +!TP_COLORAPP_GEN;Settings +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. !TP_COLORAPP_HUE;Hue (h) -!TP_COLORAPP_HUE_TOOLTIP;Hue (h) - angle between 0° and 360°. -!TP_COLORAPP_LABEL;CIE Color Appearance Model 2002 +!TP_COLORAPP_HUE_TOOLTIP;Hue (h) is the degree to which a stimulus can be described as similar to a color described as red, green, blue and yellow. +!TP_COLORAPP_IL41;D41 +!TP_COLORAPP_IL50;D50 +!TP_COLORAPP_IL55;D55 +!TP_COLORAPP_IL60;D60 +!TP_COLORAPP_IL65;D65 +!TP_COLORAPP_IL75;D75 +!TP_COLORAPP_ILA;Incandescent StdA 2856K +!TP_COLORAPP_ILFREE;Free +!TP_COLORAPP_ILLUM;Illuminant +!TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. +!TP_COLORAPP_LABEL;Color Appearance & Lighting !TP_COLORAPP_LABEL_CAM02;Image Adjustments !TP_COLORAPP_LABEL_SCENE;Scene Conditions !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_LIGHT_TOOLTIP;Lightness in CIECAM is the clarity of a stimulus relative to the clarity of a stimulus that appears white under similar viewing conditions. It differs from L*a*b* and RGB lightness. !TP_COLORAPP_MEANLUMINANCE;Mean luminance (Yb%) -!TP_COLORAPP_MODEL;WP Model -!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\nWB [RT] + [output]: 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\nWB [RT+CAT02] + [output]: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\nFree temp+green + CAT02 + [output]: temp and green are selected by the user, the output device's white balance is set in Viewing Conditions. +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODEL;WP model +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. +!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\nWB [RT] + [output]: RT's white balance is used for the scene, CIECAM is set to D50, and the output device's white balance is set in Viewing Conditions.\n\nWB [RT+CAT02/16] + [output]: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\nFree temp + tint + CAT02/16 + [output]: temp and tint are selected by the user, the 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_NEUTRAL_TOOLTIP;Reset all sliders checkbox and curves to their default values. !TP_COLORAPP_RSTPRO;Red & skin-tones protection !TP_COLORAPP_RSTPRO_TOOLTIP;Red & skin-tones protection affects both sliders and curves. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. !TP_COLORAPP_SURROUND;Surround +!TP_COLORAPP_SURROUNDSRC;Surround !TP_COLORAPP_SURROUND_AVER;Average !TP_COLORAPP_SURROUND_DARK;Dark !TP_COLORAPP_SURROUND_DIM;Dim !TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet) -!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. +!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device. The darker the viewing conditions, the darker the image will become. Image brightness will not be changed when the viewing conditions are set to average. +!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. !TP_COLORAPP_TCMODE_BRIGHTNESS;Brightness !TP_COLORAPP_TCMODE_CHROMA;Chroma !TP_COLORAPP_TCMODE_COLORF;Colorfulness @@ -1680,19 +2468,23 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !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 set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504 -!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02 +!TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_TONECIE;Use CIECAM for tone mapping !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_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. !TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16 cd/m²). -!TP_COLORAPP_WBCAM;WB [RT+CAT02] + [output] +!TP_COLORAPP_WBCAM;WB [RT+CAT02/16] + [output] !TP_COLORAPP_WBRT;WB [RT] + [output] +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. !TP_COLORTONING_AB;o C/L !TP_COLORTONING_AUTOSAT;Automatic !TP_COLORTONING_BALANCE;Balance !TP_COLORTONING_BY;o C/L !TP_COLORTONING_CHROMAC;Opacity -!TP_COLORTONING_COLOR;Color -!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L) +!TP_COLORTONING_COLOR;Color: +!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L). !TP_COLORTONING_HIGHLIGHT;Highlights !TP_COLORTONING_HUE;Hue !TP_COLORTONING_LAB;L*a*b* blending @@ -1722,11 +2514,11 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_COLORTONING_LUMAMODE;Preserve luminance !TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved. !TP_COLORTONING_METHOD;Method -!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. +!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. !TP_COLORTONING_MIDTONES;Midtones !TP_COLORTONING_NEUTRAL;Reset sliders -!TP_COLORTONING_NEUTRAL_TIP;Reset all values (Shadows, Midtones, Highlights) to default. -!TP_COLORTONING_OPACITY;Opacity +!TP_COLORTONING_NEUTRAL_TOOLTIP;Reset all values (Shadows, Midtones, Highlights) to default. +!TP_COLORTONING_OPACITY;Opacity: !TP_COLORTONING_RGBCURVES;RGB - Curves !TP_COLORTONING_RGBSLIDERS;RGB - Sliders !TP_COLORTONING_SA;Saturation Protection @@ -1743,6 +2535,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_COLORTONING_TWOBY;Special a* and b* !TP_COLORTONING_TWOCOLOR_TOOLTIP;Standard chroma:\nLinear response, a* = b*.\n\nSpecial chroma:\nLinear response, a* = b*, but unbound - try under the diagonal.\n\nSpecial a* and b*:\nLinear response unbound with separate curves for a* and b*. Intended for special effects.\n\nSpecial chroma 2 colors:\nMore predictable. !TP_COLORTONING_TWOSTD;Standard chroma +!TP_CROP_GTCENTEREDSQUARE;Centered square !TP_CROP_GTFRAME;Frame !TP_CROP_GTHARMMEANS;Harmonic Means !TP_CROP_GTTRIANGLE1;Golden Triangles 1 @@ -1752,7 +2545,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_CROP_SELECTCROP;Select !TP_DEHAZE_DEPTH;Depth !TP_DEHAZE_LABEL;Haze Removal -!TP_DEHAZE_LUMINANCE;Luminance only +!TP_DEHAZE_SATURATION;Saturation !TP_DEHAZE_SHOW_DEPTH_MAP;Show depth map !TP_DEHAZE_STRENGTH;Strength !TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Auto multi-zones @@ -1764,7 +2557,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_DIRPYRDENOISE_CHROMINANCE_MANUAL;Manual !TP_DIRPYRDENOISE_CHROMINANCE_METHOD;Method !TP_DIRPYRDENOISE_CHROMINANCE_METHODADVANCED_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. -!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the "Preview" method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. +!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the 'Preview' method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. !TP_DIRPYRDENOISE_CHROMINANCE_PMZ;Preview multi-zones !TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW;Preview !TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Displays the remaining noise levels of the part of the image visible in the preview after wavelet.\n\n>300 Very noisy\n100-300 Noisy\n50-100 A little noisy\n<50 Very low noise\n\nBeware, the values will differ between RGB and L*a*b* mode. The RGB values are less accurate because the RGB mode does not completely separate luminance and chrominance. @@ -1786,14 +2579,14 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_DIRPYRDENOISE_MAIN_MODE;Mode !TP_DIRPYRDENOISE_MAIN_MODE_AGGRESSIVE;Aggressive !TP_DIRPYRDENOISE_MAIN_MODE_CONSERVATIVE;Conservative -!TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;"Conservative" preserves low frequency chroma patterns, while "aggressive" obliterates them. +!TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;Conservative preserves low frequency chroma patterns, while aggressive obliterates them. !TP_DIRPYRDENOISE_MEDIAN_METHOD;Median method !TP_DIRPYRDENOISE_MEDIAN_METHOD_CHROMINANCE;Chroma only !TP_DIRPYRDENOISE_MEDIAN_METHOD_LAB;L*a*b* !TP_DIRPYRDENOISE_MEDIAN_METHOD_LABEL;Median Filter !TP_DIRPYRDENOISE_MEDIAN_METHOD_LUMINANCE;Luminance only !TP_DIRPYRDENOISE_MEDIAN_METHOD_RGB;RGB -!TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the "Luminance only" and "L*a*b*" methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the "RGB" mode, it will be performed at the very end of the noise reduction pipeline. +!TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the 'Luminance only' and 'L*a*b*' methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the 'RGB' mode, it will be performed at the very end of the noise reduction pipeline. !TP_DIRPYRDENOISE_MEDIAN_METHOD_WEIGHTED;Weighted L* (little) + a*b* (normal) !TP_DIRPYRDENOISE_MEDIAN_PASSES;Median iterations !TP_DIRPYRDENOISE_MEDIAN_PASSES_TOOLTIP;Applying three median filter iterations with a 3×3 window size often leads to better results than using one median filter iteration with a 7×7 window size. @@ -1813,12 +2606,12 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_DIRPYREQUALIZER_SKIN;Skin targetting/protection !TP_DIRPYREQUALIZER_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. !TP_DIRPYREQUALIZER_TOOLTIP;Attempts to reduce artifacts in the transitions between skin colors (hue, chroma, luma) and the rest of the image. -!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_DISTORTION_AUTO_TOOLTIP;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_EPD_GAMMA;Gamma !TP_EXPOSURE_CLAMPOOG;Clip out-of-gamut colors !TP_EXPOSURE_CURVEEDITOR1;Tone curve 1 !TP_EXPOSURE_CURVEEDITOR2;Tone curve 2 -!TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Please refer to the "Exposure > Tone Curves" RawPedia article to learn how to achieve the best results by using two tone curves. +!TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Please refer to the 'Exposure > Tone Curves' RawPedia article to learn how to achieve the best results by using two tone curves. !TP_EXPOSURE_HISTMATCHING;Auto-Matched Tone Curve !TP_EXPOSURE_HISTMATCHING_TOOLTIP;Automatically adjust sliders and curves (except exposure compensation) to match the look of the embedded JPEG thumbnail. !TP_EXPOSURE_TCMODE_FILMLIKE;Film-like @@ -1832,11 +2625,21 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_EXPOS_BLACKPOINT_LABEL;Raw Black Points !TP_EXPOS_WHITEPOINT_LABEL;Raw White Points !TP_FILMNEGATIVE_BLUE;Blue ratio -!TP_FILMNEGATIVE_GREEN;Reference exponent (contrast) -!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. Set the white balance afterwards. +!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm +!TP_FILMNEGATIVE_COLORSPACE;Inversion color space: +!TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space +!TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. +!TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space +!TP_FILMNEGATIVE_GREEN;Reference exponent +!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green +!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. !TP_FILMNEGATIVE_LABEL;Film Negative +!TP_FILMNEGATIVE_OUT_LEVEL;Output level !TP_FILMNEGATIVE_PICK;Pick neutral spots !TP_FILMNEGATIVE_RED;Red ratio +!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. !TP_FILMSIMULATION_LABEL;Film Simulation !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_FILMSIMULATION_STRENGTH;Strength @@ -1857,6 +2660,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_GRADIENT_STRENGTH;Strength !TP_GRADIENT_STRENGTH_TOOLTIP;Filter strength in stops. !TP_HLREC_ENA_TOOLTIP;Could be activated by Auto Levels. +!TP_HLREC_HLBLUR;Blur !TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure !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 @@ -1866,22 +2670,69 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !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 available 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_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 !TP_ICM_PROFILEINTENT;Rendering Intent +!TP_ICM_REDFRAME;Custom Primaries !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 available if the selected DCP has a tone curve. +!TP_ICM_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut !TP_ICM_WORKING_TRC;Tone response curve: +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 !TP_ICM_WORKING_TRC_CUSTOM;Custom !TP_ICM_WORKING_TRC_GAMMA;Gamma +!TP_ICM_WORKING_TRC_LIN;Linear g=1 !TP_ICM_WORKING_TRC_NONE;None !TP_ICM_WORKING_TRC_SLOPE;Slope +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 !TP_ICM_WORKING_TRC_TOOLTIP;Only for built-in profiles. !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_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab). !TP_LABCURVE_CHROMATICITY;Chromaticity !TP_LABCURVE_CHROMA_TOOLTIP;To apply B&W toning, set Chromaticity to -100. !TP_LABCURVE_CURVEEDITOR_A_RANGE1;Green Saturated @@ -1897,20 +2748,20 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_LABCURVE_CURVEEDITOR_CC_RANGE2;Dull !TP_LABCURVE_CURVEEDITOR_CC_RANGE3;Pastel !TP_LABCURVE_CURVEEDITOR_CC_RANGE4;Saturated -!TP_LABCURVE_CURVEEDITOR_CC_TOOLTIP;Chromaticity according to chromaticity C=f(C) +!TP_LABCURVE_CURVEEDITOR_CC_TOOLTIP;Chromaticity according to chromaticity C=f(C). !TP_LABCURVE_CURVEEDITOR_CH;CH -!TP_LABCURVE_CURVEEDITOR_CH_TOOLTIP;Chromaticity according to hue C=f(H) +!TP_LABCURVE_CURVEEDITOR_CH_TOOLTIP;Chromaticity according to hue C=f(H). !TP_LABCURVE_CURVEEDITOR_CL;CL -!TP_LABCURVE_CURVEEDITOR_CL_TOOLTIP;Chromaticity according to luminance C=f(L) +!TP_LABCURVE_CURVEEDITOR_CL_TOOLTIP;Chromaticity according to luminance C=f(L). !TP_LABCURVE_CURVEEDITOR_HH;HH -!TP_LABCURVE_CURVEEDITOR_HH_TOOLTIP;Hue according to hue H=f(H) +!TP_LABCURVE_CURVEEDITOR_HH_TOOLTIP;Hue according to hue H=f(H). !TP_LABCURVE_CURVEEDITOR_LC;LC -!TP_LABCURVE_CURVEEDITOR_LC_TOOLTIP;Luminance according to chromaticity L=f(C) +!TP_LABCURVE_CURVEEDITOR_LC_TOOLTIP;Luminance according to chromaticity L=f(C). !TP_LABCURVE_CURVEEDITOR_LH;LH -!TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminance according to hue L=f(H) -!TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminance according to luminance L=f(L) +!TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminance according to hue L=f(H). +!TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminance according to luminance L=f(L). !TP_LABCURVE_LCREDSK;Restrict LC to red and skin-tones -!TP_LABCURVE_LCREDSK_TIP;If enabled, the LC Curve affects only red and skin-tones.\nIf disabled, it applies to all tones. +!TP_LABCURVE_LCREDSK_TOOLTIP;If enabled, the LC Curve affects only red and skin-tones.\nIf disabled, it applies to all tones. !TP_LABCURVE_RSTPROTECTION;Red and skin-tones protection !TP_LABCURVE_RSTPRO_TOOLTIP;Works on the Chromaticity slider and the CC curve. !TP_LENSGEOM_LIN;Linear @@ -1930,6 +2781,788 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_LOCALCONTRAST_LABEL;Local Contrast !TP_LOCALCONTRAST_LIGHTNESS;Lightness level !TP_LOCALCONTRAST_RADIUS;Radius +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ACTIVSPOT;Enable Spot +!TP_LOCALLAB_ADJ;Equalizer Color +!TP_LOCALLAB_AMOUNT;Amount +!TP_LOCALLAB_ARTIF;Shape detection +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOID;Avoid color shift +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALAN;ab-L balance (ΔE) +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALANH;C-H balance (ΔE) +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLCO;Chrominance only +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLINV;Inverse +!TP_LOCALLAB_BLLC;Luminance & Chrominance +!TP_LOCALLAB_BLLO;Luminance only +!TP_LOCALLAB_BLMED;Median +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNOI_EXP;Blur & Noise +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUFR;Blur/Grain & Denoise +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain +!TP_LOCALLAB_BLURCOL;Radius +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURDE;Blur shape detection +!TP_LOCALLAB_BLURLC;Luminance only +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +!TP_LOCALLAB_BUTTON_ADD;Add +!TP_LOCALLAB_BUTTON_DEL;Delete +!TP_LOCALLAB_BUTTON_DUPL;Duplicate +!TP_LOCALLAB_BUTTON_REN;Rename +!TP_LOCALLAB_BUTTON_VIS;Show/Hide +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +!TP_LOCALLAB_CAMMODE;CAM model +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CBDL;Contrast by Detail Levels +!TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. +!TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. +!TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. +!TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels +!TP_LOCALLAB_CENTER_X;Center X +!TP_LOCALLAB_CENTER_Y;Center Y +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMA;Chrominance +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACBDL;Chroma +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASKCOL;Chroma +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_CHRRT;Chroma +!TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIEC;Use Ciecam environment parameters +!TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +!TP_LOCALLAB_CIECOLORFRA;Color +!TP_LOCALLAB_CIECONTFRA;Contrast +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE;Change tool position +!TP_LOCALLAB_CIEMODE_COM;Default +!TP_LOCALLAB_CIEMODE_DR;Dynamic Range +!TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIEMODE_WAV;Wavelet +!TP_LOCALLAB_CIETOOLEXP;Curves +!TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIRCRADIUS;Spot size +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COFR;Color & Light +!TP_LOCALLAB_COLORDE;ΔE preview color - intensity +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +!TP_LOCALLAB_COLORSCOPE;Scope (color tools) +!TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +!TP_LOCALLAB_COLOR_CIE;Color curve +!TP_LOCALLAB_COLOR_TOOLNAME;Color & Light +!TP_LOCALLAB_COL_NAME;Name +!TP_LOCALLAB_COL_VIS;Status +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRAST;Contrast +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CONTTHR;Contrast Threshold +!TP_LOCALLAB_CONTWFRA;Local contrast +!TP_LOCALLAB_CSTHRESHOLD;Wavelet levels +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve +!TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DEHAFRA;Dehaze +!TP_LOCALLAB_DEHAZ;Strength +!TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. +!TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_EXP;Denoise +!TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. +!TP_LOCALLAB_DEPTH;Depth +!TP_LOCALLAB_DETAIL;Local contrast +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILSH;Details +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_DUPLSPOTNAME;Copy +!TP_LOCALLAB_EDGFRA;Edge sharpness +!TP_LOCALLAB_EDGSHOW;Show all tools +!TP_LOCALLAB_ELI;Ellipse +!TP_LOCALLAB_ENABLE_AFTER_MASK;Use Tone Mapping +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EPSBL;Detail +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EV_NVIS;Hide +!TP_LOCALLAB_EV_NVIS_ALL;Hide all +!TP_LOCALLAB_EV_VIS;Show +!TP_LOCALLAB_EV_VIS_ALL;Show all +!TP_LOCALLAB_EXCLUF;Excluding +!TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +!TP_LOCALLAB_EXCLUTYPE;Spot method +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXECLU;Excluding spot +!TP_LOCALLAB_EXFULL;Full image +!TP_LOCALLAB_EXNORM;Normal spot +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA;Chroma compensation +!TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. +!TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust color, lightness, contrast and correct small defects such as red-eye, sensor dust etc. +!TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ +!TP_LOCALLAB_EXPCOMPINV;Exposure compensation +!TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPCURV;Curves +!TP_LOCALLAB_EXPGRAD;Graduated Filter +!TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_EXPTOOL;Exposure Tools +!TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure +!TP_LOCALLAB_FATAMOUNT;Amount +!TP_LOCALLAB_FATANCHOR;Anchor +!TP_LOCALLAB_FATDETAIL;Detail +!TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). +!TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform +!TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform +!TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAM;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMFRA;Tone response curve (TRC) +!TP_LOCALLAB_GAMM;Gamma +!TP_LOCALLAB_GAMMASKCOL;Gamma +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMSH;Gamma +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADANG;Gradient angle +!TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. +!TP_LOCALLAB_GRADFRA;Graduated Filter Mask +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance +!TP_LOCALLAB_GRADSTR;Gradient strength +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRADSTRLUM;Luma gradient strength +!TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +!TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +!TP_LOCALLAB_GRIDONE;Color Toning +!TP_LOCALLAB_GRIDTWO;Direct +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER;Guided filter radius +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. +!TP_LOCALLAB_INVERS;Inverse +!TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_ISOGR;Distribution (ISO) +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLIGHT;Brightness +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSAT;Saturation +!TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABBLURM;Blur Mask +!TP_LOCALLAB_LABEL;Local Adjustments +!TP_LOCALLAB_LABGRID;Color correction grid +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV;Wavelet levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTNESS;Lightness +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LIGHTRETI;Lightness +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_NAME;Add tool to current spot... +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRAST;Local Contrast & Wavelets +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOG;Log Encoding +!TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments +!TP_LOCALLAB_LOG2FRA;Viewing Conditions +!TP_LOCALLAB_LOGAUTO;Automatic +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +!TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. +!TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGEXP;All tools +!TP_LOCALLAB_LOGFRA;Scene Conditions +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode). +!TP_LOCALLAB_LOGLIGHTL;Lightness (J) +!TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration. +!TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART;Overall strength +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LOG_TOOLNAME;Log Encoding +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMADARKEST;Darkest +!TP_LOCALLAB_LUMASK;Background color/luma mask +!TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). +!TP_LOCALLAB_LUMAWHITESEST;Lightest +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASK;Curves +!TP_LOCALLAB_MASK2;Contrast curve +!TP_LOCALLAB_MASKCOM;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDDECAY;Decay strength +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. +!TP_LOCALLAB_MASKRECOTHRES;Recovery threshold +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERCOL;Color +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOR;Color Dodge +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHI;Color Burn +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MODE_EXPERT;Advanced +!TP_LOCALLAB_MODE_NORMAL;Standard +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MRONE;None +!TP_LOCALLAB_MRTHR;Original Image +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NEIGH;Radius +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLDET;Detail recovery +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NLLUM;Strength +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NOISEMETH;Denoise +!TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. +!TP_LOCALLAB_NONENOISE;None +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_OFFS;Offset +!TP_LOCALLAB_OFFSETWAV;Offset +!TP_LOCALLAB_OPACOL;Opacity +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PASTELS2;Vibrance +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_PREVHIDE;Hide additional settings +!TP_LOCALLAB_PREVIEW;Preview ΔE +!TP_LOCALLAB_PREVSHOW;Show additional settings +!TP_LOCALLAB_PROXI;ΔE decay +!TP_LOCALLAB_QUAAGRES;Aggressive +!TP_LOCALLAB_QUACONSER;Conservative +!TP_LOCALLAB_QUALCURV_METHOD;Curve type +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS;Radius +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RECT;Rectangle +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name +!TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot +!TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESID;Residual Image +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RESIDHI;Highlights +!TP_LOCALLAB_RESIDHITHR;Highlights threshold +!TP_LOCALLAB_RESIDSHA;Shadows +!TP_LOCALLAB_RESIDSHATHR;Shadows threshold +!TP_LOCALLAB_RETI;Dehaze & Retinex +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex +!TP_LOCALLAB_REWEI;Reweighting iterates +!TP_LOCALLAB_RGB;RGB Tone Curve +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_ROW_NVIS;Not visible +!TP_LOCALLAB_ROW_VIS;Visible +!TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. +!TP_LOCALLAB_SATUR;Saturation +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSI;Scope +!TP_LOCALLAB_SENSIEXCLU;Scope +!TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +!TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +!TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. +!TP_LOCALLAB_SETTINGS;Settings +!TP_LOCALLAB_SH1;Shadows Highlights +!TP_LOCALLAB_SH2;Equalizer +!TP_LOCALLAB_SHADEX;Shadows +!TP_LOCALLAB_SHADEXCOMP;Shadow compression +!TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHAMASKCOL;Shadows +!TP_LOCALLAB_SHAPETYPE;RT-spot shape +!TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +!TP_LOCALLAB_SHARAMOUNT;Amount +!TP_LOCALLAB_SHARBLUR;Blur radius +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHARITER;Iterations +!TP_LOCALLAB_SHARP;Sharpening +!TP_LOCALLAB_SHARP_TOOLNAME;Sharpening +!TP_LOCALLAB_SHARRADIUS;Radius +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASK;Show mask +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise +!TP_LOCALLAB_SHOWMASKTYP2;Denoise +!TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWREF;Preview ΔE +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMAWAV;Attenuation response +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTM;Soft Light +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SOURCE_ABS;Absolute luminance +!TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_SPOTNAME;New Spot +!TP_LOCALLAB_STD;Standard +!TP_LOCALLAB_STR;Strength +!TP_LOCALLAB_STRBL;Strength +!TP_LOCALLAB_STREN;Compression strength +!TP_LOCALLAB_STRENG;Strength +!TP_LOCALLAB_STRENGR;Strength +!TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). +!TP_LOCALLAB_STRENGTH;Noise +!TP_LOCALLAB_STRGRID;Strength +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_TARGET_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM;Tone Mapping +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSIT;Transition Gradient +!TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY +!TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. +!TP_LOCALLAB_TRANSITVALUE;Transition value +!TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) +!TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WARM;Warm/Cool & Color artifacts +!TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the color temperature of the selected area warmer or cooler.\nIt can also reduce color artifacts in some cases. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAV;Local contrast +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVDEN;Luminance denoise +!TP_LOCALLAB_WAVE;Wavelets +!TP_LOCALLAB_WAVEDG;Local contrast +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK;Local contrast +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. !TP_METADATA_EDIT;Apply modifications !TP_METADATA_MODE;Metadata copy mode !TP_METADATA_STRIP;Strip all metadata @@ -1943,6 +3576,27 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_PCVIGNETTE_STRENGTH;Strength !TP_PCVIGNETTE_STRENGTH_TOOLTIP;Filter strength in stops (reached in corners). !TP_PDSHARPENING_LABEL;Capture Sharpening +!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor +!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length +!TP_PERSPECTIVE_CAMERA_FRAME;Correction +!TP_PERSPECTIVE_CAMERA_PITCH;Vertical +!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_CAMERA_YAW;Horizontal +!TP_PERSPECTIVE_CONTROL_LINES;Control lines +!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +!TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. +!TP_PERSPECTIVE_METHOD;Method +!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based +!TP_PERSPECTIVE_METHOD_SIMPLE;Simple +!TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment +!TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +!TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +!TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +!TP_PERSPECTIVE_RECOVERY_FRAME;Recovery !TP_PFCURVE_CURVEEDITOR_CH;Hue !TP_PFCURVE_CURVEEDITOR_CH_TOOLTIP;Controls defringe strength by color.\nHigher = more,\nLower = less. !TP_PREPROCESS_DEADPIXFILT;Dead pixel filter @@ -1955,10 +3609,14 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_PREPROCESS_LINEDENOISE_DIRECTION_PDAF_LINES;Horizontal only on PDAF rows !TP_PREPROCESS_LINEDENOISE_DIRECTION_VERTICAL;Vertical !TP_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!TP_PREPROCWB_LABEL;Preprocess White Balance +!TP_PREPROCWB_MODE;Mode +!TP_PREPROCWB_MODE_AUTO;Auto +!TP_PREPROCWB_MODE_CAMERA;Camera !TP_PRSHARPENING_LABEL;Post-Resize Sharpening -!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the "Lanczos" resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. +!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the 'Lanczos' resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. !TP_RAWCACORR_AUTOIT;Iterations -!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if "Auto-correction" is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. +!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if 'Auto-correction' is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. !TP_RAWCACORR_AVOIDCOLORSHIFT;Avoid color shift !TP_RAWEXPOS_BLACK_0;Green 1 (lead) !TP_RAWEXPOS_BLACK_1;Red @@ -1974,9 +3632,11 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_RAW_4PASS;3-pass+fast !TP_RAW_AHD;AHD !TP_RAW_AMAZE;AMaZE +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear !TP_RAW_AMAZEVNG4;AMaZE+VNG4 !TP_RAW_BORDER;Border !TP_RAW_DCB;DCB +!TP_RAW_DCBBILINEAR;DCB+Bilinear !TP_RAW_DCBVNG4;DCB+VNG4 !TP_RAW_DMETHOD_PROGRESSBAR;%1 demosaicing... !TP_RAW_DMETHOD_PROGRESSBAR_REFINE;Demosaicing refinement... @@ -1999,6 +3659,8 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_RAW_MONO;Mono !TP_RAW_NONE;None (Shows sensor pattern) !TP_RAW_PIXELSHIFT;Pixel Shift +!TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTBLUR;Blur motion mask !TP_RAW_PIXELSHIFTDMETHOD;Demosaic method for motion !TP_RAW_PIXELSHIFTEPERISO;Sensitivity @@ -2009,7 +3671,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_RAW_PIXELSHIFTEQUALBRIGHT_TOOLTIP;Equalize the brightness of the frames to the brightness of the selected frame.\nIf there are overexposed areas in the frames select the brightest frame to avoid magenta color cast in overexposed areas or enable motion correction. !TP_RAW_PIXELSHIFTGREEN;Check green channel for motion !TP_RAW_PIXELSHIFTHOLEFILL;Fill holes in motion mask -!TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask +!TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask. !TP_RAW_PIXELSHIFTMEDIAN;Use median for moving parts !TP_RAW_PIXELSHIFTMEDIAN_TOOLTIP;Use median of all frames instead of selected frame for regions with motion.\nRemoves objects which are at different places in all frames.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTMM_AUTO;Automatic @@ -2024,16 +3686,21 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_RAW_PIXELSHIFTSIGMA;Blur radius !TP_RAW_PIXELSHIFTSIGMA_TOOLTIP;The default radius of 1.0 usually fits well for base ISO.\nIncrease the value for high ISO shots, 5.0 is a good starting point.\nWatch the motion mask while changing the value. !TP_RAW_PIXELSHIFTSMOOTH;Smooth transitions -!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether "Use LMMSE" is selected), or the median of all four frames if "Use median" is selected. +!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether 'Use LMMSE' is selected), or the median of all four frames if 'Use median' is selected. !TP_RAW_RCD;RCD +!TP_RAW_RCDBILINEAR;RCD+Bilinear !TP_RAW_RCDVNG4;RCD+VNG4 !TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix -!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas +!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas. !TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix !TP_RAW_VNG4;VNG4 !TP_RAW_XTRANS;X-Trans !TP_RAW_XTRANSFAST;Fast X-Trans !TP_RESIZE_ALLOW_UPSCALING;Allow Upscaling +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge !TP_RETINEX_CONTEDIT_HSL;HSL histogram !TP_RETINEX_CONTEDIT_LAB;L*a*b* histogram !TP_RETINEX_CONTEDIT_LH;Hue @@ -2041,7 +3708,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_RETINEX_CURVEEDITOR_CD;L=f(L) !TP_RETINEX_CURVEEDITOR_CD_TOOLTIP;Luminance according to luminance L=f(L)\nCorrect raw data to reduce halos and artifacts. !TP_RETINEX_CURVEEDITOR_LH;Strength=f(H) -!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the "Highlight" retinex method. +!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the 'Highlight' retinex method. !TP_RETINEX_CURVEEDITOR_MAP;L=f(L) !TP_RETINEX_CURVEEDITOR_MAP_TOOLTIP;This curve can be applied alone or with a Gaussian mask or wavelet mask.\nBeware of artifacts! !TP_RETINEX_EQUAL;Equalizer @@ -2049,7 +3716,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_RETINEX_GAIN;Gain !TP_RETINEX_GAINOFFS;Gain and Offset (brightness) !TP_RETINEX_GAINTRANSMISSION;Gain transmission -!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplify or reduce the transmission map to achieve the desired luminance.\nThe x-axis is the transmission.\nThe y-axis is the gain. +!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Increase or reduce the transmission map to achieve the desired luminance. The x-axis is the transmission. The y-axis is the gain. !TP_RETINEX_GAMMA;Gamma !TP_RETINEX_GAMMA_FREE;Free !TP_RETINEX_GAMMA_HIGH;High @@ -2064,7 +3731,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_RETINEX_HIGH;High !TP_RETINEX_HIGHLIG;Highlight !TP_RETINEX_HIGHLIGHT;Highlight threshold -!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust "Neighboring pixels" and to increase the "White-point correction" in the Raw tab -> Raw White Points tool. +!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust 'Neighboring pixels' and to increase the 'White-point correction' in the Raw tab -> Raw White Points tool. !TP_RETINEX_HSLSPACE_LIN;HSL-Linear !TP_RETINEX_HSLSPACE_LOG;HSL-Logarithmic !TP_RETINEX_ITER;Iterations (Tone-mapping) @@ -2083,11 +3750,11 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_RETINEX_MEDIAN;Transmission median filter !TP_RETINEX_METHOD;Method !TP_RETINEX_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Equalize action.\nHigh = Reinforce high light.\nHighlights = Remove magenta in highlights. -!TP_RETINEX_MLABEL;Restored haze-free Min=%1 Max=%2 -!TP_RETINEX_MLABEL_TOOLTIP;Should be near min=0 max=32768\nRestored image with no mixture. +!TP_RETINEX_MLABEL;Restored data Min=%1 Max=%2 +!TP_RETINEX_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. !TP_RETINEX_NEIGHBOR;Radius !TP_RETINEX_NEUTRAL;Reset -!TP_RETINEX_NEUTRAL_TIP;Reset all sliders and curves to their default values. +!TP_RETINEX_NEUTRAL_TOOLTIP;Reset all sliders and curves to their default values. !TP_RETINEX_OFFSET;Offset (brightness) !TP_RETINEX_SCALES;Gaussian gradient !TP_RETINEX_SCALES_TOOLTIP;If slider at 0, all iterations are identical.\nIf > 0 Scale and radius are reduced when iterations increase, and conversely. @@ -2097,9 +3764,9 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_RETINEX_STRENGTH;Strength !TP_RETINEX_THRESHOLD;Threshold !TP_RETINEX_THRESHOLD_TOOLTIP;Limits in/out.\nIn = image source,\nOut = image gauss. -!TP_RETINEX_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sigma=%4 -!TP_RETINEX_TLABEL2;TM Tm=%1 TM=%2 -!TP_RETINEX_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nMean and Sigma.\nTm=Min TM=Max of transmission map. +!TP_RETINEX_TLABEL;TM Datas Min=%1 Max=%2 Mean=%3 Sigma=%4 +!TP_RETINEX_TLABEL2;TM Effective Tm=%1 TM=%2 +!TP_RETINEX_TLABEL_TOOLTIP;ransmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. !TP_RETINEX_TRANF;Transmission !TP_RETINEX_TRANSMISSION;Transmission map !TP_RETINEX_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positives values (max).\nOrdinate: amplification or reduction. @@ -2108,14 +3775,14 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_RETINEX_VARIANCE_TOOLTIP;Low variance increase local contrast and saturation, but can lead to artifacts. !TP_RETINEX_VIEW;Process !TP_RETINEX_VIEW_MASK;Mask -!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. +!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. !TP_RETINEX_VIEW_NONE;Standard !TP_RETINEX_VIEW_TRAN;Transmission - Auto !TP_RETINEX_VIEW_TRAN2;Transmission - Fixed !TP_RETINEX_VIEW_UNSHARP;Unsharp mask !TP_RGBCURVES_LUMAMODE;Luminosity mode !TP_RGBCURVES_LUMAMODE_TOOLTIP;Luminosity mode allows to vary the contribution of R, G and B channels to the luminosity of the image, without altering image color. -!TP_SAVEDIALOG_OK_TIP;Shortcut: Ctrl-Enter +!TP_SAVEDIALOG_OK_TOOLTIP;Shortcut: Ctrl-Enter !TP_SHARPENING_BLUR;Blur radius !TP_SHARPENING_CONTRAST;Contrast threshold !TP_SHARPENING_ITERCHECK;Auto limit iterations @@ -2123,6 +3790,11 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_SHARPENMICRO_CONTRAST;Contrast threshold !TP_SOFTLIGHT_LABEL;Soft Light !TP_SOFTLIGHT_STRENGTH;Strength +!TP_SPOT_COUNTLABEL;%1 point(s) +!TP_SPOT_DEFAULT_SIZE;Default spot size +!TP_SPOT_ENTRYCHANGED;Point changed +!TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its center then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. +!TP_SPOT_LABEL;Spot Removal !TP_TM_FATTAL_AMOUNT;Amount !TP_TM_FATTAL_ANCHOR;Anchor !TP_TM_FATTAL_LABEL;Dynamic Range Compression @@ -2133,7 +3805,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE2;Red !TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE3;Red/Yellow !TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE4;Yellow -!TP_VIBRANCE_CURVEEDITOR_SKINTONES_TOOLTIP;Hue according to hue H=f(H) +!TP_VIBRANCE_CURVEEDITOR_SKINTONES_TOOLTIP;Hue according to hue H=f(H). !TP_VIBRANCE_PSTHRESHOLD_SATTHRESH;Saturation threshold !TP_VIBRANCE_PSTHRESHOLD_TOOLTIP;The vertical axis represents pastel tones at the bottom and saturated tones at the top.\nThe horizontal axis represents the saturation range. !TP_VIBRANCE_PSTHRESHOLD_WEIGTHING;Pastel/saturated transition's weighting @@ -2146,22 +3818,28 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_WAVELET_7;Level 7 !TP_WAVELET_8;Level 8 !TP_WAVELET_9;Level 9 -!TP_WAVELET_APPLYTO;Apply To +!TP_WAVELET_APPLYTO;Apply to !TP_WAVELET_AVOID;Avoid color shift !TP_WAVELET_B0;Black -!TP_WAVELET_B1;Grey +!TP_WAVELET_B1;Gray !TP_WAVELET_B2;Residual !TP_WAVELET_BACKGROUND;Background !TP_WAVELET_BACUR;Curve !TP_WAVELET_BALANCE;Contrast balance d/v-h !TP_WAVELET_BALANCE_TOOLTIP;Alters the balance between the wavelet directions: vertical-horizontal and diagonal.\nIf contrast, chroma or residual tone mapping are activated, the effect due to balance is amplified. !TP_WAVELET_BALCHRO;Chroma balance +!TP_WAVELET_BALCHROM;Equalizer Color !TP_WAVELET_BALCHRO_TOOLTIP;If enabled, the 'Contrast balance' curve or slider also modifies chroma balance. +!TP_WAVELET_BALLUM;Denoise equalizer White-Black !TP_WAVELET_BANONE;None !TP_WAVELET_BASLI;Slider !TP_WAVELET_BATYPE;Contrast balance method -!TP_WAVELET_CBENAB;Toning and Color Balance -!TP_WAVELET_CB_TOOLTIP;For strong values product color-toning by combining it or not with levels decomposition 'toning'\nFor low values you can change the white balance of the background (sky, ...) without changing that of the front plane, generally more contrasted +!TP_WAVELET_BL;Blur levels +!TP_WAVELET_BLCURVE;Blur by levels +!TP_WAVELET_BLURFRAME;Blur +!TP_WAVELET_BLUWAV;Attenuation response +!TP_WAVELET_CBENAB;Toning and Color balance +!TP_WAVELET_CB_TOOLTIP;With high values you can create special effects, similar to those achieved with the Chroma Module, but focused on the residual image\nWith moderate values you can manually correct the white balance. !TP_WAVELET_CCURVE;Local contrast !TP_WAVELET_CH1;Whole chroma range !TP_WAVELET_CH2;Saturated/pastel @@ -2169,29 +3847,42 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_WAVELET_CHCU;Curve !TP_WAVELET_CHR;Chroma-contrast link strength !TP_WAVELET_CHRO;Saturated/pastel threshold +!TP_WAVELET_CHROFRAME;Denoise chrominance +!TP_WAVELET_CHROMAFRAME;Chroma +!TP_WAVELET_CHROMCO;Chrominance Coarse +!TP_WAVELET_CHROMFI;Chrominance Fine !TP_WAVELET_CHRO_TOOLTIP;Sets the wavelet level which will be the threshold between saturated and pastel colors.\n1-x: saturated\nx-9: pastel\n\nIf the value exceeds the amount of wavelet levels you are using then it will be ignored. -!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of "contrast levels" and "chroma-contrast link strength" +!TP_WAVELET_CHRWAV;Blur chroma +!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of 'contrast levels' and 'chroma-contrast link strength'. !TP_WAVELET_CHSL;Sliders !TP_WAVELET_CHTYPE;Chrominance method -!TP_WAVELET_COLORT;Opacity Red-Green +!TP_WAVELET_CLA;Clarity +!TP_WAVELET_CLARI;Sharp-mask and Clarity +!TP_WAVELET_COLORT;Opacity red-green !TP_WAVELET_COMPCONT;Contrast +!TP_WAVELET_COMPEXPERT;Advanced !TP_WAVELET_COMPGAMMA;Compression gamma !TP_WAVELET_COMPGAMMA_TOOLTIP;Adjusting the gamma of the residual image allows you to equilibrate the data and histogram. +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. +!TP_WAVELET_COMPNORMAL;Standard !TP_WAVELET_COMPTM;Tone mapping !TP_WAVELET_CONTEDIT;'After' contrast curve +!TP_WAVELET_CONTFRAME;Contrast - Compression !TP_WAVELET_CONTR;Gamut !TP_WAVELET_CONTRA;Contrast !TP_WAVELET_CONTRAST_MINUS;Contrast - !TP_WAVELET_CONTRAST_PLUS;Contrast + -!TP_WAVELET_CONTRA_TOOLTIP;Changes contrast of the residual image. +!TP_WAVELET_CONTRA_TOOLTIP;Changes the residual image contrast. !TP_WAVELET_CTYPE;Chrominance control +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. !TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;Modifies local contrast as a function of the original local contrast (abscissa).\nLow abscissa values represent small local contrast (real values about 10..20).\n50% abscissa represents average local contrast (real value about 100..300).\n66% abscissa represents standard deviation of local contrast (real value about 300..800).\n100% abscissa represents maximum local contrast (real value about 3000..8000). !TP_WAVELET_CURVEEDITOR_CH;Contrast levels=f(Hue) !TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Modifies each level's contrast as a function of hue.\nTake care not to overwrite changes made with the Gamut sub-tool's hue controls.\nThe curve will only have an effect when wavelet contrast level sliders are non-zero. !TP_WAVELET_CURVEEDITOR_CL;L -!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast luminance curve at the end of the wavelet treatment. +!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast-luminance curve at the end of the wavelet processing. !TP_WAVELET_CURVEEDITOR_HH;HH -!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image's hue as a function of hue. +!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image hue as a function of hue. !TP_WAVELET_DALL;All directions !TP_WAVELET_DAUB;Edge performance !TP_WAVELET_DAUB2;D2 - low @@ -2199,62 +3890,101 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_WAVELET_DAUB6;D6 - standard plus !TP_WAVELET_DAUB10;D10 - medium !TP_WAVELET_DAUB14;D14 - high -!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the firsts levels. However the quality is not strictly related to this coefficient and can vary with images and uses. +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the first levels. However the quality is not strictly related to this coefficient and can vary depending on image and use. +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENOISEHUE;Denoise hue equalizer +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_DIRFRAME;Directional contrast !TP_WAVELET_DONE;Vertical !TP_WAVELET_DTHR;Diagonal !TP_WAVELET_DTWO;Horizontal !TP_WAVELET_EDCU;Curve +!TP_WAVELET_EDEFFECT;Attenuation response +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. !TP_WAVELET_EDGCONT;Local contrast -!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+stdev and maxima. -!TP_WAVELET_EDGE;Edge Sharpness +!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+std. dev. and maxima. +!TP_WAVELET_EDGE;Edge sharpness !TP_WAVELET_EDGEAMPLI;Base amplification !TP_WAVELET_EDGEDETECT;Gradient sensitivity !TP_WAVELET_EDGEDETECTTHR;Threshold low (noise) -!TP_WAVELET_EDGEDETECTTHR2;Threshold high (detection) -!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This adjuster lets you target edge detection for example to avoid applying edge sharpness to fine details, such as noise in the sky. +!TP_WAVELET_EDGEDETECTTHR2;Edge enhancement +!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This slider sets a threshold below which finer details won't be considered as an edge. !TP_WAVELET_EDGEDETECT_TOOLTIP;Moving the slider to the right increases edge sensitivity. This affects local contrast, edge settings and noise. !TP_WAVELET_EDGESENSI;Edge sensitivity !TP_WAVELET_EDGREINF_TOOLTIP;Reinforce or reduce the action of the first level, do the opposite to the second level, and leave the rest unchanged. !TP_WAVELET_EDGTHRESH;Detail !TP_WAVELET_EDGTHRESH_TOOLTIP;Change the repartition between the first levels and the others. The higher the threshold the more the action is centered on the first levels. Be careful with negative values, they increase the action of high levels and can introduce artifacts. !TP_WAVELET_EDRAD;Radius -!TP_WAVELET_EDRAD_TOOLTIP;This radius adjustment is very different from those in other sharpening tools. Its value is compared to each level through a complex function. In this sense, a value of zero still has an effect. -!TP_WAVELET_EDSL;Threshold Sliders +!TP_WAVELET_EDRAD_TOOLTIP;This adjustment controls the local enhancement. A value of zero still has an effect. +!TP_WAVELET_EDSL;Threshold sliders !TP_WAVELET_EDTYPE;Local contrast method !TP_WAVELET_EDVAL;Strength !TP_WAVELET_FINAL;Final Touchup +!TP_WAVELET_FINCFRAME;Final local contrast !TP_WAVELET_FINEST;Finest -!TP_WAVELET_HIGHLIGHT;Highlight luminance range +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) +!TP_WAVELET_HIGHLIGHT;Finer levels luminance range !TP_WAVELET_HS1;Whole luminance range -!TP_WAVELET_HS2;Shadows/Highlights +!TP_WAVELET_HS2;Selective luminance range !TP_WAVELET_HUESKIN;Skin hue !TP_WAVELET_HUESKIN_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. -!TP_WAVELET_HUESKY;Sky hue +!TP_WAVELET_HUESKY;Hue range !TP_WAVELET_HUESKY_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. !TP_WAVELET_ITER;Delta balance levels !TP_WAVELET_ITER_TOOLTIP;Left: increase low levels and reduce high levels,\nRight: reduce low levels and increase high levels. -!TP_WAVELET_LABEL;Wavelet Levels +!TP_WAVELET_LABEL;Wavelet levels +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 !TP_WAVELET_LARGEST;Coarsest !TP_WAVELET_LEVCH;Chroma -!TP_WAVELET_LEVDIR_ALL;All levels in all directions -!TP_WAVELET_LEVDIR_INF;Below or equal the level +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVDIR_ALL;All levels, in all directions +!TP_WAVELET_LEVDIR_INF;Finer detail levels, including selected level !TP_WAVELET_LEVDIR_ONE;One level -!TP_WAVELET_LEVDIR_SUP;Above the level +!TP_WAVELET_LEVDIR_SUP;Coarser detail levels, excluding selected level +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 !TP_WAVELET_LEVELS;Wavelet levels -!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of detail levels the image is to be decomposed into. More levels require more RAM and require a longer processing time. +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of wavelet decomposition levels for the image.\nMore levels require more RAM and require a longer processing time. !TP_WAVELET_LEVF;Contrast +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold !TP_WAVELET_LEVLABEL;Preview maximum possible levels = %1 !TP_WAVELET_LEVONE;Level 2 !TP_WAVELET_LEVTHRE;Level 4 !TP_WAVELET_LEVTWO;Level 3 !TP_WAVELET_LEVZERO;Level 1 -!TP_WAVELET_LINKEDG;Link with Edge Sharpness' Strength +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_LINKEDG;Link to Edge Sharpness Strength !TP_WAVELET_LIPST;Enhanced algoritm -!TP_WAVELET_LOWLIGHT;Shadow luminance range +!TP_WAVELET_LOWLIGHT;Coarser levels luminance range +!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. !TP_WAVELET_MEDGREINF;First level !TP_WAVELET_MEDI;Reduce artifacts in blue sky !TP_WAVELET_MEDILEV;Edge detection !TP_WAVELET_MEDILEV_TOOLTIP;When you enable Edge Detection, it is recommanded:\n- to disabled low contrast levels to avoid artifacts,\n- to use high values of gradient sensitivity.\n\nYou can modulate the strength with 'refine' from Denoise and Refine. +!TP_WAVELET_MERGEC;Merge chroma +!TP_WAVELET_MERGEL;Merge luma +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise !TP_WAVELET_NEUTRAL;Neutral !TP_WAVELET_NOIS;Denoise !TP_WAVELET_NOISE;Denoise and Refine @@ -2263,48 +3993,81 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_WAVELET_NPNONE;None !TP_WAVELET_NPTYPE;Neighboring pixels !TP_WAVELET_NPTYPE_TOOLTIP;This algorithm uses the proximity of a pixel and eight of its neighbors. If less difference, edges are reinforced. -!TP_WAVELET_OPACITY;Opacity Blue-Yellow +!TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. +!TP_WAVELET_OLDSH;Algorithm using negatives values +!TP_WAVELET_OPACITY;Opacity blue-yellow !TP_WAVELET_OPACITYW;Contrast balance d/v-h curve -!TP_WAVELET_OPACITYWL;Final local contrast +!TP_WAVELET_OPACITYWL;Local contrast !TP_WAVELET_OPACITYWL_TOOLTIP;Modify the final local contrast at the end of the wavelet treatment.\n\nThe left side represents the smallest local contrast, progressing to the largest local contrast on the right. !TP_WAVELET_PASTEL;Pastel chroma !TP_WAVELET_PROC;Process +!TP_WAVELET_PROTAB;Protection +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_RADIUS;Radius shadows - highlight +!TP_WAVELET_RANGEAB;Range a and b % !TP_WAVELET_RE1;Reinforced !TP_WAVELET_RE2;Unchanged !TP_WAVELET_RE3;Reduced -!TP_WAVELET_RESCHRO;Chroma +!TP_WAVELET_RESBLUR;Blur luminance +!TP_WAVELET_RESBLURC;Blur chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. +!TP_WAVELET_RESCHRO;Strength !TP_WAVELET_RESCON;Shadows !TP_WAVELET_RESCONH;Highlights !TP_WAVELET_RESID;Residual Image !TP_WAVELET_SAT;Saturated chroma !TP_WAVELET_SETTINGS;Wavelet Settings +!TP_WAVELET_SHA;Sharp mask +!TP_WAVELET_SHFRAME;Shadows/Highlights +!TP_WAVELET_SHOWMASK;Show wavelet 'mask' +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_SIGMA;Attenuation response +!TP_WAVELET_SIGMAFIN;Attenuation response +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. !TP_WAVELET_SKIN;Skin targetting/protection !TP_WAVELET_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. -!TP_WAVELET_SKY;Sky targetting/protection -!TP_WAVELET_SKY_TOOLTIP;At -100 sky-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 sky-tones are protected while all other tones are affected. -!TP_WAVELET_STREN;Strength +!TP_WAVELET_SKY;Hue targetting/protection +!TP_WAVELET_SKY_TOOLTIP;Allows you to target or protect a range of hues.\nAt -100 selected hues are targetted.\nAt 0 all hues are treated equally.\nAt +100 selected hues are protected while all other hues are targetted. +!TP_WAVELET_SOFTRAD;Soft radius +!TP_WAVELET_STREN;Refine +!TP_WAVELET_STREND;Strength !TP_WAVELET_STRENGTH;Strength !TP_WAVELET_SUPE;Extra !TP_WAVELET_THR;Shadows threshold -!TP_WAVELET_THRESHOLD;Highlight levels -!TP_WAVELET_THRESHOLD2;Shadow levels -!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels between 9 and 9 minus the value will be affected by the shadow luminance range. Other levels will be fully treated. The highest level possible is limited by the highlight level value (9 minus highlight level value). -!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels beyond the chosen value will be affected by the highlight luminance range. Other levels will be fully treated. The chosen value here limits the highest possible value of the shadow levels. +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_THRESHOLD;Finer levels +!TP_WAVELET_THRESHOLD2;Coarser levels +!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels from the chosen value to the selected number of 'wavelet levels' will be affected by the Shadow luminance range. +!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels below and including the chosen value will be affected by the Highlight luminance range. !TP_WAVELET_THRH;Highlights threshold -!TP_WAVELET_TILESBIG;Big tiles +!TP_WAVELET_TILESBIG;Tiles !TP_WAVELET_TILESFULL;Full image !TP_WAVELET_TILESIZE;Tiling method -!TP_WAVELET_TILESLIT;Little tiles !TP_WAVELET_TILES_TOOLTIP;Processing the full image leads to better quality and is the recommended option, while using tiles is a fall-back solution for users with little RAM. Refer to RawPedia for memory requirements. +!TP_WAVELET_TMEDGS;Edge stopping +!TP_WAVELET_TMSCALE;Scale !TP_WAVELET_TMSTRENGTH;Compression strength -!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out. +!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. !TP_WAVELET_TMTYPE;Compression method !TP_WAVELET_TON;Toning +!TP_WAVELET_TONFRAME;Excluded colors +!TP_WAVELET_USH;None +!TP_WAVELET_USHARP;Clarity method +!TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. +!TP_WAVELET_WAVLOWTHR;Low contrast threshold +!TP_WAVELET_WAVOFFSET;Offset +!TP_WBALANCE_AUTOITCGREEN;Temperature correlation +!TP_WBALANCE_AUTOOLD;RGB grey +!TP_WBALANCE_AUTO_HEADER;Automatic !TP_WBALANCE_EQBLUERED;Blue/Red equalizer -!TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behavior of "white balance" by modulating the blue/red balance.\nThis can be useful when shooting conditions:\na) are far from the standard illuminant (e.g. underwater),\nb) are far from conditions where calibrations were performed,\nc) where the matrices or ICC profiles are unsuitable. +!TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behavior of 'white balance' by modulating the blue/red balance.\nThis can be useful when shooting conditions:\na) are far from the standard illuminant (e.g. underwater),\nb) are far from conditions where calibrations were performed,\nc) where the matrices or ICC profiles are unsuitable. !TP_WBALANCE_PICKER;Pick +!TP_WBALANCE_STUDLABEL;Correlation factor: %1 +!TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. !TP_WBALANCE_TEMPBIAS;AWB temperature bias -!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias". +!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the 'auto white balance'\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by 'computedTemp + computedTemp * bias'. !TP_WBALANCE_WATER1;UnderWater 1 !TP_WBALANCE_WATER2;UnderWater 2 !TP_WBALANCE_WATER_HEADER;UnderWater diff --git a/rtdata/languages/Nederlands b/rtdata/languages/Nederlands index ba5880bfb..63eaeccc6 100644 --- a/rtdata/languages/Nederlands +++ b/rtdata/languages/Nederlands @@ -21,11 +21,13 @@ ABOUT_TAB_CREDITS;Credits ABOUT_TAB_LICENSE;Licentie ABOUT_TAB_RELEASENOTES;Uitgave-opmerkingen ABOUT_TAB_SPLASH;Splash +ADJUSTER_RESET_TO_DEFAULT;Klik - terug naar standaardwaarde.\nCtrl+klik - terug naar laatst opgeslagen waarde. BATCH_PROCESSING;Batch-verwerking CURVEEDITOR_AXIS_IN;I: CURVEEDITOR_AXIS_LEFT_TAN;LT: CURVEEDITOR_AXIS_OUT;O: CURVEEDITOR_AXIS_RIGHT_TAN;RT: +CURVEEDITOR_CATMULLROM;Flexibel CURVEEDITOR_CURVE;Curve CURVEEDITOR_CURVES;Curven CURVEEDITOR_CUSTOM;Handmatig @@ -47,10 +49,15 @@ CURVEEDITOR_TOOLTIPPASTE;Plak curve van klembord CURVEEDITOR_TOOLTIPSAVE;Bewaar huidige curve CURVEEDITOR_TYPE;Type: DIRBROWSER_FOLDERS;Mappen +DONT_SHOW_AGAIN;Dit bericht niet meer tonen DYNPROFILEEDITOR_DELETE;Verwijder DYNPROFILEEDITOR_EDIT;Wijzig DYNPROFILEEDITOR_EDIT_RULE;Wijzig Dynamisch Profielregel DYNPROFILEEDITOR_ENTRY_TOOLTIP;Het zoeken is niet hoofdlettergevoelig.\nGebruik het "re:" voorvoegsel om\n een reguliere expressie uit te voeren +DYNPROFILEEDITOR_IMGTYPE_ANY;Alles +DYNPROFILEEDITOR_IMGTYPE_HDR;HDR +DYNPROFILEEDITOR_IMGTYPE_PS;Pixel Shift +DYNPROFILEEDITOR_IMGTYPE_STD;Standaard DYNPROFILEEDITOR_MOVE_DOWN;Naar beneden DYNPROFILEEDITOR_MOVE_UP;Naar boven DYNPROFILEEDITOR_NEW;Nieuw @@ -64,6 +71,7 @@ EXIFFILTER_CAMERA;Camera EXIFFILTER_EXPOSURECOMPENSATION;Belichtingscompensatie (EV) EXIFFILTER_FILETYPE;Bestandstype EXIFFILTER_FOCALLEN;Brandpuntsafstand +EXIFFILTER_IMAGETYPE;Type afbeelding EXIFFILTER_ISO;ISO-waarde EXIFFILTER_LENS;Objectief EXIFFILTER_METADATAFILTER;Activeer metadatafilters @@ -81,6 +89,7 @@ EXIFPANEL_RESET;Herstel EXIFPANEL_RESETALL;Herstel alles EXIFPANEL_RESETALLHINT;Zet alle tags terug naar oorspronkelijke waarden EXIFPANEL_RESETHINT;Zet geselecteerde tags terug naar oorspronkelijke waarden +EXIFPANEL_SHOWALL;Toon alles EXIFPANEL_SUBDIRECTORY;Submap EXPORT_BYPASS;Verwerkingsstappen die worden overgeslagen EXPORT_BYPASS_ALL;Alles selecteren/deselecteren @@ -108,7 +117,7 @@ EXPORT_PIPELINE;Verwerken EXPORT_PUTTOQUEUEFAST;Plaats in verwerkingsrij voor Snelle Export EXPORT_RAW_DMETHOD;Demozaïekmethode EXPORT_USE_FAST_PIPELINE;Snel (volledige verwerking op gewijzigd formaat van de afbeelding) -EXPORT_USE_FAST_PIPELINE_TIP;Gebruikt een speciale verwerkingslijn waarbij kwaliteit ten koste gaat van snelheid. Het formaat van de afbeelding wordt zo snel mogelijk gewijzigd, ipv aan het eind van de verwerking. De snelheidswinst is aanzienlijk, maar de kwaliteit van de afbeelding zal minder zijn. +EXPORT_USE_FAST_PIPELINE_TOOLTIP;Gebruikt een speciale verwerkingslijn waarbij kwaliteit ten koste gaat van snelheid. Het formaat van de afbeelding wordt zo snel mogelijk gewijzigd, ipv aan het eind van de verwerking. De snelheidswinst is aanzienlijk, maar de kwaliteit van de afbeelding zal minder zijn. EXPORT_USE_NORMAL_PIPELINE;Standaard (wijzigt formaat aan het eind) EXTPROGTARGET_1;raw EXTPROGTARGET_2;verwerkingsrij @@ -116,15 +125,22 @@ FILEBROWSER_APPLYPROFILE;Pas profiel toe FILEBROWSER_APPLYPROFILE_PARTIAL;Pas profiel toe (gedeeltelijk) FILEBROWSER_AUTODARKFRAME;Automatisch donkerframe FILEBROWSER_AUTOFLATFIELD;Selecteer automatisch vlakveldopname +FILEBROWSER_BROWSEPATHBUTTONHINT;Klik om de opgegeven map te laden, en het zoekfilter opnieuw toe te passen. FILEBROWSER_BROWSEPATHHINT;Typ het pad naar de doelmap.\nCtrl-O markeer het pad in het tekstveld.\nEnter / Ctrl-Enter open de map.\nEsc maak het tekstveld leeg.\nShift-Esc verwijder markering.\n\n\nSneltoetsen:\n ~ - gebruikers home directory\n ! - gebruikers afbeeldingen map FILEBROWSER_CACHE;Cache +FILEBROWSER_CACHECLEARFROMFULL;Wis alles inclusief opgeslagen profielen +FILEBROWSER_CACHECLEARFROMPARTIAL;Wis alles behalve opgeslagen profielen FILEBROWSER_CLEARPROFILE;Verwijder profiel FILEBROWSER_COLORLABEL_TOOLTIP;Kleur label\n\nGebruik keuzemenu of nSneltoets:\nShift-Ctrl-0 Geen kleur\nShift-Ctrl-1 Rood\nShift-Ctrl-2 Geel\nShift-Ctrl-3 Groen\nShift-Ctrl-4 Blauw\nShift-Ctrl-5 Paars FILEBROWSER_COPYPROFILE;Kopieer profiel FILEBROWSER_CURRENT_NAME;Huidige naam: FILEBROWSER_DARKFRAME;Donkerframe +FILEBROWSER_DELETEDIALOG_ALL;Alle %1 bestanden in de prullenbak definitief verwijderen? FILEBROWSER_DELETEDIALOG_HEADER;Bevestiging bestand verwijderen +FILEBROWSER_DELETEDIALOG_SELECTED;Geselecteerde %1 bestanden definitief verwijderen? +FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Geselecteerde %1 bestanden inclusief een versie die door de verwerkingsrij is gemaakt verwijderen? FILEBROWSER_EMPTYTRASH;Leeg prullenbak +FILEBROWSER_EMPTYTRASHHINT;Alle bestanden in de prullenbak permanent verwijderen FILEBROWSER_EXTPROGMENU;Open met FILEBROWSER_FLATFIELD;Vlakveld FILEBROWSER_MOVETODARKFDIR;Verplaats naar map met donkerframes @@ -158,6 +174,8 @@ FILEBROWSER_POPUPRANK2;Waardering 2 ** FILEBROWSER_POPUPRANK3;Waardering 3 *** FILEBROWSER_POPUPRANK4;Waardering 4 **** FILEBROWSER_POPUPRANK5;Waardering 5 ***** +FILEBROWSER_POPUPREMOVE;Permanent verwijderen +FILEBROWSER_POPUPREMOVEINCLPROC;Verwijder definitief, inclusief met uitvoer in de verwerkingsrij FILEBROWSER_POPUPRENAME;Hernoem FILEBROWSER_POPUPSELECTALL;Alles selecteren FILEBROWSER_POPUPTRASH;Verplaats naar prullenbak @@ -184,6 +202,7 @@ FILEBROWSER_SHOWDIRHINT;Verwijder alle filters.\nSneltoets: d FILEBROWSER_SHOWEDITEDHINT;Toon bewerkte foto's\nSneltoets: 7 FILEBROWSER_SHOWEDITEDNOTHINT;Toon niet-bewerkte foto's\nSneltoets: 6 FILEBROWSER_SHOWEXIFINFO;Toon EXIF-info +FILEBROWSER_SHOWNOTTRASHHINT;Toon alleen niet-verwijderde afbeeldingen. FILEBROWSER_SHOWORIGINALHINT;Toon alleen originele afbeelding.\n\nAls er meerdere afbeeldingen zijn met dezelfde naam maar verschillende extensies, dan wordt de afbeelding waarvan de extensie het hoogst staat in de lijst met extensies in Voorkeuren > Bestandsnavigator > Extensies FILEBROWSER_SHOWRANK1HINT;Toon foto's met 1 ster.\nSneltoets: 1 FILEBROWSER_SHOWRANK2HINT;Toon foto's met 2 sterren.\nSneltoets: 2 @@ -214,11 +233,13 @@ GENERAL_AUTO;Automatisch GENERAL_BEFORE;Voor GENERAL_CANCEL;Annuleren GENERAL_CLOSE;Sluiten +GENERAL_CURRENT;Huidig GENERAL_DISABLE;Deactiveren GENERAL_DISABLED;Gedeactiveerd GENERAL_ENABLE;Activeer GENERAL_ENABLED;Geactiveerd GENERAL_FILE;Bestand +GENERAL_HELP;Help GENERAL_LANDSCAPE;Landschap GENERAL_NA;nvt. GENERAL_NO;Nee @@ -226,22 +247,25 @@ GENERAL_NONE;Geen GENERAL_OK;OK GENERAL_OPEN;Open GENERAL_PORTRAIT;Portret +GENERAL_RESET;Terugzetten GENERAL_SAVE;Opslaan +GENERAL_SAVE_AS;Bewaren als... +GENERAL_SLIDER;Schuifregelaar GENERAL_UNCHANGED;(Onveranderd) GENERAL_WARNING;Waarschuwing +GIMP_PLUGIN_INFO;Welkom bij de RawTherapee GIMP plug-in!\nAls uw bewerking gereed is, sluit dan het hoofdvenster van RawTherapee en uw afbeelding wordt automatisch in GIMP geladen. HISTOGRAM_TOOLTIP_B;Toon/verberg blauw histogram HISTOGRAM_TOOLTIP_BAR;Toon/verberg RGB-indicatie\nRechtermuisklik op foto om te starten/stoppen HISTOGRAM_TOOLTIP_CHRO;Toon/Verberg Chromaticiteit histogram HISTOGRAM_TOOLTIP_G;Toon/verberg groen histogram HISTOGRAM_TOOLTIP_L;Toon/verberg CIELAB-luminantiehistogram +HISTOGRAM_TOOLTIP_MODE;Wissel tussen lineair, log-lineair and log-log schalen van het histogram. HISTOGRAM_TOOLTIP_R;Toon/verberg rood histogram -HISTOGRAM_TOOLTIP_RAW;Toon/verberg RAW-histogram HISTORY_CHANGED;Veranderd HISTORY_CUSTOMCURVE;Handmatig HISTORY_FROMCLIPBOARD;Van klembord HISTORY_LABEL;Geschiedenis HISTORY_MSG_1;Foto geladen -HISTORY_MSG_2;Profiel geladen HISTORY_MSG_3;Profiel aangepast HISTORY_MSG_4;Door geschiedenis bladeren HISTORY_MSG_5;Helderheid @@ -255,9 +279,6 @@ HISTORY_MSG_12;Automatische belichting HISTORY_MSG_13;Drempel HISTORY_MSG_14;L*a*b* - Helderheid HISTORY_MSG_15;L*a*b* - Contrast -HISTORY_MSG_16;- -HISTORY_MSG_17;- -HISTORY_MSG_18;- HISTORY_MSG_19;L*a*b* - L* curve HISTORY_MSG_20;Verscherpen HISTORY_MSG_21;OSM - Straal @@ -283,10 +304,6 @@ HISTORY_MSG_40;Witbalans Groentint HISTORY_MSG_41;Tooncurve Mode 1 HISTORY_MSG_42;Tooncurve 2 HISTORY_MSG_43;Tooncurve Mode 2 -HISTORY_MSG_44;Lum. Straal ruisond. -HISTORY_MSG_45;Lum. Randtolerantie ruisond. -HISTORY_MSG_46;Ruisonderdrukking kleur -HISTORY_MSG_47;Meng hoge lichten met matrix HISTORY_MSG_48;Gebruik DCP's toon curve HISTORY_MSG_49;DCP Illuminant HISTORY_MSG_50;Schaduwen/hoge lichten @@ -294,7 +311,6 @@ HISTORY_MSG_51;S/HL - Hoge lichten HISTORY_MSG_52;S/HL - Schaduwen HISTORY_MSG_53;S/HL - Toonomvang HL. HISTORY_MSG_54;S/HL - Toonomvang S. -HISTORY_MSG_55;S/HL - Lokaal contrast HISTORY_MSG_56;S/HL - Straal HISTORY_MSG_57;Grof roteren HISTORY_MSG_58;Horizontaal spiegelen @@ -306,7 +322,6 @@ HISTORY_MSG_63;Snapshot HISTORY_MSG_64;Bijsnijden HISTORY_MSG_65;CA-correctie HISTORY_MSG_66;Hoge lichten herstellen -HISTORY_MSG_67;HL herstellen hoeveelheid HISTORY_MSG_68;HL herstellen methode HISTORY_MSG_69;Kleurwerkruimte HISTORY_MSG_70;Uitvoerkleurruimte @@ -317,12 +332,10 @@ HISTORY_MSG_74;Schalingsinstelling HISTORY_MSG_75;Schalingsmethode HISTORY_MSG_76;Exif-metadata HISTORY_MSG_77;IPTC-metadata -HISTORY_MSG_78;Schalen HISTORY_MSG_79;Schalen - Breedte HISTORY_MSG_80;Schalen - Hoogte HISTORY_MSG_81;Schalen geactiveerd HISTORY_MSG_82;Profiel veranderd -HISTORY_MSG_83;S/HL - Verscherpingsmasker HISTORY_MSG_84;Perspectiefcorrectie HISTORY_MSG_85;Lenscorrectie Profiel HISTORY_MSG_86;RGB Curven - Luminos. Mode @@ -369,12 +382,6 @@ HISTORY_MSG_127;Vlakveld - Autom. selectie HISTORY_MSG_128;Vlakveld - Verzachten straal HISTORY_MSG_129;Vlakveld - Verzachten type HISTORY_MSG_130;Auto correctie lensvervorming -HISTORY_MSG_131;RO - Luma -HISTORY_MSG_132;RO - Chroma -HISTORY_MSG_133;Gamma -HISTORY_MSG_134;Gamma - Positie -HISTORY_MSG_135;Gamma - Vrij -HISTORY_MSG_136;Gamma - Helling HISTORY_MSG_137;Zwartniveau - Groen 1 HISTORY_MSG_138;Zwartniveau - Rood HISTORY_MSG_139;Zwartniveau - Blauw @@ -411,6 +418,7 @@ HISTORY_MSG_169;L*a*b* - CH curve HISTORY_MSG_170;Levendigheid curve HISTORY_MSG_171;L*a*b* - LC curve HISTORY_MSG_172;L*a*b* - Beperk LC +HISTORY_MSG_173;NR - Detailbehoud HISTORY_MSG_174;CIECAM02 HISTORY_MSG_175;CAM02 - CAT02 toepassing HISTORY_MSG_176;CAM02 - Weergave omgeving @@ -440,6 +448,7 @@ HISTORY_MSG_199;CAM02 - Toont in histogram HISTORY_MSG_200;CAM02 - Tonemapping HISTORY_MSG_201;RO - Chromin. rood-groen HISTORY_MSG_202;RO - Chromin. blauw-geel +HISTORY_MSG_203;NR - Kleurruimte HISTORY_MSG_204;LMMSE Verbetering HISTORY_MSG_205;CAM02 hete/dode pixels HISTORY_MSG_206;CAT02 - Opname Lum. Auto @@ -470,7 +479,9 @@ HISTORY_MSG_231;ZW - 'Voor' curve HISTORY_MSG_232;ZW - 'Voor' curve type HISTORY_MSG_233;ZW - 'Na' curve HISTORY_MSG_234;ZW - 'Na' curve type +HISTORY_MSG_235;B&W - CM - Auto HISTORY_MSG_236;- +HISTORY_MSG_237;B&W - CM HISTORY_MSG_238;GF - Straal HISTORY_MSG_239;GF - Sterkte HISTORY_MSG_240;GF - Centrum @@ -483,12 +494,12 @@ HISTORY_MSG_246;L*a*b* - CL curve HISTORY_MSG_247;L*a*b* - LH curve HISTORY_MSG_248;L*a*b* - HH curve HISTORY_MSG_249;DC - Drempel -HISTORY_MSG_250;RO - Verbeteren HISTORY_MSG_251;ZW - Algoritme HISTORY_MSG_252;DC - Huidtonen HISTORY_MSG_253;DC - Verminder artefacten HISTORY_MSG_254;DC - Huidtint HISTORY_MSG_255;DC - Algoritme +HISTORY_MSG_256;NR - Mediaan - Type HISTORY_MSG_257;Kleurtint HISTORY_MSG_258;KT - Kleur curve HISTORY_MSG_259;KT - Dekking @@ -505,8 +516,7 @@ HISTORY_MSG_269;KT - Hoog - Rood HISTORY_MSG_270;KT - Hoog - Groen HISTORY_MSG_271;KT - Hoog - Blauw HISTORY_MSG_272;KT - Balans -HISTORY_MSG_274;KT - Verz. Schaduwen -HISTORY_MSG_275;KT - Verz. Hoge lichten +HISTORY_MSG_273;CT - Kleurbalans SMH HISTORY_MSG_276;KT - Dekking HISTORY_MSG_277;--unused-- HISTORY_MSG_278;KT - Behoud luminantie @@ -528,9 +538,9 @@ HISTORY_MSG_293;Film Simuleren HISTORY_MSG_294;Film - Sterkte HISTORY_MSG_295;Film - Film HISTORY_MSG_296;RO - Luminantie curve +HISTORY_MSG_297;NR - Modus HISTORY_MSG_298;Dode pixels filter HISTORY_MSG_299;RO - Chrominantie curve -HISTORY_MSG_300;- HISTORY_MSG_301;RO - Luma controle HISTORY_MSG_302;RO - Chroma methode HISTORY_MSG_303;RO - Chroma methode @@ -622,6 +632,7 @@ HISTORY_MSG_388;W - Rest - KB groen midden HISTORY_MSG_389;W - Rest - KB blauw midden HISTORY_MSG_390;W - Rest - KB groen laag HISTORY_MSG_391;W - Rest - KB blauw laag +HISTORY_MSG_392;W - Overblijvend - Kleurbalans HISTORY_MSG_393;DCP 'Look'tabel HISTORY_MSG_394;DCP Basis belichting HISTORY_MSG_395;DCP Basis tabel @@ -638,7 +649,6 @@ HISTORY_MSG_405;W - RO - Niveau 4 HISTORY_MSG_406;W - RS - Naburige pixels HISTORY_MSG_407;Retinex - Methode HISTORY_MSG_408;Retinex - Naburig -HISTORY_MSG_409;Retinex - Verbeteren HISTORY_MSG_410;Retinex - Beginpunt HISTORY_MSG_411;Retinex - Sterkte HISTORY_MSG_412;Retinex - Gaussiaans Verloop @@ -670,6 +680,7 @@ HISTORY_MSG_437;Retinex - M - Methode HISTORY_MSG_438;Retinex - M - Mixer HISTORY_MSG_439;Retinex - Verwerken HISTORY_MSG_440;DC - Methode +HISTORY_MSG_441;Retinex - Toename transmissie HISTORY_MSG_442;Retinex - Schaal HISTORY_MSG_443;Uivoer Zwartpunt Compensatie HISTORY_MSG_444;WB - Temp afwijking @@ -685,12 +696,131 @@ HISTORY_MSG_468;PV Vul holtes HISTORY_MSG_469;PV Mediaann HISTORY_MSG_471;PV Bewegingscorrectie HISTORY_MSG_472;PV Zachte overgang -HISTORY_MSG_473;PV Gebruik lmmse HISTORY_MSG_474;PV Balans +HISTORY_MSG_475;PS - Kanaalbalans +HISTORY_MSG_476;CAM02 - Temp uit +HISTORY_MSG_477;CAM02 - Groen uit +HISTORY_MSG_478;CAM02 - Yb uit +HISTORY_MSG_479;CAM02 - CAT02 aanpassing uit +HISTORY_MSG_480;CAM02 - Automatische CAT02 uit +HISTORY_MSG_481;CAM02 - Temp scène +HISTORY_MSG_482;CAM02 - Groen scène +HISTORY_MSG_483;CAM02 - Yb scène +HISTORY_MSG_484;CAM02 - Auto Yb scène +HISTORY_MSG_485;Lenscorrectie +HISTORY_MSG_486;Lenscorrectie - Camera +HISTORY_MSG_487;Lenscorrectie - Lens +HISTORY_MSG_488;Compressie Dynamisch Bereik +HISTORY_MSG_489;DRC - Detail +HISTORY_MSG_490;DRC - Hoeveelheid +HISTORY_MSG_491;Witbalans +HISTORY_MSG_492;RGB Curven +HISTORY_MSG_493;L*a*b* Adjustments +HISTORY_MSG_494;verscherpen +HISTORY_MSG_CLAMPOOG;Kleuren afkappen die buiten het gamma vallen +HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Kleurcorrectie +HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Kleurcorrectie +HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Kanaal +HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - gebied C masker +HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H masker +HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Licht +HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L masker +HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - Lijst +HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - verzachtingsmasker gebied +HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - offset gebied +HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - sterkte gebied +HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Verzadiging +HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - toon gebiedsmasker +HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - hellingsgebied +HISTORY_MSG_DEHAZE_DEPTH;Nevelvermindering - Diepte +HISTORY_MSG_DEHAZE_ENABLED;Nevelvermindering +HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Nevelvermindering - Toon dieptemap +HISTORY_MSG_DEHAZE_STRENGTH;Nevelvermindering - Sterkte +HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Dual-demozaïek - auto-drempel +HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Dual-demozaïek - Contrastdrempel +HISTORY_MSG_FILMNEGATIVE_ENABLED;Filmnegatief +HISTORY_MSG_FILMNEGATIVE_VALUES;Filmnegatief waarden +HISTORY_MSG_HISTMATCHING;Auto-matched tooncurve +HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Uitvoer - Primaries +HISTORY_MSG_ICM_OUTPUT_TEMP;Uitvoer - ICC-v4 illuminant D +HISTORY_MSG_ICM_OUTPUT_TYPE;Uitvoer - Type +HISTORY_MSG_ICM_WORKING_GAMMA;Working - Gamma +HISTORY_MSG_ICM_WORKING_SLOPE;Working - Helling +HISTORY_MSG_ICM_WORKING_TRC_METHOD;Working - TRC methode +HISTORY_MSG_LOCALCONTRAST_AMOUNT;Local Contrast - Hoeveelheid +HISTORY_MSG_LOCALCONTRAST_DARKNESS;Local Contrast - Donker +HISTORY_MSG_LOCALCONTRAST_ENABLED;Lokaal Contrast +HISTORY_MSG_LOCALCONTRAST_LIGHTNESS;Lokaal Contrast - Licht +HISTORY_MSG_LOCALCONTRAST_RADIUS;Lokaal Contrast - Radius +HISTORY_MSG_METADATA_MODE;Metadata kopieermodus +HISTORY_MSG_MICROCONTRAST_CONTRAST;Microcontrast - Contrastdrempel +HISTORY_MSG_PDSHARPEN_AUTO_CONTRAST;CS - Auto drempel +HISTORY_MSG_PDSHARPEN_AUTO_RADIUS;CS - Auto radius +HISTORY_MSG_PDSHARPEN_CHECKITER;CS - Auto limiet herhalingen +HISTORY_MSG_PDSHARPEN_CONTRAST;CS - Contrastdrempel +HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Herhalingen +HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius +HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Toename hoekradius +HISTORY_MSG_PIXELSHIFT_DEMOSAIC;PS - Demozaïekmethode voor beweging +HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;lijnruisfilter richting +HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;PDAF lijnfilter +HISTORY_MSG_PRSHARPEN_CONTRAST;PRS - Contrastdrempel +HISTORY_MSG_RAWCACORR_AUTOIT;Raw CA Correctie - Herhalingen +HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correctie - Vermijd kleurverschuiving +HISTORY_MSG_RAW_BORDER;Raw rand +HISTORY_MSG_RESIZE_ALLOWUPSCALING;Schalen - sta vergroting toe +HISTORY_MSG_SHARPENING_BLUR;Verscherpen - Vervagingsradius +HISTORY_MSG_SHARPENING_CONTRAST;Verscherpen - Contrastdrempel +HISTORY_MSG_SH_COLORSPACE;S/H - Kleurruimte +HISTORY_MSG_SOFTLIGHT_ENABLED;Zacht licht +HISTORY_MSG_SOFTLIGHT_STRENGTH;Zacht licht - Sterkte +HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anker +HISTORY_MSG_TRANS_METHOD;Geometrie - Methode HISTORY_NEWSNAPSHOT;Nieuw HISTORY_NEWSNAPSHOT_TOOLTIP;Sneltoets: Alt-s HISTORY_SNAPSHOT;Nieuw HISTORY_SNAPSHOTS;Snapshots +ICCPROFCREATOR_COPYRIGHT;Copyright: +ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Zet terug naar standaard copyright, verleend aan "RawTherapee, CC0" +ICCPROFCREATOR_CUSTOM;Handmatig +ICCPROFCREATOR_DESCRIPTION;Beschriiving: +ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Voeg gamma- en hellingwaarden toe aan de beschrijving +ICCPROFCREATOR_DESCRIPTION_TOOLTIP;Laat leeg voor de standaard beschrijving. +ICCPROFCREATOR_GAMMA;Gamma +ICCPROFCREATOR_ICCVERSION;ICC versie: +ICCPROFCREATOR_ILL;Illuminant: +ICCPROFCREATOR_ILL_41;D41 +ICCPROFCREATOR_ILL_50;D50 +ICCPROFCREATOR_ILL_55;D55 +ICCPROFCREATOR_ILL_60;D60 +ICCPROFCREATOR_ILL_65;D65 +ICCPROFCREATOR_ILL_80;D80 +ICCPROFCREATOR_ILL_DEF;Standaard +ICCPROFCREATOR_ILL_INC;StdA 2856K +ICCPROFCREATOR_ILL_TOOLTIP;U kunt alleen de illuminant instellen voor ICC v4-profielen. +ICCPROFCREATOR_PRIMARIES;Primaire kleuren: +ICCPROFCREATOR_PRIM_ACESP0;ACES AP0 +ICCPROFCREATOR_PRIM_ACESP1;ACES AP1 +ICCPROFCREATOR_PRIM_ADOBE;Adobe RGB (1998) +ICCPROFCREATOR_PRIM_BEST;BestRGB +ICCPROFCREATOR_PRIM_BETA;BetaRGB +ICCPROFCREATOR_PRIM_BLUX;Blauw X +ICCPROFCREATOR_PRIM_BLUY;Blauw Y +ICCPROFCREATOR_PRIM_BRUCE;BruceRGB +ICCPROFCREATOR_PRIM_GREX;Groen X +ICCPROFCREATOR_PRIM_GREY;Groen Y +ICCPROFCREATOR_PRIM_PROPH;Prophoto +ICCPROFCREATOR_PRIM_REC2020;Rec2020 +ICCPROFCREATOR_PRIM_REDX;Rood X +ICCPROFCREATOR_PRIM_REDY;Rood Y +ICCPROFCREATOR_PRIM_SRGB;sRGB +ICCPROFCREATOR_PRIM_TOOLTIP;U kunt alleen aangepaste primaries voor ICC v4-profielen instellen. +ICCPROFCREATOR_PRIM_WIDEG;Widegamut +ICCPROFCREATOR_PROF_V2;ICC v2 +ICCPROFCREATOR_PROF_V4;ICC v4 +ICCPROFCREATOR_SAVEDIALOG_TITLE;Bewaar ICC profiel als... +ICCPROFCREATOR_SLOPE;Helling +ICCPROFCREATOR_TRC_PRESET;Toonresponscurve: IPTCPANEL_CATEGORY;Categorie IPTCPANEL_CATEGORYHINT;Het onderwerp van de afbeelding. IPTCPANEL_CITY;Plaats @@ -734,6 +864,7 @@ IPTCPANEL_TITLEHINT;De korte naam van de afbeelding. Dit kan de bestandsnaam zij IPTCPANEL_TRANSREFERENCE;Referentienummer IPTCPANEL_TRANSREFERENCEHINT;Het nummer dat wordt gebruikt voor de 'workflow control' of voor de tracking. MAIN_BUTTON_FULLSCREEN;Volledig scherm +MAIN_BUTTON_ICCPROFCREATOR;ICC Profielmaker MAIN_BUTTON_NAVNEXT_TOOLTIP;Navigeer naar de volgende afbeelding relatief ten opzichte van de geopende afbeelding in de Editor\nSneltoets: Shift-F4\n\nNavigeer naar de volgende afbeelding relatief ten opzichte van de miniatuur geselecteerd in de Bestandsnavigator\nSneltoets: F4 MAIN_BUTTON_NAVPREV_TOOLTIP;Navigeer naar de vorige afbeelding relatief ten opzichte van de geopende afbeelding in de Editor\nSneltoets: Shift-F3 \n\nNavigeer naar de vorige afbeelding relatief ten opzichte van de miniatuur geselecteerd in de Bestandsnavigator\nSneltoets: F3 MAIN_BUTTON_NAVSYNC_TOOLTIP;Synchroniseer de Bestandsnavigator met de Editor om de miniatuur te tonen van de huidig geopende afbeelding, en verwijder de filters in de Bestandsnavigator \nSneltoets: x\n\nAls voorgaand, maar zonder het verwijderen van de filters in de Bestandsnavigator \nSneltoets: y\n(NB de miniatuur van de geopende afbeelding zal niet worden getoond indien gefilterd) @@ -750,6 +881,7 @@ MAIN_FRAME_FILEBROWSER;Bestandsnavigator MAIN_FRAME_FILEBROWSER_TOOLTIP; Bestandsnavigator.\nSneltoets: Ctrl-F2 MAIN_FRAME_PLACES;Locaties MAIN_FRAME_PLACES_ADD;Nieuw +MAIN_FRAME_PLACES_DEL;Verwijderen MAIN_FRAME_QUEUE;Verwerkingsrij MAIN_FRAME_QUEUE_TOOLTIP; Verwerkingsrij.\nSneltoets: Ctrl-F3 MAIN_FRAME_RECENT;Recente mappen @@ -765,7 +897,10 @@ MAIN_MSG_OPERATIONCANCELLED;Opdracht afgebroken MAIN_MSG_PATHDOESNTEXIST;Het pad\n\n%1\n\nbestaat niet. Zet een correct pad bij Voorkeuren. MAIN_MSG_QOVERWRITE;Wilt u het bestand overschrijven? MAIN_MSG_SETPATHFIRST;Specificeer eerst een doelmap in Voorkeuren \nom deze functionaliteit te kunnen gebruiken! +MAIN_MSG_TOOMANYOPENEDITORS;Teveel open fotobewerkers.\nSluit er een om verder te kunnen. MAIN_MSG_WRITEFAILED;Niet opgeslagen\n\n"%1"\n\nControleer of de map bestaat en dat u schrijfrechten heeft. +MAIN_TAB_ADVANCED;Geavanceerd +MAIN_TAB_ADVANCED_TOOLTIP;Sneltoets: Alt-a MAIN_TAB_COLOR;Kleur MAIN_TAB_COLOR_TOOLTIP;Sneltoets: Alt-c MAIN_TAB_DETAIL;Detail @@ -775,6 +910,8 @@ MAIN_TAB_EXIF;Exif MAIN_TAB_EXPORT; Exporteren MAIN_TAB_EXPOSURE;Belichting MAIN_TAB_EXPOSURE_TOOLTIP;Sneltoets: Alt-e +MAIN_TAB_FAVORITES;Favorieten +MAIN_TAB_FAVORITES_TOOLTIP;Sneltoets: Alt-u MAIN_TAB_FILTER;Filter MAIN_TAB_INSPECT; Inspecteren MAIN_TAB_IPTC;IPTC @@ -787,6 +924,7 @@ MAIN_TAB_TRANSFORM_TOOLTIP;Sneltoets: Alt-t MAIN_TOOLTIP_BACKCOLOR0;Achtergrond kleur van het voorbeeld: Thema-based\nSneltoets: 8 MAIN_TOOLTIP_BACKCOLOR1;Achtergrond kleur van het voorbeeld: Zwart\nSneltoets: 9 MAIN_TOOLTIP_BACKCOLOR2;Achtergrond kleur van het voorbeeld: Wit\nSneltoets: 0 +MAIN_TOOLTIP_BACKCOLOR3;Achtergrondkleur van het voorbeeld: middelgrijs\nSneltoets: 9 MAIN_TOOLTIP_BEFOREAFTERLOCK;Vergrendel / Ontgrendel de Voorafbeelding.\n\nVergrendel: hou de Voorafbeelding ongewijzigd.\nDit is handig om het cumulatieve effect van meerdere gereedschappen te beoordelen.\nBovendien kan er worden vergeleken met elke stap in de geschiedenislijst.\n\nOntgrendel: de Voorafbeelding volgt een stap achter de Naafbeelding en laat de afbeelding zien zonder het effect van het huidige gereedschap. MAIN_TOOLTIP_HIDEHP;Toon/verberg linkerpaneel (geschiedenis).\nSneltoets: H MAIN_TOOLTIP_INDCLIPPEDH;Overbelichtingsindicatie.\nSneltoets: > @@ -796,6 +934,7 @@ MAIN_TOOLTIP_PREVIEWFOCUSMASK;Bekijk het Focus Masker.\nSneltoets: Shi MAIN_TOOLTIP_PREVIEWG;Bekijk het Groene kanaal.\nSneltoets: g MAIN_TOOLTIP_PREVIEWL;Bekijk de Luminositeit.\nSneltoets: v\n\n0.299*R + 0.587*G + 0.114*B MAIN_TOOLTIP_PREVIEWR;Bekijk het Rode kanaal.\nSneltoets: r +MAIN_TOOLTIP_PREVIEWSHARPMASK;Bekijk het scherptecontrastmasker.\nSneltoets: p\nWerkt alleen als verscherping is geactiveerd en het zoomniveau >= 100%. MAIN_TOOLTIP_QINFO;Beknopte fotogegevens MAIN_TOOLTIP_SHOWHIDELP1;Toon/verberg linkerpaneel.\nSneltoets: l MAIN_TOOLTIP_SHOWHIDERP1;Toon/verberg rechterpaneel.\nSneltoets: Alt-l @@ -815,6 +954,10 @@ NAVIGATOR_S;S: NAVIGATOR_V;V: NAVIGATOR_XY_FULL;Breedte: %1, Hoogte: %2 NAVIGATOR_XY_NA;x: --, y: -- +OPTIONS_BUNDLED_MISSING;Het gebundelde profiel "%1" werd niet gevonden!\n\nUw installatie kan beschadigd zijn.\n\nDaarom worden interne standaardwaarden gebruikt. +OPTIONS_DEFIMG_MISSING;Het standaardprofiel voor niet-raw- foto's werd niet gevonden of is niet ingesteld.\n\nControleer de profielenmap, het kan ontbreken of beschadigd zijn.\n\n"%1" wordt daarom gebruikt. +OPTIONS_DEFRAW_MISSING;Het standaardprofiel voor raw-foto's werd niet gevonden of is niet ingesteld.\n\nControleer de profielenmap, het kan ontbreken of beschadigd zijn.\n\n"%1" wordt daarom gebruikt. +PARTIALPASTE_ADVANCEDGROUP;Geavanceerd PARTIALPASTE_BASICGROUP;Basisinstellingen PARTIALPASTE_CACORRECTION;C/A-correctie PARTIALPASTE_CHANNELMIXER;Kleurkanaal mixer @@ -829,6 +972,7 @@ PARTIALPASTE_CROP;Bijsnijden PARTIALPASTE_DARKFRAMEAUTOSELECT;Donkerframe autom. selectie PARTIALPASTE_DARKFRAMEFILE;Donkerframe-opname PARTIALPASTE_DEFRINGE;Verzachten +PARTIALPASTE_DEHAZE;Nevel verminderen PARTIALPASTE_DETAILGROUP;Detailinstellingen PARTIALPASTE_DIALOGLABEL;Profiel gedeeltelijk plakken... PARTIALPASTE_DIRPYRDENOISE;Ruisonderdrukking @@ -839,6 +983,7 @@ PARTIALPASTE_EQUALIZER;Wavelet Balans PARTIALPASTE_EVERYTHING;Alles PARTIALPASTE_EXIFCHANGES;Wijzig Exif-gegevens PARTIALPASTE_EXPOSURE;Belichting +PARTIALPASTE_FILMNEGATIVE;Film Negatief PARTIALPASTE_FILMSIMULATION;Film Simuleren PARTIALPASTE_FLATFIELDAUTOSELECT;Vlakveld autoselectie PARTIALPASTE_FLATFIELDBLURRADIUS;Vlakveld verzachting straal @@ -853,6 +998,8 @@ PARTIALPASTE_IPTCINFO;IPTC-informatie PARTIALPASTE_LABCURVE;LAB-curve PARTIALPASTE_LENSGROUP;Lensgerelateerde instellingen PARTIALPASTE_LENSPROFILE;Lens correctie profiel +PARTIALPASTE_LOCALCONTRAST;Lokaal contrast +PARTIALPASTE_METADATA;Metadata modus PARTIALPASTE_METAGROUP;Metadata PARTIALPASTE_PCVIGNETTE;Vignettering Filter PARTIALPASTE_PERSPECTIVE;Perspectief @@ -860,12 +1007,15 @@ PARTIALPASTE_PREPROCESS_DEADPIXFILT;Dode pixels filter PARTIALPASTE_PREPROCESS_GREENEQUIL;Groenbalans PARTIALPASTE_PREPROCESS_HOTPIXFILT;Hete pixels filter PARTIALPASTE_PREPROCESS_LINEDENOISE;Lijnruisfilter +PARTIALPASTE_PREPROCESS_PDAFLINESFILTER;PDAF lijnfilter PARTIALPASTE_PRSHARPENING;Verscherp na verkleinen PARTIALPASTE_RAWCACORR_AUTO;Autom. C/A-correctie +PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;CA vermijd kleurverschuiving PARTIALPASTE_RAWCACORR_CAREDBLUE;CA rood & blauw PARTIALPASTE_RAWEXPOS_BLACK;Zwartniveau PARTIALPASTE_RAWEXPOS_LINEAR;Raw witpunt- lineaire corr. factor PARTIALPASTE_RAWGROUP;Raw-instellingen +PARTIALPASTE_RAW_BORDER;Raw rand PARTIALPASTE_RAW_DCBENHANCE;Pas DCB-verbetering toe PARTIALPASTE_RAW_DCBITERATIONS;aantal DCB-herhalingen PARTIALPASTE_RAW_DMETHOD;Demozaïekmethode @@ -881,27 +1031,53 @@ PARTIALPASTE_SHADOWSHIGHLIGHTS;Schaduwen/hoge lichten PARTIALPASTE_SHARPENEDGE;Randen PARTIALPASTE_SHARPENING;Verscherping PARTIALPASTE_SHARPENMICRO;Microcontrast +PARTIALPASTE_SOFTLIGHT;Zacht licht +PARTIALPASTE_TM_FATTAL;Compressie dynamisch bereik PARTIALPASTE_VIBRANCE;Levendigheid PARTIALPASTE_VIGNETTING;Vignetteringscorrectie PARTIALPASTE_WHITEBALANCE;Witbalans PREFERENCES_ADD;Toevoegen +PREFERENCES_APPEARANCE;Uiterlijk +PREFERENCES_APPEARANCE_COLORPICKERFONT;Lettertype kleurenkiezer +PREFERENCES_APPEARANCE_CROPMASKCOLOR;Kleur bijsnijdmasker +PREFERENCES_APPEARANCE_MAINFONT;Standaard lettertype PREFERENCES_APPEARANCE_NAVGUIDECOLOR;Navigator randkleur +PREFERENCES_APPEARANCE_PSEUDOHIDPI;Pseudo-HiDPI modus +PREFERENCES_APPEARANCE_THEME;Thema PREFERENCES_APPLNEXTSTARTUP;herstart vereist PREFERENCES_AUTOMONPROFILE;Gebruik automatisch het standaard monitorprofiel \nvan het besturingsysteem +PREFERENCES_AUTOSAVE_TP_OPEN;Bewaar positie gereedschappen (open/dicht) bij afsluiten PREFERENCES_BATCH_PROCESSING;Batch-verwerking PREFERENCES_BEHADDALL;Alles op 'Toevoegen' PREFERENCES_BEHADDALLHINT;Zet alle parameters in de Toevoegen mode.\nWijzigingen van parameters in de batch tool zijn deltas op de opgeslagen waarden. PREFERENCES_BEHAVIOR;Gedrag PREFERENCES_BEHSETALL;Alles op 'Activeer' PREFERENCES_BEHSETALLHINT;Zet alle parameters in de Activeer mode.\nWijzigingen van parameters in de batch tool zijn absoluut. De actuele waarden worden gebruikt. +PREFERENCES_CACHECLEAR;Wissen +PREFERENCES_CACHECLEAR_ALL;Wis alle bestanden in de cache: +PREFERENCES_CACHECLEAR_ALLBUTPROFILES;Wis alle bestanden in de cache behalve verwerkingsprofielen: +PREFERENCES_CACHECLEAR_ONLYPROFILES;Wis alleen verwerkingsprofielen in de cache: +PREFERENCES_CACHECLEAR_SAFETY;Alleen bestanden in de cache worden gewist. Verwerkingsprofielen van de oorspronkelijke afbeeldingen blijven ongemoeid. PREFERENCES_CACHEMAXENTRIES;Maximaal aantal elementen in cache PREFERENCES_CACHEOPTS;Cache-opties PREFERENCES_CACHETHUMBHEIGHT;Maximale hoogte miniaturen +PREFERENCES_CHUNKSIZES;Tegels per thread +PREFERENCES_CHUNKSIZE_RAW_AMAZE;AMaZE demosaïek +PREFERENCES_CHUNKSIZE_RAW_CA;Raw CA correctie +PREFERENCES_CHUNKSIZE_RAW_RCD;RCD demosaïek +PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans demosaïek +PREFERENCES_CHUNKSIZE_RGB;RGB verwerking PREFERENCES_CLIPPINGIND;Indicatie over-/onderbelichting PREFERENCES_CLUTSCACHE;HaldCLUT cache PREFERENCES_CLUTSCACHE_LABEL;Maximum aantal cached Cluts PREFERENCES_CLUTSDIR;HaldCLUT map PREFERENCES_CMMBPC;Zwartpunt Compensatie +PREFERENCES_CROP;Uitsnijden +PREFERENCES_CROP_AUTO_FIT;Automatisch zoomen tot de uitsnede +PREFERENCES_CROP_GUIDES;Getoonde hulplijnen als uitsnede niet bewerkt wordt +PREFERENCES_CROP_GUIDES_FRAME;Frame +PREFERENCES_CROP_GUIDES_FULL;Origineel +PREFERENCES_CROP_GUIDES_NONE;Geen PREFERENCES_CURVEBBOXPOS;Positie copy/paste knoppen bij Curves PREFERENCES_CURVEBBOXPOS_ABOVE;Boven PREFERENCES_CURVEBBOXPOS_BELOW;Beneden @@ -919,14 +1095,17 @@ PREFERENCES_DARKFRAMETEMPLATES;sjablonen PREFERENCES_DATEFORMAT;Datumformaat PREFERENCES_DATEFORMATHINT;U kunt de volgende formaten gebruiken:\n%y : jaar\n%m : maand\n%d : dag\n\nHet Nederlandse datumformaat is bijvoorbeeld:\n%d/%m/%y PREFERENCES_DIRDARKFRAMES;Map met donkerframes +PREFERENCES_DIRECTORIES;Mappen PREFERENCES_DIRHOME;Standaardmap PREFERENCES_DIRLAST;Laatst bezochte map PREFERENCES_DIROTHER;Anders PREFERENCES_DIRSELECTDLG;Selecteer standaardmap bij opstarten... PREFERENCES_DIRSOFTWARE;Installatiemap +PREFERENCES_EDITORCMDLINE;Aangepaste opdrachtregel PREFERENCES_EDITORLAYOUT;Bewerkingsvenster PREFERENCES_EXTERNALEDITOR;Externe editor PREFERENCES_FBROWSEROPTS;Opties bestandsnavigator +PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Compacte gereedschapsbalken in bestandsnavigator PREFERENCES_FLATFIELDFOUND;Gevonden PREFERENCES_FLATFIELDSDIR;Vlakveldmap PREFERENCES_FLATFIELDSHOTS;foto's @@ -949,6 +1128,7 @@ PREFERENCES_INTENT_PERCEPTUAL;Waargenomen colorimetrie PREFERENCES_INTENT_RELATIVE;Relatieve colorimetrie PREFERENCES_INTENT_SATURATION;Verzadiging PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Toon interne JPEG-miniatuur indien onbewerkt +PREFERENCES_LANG;Taal PREFERENCES_LANGAUTODETECT;Gebruik taalinstellingen pc PREFERENCES_MAXRECENTFOLDERS;Maximum aantal recente mappen PREFERENCES_MENUGROUPEXTPROGS;Groepeer open met @@ -974,6 +1154,10 @@ PREFERENCES_PARSEDEXTADDHINT;Typ nieuwe extensie en druk op knop om aan lijst to PREFERENCES_PARSEDEXTDELHINT;Verwijder geselecteerde extensie(s) uit lijst PREFERENCES_PARSEDEXTDOWNHINT;Verplaats extensie naar beneden PREFERENCES_PARSEDEXTUPHINT;Verplaats extensie naar boven +PREFERENCES_PERFORMANCE_MEASURE;Meting +PREFERENCES_PERFORMANCE_MEASURE_HINT;Log verwerkingstijden in de console +PREFERENCES_PERFORMANCE_THREADS;Threads +PREFERENCES_PERFORMANCE_THREADS_LABEL;Maximaal aantal threads voor ruisvermindering and Wavelet Niveaus (0 = Automatisch) PREFERENCES_PREVDEMO;Voorbeeld Demozaïekmethode PREFERENCES_PREVDEMO_FAST;Snel PREFERENCES_PREVDEMO_LABEL;Demozaïekmethode van het voorbeeld bij <100% zoom: @@ -983,8 +1167,10 @@ PREFERENCES_PROFILEHANDLING;Verwerking profielen PREFERENCES_PROFILELOADPR;Laadprioriteit profielen PREFERENCES_PROFILEPRCACHE;Profiel in cache PREFERENCES_PROFILEPRFILE;Profiel bij RAW-bestand +PREFERENCES_PROFILESAVEBOTH;Bewaar verwerkingsprofielen zowel in de cache als naast het invoerbestand PREFERENCES_PROFILESAVECACHE;Bewaar profiel in cache PREFERENCES_PROFILESAVEINPUT;Bewaar profiel bij RAW-bestand +PREFERENCES_PROFILESAVELOCATION;Opslaglocatie profielen PREFERENCES_PROFILE_NONE;Geen PREFERENCES_PROPERTY;Eigenschap PREFERENCES_PRTINTENT;Grafische weergave @@ -992,6 +1178,7 @@ PREFERENCES_PRTPROFILE;Kleurprofiel PREFERENCES_PSPATH;Installatiemap Adobe Photoshop PREFERENCES_REMEMBERZOOMPAN;Onthoud zoom % en pan startpunt PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Onthoud het zoom % en pan startpunt van de huidige afbeelding als er een nieuwe afbeelding wordt geopend.\n\nDeze optie werkt alleen in "Single Editor Tab Mode" en wanneer "Demozaïekmethode van het voorbeeld <100% zoom" hetzelfde is als "Gelijk aan PP3". +PREFERENCES_SAVE_TP_OPEN_NOW;Bewaar open/dicht-status van de gereedschappen nu PREFERENCES_SELECTLANG;Selecteer taal PREFERENCES_SERIALIZE_TIFF_READ;TIFF Lees Instellingen PREFERENCES_SERIALIZE_TIFF_READ_LABEL;Serieel lezen van TIFF bestanden @@ -1014,7 +1201,12 @@ PREFERENCES_TAB_COLORMGR;Kleurbeheer PREFERENCES_TAB_DYNAMICPROFILE;Dynamisch Profielregel PREFERENCES_TAB_GENERAL;Algemeen PREFERENCES_TAB_IMPROC;Beeldverwerking +PREFERENCES_TAB_PERFORMANCE;Performantie PREFERENCES_TAB_SOUND;Geluiden +PREFERENCES_THUMBNAIL_INSPECTOR_JPEG;Ingesloten JPEG voorbeeld +PREFERENCES_THUMBNAIL_INSPECTOR_MODE;Te tonen foto +PREFERENCES_THUMBNAIL_INSPECTOR_RAW;Neutrale raw rendering +PREFERENCES_THUMBNAIL_INSPECTOR_RAW_IF_NO_JPEG_FULLSIZE;Ingesloten JPEG indien vol formaat, anders neutrale raw PREFERENCES_TP_LABEL;Gereedschapspaneel: PREFERENCES_TP_VSCROLLBAR;Verberg de schuifbalk van het gereedschapspaneel PREFERENCES_USEBUNDLEDPROFILES;Gebruik gebundelde profielen @@ -1024,7 +1216,7 @@ PROFILEPANEL_GLOBALPROFILES;Gebundelde profielen PROFILEPANEL_LABEL;Profielen PROFILEPANEL_LOADDLGLABEL;Kies profiel... PROFILEPANEL_LOADPPASTE;Te laden parameters -PROFILEPANEL_MODE_TIP;Profiel aanvullen.\n\nKnop ingedrukt: gedeeltelijke profielen worden omgezet naar volledige profielen. De ontbrekende waarden worden vervangen door hard-coded defaults.\n\nKnop neutraal: profielen worden toegepast zo als ze zijn, alleen de aanwezige waarden worden gewijzigd. +PROFILEPANEL_MODE_TOOLTIP;Profiel aanvullen.\n\nKnop ingedrukt: gedeeltelijke profielen worden omgezet naar volledige profielen. De ontbrekende waarden worden vervangen door hard-coded defaults.\n\nKnop neutraal: profielen worden toegepast zo als ze zijn, alleen de aanwezige waarden worden gewijzigd. PROFILEPANEL_MYPROFILES;Mijn profielen PROFILEPANEL_PASTEPPASTE;Te plakken parameters PROFILEPANEL_PCUSTOM;Handmatig @@ -1038,6 +1230,11 @@ PROFILEPANEL_TOOLTIPCOPY;Kopieer huidig profiel naar klembord PROFILEPANEL_TOOLTIPLOAD;Laad profiel uit bestand PROFILEPANEL_TOOLTIPPASTE; Plak profiel van klembord PROFILEPANEL_TOOLTIPSAVE;Bewaar huidig profiel.\nCtrl-click voor het selecteren van de instellingen voor opslaan. +PROGRESSBAR_DECODING;Decoderen... +PROGRESSBAR_GREENEQUIL;Groen blancering... +PROGRESSBAR_HLREC;Reconstructie hoge lichten... +PROGRESSBAR_HOTDEADPIXELFILTER;Hot/dead pixel filter... +PROGRESSBAR_LINEDENOISE;Lijnruis filter... PROGRESSBAR_LOADING;Afbeelding laden... PROGRESSBAR_LOADINGTHUMBS;Miniaturen laden... PROGRESSBAR_LOADJPEG;Laden JPEG-bestand... @@ -1046,14 +1243,18 @@ PROGRESSBAR_LOADTIFF;Laden TIFF-bestand... PROGRESSBAR_NOIMAGES;Geen afbeeldingen PROGRESSBAR_PROCESSING;Foto verwerken... PROGRESSBAR_PROCESSING_PROFILESAVED;Uitvoeren 'Profiel opslaan' +PROGRESSBAR_RAWCACORR;Raw CA correctie... PROGRESSBAR_READY;Gereed PROGRESSBAR_SAVEJPEG;Opslaan JPEG-bestand... PROGRESSBAR_SAVEPNG;Opslaan PNG-bestand... PROGRESSBAR_SAVETIFF;Opslaan TIFF-bestand... PROGRESSBAR_SNAPSHOT_ADDED;Snapshot toegevoegd PROGRESSDLG_PROFILECHANGEDINBROWSER;Profiel veranderd in bestandsnavigator +QINFO_FRAMECOUNT;%2 frames +QINFO_HDR;HDR / %2 frame(s) QINFO_ISO;ISO QINFO_NOEXIF;Exif-gegevens niet beschikbaar. +QINFO_PIXELSHIFT;Pixel Shift / %2 frame(s) QUEUE_AUTOSTART;Autostart QUEUE_AUTOSTART_TOOLTIP;Start verwerking automatisch wanneer nieuwe foto arriveert QUEUE_DESTFILENAME;Pad en bestandsnaam @@ -1061,8 +1262,19 @@ QUEUE_FORMAT_TITLE;Bestandstype QUEUE_LOCATION_FOLDER;Sla op in map QUEUE_LOCATION_TEMPLATE;Gebruik sjabloon QUEUE_LOCATION_TEMPLATE_TOOLTIP;U kunt de volgende formaten gebruiken:\n%f, %d1, %d2, ..., %p1, %p2, ..., %r\n\nDeze formaten hebben betrekking op de mappen, submappen en atributen van het RAW-bestand.\n\nAls bijvoorbeeld /home/tom/image/02-09-2006/dsc0012.nef is geopend, hebben deze formaten de volgende betekenis:\n%f=dsc0012, %d1=02-09-2006, %d2=foto, ...\n%p1=/home/tom/image/02-09-2006, %p2=/home/tom/image, p3=/home/tom, ...\n\n%r wordt vervangen door de rank van de foto. Als de foto geen rank heeft, wordt %r vervangen door '0'. Als de foto in de prullenbak zit zal %r worden vervangen door 'x'.\n\nWanneer de geconverteerde RAW-foto in dezelfde map moet komen als het origineel, schrijf dan:\n%p1/%f\n\nIndien u de geconverteerde RAW-foto in een map genaamd 'geconverteerd' wilt plaatsen die een submap is van de oorspronkelijke locatie, schrijft u:\n%p1/geconverteerd/%f\n\nWilt u het geconverteerde RAW-bestand bewaren in map '/home/tom/geconverteerd' met behoud van dezelfde submap met datums, schrijf dan:\n%p2/geconverteerd/%d1/%f +QUEUE_LOCATION_TITLE;Uitvoerlocatie +QUEUE_STARTSTOP_TOOLTIP;;Start of stop de verwerking van foto's in de rij.\n\nSneltoets: Ctrl+s +SAMPLEFORMAT_0;onbekend data formaat +SAMPLEFORMAT_1;8-bit unsigned +SAMPLEFORMAT_2;16-bit unsigned +SAMPLEFORMAT_4;24-bit LogLuv +SAMPLEFORMAT_8;32-bit LogLuv +SAMPLEFORMAT_16;16-bit drijvendekomma +SAMPLEFORMAT_32;24-bit drijvendekomma +SAMPLEFORMAT_64;32-bit drijvendekomma SAVEDLG_AUTOSUFFIX;Voeg automatisch ophogend nummer (-1, -2..) toe als bestand al bestaat SAVEDLG_FILEFORMAT;Bestandstype +SAVEDLG_FILEFORMAT_FLOAT; drijvendekomma SAVEDLG_FORCEFORMATOPTS;Forceer opties voor opslaan SAVEDLG_JPEGQUAL;JPEG-kwaliteit SAVEDLG_PUTTOQUEUE;Plaats in verwerkingsrij @@ -1078,6 +1290,8 @@ SAVEDLG_SUBSAMP_TOOLTIP;Beste Compressie:\nJ:a:b 4:2:0\nh/v 2/2\nChroma gehalvee SAVEDLG_TIFFUNCOMPRESSED;Geen compressie SAVEDLG_WARNFILENAME;Bestandsnaam wordt SHCSELECTOR_TOOLTIP;Klik op de rechtermuisknop om\nde 3 knoppen te verschuiven +SOFTPROOF_GAMUTCHECK_TOOLTIP;Markeer pixels waarvan de kleuren buiten het kleurgamma vallen, relatief aan:\n- het printerprofiel, indien opgegeven en soft-proofing is ingeschakeld,\n- het uitvoerprofiel, indien geen printerprofiel is gekozen en soft-proofing is ingeschakeld,\n- het beeldschermprofiel, indien soft-proofing is uitgeschakeld. +SOFTPROOF_TOOLTIP;Soft-proofing simuleert hoe een foto wordt getoond:\n- als deze wordt afgedrukt, indien een printerprofiel is opgegeven in Voorkeuren > Kleurbeheer,\n- als de foto getoond wordt op een beeldscherm dat het huidige uitvoerprofiel gebruikt en een printerprofiel niet is opgegeven. THRESHOLDSELECTOR_B;Onderkant THRESHOLDSELECTOR_BL;Onderkant-links THRESHOLDSELECTOR_BR;Onderkant-rechts @@ -1121,6 +1335,8 @@ TP_BWMIX_MET;Methode TP_BWMIX_MET_CHANMIX;Kanaalmixer TP_BWMIX_MET_DESAT;Desatureren TP_BWMIX_MET_LUMEQUAL;Luminantie Balans +TP_BWMIX_MIXC;Kanaal Mixer +TP_BWMIX_NEUTRAL;Terugzetten TP_BWMIX_RGBLABEL;R: %1%% G: %2%% B: %3%% Totaal: %4%% TP_BWMIX_RGBLABEL_HINT;RGB omrekeningsfactoren. Hierin zijn alle gekozen opties vewerkt.\nTotaal toont de som van de uit te voeren RGB factoren:\n- dit is altijd 100% in relatieve mode\n- hoger (lichter) of lager (donkerder) dan 100% in absolute mode. TP_BWMIX_RGB_TOOLTIP;Mix de RGB kanalen. Gebruik Voorinstellingen voor aanwijzingen.\nNegatieve waarden kunnen artefacten of onregelmatigheden veroorzaken. @@ -1161,6 +1377,7 @@ TP_COARSETRAF_TOOLTIP_HFLIP;Horizontaal spiegelen TP_COARSETRAF_TOOLTIP_ROTLEFT;Rotate left.\n\nSneltoets:\n[ - Multi-tab Mode,\nAlt-[ - Enkel-tab Mode. TP_COARSETRAF_TOOLTIP_ROTRIGHT;Rotate right.\n\nSneltoets:\n] - Multi-tab Mode,\nAlt-] - Enkel-tab Mode. TP_COARSETRAF_TOOLTIP_VFLIP;Verticaal spiegelen +TP_COLORAPP_ABSOLUTELUMINANCE;Absolute luminantie TP_COLORAPP_ALGO;Algoritme TP_COLORAPP_ALGO_ALL;Alle TP_COLORAPP_ALGO_JC;Lichtheid + Chroma (JC) @@ -1171,6 +1388,7 @@ TP_COLORAPP_BADPIXSL;Hete/dode pixel filter TP_COLORAPP_BADPIXSL_TOOLTIP;Onderdruk hete/dode (sterk gekleurde) pixels.\n 0=geen effect 1=mediaan 2=gaussian.\n\nDeze artefacten zijn het gevolg van de beperkingen van CIECAM02. Het alternatief is het aanpassen van de afbeelding om zeer donkere schaduwen te voorkomen. TP_COLORAPP_BRIGHT;Helderheid (Q) TP_COLORAPP_BRIGHT_TOOLTIP;Helderheid in CIECAM02 is verschillend van Lab en RGB, hou rekening met de luminositeit van wit +TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;Bij manuele aanpassing worden waardon boven 65 aanbevolen. TP_COLORAPP_CHROMA;Chroma (C) TP_COLORAPP_CHROMA_M;Kleurrijkheid (M) TP_COLORAPP_CHROMA_M_TOOLTIP;Kleurrijkheid in CIECAM02 is verschillend van Lab en RGB @@ -1190,8 +1408,8 @@ TP_COLORAPP_CURVEEDITOR3;Chroma curve TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Wijzigt ofwel chroma, verzadiging of kleurrijkheid.\n Het Histogram toont chromaticiteit (Lab) voor CIECAM wijzigingen.\nHet Histogram toont C,s,M na toepassing van CIECAM indien het selectievakje 'Toon CIECAM uitvoer' is aangezet.\n(C,s,M) worden niet getoond in het Hoofd histogram paneel. \nRaadpleeg het Histogram paneel voor de definitieve uitvoer TP_COLORAPP_DATACIE;CIECAM02 uitvoer histogram in de curven TP_COLORAPP_DATACIE_TOOLTIP;Indien aangezet, tonen de histogrammen van de CIECAM02 curven bij benadering de waarden/reeksen voor J of Q, en C, s of M na de CIECAM02 aanpassingen.\nDit beïnvloed niet het hoofd histogram paneel.\n\nIndien uitgezet tonen de histogrammen van de CIECAM02 curven de Lab waarden zoals deze waren voor de CIECAM02 aanpassingen +TP_COLORAPP_FREE;Vrije temp+groen + CAT02 + [uitvoer] TP_COLORAPP_GAMUT;Gamut controle (Lab) -TP_COLORAPP_GAMUT_TOOLTIP;Sta gamut controle toe in Lab mode TP_COLORAPP_HUE;Tint (h) TP_COLORAPP_HUE_TOOLTIP;Tint (h) - hoek tussen 0° en 360° TP_COLORAPP_LABEL;CIE Color Appearance Model 2002 @@ -1200,8 +1418,11 @@ TP_COLORAPP_LABEL_SCENE;Opnameomstandigheden TP_COLORAPP_LABEL_VIEWING;Weergaveomstandigheden TP_COLORAPP_LIGHT;Lichtheid (J) TP_COLORAPP_LIGHT_TOOLTIP;Lichtheid in CIECAM02 verschilt van Lab en RGB lichtheid +TP_COLORAPP_MEANLUMINANCE;Gemiddelde luminantie (Yb%) TP_COLORAPP_MODEL;Witpunt Model TP_COLORAPP_MODEL_TOOLTIP;WB [RT] + [uitvoer]:\nRT's WB wordt gebruikt voor de opname, CIECAM02 wordt gezet op D50. Het uitvoerapparaat's wit gebruikt de instelling van Voorkeuren > Kleurbeheer\n\nWB [RT+CAT02] + [output]:\nRT's WB instellingen worden gebruikt door CAT02 en het uitvoerapparaat's wit gebruikt de waarde van de Voorkeuren. +TP_COLORAPP_NEUTRAL;Terugzetten +TP_COLORAPP_NEUTRAL_TOOLTIP;Zet alle regelaars, vinkjes en curves terug naar hun standaardwaarde TP_COLORAPP_RSTPRO;Rode en Huidtinten bescherming TP_COLORAPP_RSTPRO_TOOLTIP;Rode en Huidtinten bescherming (schuifbalk en curven) TP_COLORAPP_SURROUND;Omgeving @@ -1218,6 +1439,7 @@ TP_COLORAPP_TCMODE_LABEL2;Curve modus 2 TP_COLORAPP_TCMODE_LABEL3;Curve chroma modus TP_COLORAPP_TCMODE_LIGHTNESS;lichtheid TP_COLORAPP_TCMODE_SATUR;Verzadiging +TP_COLORAPP_TEMP_TOOLTIP;Zet altijd Tint=1 om een lichtbron te selecteren.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504 TP_COLORAPP_TONECIE;Tonemapping gebruik makend van CIECAM TP_COLORAPP_TONECIE_TOOLTIP;Indien uitgezet zal tonemapping plaats vinden in Lab.\nIndien aangezet zal tonemapping gebruik maken van CIECAM02.\nVoorwaarde is dat Tonemapping (Lab/CIECAM02) actief is. TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP;Absolute luminantie van de weergaveomgeving \n(gebruikelijk 16cd/m²) @@ -1234,6 +1456,27 @@ TP_COLORTONING_HIGHLIGHT;Hoge lichten TP_COLORTONING_HUE;Kleurtint TP_COLORTONING_LAB;L*a*b* menging TP_COLORTONING_LABEL;Kleurtinten +TP_COLORTONING_LABGRID;L*a*b* kleurcorrectie raster +TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4 +TP_COLORTONING_LABREGIONS;Kleurcorrectie gebieden +TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2 +TP_COLORTONING_LABREGION_CHANNEL;Kanaal +TP_COLORTONING_LABREGION_CHANNEL_ALL;Alle +TP_COLORTONING_LABREGION_CHANNEL_B;Blauw +TP_COLORTONING_LABREGION_CHANNEL_G;Groen +TP_COLORTONING_LABREGION_CHANNEL_R;Rood +TP_COLORTONING_LABREGION_CHROMATICITYMASK;C +TP_COLORTONING_LABREGION_HUEMASK;H +TP_COLORTONING_LABREGION_LIGHTNESS;Helderheid(L) +TP_COLORTONING_LABREGION_LIGHTNESSMASK;L +TP_COLORTONING_LABREGION_LIST_TITLE;Correctie +TP_COLORTONING_LABREGION_MASK;Masker +TP_COLORTONING_LABREGION_MASKBLUR;Verzachtingsmasker +TP_COLORTONING_LABREGION_OFFSET;Offset +TP_COLORTONING_LABREGION_POWER;Kracht +TP_COLORTONING_LABREGION_SATURATION;Verzadiging +TP_COLORTONING_LABREGION_SHOWMASK;Toon masker +TP_COLORTONING_LABREGION_SLOPE;Helling TP_COLORTONING_LUMA;Luminantie TP_COLORTONING_LUMAMODE;Behoud luminantie TP_COLORTONING_LUMAMODE_TOOLTIP;Wanneer de kleur wijzigt (rood, groen, cyaan, blauw, etc.) blijft de luminatie van elke pixel behouden. @@ -1241,7 +1484,7 @@ TP_COLORTONING_METHOD;Methode TP_COLORTONING_METHOD_TOOLTIP;"L*a*b* menging", "RGB schuifbalk" en "RGB curven" gebruiken interpolatie kleurmenging.\n"Kleurbalans" (Schaduwen/Midden tonen/Hoge lichten) en "Verzadigen 2 kleuren" gebruiken directe kleuren.\nAlle methodes werken ook op Zwart-Wit. TP_COLORTONING_MIDTONES;Midden tonen TP_COLORTONING_NEUTRAL;Terug naar beginstand -TP_COLORTONING_NEUTRAL_TIP;Zet alle waarden (Schaduwen, Midden tonen, Hoge lichten) terug naar default. +TP_COLORTONING_NEUTRAL_TOOLTIP;Zet alle waarden (Schaduwen, Midden tonen, Hoge lichten) terug naar default. TP_COLORTONING_OPACITY;Dekking TP_COLORTONING_RGBCURVES;RGB - Curven TP_COLORTONING_RGBSLIDERS;RGB - Schuifbalken @@ -1272,6 +1515,9 @@ TP_CROP_GTTRIANGLE2;Gouden Driehoek 2 TP_CROP_GUIDETYPE;Hulplijnen: TP_CROP_H;Hoogte TP_CROP_LABEL;Bijsnijden +TP_CROP_PPI;PPI +TP_CROP_RESETCROP;Terugzetten +TP_CROP_SELECTCROP;Selecteer TP_CROP_W;Breedte TP_CROP_X;X TP_CROP_Y;Y @@ -1280,10 +1526,15 @@ TP_DARKFRAME_LABEL;Donkerframe TP_DEFRINGE_LABEL;Verzachten (Lab/CIECAM02) TP_DEFRINGE_RADIUS;Straal TP_DEFRINGE_THRESHOLD;Drempel +TP_DEHAZE_DEPTH;Diepte +TP_DEHAZE_LABEL;Nevel vermindering +TP_DEHAZE_SHOW_DEPTH_MAP;Toon de dieptemap +TP_DEHAZE_STRENGTH;Sterkte TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Auto multi-zone TP_DIRPYRDENOISE_CHROMINANCE_AUTOGLOBAL;Automatisch algemeen TP_DIRPYRDENOISE_CHROMINANCE_BLUEYELLOW;Chrominantie Blauw & Geel TP_DIRPYRDENOISE_CHROMINANCE_CURVE;Chrominantie curve +TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;Verhoog (vermenigvuldig) de waarde van alle chrominantie regelaars.\nDeze curve regelt de sterkte van de chromatische ruisvermindering als een functie van de chromaticiteit, om bijvoorbeeld het effect te vergroten in gebieden met lage verzadiging en te verminderen in deze met lage verzadiging. TP_DIRPYRDENOISE_CHROMINANCE_FRAME;Chrominantie TP_DIRPYRDENOISE_CHROMINANCE_MANUAL;Handmatig TP_DIRPYRDENOISE_CHROMINANCE_MASTER;Chrominantie (master) @@ -1298,6 +1549,7 @@ TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_NOISEINFO;Voorbeeld ruis: Gemiddeld=%1 Hoo TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_NOISEINFO_EMPTY;Voorbeeld ruis: Gemiddeld= - Hoog= - TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_TILEINFO;Tegel grootte=%1, Centrum: Tx=%2 Ty=%3 TP_DIRPYRDENOISE_CHROMINANCE_REDGREEN;Chrominantie Rood & Groen +TP_DIRPYRDENOISE_LABEL;Ruisvermindering TP_DIRPYRDENOISE_LUMINANCE_CONTROL;Type gereedschap TP_DIRPYRDENOISE_LUMINANCE_CURVE;Luminantie curve TP_DIRPYRDENOISE_LUMINANCE_DETAIL;Luminantie Detail @@ -1347,7 +1599,7 @@ TP_DIRPYREQUALIZER_SKIN_TOOLTIP;Bij -100 huidtinten worden gewijzigd.\nBij 0 all TP_DIRPYREQUALIZER_THRESHOLD;Drempel TP_DIRPYREQUALIZER_TOOLTIP;Probeert artefacten te verminderen die het gevolg zijn van kleurverschuiving van de huidtinten(hue, chroma, luma) en de rest van de afbeelding TP_DISTORTION_AMOUNT;Hoeveelheid -TP_DISTORTION_AUTO_TIP;Corrigeert automatisch lens afwijkingen in raw afbeeldingen op basis van de ingebedde JPEG indien deze is gecorrigeerd door de camera. +TP_DISTORTION_AUTO_TOOLTIP;Corrigeert automatisch lens afwijkingen in raw afbeeldingen op basis van de ingebedde JPEG indien deze is gecorrigeerd door de camera. TP_DISTORTION_LABEL;Corrigeer lensvervorming TP_EPD_EDGESTOPPING;Randen TP_EPD_GAMMA;Gamma @@ -1356,11 +1608,12 @@ TP_EPD_REWEIGHTINGITERATES;Herhaling TP_EPD_SCALE;Schaal TP_EPD_STRENGTH;Sterkte TP_EXPOSURE_AUTOLEVELS;Autom. niveaus -TP_EXPOSURE_AUTOLEVELS_TIP;Activeer automatische niveaus\nActiveer Herstel Hoge lichten indien nodig. +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Activeer automatische niveaus\nActiveer Herstel Hoge lichten indien nodig. TP_EXPOSURE_BLACKLEVEL;Schaduwen TP_EXPOSURE_BRIGHTNESS;Helderheid +TP_EXPOSURE_CLAMPOOG;Knip kleuren die buiten het gamma vallen TP_EXPOSURE_CLIP;Clip % -TP_EXPOSURE_CLIP_TIP;Het deel van de pixels dat moet worden hersteld bij gebruik van automatische niveaus. +TP_EXPOSURE_CLIP_TOOLTIP;Het deel van de pixels dat moet worden hersteld bij gebruik van automatische niveaus. TP_EXPOSURE_COMPRHIGHLIGHTS;Hoge lichten Comprimeren TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Drempel Hoge lichten Comprimeren TP_EXPOSURE_COMPRSHADOWS;Schaduwcompressie @@ -1370,6 +1623,8 @@ TP_EXPOSURE_CURVEEDITOR1;Toon curve 1 TP_EXPOSURE_CURVEEDITOR2;Toon curve 2 TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Raadpleeg de volgende paragraaf van de handleiding om te leren hoe U het beste resultaat kunt boeken bij het werken met dubbele curven:\n The Toolbox > Exposure Tab > Exposure Panel > Tone Curve TP_EXPOSURE_EXPCOMP;Belichtingscompensatie +TP_EXPOSURE_HISTMATCHING;Automatische Tooncurve +TP_EXPOSURE_HISTMATCHING_TOOLTIP;Pas automatisch de curves en schuifregelaars aan (behalve belichtingscompensatie) om overeen te komen met de ingesloten JPEG miniatuur. TP_EXPOSURE_LABEL;Belichting TP_EXPOSURE_SATURATION;Verzadiging TP_EXPOSURE_TCMODE_FILMLIKE;Film-achtig @@ -1382,6 +1637,12 @@ TP_EXPOSURE_TCMODE_STANDARD;Standaard TP_EXPOSURE_TCMODE_WEIGHTEDSTD;Gewogen Standaard TP_EXPOS_BLACKPOINT_LABEL;Raw Zwartpunten TP_EXPOS_WHITEPOINT_LABEL;Raw Witpunten +TP_FILMNEGATIVE_BLUE;Blauw verhouding +TP_FILMNEGATIVE_GREEN;Referentie exponent (contrast) +TP_FILMNEGATIVE_GUESS_TOOLTIP;Zet automatisch de rood/groen verhouding door 2 gebieden te kiezen met een neutrale tint (geen kleur) in het origineel. De gebieden moeten verschillen in helderheid. Zet de witbalans nadien. +TP_FILMNEGATIVE_LABEL;Film Negatief +TP_FILMNEGATIVE_PICK;Kies neutrale punten +TP_FILMNEGATIVE_RED;Rood verhouding TP_FILMSIMULATION_LABEL;Film Simuleren TP_FILMSIMULATION_SLOWPARSEDIR;Map met Hald CLUT afbeeldingen. Deze worden gebruikt voor Film Simuleren.\nGa naar Voorkeuren > Beeldverwerking > Film Simuleren\nDe aanbeveling is om een map te gebruiken die alleen Hald CLUT afbeeldingen bevat.\n\nLees het Film Simuleren artikel in RawPedia voor meer informatie.\n\nWilt u de scan afbreken? TP_FILMSIMULATION_STRENGTH;Sterkte @@ -1454,6 +1715,12 @@ TP_ICM_SAVEREFERENCE_TOOLTIP;Sla de lineaire TIFF afbeelding op voordat het invo TP_ICM_TONECURVE;Gebruik DCP's toon curve TP_ICM_TONECURVE_TOOLTIP;Gebruik de ingebedde DCP toon curve. De instelling is alleen actief als de geselecteerd DCP een toon curve heeft. TP_ICM_WORKINGPROFILE;Werkprofiel +TP_ICM_WORKING_TRC;Tooncurve: +TP_ICM_WORKING_TRC_CUSTOM;Gebruiker gedefinieerd +TP_ICM_WORKING_TRC_GAMMA;Gamma +TP_ICM_WORKING_TRC_NONE;Geen +TP_ICM_WORKING_TRC_SLOPE;Helling +TP_ICM_WORKING_TRC_TOOLTIP;Enkel voor ingebouwde profielen. TP_IMPULSEDENOISE_LABEL;Spot-ruisonderdrukking TP_IMPULSEDENOISE_THRESH;Drempel TP_LABCURVE_AVOIDCOLORSHIFT;Vermijd kleurverschuiving @@ -1490,15 +1757,35 @@ TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminantie volgens hue L=f(H) TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminantie volgens luminantie L=f(L) TP_LABCURVE_LABEL;Lab TP_LABCURVE_LCREDSK;Beperkt LC tot Rode en Huidtinten -TP_LABCURVE_LCREDSK_TIP;Indien ingeschakeld, beïnvloed de LC Curve alleen rode en huidtinten\nIndien uitgeschakeld, is het van toepassing op all tinten +TP_LABCURVE_LCREDSK_TOOLTIP;Indien ingeschakeld, beïnvloed de LC Curve alleen rode en huidtinten\nIndien uitgeschakeld, is het van toepassing op all tinten TP_LABCURVE_RSTPROTECTION;Rode en huidtinten Bescherming TP_LABCURVE_RSTPRO_TOOLTIP;Kan worden gebruikt met de chromaticiteits schuifbalk en de CC curve. TP_LENSGEOM_AUTOCROP;Automatisch bijsnijden TP_LENSGEOM_FILL;Automatisch uitvullen TP_LENSGEOM_LABEL;Objectief / Geometrie +TP_LENSGEOM_LIN;Lineair +TP_LENSGEOM_LOG;Logarithmisch +TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatische selectie +TP_LENSPROFILE_CORRECTION_LCPFILE;LCP bestand +TP_LENSPROFILE_CORRECTION_MANUAL;Manuele selectie TP_LENSPROFILE_LABEL;Lenscorrectie Profielen +TP_LENSPROFILE_LENS_WARNING;Waarschuwing: de gebruikte lens profiel crop factor komt niet overeen met de camera crop factor, de resultaten kunnen verkeerd zijn. +TP_LENSPROFILE_MODE_HEADER;Lens Profiel +TP_LENSPROFILE_USE_CA;Chromatische afwijking +TP_LENSPROFILE_USE_GEOMETRIC;Geometrische vervorming +TP_LENSPROFILE_USE_HEADER;Lenscorrecties +TP_LENSPROFILE_USE_VIGNETTING;Vignettering +TP_LOCALCONTRAST_AMOUNT;Hoeveelheid +TP_LOCALCONTRAST_DARKNESS;Donker niveau +TP_LOCALCONTRAST_LABEL;Lokaal Contrast +TP_LOCALCONTRAST_LIGHTNESS;helderheidsniveau +TP_LOCALCONTRAST_RADIUS;Straal +TP_METADATA_EDIT;Pas wijzigingen toe +TP_METADATA_MODE;Metadata kopieermodus +TP_METADATA_STRIP;Strip alle metadata +TP_METADATA_TUNNEL;Kopieer ongewijzigd TP_NEUTRAL;Terugzetten -TP_NEUTRAL_TIP;Alle belichtingsinstellingen naar 0 +TP_NEUTRAL_TOOLTIP;Alle belichtingsinstellingen naar 0 TP_PCVIGNETTE_FEATHER;Straal TP_PCVIGNETTE_FEATHER_TOOLTIP;Straal: \n0=alleen hoeken \n50=halverwege tot het centrum \n100=tot aan het centrum TP_PCVIGNETTE_LABEL;Vignettering Filter @@ -1506,6 +1793,7 @@ TP_PCVIGNETTE_ROUNDNESS;Vorm TP_PCVIGNETTE_ROUNDNESS_TOOLTIP;Vorm: \n0=rechthoek \n50=ellips \n100=circel TP_PCVIGNETTE_STRENGTH;Sterkte TP_PCVIGNETTE_STRENGTH_TOOLTIP;Filtersterkte in stops (volledig in de hoeken). +TP_PDSHARPENING_LABEL;Verscherpen TP_PERSPECTIVE_HORIZONTAL;Horizontaal TP_PERSPECTIVE_LABEL;Perspectief TP_PERSPECTIVE_VERTICAL;Verticaal @@ -1518,10 +1806,19 @@ TP_PREPROCESS_HOTPIXFILT;Hete pixels filter TP_PREPROCESS_HOTPIXFILT_TOOLTIP;Onderdrukt hete pixels. TP_PREPROCESS_LABEL;Voorbewerking TP_PREPROCESS_LINEDENOISE;Lijnruisfilter +TP_PREPROCESS_LINEDENOISE_DIRECTION;Richting +TP_PREPROCESS_LINEDENOISE_DIRECTION_BOTH;Beide +TP_PREPROCESS_LINEDENOISE_DIRECTION_HORIZONTAL;Horizontaal +TP_PREPROCESS_LINEDENOISE_DIRECTION_PDAF_LINES;Horizontaal enkel op PDAF-rijen +TP_PREPROCESS_LINEDENOISE_DIRECTION_VERTICAL;Verticaal TP_PREPROCESS_NO_FOUND;Niet gevonden +TP_PREPROCESS_PDAFLINESFILTER;PDAF lijnfilter TP_PRSHARPENING_LABEL;Verscherp na verkleinen TP_PRSHARPENING_TOOLTIP;Verscherp na verkleinen. Werkt alleen als verkleinen actief is en Verkleinen methode 'Lanczos' is. Omdat 'verkleinen' geen effect heeft op het voorbeeld, heeft 'post verkleinen verscherping' ook geen effect op het voorbeeld. TP_RAWCACORR_AUTO;Automatische CA-correctie +TP_RAWCACORR_AUTOIT;Herhalingen +TP_RAWCACORR_AUTOIT_TOOLTIP;Deze schuif is alleen actief als Automatische CA-correctie is aangevinkt.\nAuto-correctie werkt conservatief en corrigeert meestal niet alle chromatische aberratie.\nOm de resterende CA te corrigeren, kunt u dit proces tot vijf keer herhalen.\nElke herhaling vermindert de CA van de vorige herhaling, maar gaat wel ten koste van extra rekentijd. +TP_RAWCACORR_AVOIDCOLORSHIFT;Vermijd kleurverschuiving TP_RAWCACORR_CABLUE;Blauw TP_RAWCACORR_CARED;Rood TP_RAWCACORR_LABEL;Corrigeer chromatische aberratie @@ -1536,16 +1833,24 @@ TP_RAWEXPOS_LINEAR;Witpunt Correctie TP_RAWEXPOS_RGB;Rood, Groen, Blauw TP_RAWEXPOS_TWOGREEN;Koppel Groen 1 en 2 TP_RAW_1PASSMEDIUM;1 keer (Gemiddeld) +TP_RAW_2PASS;1-pass+snel TP_RAW_3PASSBEST;3 keer (Beste) +TP_RAW_4PASS;3-pass+snel TP_RAW_AHD;AHD TP_RAW_AMAZE;AMaZE +TP_RAW_AMAZEVNG4;AMaZE+VNG4 +TP_RAW_BORDER;Rand TP_RAW_DCB;DCB TP_RAW_DCBENHANCE;DCB Verbetering TP_RAW_DCBITERATIONS;Aantal DCB-herhalingen +TP_RAW_DCBVNG4;DCB+VNG4 TP_RAW_DMETHOD;Methode TP_RAW_DMETHOD_PROGRESSBAR;%1 Demozaïeken... TP_RAW_DMETHOD_PROGRESSBAR_REFINE;Demozaïek verfijning... TP_RAW_DMETHOD_TOOLTIP;IGV en LMMSE zijn speciaal bedoeld voor hoge ISO afbeeldingen +TP_RAW_DUALDEMOSAICAUTOCONTRAST;Auto drempel +TP_RAW_DUALDEMOSAICAUTOCONTRAST_TOOLTIP;Als checkbox is aangevinkt (aanbevolen), berekent RT een optimale waarde gebaseerd op vlakke gebieden in de foto.\nIndien die niet gevonden worden of de foto bevat veel ruis, wordt de waarde op 0 gezet.\nOm de waarde handmatig in te voeren moet u eerst de checkbox uitvinken (redelijke waarden zijn afhankelijk van het soort foto). +TP_RAW_DUALDEMOSAICCONTRAST;Contrast drempel TP_RAW_EAHD;EAHD TP_RAW_FALSECOLOR;Stapgrootte kleurfoutonderdrukking TP_RAW_FAST;Snel @@ -1554,6 +1859,8 @@ TP_RAW_HD_TOOLTIP;Lagere waarden maken Hete/Dode pixel detectie agressiever, maa TP_RAW_HPHD;HPHD TP_RAW_IGV;IGV TP_RAW_IMAGENUM;Sub-afbeelding +TP_RAW_IMAGENUM_SN;SN modus +TP_RAW_IMAGENUM_TOOLTIP;Sommige raw bestanden bestaan uit verschillende sub-afbeeldingen (Pentax/Sony Pixel Shift, Pentax 3-in-1 HDR, Canon Dual Pixel, Fuji EXR).\n\Als een andere demozaïek methode dan Pixel Shift gebruikt wordt, selecteert dit de gebruikte sub-afbeelding.\n\nBij gebruik van de Pixel Shift demozaïek methode op een Pixel Shift raw, worden alle sub-afbeeldingen gebruikt, and dit selecteert de subafbeeldijg die gebruikt wordt voor bewegende moving gebieden. TP_RAW_LABEL;Demozaïekproces TP_RAW_LMMSE;LMMSE TP_RAW_LMMSEITERATIONS;LMMSE Verbetering Stappen @@ -1562,7 +1869,12 @@ TP_RAW_MONO;Mono TP_RAW_NONE;Geen (Toont sensor patroon) TP_RAW_PIXELSHIFT;Pixel Verschuiven TP_RAW_PIXELSHIFTBLUR;Vervaag bewegingsmasker +TP_RAW_PIXELSHIFTDMETHOD;Demozaïek voor beweging +TP_RAW_PIXELSHIFTEPERISO;Gevoeligheid +TP_RAW_PIXELSHIFTEPERISO_TOOLTIP;De standaardwaarde 0 werkt goed voor lage ISO-waarden.\nHogere waarden vergroten de gevoeligheid van bewegingsdetectie.\nWijzig in kleine stappen en controleer het bewegingsmasker.\nVerhoog gevoeligheid voor onderbelichte foto's of foto's met hoge ISO-waarden. TP_RAW_PIXELSHIFTEQUALBRIGHT;Balanseer de helderheid van de frames +TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL;Balanceer per kanaal +TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL_TOOLTIP;Ingeschakeld: Balanceer elk RGB kanaal afzonderlijk.\nUitgeschakeld: Balanceer alle kanalen evenveel. TP_RAW_PIXELSHIFTEQUALBRIGHT_TOOLTIP;Balanseer de helderheid van de frames t.o.v. de helderheid van het geslecteerde frame.\nAls er overbelichte gebieden zijn in de frames, selecteer dan het helderste frame om een magenta kleurzweem te vermijden of selecteer bewegingsorrectie. TP_RAW_PIXELSHIFTGREEN;Controleer groene kanaal voor beweging TP_RAW_PIXELSHIFTHOLEFILL;Vul holtes in verschuivingsmasker @@ -1578,14 +1890,20 @@ TP_RAW_PIXELSHIFTNONGREENCROSS;Controleer rood/blauw kanaal voor beweging TP_RAW_PIXELSHIFTSHOWMOTION;Toon beweging TP_RAW_PIXELSHIFTSHOWMOTIONMASKONLY;Toon alleen masker TP_RAW_PIXELSHIFTSHOWMOTIONMASKONLY_TOOLTIP;Toont het bewegingsmasker zonder de afbeelding +TP_RAW_PIXELSHIFTSHOWMOTION_TOOLTIP;Toont de foto met een groen masker dat de bewegingsgebieden toont. TP_RAW_PIXELSHIFTSIGMA;Vervagen straal TP_RAW_PIXELSHIFTSIGMA_TOOLTIP;De standaard straal van 1.0 is goed voor normale ISO. Verhoog de waarde voor hogere ISO.\n5.0 is een goed startpunt voor hoge ISO afbeeldingen.\nControleer het bewegingsmasker bij het veranderen van de waarde. TP_RAW_PIXELSHIFTSMOOTH;Zachte overgang TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Zachte overgang tussen gebieden met en zonder beweging.\nKies 0 om Zachte overgang uit te zetten\nKies 1 voor Amaze/lmmse of Mediaan +TP_RAW_RCD;RCD +TP_RAW_RCDVNG4;RCD+VNG4 TP_RAW_SENSOR_BAYER_LABEL;Sensor met Bayer matrix TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass geeft het beste resultaat (aanbevolen voor lage ISO afbeeldingen)\n1-pass geeft hetzelfde resultaat als 3-pass voor hoge ISO afbeeldingen en is sneller. TP_RAW_SENSOR_XTRANS_LABEL;Sensor met X-Trans matrix TP_RAW_VNG4;VNG4 +TP_RAW_XTRANS;X-Trans +TP_RAW_XTRANSFAST;Snelle X-Trans +TP_RESIZE_ALLOW_UPSCALING;Sta opschalen toe TP_RESIZE_APPLIESTO;Toepassen op: TP_RESIZE_CROPPEDAREA;Uitsnede TP_RESIZE_FITBOX;Breedte en hoogte @@ -1603,6 +1921,7 @@ TP_RESIZE_WIDTH;Breedte TP_RETINEX_CONTEDIT_HSL;Histogram balans HSL TP_RETINEX_CONTEDIT_LAB;Histogram balans L*a*b* TP_RETINEX_CONTEDIT_LH;Tint balans +TP_RETINEX_CONTEDIT_MAP;Equalizer TP_RETINEX_CURVEEDITOR_CD;L=f(L) TP_RETINEX_CURVEEDITOR_CD_TOOLTIP;Luminantie volgens luminantie L=f(L)\nCorrigeert ruwe data om halo's and artefacte te verminderen. TP_RETINEX_CURVEEDITOR_LH;Sterkte=f(H) @@ -1612,6 +1931,9 @@ TP_RETINEX_CURVEEDITOR_MAP_TOOLTIP;Deze curve kan zowel alleen worden gebruikt o TP_RETINEX_EQUAL;Mixer TP_RETINEX_FREEGAMMA;Vrij gamma TP_RETINEX_GAIN;Verbeteren +TP_RETINEX_GAINOFFS;Versterking en Offset (helderheid) +TP_RETINEX_GAINTRANSMISSION;Transmissie versterking +TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Versterk of verzwak de transmssiemap om de gewenste luminantie te bekomen.\nThe x-as is the transmissie.\nThe y-as is the versterking. TP_RETINEX_GAMMA;Gamma TP_RETINEX_GAMMA_FREE;Vrij TP_RETINEX_GAMMA_HIGH;Hoog @@ -1636,6 +1958,7 @@ TP_RETINEX_LABEL;Retinex TP_RETINEX_LABEL_MASK;Masker TP_RETINEX_LABSPACE;L*a*b* TP_RETINEX_LOW;Laag +TP_RETINEX_MAP;Methode TP_RETINEX_MAP_GAUS;Gaussiaans masker TP_RETINEX_MAP_MAPP;Verscherp masker (wavelet gedeeltelijk) TP_RETINEX_MAP_MAPT;Verscherp masker (wavelet totaal) @@ -1648,7 +1971,7 @@ TP_RETINEX_MLABEL;Teruggeplaatst sluier-vrij Min=%1 Max=%2 TP_RETINEX_MLABEL_TOOLTIP;Zou min=0 en max=32768 moeten benaderen\nTeruggeplaatste afbeelding zonder mixture. TP_RETINEX_NEIGHBOR;Naburige pixels TP_RETINEX_NEUTRAL;Beginwaarde -TP_RETINEX_NEUTRAL_TIP;Zet alles terug naar de beginwaarde. +TP_RETINEX_NEUTRAL_TOOLTIP;Zet alles terug naar de beginwaarde. TP_RETINEX_OFFSET;Beginpunt TP_RETINEX_SCALES;Gaussiaans verloop TP_RETINEX_SCALES_TOOLTIP;Indien schuifbalk=0: alle herhalingen zijn gelijk.\nIndien > 0 Schaal en straal worden verkleind als herhaling toeneemt, en omgekeerd. @@ -1684,7 +2007,7 @@ TP_RGBCURVES_RED;R TP_ROTATE_DEGREE;Graden TP_ROTATE_LABEL;Roteren TP_ROTATE_SELECTLINE;Bepaal rechte lijn -TP_SAVEDIALOG_OK_TIP;Sneltoets: Ctrl-Enter +TP_SAVEDIALOG_OK_TOOLTIP;Sneltoets: Ctrl-Enter TP_SHADOWSHLIGHTS_HIGHLIGHTS;Hoge lichten TP_SHADOWSHLIGHTS_HLTONALW;Toonomvang TP_SHADOWSHLIGHTS_LABEL;Schaduwen/hoge lichten @@ -1696,14 +2019,18 @@ TP_SHARPENEDGE_LABEL;Randen TP_SHARPENEDGE_PASSES;Herhaling TP_SHARPENEDGE_THREE;Alleen luminantie TP_SHARPENING_AMOUNT;Hoeveelheid +TP_SHARPENING_BLUR;Vervagen straal +TP_SHARPENING_CONTRAST;Contrast drempel TP_SHARPENING_EDRADIUS;Straal TP_SHARPENING_EDTOLERANCE;Randtolerantie TP_SHARPENING_HALOCONTROL;Halocontrole TP_SHARPENING_HCAMOUNT;Hoeveelheid +TP_SHARPENING_ITERCHECK;Automatische limiet herhalingen TP_SHARPENING_LABEL;Verscherpen (Lab/CIECAM02) TP_SHARPENING_METHOD;Methode TP_SHARPENING_ONLYEDGES;Alleen randen verscherpen TP_SHARPENING_RADIUS;Straal +TP_SHARPENING_RADIUS_BOOST;Straalvergroting TP_SHARPENING_RLD;RL-verscherping TP_SHARPENING_RLD_AMOUNT;Hoeveelheid TP_SHARPENING_RLD_DAMPING;Demping @@ -1711,9 +2038,16 @@ TP_SHARPENING_RLD_ITERATIONS;Herhaling TP_SHARPENING_THRESHOLD;Drempel TP_SHARPENING_USM;Onscherpmasker TP_SHARPENMICRO_AMOUNT;Hoeveelheid +TP_SHARPENMICRO_CONTRAST;Contrast drempel TP_SHARPENMICRO_LABEL;Microcontrast (Lab/CIECAM02) TP_SHARPENMICRO_MATRIX;3×3-matrix ipv. 5×5 TP_SHARPENMICRO_UNIFORMITY;Uniformiteit +TP_SOFTLIGHT_LABEL;Zacht licht +TP_SOFTLIGHT_STRENGTH;Sterkte +TP_TM_FATTAL_AMOUNT;Hoeveelheid +TP_TM_FATTAL_ANCHOR;Anker +TP_TM_FATTAL_LABEL;Dynamisch bereik compressie +TP_TM_FATTAL_THRESHOLD;Detail TP_VIBRANCE_AVOIDCOLORSHIFT;Vermijd kleurverschuiving TP_VIBRANCE_CURVEEDITOR_SKINTONES;HH TP_VIBRANCE_CURVEEDITOR_SKINTONES_LABEL;Huidtinten @@ -1762,6 +2096,7 @@ TP_WAVELET_BANONE;Geen TP_WAVELET_BASLI;Schuifbalk TP_WAVELET_BATYPE;Balans methode TP_WAVELET_CBENAB;Kleurtint en kleurbalans +TP_WAVELET_CB_TOOLTIP;Voor hoge waarden: kleurcorrectie door al of niet te combineren met niveau decompositie 'toning'\nVoor lage waarden de witbalans van de achtergrond (hemel, ...) wijzigen zonder die van de voorgrond, meestal meer contrastrijk TP_WAVELET_CCURVE;Lokaal contrast TP_WAVELET_CH1;Alle chroma's TP_WAVELET_CH2;Pastel - Verzadigd @@ -1897,7 +2232,6 @@ TP_WAVELET_TILES;Tegel grootte (* 128) TP_WAVELET_TILESBIG;Grote Tegels TP_WAVELET_TILESFULL;Volldige afbeelding TP_WAVELET_TILESIZE;Tegel grootte -TP_WAVELET_TILESLIT;Kleine Tegels TP_WAVELET_TILES_TOOLTIP;De optie 'Volledige afbeelding' geeft een betere kwaliteit en is de aanbevolen keuze. Selecteer Tegels als er onvoldoende geheugen beschikbaar is. Raadpleeg RawPedia voor geheugen aanbevelingen. TP_WAVELET_TMSTRENGTH;Compressie sterkte TP_WAVELET_TMSTRENGTH_TOOLTIP;Bepaalt de sterkte van tonemapping of contrast compressie. Als de waarde anders is dan 0, dan worden de Sterkte en Gamma schuifbalken van Tonemapping in de Belichtings tab inactief. @@ -1937,6 +2271,7 @@ TP_WBALANCE_LED_CRS;CRS SP12 WWMR16 TP_WBALANCE_LED_HEADER;LED TP_WBALANCE_LED_LSI;LSI Lumelex 2040 TP_WBALANCE_METHOD;Methode +TP_WBALANCE_PICKER;Kies TP_WBALANCE_SHADE;Schaduw TP_WBALANCE_SIZE;Grootte: TP_WBALANCE_SOLUX35;Solux 3500K @@ -1963,367 +2298,1795 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: - ! Untranslated keys follow; remove the ! prefix after an entry is translated. !!!!!!!!!!!!!!!!!!!!!!!!! -ADJUSTER_RESET_TO_DEFAULT;Klik - terug naar standaardwaarde.\nCtrl+klik - terug naar laatst opgeslagen waarde. -CURVEEDITOR_CATMULLROM;Flexibel -DONT_SHOW_AGAIN;Dit bericht niet meer tonen -DYNPROFILEEDITOR_IMGTYPE_ANY;Alles -DYNPROFILEEDITOR_IMGTYPE_HDR;HDR -DYNPROFILEEDITOR_IMGTYPE_PS;Pixel Shift -DYNPROFILEEDITOR_IMGTYPE_STD;Standaard -EXIFFILTER_IMAGETYPE;Type afbeelding -EXIFPANEL_SHOWALL;Toon alles -FILEBROWSER_BROWSEPATHBUTTONHINT;Klik om de opgegeven map te laden, en het zoekfilter opnieuw toe te passen. -FILEBROWSER_CACHECLEARFROMFULL;Wis alles inclusief opgeslagen profielen -FILEBROWSER_CACHECLEARFROMPARTIAL;Wis alles behalve opgeslagen profielen -FILEBROWSER_DELETEDIALOG_ALL;Alle %1 bestanden in de prullenbak definitief verwijderen? -FILEBROWSER_DELETEDIALOG_SELECTED;Geselecteerde %1 bestanden definitief verwijderen? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Geselecteerde %1 bestanden inclusief een versie die door de verwerkingsrij is gemaakt verwijderen? -FILEBROWSER_EMPTYTRASHHINT;Alle bestanden in de prullenbak permanent verwijderen -FILEBROWSER_POPUPREMOVE;Permanent verwijderen -FILEBROWSER_POPUPREMOVEINCLPROC;Verwijder definitief, inclusief met uitvoer in de verwerkingsrij -FILEBROWSER_SHOWNOTTRASHHINT;Toon alleen niet-verwijderde afbeeldingen. -GENERAL_CURRENT;Huidig -GENERAL_HELP;Help -GENERAL_RESET;Terugzetten -GENERAL_SAVE_AS;Bewaren als... -GENERAL_SLIDER;Schuifregelaar -GIMP_PLUGIN_INFO;Welkom bij de RawTherapee GIMP plug-in!\nAls uw bewerking gereed is, sluit dan het hoofdvenster van RawTherapee en uw afbeelding wordt automatisch in GIMP geladen. -HISTOGRAM_TOOLTIP_MODE;Wissel tussen lineair, log-lineair and log-log schalen van het histogram. -HISTORY_MSG_173;NR - Detailbehoud -HISTORY_MSG_203;NR - Kleurruimte -HISTORY_MSG_235;B&W - CM - Auto -HISTORY_MSG_237;B&W - CM -HISTORY_MSG_256;NR - Mediaan - Type -HISTORY_MSG_273;CT - Kleurbalans SMH -HISTORY_MSG_297;NR - Modus -HISTORY_MSG_392;W - Overblijvend - Kleurbalans -HISTORY_MSG_441;Retinex - Toename transmissie -HISTORY_MSG_475;PS - Kanaalbalans -HISTORY_MSG_476;CAM02 - Temp uit -HISTORY_MSG_477;CAM02 - Groen uit -HISTORY_MSG_478;CAM02 - Yb uit -HISTORY_MSG_479;CAM02 - CAT02 aanpassing uit -HISTORY_MSG_480;CAM02 - Automatische CAT02 uit -HISTORY_MSG_481;CAM02 - Temp scène -HISTORY_MSG_482;CAM02 - Groen scène -HISTORY_MSG_483;CAM02 - Yb scène -HISTORY_MSG_484;CAM02 - Auto Yb scène -HISTORY_MSG_485;Lenscorrectie -HISTORY_MSG_486;Lenscorrectie - Camera -HISTORY_MSG_487;Lenscorrectie - Lens -HISTORY_MSG_488;Compressie Dynamisch Bereik -HISTORY_MSG_489;DRC - Detail -HISTORY_MSG_490;DRC - Hoeveelheid -HISTORY_MSG_491;Witbalans -HISTORY_MSG_492;RGB Curven -HISTORY_MSG_493;L*a*b* Adjustments -HISTORY_MSG_494;verscherpen -HISTORY_MSG_CLAMPOOG;Kleuren afkappen die buiten het gamma vallen -HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Kleurcorrectie -HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Kleurcorrectie -HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Kanaal -HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - gebied C masker -HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H masker -HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Licht -HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESSMASK;CT - L masker -HISTORY_MSG_COLORTONING_LABREGION_LIST;CT - Lijst -HISTORY_MSG_COLORTONING_LABREGION_MASKBLUR;CT - verzachtingsmasker gebied -HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - offset gebied -HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - sterkte gebied -HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Verzadiging -HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - toon gebiedsmasker -HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - hellingsgebied -HISTORY_MSG_DEHAZE_DEPTH;Nevelvermindering - Diepte -HISTORY_MSG_DEHAZE_ENABLED;Nevelvermindering -HISTORY_MSG_DEHAZE_LUMINANCE;Nevelvermindering - Alleen Luminantie -HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Nevelvermindering - Toon dieptemap -HISTORY_MSG_DEHAZE_STRENGTH;Nevelvermindering - Sterkte -HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Dual-demozaïek - auto-drempel -HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Dual-demozaïek - Contrastdrempel -HISTORY_MSG_FILMNEGATIVE_ENABLED;Filmnegatief -HISTORY_MSG_FILMNEGATIVE_VALUES;Filmnegatief waarden -HISTORY_MSG_HISTMATCHING;Auto-matched tooncurve -HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Uitvoer - Primaries -HISTORY_MSG_ICM_OUTPUT_TEMP;Uitvoer - ICC-v4 illuminant D -HISTORY_MSG_ICM_OUTPUT_TYPE;Uitvoer - Type -HISTORY_MSG_ICM_WORKING_GAMMA;Working - Gamma -HISTORY_MSG_ICM_WORKING_SLOPE;Working - Helling -HISTORY_MSG_ICM_WORKING_TRC_METHOD;Working - TRC methode -HISTORY_MSG_LOCALCONTRAST_AMOUNT;Local Contrast - Hoeveelheid -HISTORY_MSG_LOCALCONTRAST_DARKNESS;Local Contrast - Donker -HISTORY_MSG_LOCALCONTRAST_ENABLED;Lokaal Contrast -HISTORY_MSG_LOCALCONTRAST_LIGHTNESS;Lokaal Contrast - Licht -HISTORY_MSG_LOCALCONTRAST_RADIUS;Lokaal Contrast - Radius -HISTORY_MSG_METADATA_MODE;Metadata kopieermodus -HISTORY_MSG_MICROCONTRAST_CONTRAST;Microcontrast - Contrastdrempel -HISTORY_MSG_PDSHARPEN_AUTO_CONTRAST;CS - Auto drempel -HISTORY_MSG_PDSHARPEN_AUTO_RADIUS;CS - Auto radius -HISTORY_MSG_PDSHARPEN_CHECKITER;CS - Auto limiet herhalingen -HISTORY_MSG_PDSHARPEN_CONTRAST;CS - Contrastdrempel -HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Herhalingen -HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius -HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Toename hoekradius -HISTORY_MSG_PIXELSHIFT_DEMOSAIC;PS - Demozaïekmethode voor beweging -HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;lijnruisfilter richting -HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;PDAF lijnfilter -HISTORY_MSG_PRSHARPEN_CONTRAST;PRS - Contrastdrempel -HISTORY_MSG_RAWCACORR_AUTOIT;Raw CA Correctie - Herhalingen -HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correctie - Vermijd kleurverschuiving -HISTORY_MSG_RAW_BORDER;Raw rand -HISTORY_MSG_RESIZE_ALLOWUPSCALING;Schalen - sta vergroting toe -HISTORY_MSG_SHARPENING_BLUR;Verscherpen - Vervagingsradius -HISTORY_MSG_SHARPENING_CONTRAST;Verscherpen - Contrastdrempel -HISTORY_MSG_SH_COLORSPACE;S/H - Kleurruimte -HISTORY_MSG_SOFTLIGHT_ENABLED;Zacht licht -HISTORY_MSG_SOFTLIGHT_STRENGTH;Zacht licht - Sterkte -HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anker -HISTORY_MSG_TRANS_Method;Geometrie - Methode -ICCPROFCREATOR_COPYRIGHT;Copyright: -ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Zet terug naar standaard copyright, verleend aan "RawTherapee, CC0" -ICCPROFCREATOR_CUSTOM;Handmatig -ICCPROFCREATOR_DESCRIPTION;Beschriiving: -ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Voeg gamma- en hellingwaarden toe aan de beschrijving -ICCPROFCREATOR_DESCRIPTION_TOOLTIP;Laat leeg voor de standaard beschrijving. -ICCPROFCREATOR_GAMMA;Gamma -ICCPROFCREATOR_ICCVERSION;ICC versie: -ICCPROFCREATOR_ILL;Illuminant: -ICCPROFCREATOR_ILL_41;D41 -ICCPROFCREATOR_ILL_50;D50 -ICCPROFCREATOR_ILL_55;D55 -ICCPROFCREATOR_ILL_60;D60 -ICCPROFCREATOR_ILL_65;D65 -ICCPROFCREATOR_ILL_80;D80 -ICCPROFCREATOR_ILL_DEF;Standaard -ICCPROFCREATOR_ILL_INC;StdA 2856K -ICCPROFCREATOR_ILL_TOOLTIP;U kunt alleen de illuminant instellen voor ICC v4-profielen. -ICCPROFCREATOR_PRIMARIES;Primaire kleuren: -ICCPROFCREATOR_PRIM_ACESP0;ACES AP0 -ICCPROFCREATOR_PRIM_ACESP1;ACES AP1 -ICCPROFCREATOR_PRIM_ADOBE;Adobe RGB (1998) -ICCPROFCREATOR_PRIM_BEST;BestRGB -ICCPROFCREATOR_PRIM_BETA;BetaRGB -ICCPROFCREATOR_PRIM_BLUX;Blauw X -ICCPROFCREATOR_PRIM_BLUY;Blauw Y -ICCPROFCREATOR_PRIM_BRUCE;BruceRGB -ICCPROFCREATOR_PRIM_GREX;Groen X -ICCPROFCREATOR_PRIM_GREY;Groen Y -ICCPROFCREATOR_PRIM_PROPH;Prophoto -ICCPROFCREATOR_PRIM_REC2020;Rec2020 -ICCPROFCREATOR_PRIM_REDX;Rood X -ICCPROFCREATOR_PRIM_REDY;Rood Y -ICCPROFCREATOR_PRIM_SRGB;sRGB -ICCPROFCREATOR_PRIM_TOOLTIP;U kunt alleen aangepaste primaries voor ICC v4-profielen instellen. -ICCPROFCREATOR_PRIM_WIDEG;Widegamut -ICCPROFCREATOR_PROF_V2;ICC v2 -ICCPROFCREATOR_PROF_V4;ICC v4 -ICCPROFCREATOR_SAVEDIALOG_TITLE;Bewaar ICC profiel als... -ICCPROFCREATOR_SLOPE;Helling -ICCPROFCREATOR_TRC_PRESET;Toonresponscurve: -MAIN_BUTTON_ICCPROFCREATOR;ICC Profielmaker -MAIN_FRAME_PLACES_DEL;Verwijderen -MAIN_MSG_TOOMANYOPENEDITORS;Teveel open fotobewerkers.\nSluit er een om verder te kunnen. -MAIN_TAB_ADVANCED;Geavanceerd -MAIN_TAB_ADVANCED_TOOLTIP;Sneltoets: Alt-a -MAIN_TAB_FAVORITES;Favorieten -MAIN_TAB_FAVORITES_TOOLTIP;Sneltoets: Alt-u -MAIN_TOOLTIP_BACKCOLOR3;Achtergrondkleur van het voorbeeld: middelgrijs\nSneltoets: 9 -MAIN_TOOLTIP_PREVIEWSHARPMASK;Bekijk het scherptecontrastmasker.\nSneltoets: p\nWerkt alleen als verscherping is geactiveerd en het zoomniveau >= 100%. -OPTIONS_BUNDLED_MISSING;Het gebundelde profiel "%1" werd niet gevonden!\n\nUw installatie kan beschadigd zijn.\n\nDaarom worden interne standaardwaarden gebruikt. -OPTIONS_DEFIMG_MISSING;Het standaardprofiel voor niet-raw- foto's werd niet gevonden of is niet ingesteld.\n\nControleer de profielenmap, het kan ontbreken of beschadigd zijn.\n\n"%1" wordt daarom gebruikt. -OPTIONS_DEFRAW_MISSING;Het standaardprofiel voor raw-foto's werd niet gevonden of is niet ingesteld.\n\nControleer de profielenmap, het kan ontbreken of beschadigd zijn.\n\n"%1" wordt daarom gebruikt. -PARTIALPASTE_ADVANCEDGROUP;Geavanceerd -PARTIALPASTE_DEHAZE;Nevel verminderen -PARTIALPASTE_FILMNEGATIVE;Film Negatief -PARTIALPASTE_LOCALCONTRAST;Lokaal contrast -PARTIALPASTE_METADATA;Metadata modus -PARTIALPASTE_PREPROCESS_PDAFLINESFILTER;PDAF lijnfilter -PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;CA vermijd kleurverschuiving -PARTIALPASTE_RAW_BORDER;Raw rand -PARTIALPASTE_SOFTLIGHT;Zacht licht -PARTIALPASTE_TM_FATTAL;Compressie dynamisch bereik -PREFERENCES_APPEARANCE;Uiterlijk -PREFERENCES_APPEARANCE_COLORPICKERFONT;Lettertype kleurenkiezer -PREFERENCES_APPEARANCE_CROPMASKCOLOR;Kleur bijsnijdmasker -PREFERENCES_APPEARANCE_MAINFONT;Standaard lettertype -PREFERENCES_APPEARANCE_PSEUDOHIDPI;Pseudo-HiDPI modus -PREFERENCES_APPEARANCE_THEME;Thema -PREFERENCES_AUTOSAVE_TP_OPEN;Bewaar positie gereedschappen (open/dicht) bij afsluiten -PREFERENCES_CACHECLEAR;Wissen -PREFERENCES_CACHECLEAR_ALL;Wis alle bestanden in de cache: -PREFERENCES_CACHECLEAR_ALLBUTPROFILES;Wis alle bestanden in de cache behalve verwerkingsprofielen: -PREFERENCES_CACHECLEAR_ONLYPROFILES;Wis alleen verwerkingsprofielen in de cache: -PREFERENCES_CACHECLEAR_SAFETY;Alleen bestanden in de cache worden gewist. Verwerkingsprofielen van de oorspronkelijke afbeeldingen blijven ongemoeid. -PREFERENCES_CHUNKSIZES;Tegels per thread -PREFERENCES_CHUNKSIZE_RAW_AMAZE;AMaZE demosaïek -PREFERENCES_CHUNKSIZE_RAW_CA;Raw CA correctie -PREFERENCES_CHUNKSIZE_RAW_RCD;RCD demosaïek -PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans demosaïek -PREFERENCES_CHUNKSIZE_RGB;RGB verwerking -PREFERENCES_CROP;Uitsnijden -PREFERENCES_CROP_AUTO_FIT;Automatisch zoomen tot de uitsnede -PREFERENCES_CROP_GUIDES;Getoonde hulplijnen als uitsnede niet bewerkt wordt -PREFERENCES_CROP_GUIDES_FRAME;Frame -PREFERENCES_CROP_GUIDES_FULL;Origineel -PREFERENCES_CROP_GUIDES_NONE;Geen -PREFERENCES_DIRECTORIES;Mappen -PREFERENCES_EDITORCMDLINE;Aangepaste opdrachtregel -PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Compacte gereedschapsbalken in bestandsnavigator -PREFERENCES_LANG;Taal -PREFERENCES_PERFORMANCE_MEASURE;Meting -PREFERENCES_PERFORMANCE_MEASURE_HINT;Log verwerkingstijden in de console -PREFERENCES_PERFORMANCE_THREADS;Threads -PREFERENCES_PERFORMANCE_THREADS_LABEL;Maximaal aantal threads voor ruisvermindering and Wavelet Niveaus (0 = Automatisch) -PREFERENCES_PROFILESAVEBOTH;Bewaar verwerkingsprofielen zowel in de cache als naast het invoerbestand -PREFERENCES_PROFILESAVELOCATION;Opslaglocatie profielen -PREFERENCES_SAVE_TP_OPEN_NOW;Bewaar open/dicht-status van de gereedschappen nu -PREFERENCES_TAB_PERFORMANCE;Performantie -PREFERENCES_THUMBNAIL_INSPECTOR_JPEG;Ingesloten JPEG voorbeeld -PREFERENCES_THUMBNAIL_INSPECTOR_MODE;Te tonen foto -PREFERENCES_THUMBNAIL_INSPECTOR_RAW;Neutrale raw rendering -PREFERENCES_THUMBNAIL_INSPECTOR_RAW_IF_NO_JPEG_FULLSIZE;Ingesloten JPEG indien vol formaat, anders neutrale raw -PROGRESSBAR_DECODING;Decoderen... -PROGRESSBAR_GREENEQUIL;Groen blancering... -PROGRESSBAR_HLREC;Reconstructie hoge lichten... -PROGRESSBAR_HOTDEADPIXELFILTER;Hot/dead pixel filter... -PROGRESSBAR_LINEDENOISE;Lijnruis filter... -PROGRESSBAR_RAWCACORR;Raw CA correctie... -QINFO_FRAMECOUNT;%2 frames -QINFO_HDR;HDR / %2 frame(s) -QINFO_PIXELSHIFT;Pixel Shift / %2 frame(s) -QUEUE_LOCATION_TITLE;Uitvoerlocatie -QUEUE_STARTSTOP_TOOLTIP;;Start of stop de verwerking van foto's in de rij.\n\nSneltoets: Ctrl+s -SAMPLEFORMAT_0;onbekend data formaat -SAMPLEFORMAT_1;8-bit unsigned -SAMPLEFORMAT_2;16-bit unsigned -SAMPLEFORMAT_4;24-bit LogLuv -SAMPLEFORMAT_8;32-bit LogLuv -SAMPLEFORMAT_16;16-bit drijvendekomma -SAMPLEFORMAT_32;24-bit drijvendekomma -SAMPLEFORMAT_64;32-bit drijvendekomma -SAVEDLG_FILEFORMAT_FLOAT; drijvendekomma -SOFTPROOF_GAMUTCHECK_TOOLTIP;Markeer pixels waarvan de kleuren buiten het kleurgamma vallen, relatief aan:\n- het printerprofiel, indien opgegeven en soft-proofing is ingeschakeld,\n- het uitvoerprofiel, indien geen printerprofiel is gekozen en soft-proofing is ingeschakeld,\n- het beeldschermprofiel, indien soft-proofing is uitgeschakeld. -SOFTPROOF_TOOLTIP;Soft-proofing simuleert hoe een foto wordt getoond:\n- als deze wordt afgedrukt, indien een printerprofiel is opgegeven in Voorkeuren > Kleurbeheer,\n- als de foto getoond wordt op een beeldscherm dat het huidige uitvoerprofiel gebruikt en een printerprofiel niet is opgegeven. -TP_BWMIX_MIXC;Kanaal Mixer -TP_BWMIX_NEUTRAL;Terugzetten -TP_COLORAPP_ABSOLUTELUMINANCE;Absolute luminantie -TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;Bij manuele aanpassing worden waardon boven 65 aanbevolen. -TP_COLORAPP_FREE;Vrije temp+groen + CAT02 + [uitvoer] -TP_COLORAPP_MEANLUMINANCE;Gemiddelde luminantie (Yb%) -TP_COLORAPP_NEUTRAL;Terugzetten -TP_COLORAPP_NEUTRAL_TIP;Zet alle regelaars, vinkjes en curves terug naar hun standaardwaarde -TP_COLORAPP_TEMP_TOOLTIP;Zet altijd Tint=1 om een lichtbron te selecteren.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504 -TP_COLORTONING_LABGRID;L*a*b* kleurcorrectie raster -TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4 -TP_COLORTONING_LABREGIONS;Kleurcorrectie gebieden -TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2 -TP_COLORTONING_LABREGION_CHANNEL;Kanaal -TP_COLORTONING_LABREGION_CHANNEL_ALL;Alle -TP_COLORTONING_LABREGION_CHANNEL_B;Blauw -TP_COLORTONING_LABREGION_CHANNEL_G;Groen -TP_COLORTONING_LABREGION_CHANNEL_R;Rood -TP_COLORTONING_LABREGION_CHROMATICITYMASK;C -TP_COLORTONING_LABREGION_HUEMASK;H -TP_COLORTONING_LABREGION_LIGHTNESS;Helderheid(L) -TP_COLORTONING_LABREGION_LIGHTNESSMASK;L -TP_COLORTONING_LABREGION_LIST_TITLE;Correctie -TP_COLORTONING_LABREGION_MASK;Masker -TP_COLORTONING_LABREGION_MASKBLUR;Verzachtingsmasker -TP_COLORTONING_LABREGION_OFFSET;Offset -TP_COLORTONING_LABREGION_POWER;Kracht -TP_COLORTONING_LABREGION_SATURATION;Verzadiging -TP_COLORTONING_LABREGION_SHOWMASK;Toon masker -TP_COLORTONING_LABREGION_SLOPE;Helling -TP_CROP_PPI;PPI -TP_CROP_RESETCROP;Terugzetten -TP_CROP_SELECTCROP;Selecteer -TP_DEHAZE_DEPTH;Diepte -TP_DEHAZE_LABEL;Nevel vermindering -TP_DEHAZE_LUMINANCE;Luminantie alleen -TP_DEHAZE_SHOW_DEPTH_MAP;Toon de dieptemap -TP_DEHAZE_STRENGTH;Sterkte -TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;Verhoog (vermenigvuldig) de waarde van alle chrominantie regelaars.\nDeze curve regelt de sterkte van de chromatische ruisvermindering als een functie van de chromaticiteit, om bijvoorbeeld het effect te vergroten in gebieden met lage verzadiging en te verminderen in deze met lage verzadiging. -TP_DIRPYRDENOISE_LABEL;Ruisvermindering -TP_EXPOSURE_CLAMPOOG;Knip kleuren die buiten het gamma vallen -TP_EXPOSURE_HISTMATCHING;Automatische Tooncurve -TP_EXPOSURE_HISTMATCHING_TOOLTIP;Pas automatisch de curves en schuifregelaars aan (behalve belichtingscompensatie) om overeen te komen met de ingesloten JPEG miniatuur. -TP_FILMNEGATIVE_BLUE;Blauw verhouding -TP_FILMNEGATIVE_GREEN;Referentie exponent (contrast) -TP_FILMNEGATIVE_GUESS_TOOLTIP;Zet automatisch de rood/groen verhouding door 2 gebieden te kiezen met een neutrale tint (geen kleur) in het origineel. De gebieden moeten verschillen in helderheid. Zet de witbalans nadien. -TP_FILMNEGATIVE_LABEL;Film Negatief -TP_FILMNEGATIVE_PICK;Kies neutrale punten -TP_FILMNEGATIVE_RED;Rood verhouding -TP_ICM_WORKING_TRC;Tooncurve: -TP_ICM_WORKING_TRC_CUSTOM;Gebruiker gedefinieerd -TP_ICM_WORKING_TRC_GAMMA;Gamma -TP_ICM_WORKING_TRC_NONE;Geen -TP_ICM_WORKING_TRC_SLOPE;Helling -TP_ICM_WORKING_TRC_TOOLTIP;Enkel voor ingebouwde profielen. -TP_LENSGEOM_LIN;Lineair -TP_LENSGEOM_LOG;Logarithmisch -TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatische selectie -TP_LENSPROFILE_CORRECTION_LCPFILE;LCP bestand -TP_LENSPROFILE_CORRECTION_MANUAL;Manuele selectie -TP_LENSPROFILE_LENS_WARNING;Waarschuwing: de gebruikte lens profiel crop factor komt niet overeen met de camera crop factor, de resultaten kunnen verkeerd zijn. -TP_LENSPROFILE_MODE_HEADER;Lens Profiel -TP_LENSPROFILE_USE_CA;Chromatische afwijking -TP_LENSPROFILE_USE_GEOMETRIC;Geometrische vervorming -TP_LENSPROFILE_USE_HEADER;Lenscorrecties -TP_LENSPROFILE_USE_VIGNETTING;Vignettering -TP_LOCALCONTRAST_AMOUNT;Hoeveelheid -TP_LOCALCONTRAST_DARKNESS;Donker niveau -TP_LOCALCONTRAST_LABEL;Lokaal Contrast -TP_LOCALCONTRAST_LIGHTNESS;helderheidsniveau -TP_LOCALCONTRAST_RADIUS;Straal -TP_METADATA_EDIT;Pas wijzigingen toe -TP_METADATA_MODE;Metadata kopieermodus -TP_METADATA_STRIP;Strip alle metadata -TP_METADATA_TUNNEL;Kopieer ongewijzigd -TP_PDSHARPENING_LABEL;Verscherpen -TP_PREPROCESS_LINEDENOISE_DIRECTION;Richting -TP_PREPROCESS_LINEDENOISE_DIRECTION_BOTH;Beide -TP_PREPROCESS_LINEDENOISE_DIRECTION_HORIZONTAL;Horizontaal -TP_PREPROCESS_LINEDENOISE_DIRECTION_PDAF_LINES;Horizontaal enkel op PDAF-rijen -TP_PREPROCESS_LINEDENOISE_DIRECTION_VERTICAL;Verticaal -TP_PREPROCESS_PDAFLINESFILTER;PDAF lijnfilter -TP_RAWCACORR_AUTOIT;Herhalingen -TP_RAWCACORR_AUTOIT_TOOLTIP;Deze schuif is alleen actief als Automatische CA-correctie is aangevinkt.\nAuto-correctie werkt conservatief en corrigeert meestal niet alle chromatische aberratie.\nOm de resterende CA te corrigeren, kunt u dit proces tot vijf keer herhalen.\nElke herhaling vermindert de CA van de vorige herhaling, maar gaat wel ten koste van extra rekentijd. -TP_RAWCACORR_AVOIDCOLORSHIFT;Vermijd kleurverschuiving -TP_RAW_2PASS;1-pass+snel -TP_RAW_4PASS;3-pass+snel -TP_RAW_AMAZEVNG4;AMaZE+VNG4 -TP_RAW_BORDER;Rand -TP_RAW_DCBVNG4;DCB+VNG4 -TP_RAW_DUALDEMOSAICAUTOCONTRAST;Auto drempel -TP_RAW_DUALDEMOSAICAUTOCONTRAST_TOOLTIP;Als checkbox is aangevinkt (aanbevolen), berekent RT een optimale waarde gebaseerd op vlakke gebieden in de foto.\nIndien die niet gevonden worden of de foto bevat veel ruis, wordt de waarde op 0 gezet.\nOm de waarde handmatig in te voeren moet u eerst de checkbox uitvinken (redelijke waarden zijn afhankelijk van het soort foto). -TP_RAW_DUALDEMOSAICCONTRAST;Contrast drempel -TP_RAW_IMAGENUM_SN;SN modus -TP_RAW_IMAGENUM_TOOLTIP;Sommige raw bestanden bestaan uit verschillende sub-afbeeldingen (Pentax/Sony Pixel Shift, Pentax 3-in-1 HDR, Canon Dual Pixel, Fuji EXR).\n\Als een andere demozaïek methode dan Pixel Shift gebruikt wordt, selecteert dit de gebruikte sub-afbeelding.\n\nBij gebruik van de Pixel Shift demozaïek methode op een Pixel Shift raw, worden alle sub-afbeeldingen gebruikt, and dit selecteert de subafbeeldijg die gebruikt wordt voor bewegende moving gebieden. -TP_RAW_PIXELSHIFTDMETHOD;Demozaïek voor beweging -TP_RAW_PIXELSHIFTEPERISO;Gevoeligheid -TP_RAW_PIXELSHIFTEPERISO_TOOLTIP;De standaardwaarde 0 werkt goed voor lage ISO-waarden.\nHogere waarden vergroten de gevoeligheid van bewegingsdetectie.\nWijzig in kleine stappen en controleer het bewegingsmasker.\nVerhoog gevoeligheid voor onderbelichte foto's of foto's met hoge ISO-waarden. -TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL;Balanceer per kanaal -TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL_TOOLTIP;Ingeschakeld: Balanceer elk RGB kanaal afzonderlijk.\nUitgeschakeld: Balanceer alle kanalen evenveel. -TP_RAW_PIXELSHIFTSHOWMOTION_TOOLTIP;Toont de foto met een groen masker dat de bewegingsgebieden toont. -TP_RAW_RCD;RCD -TP_RAW_RCDVNG4;RCD+VNG4 -TP_RAW_XTRANS;X-Trans -TP_RAW_XTRANSFAST;Snelle X-Trans -TP_RESIZE_ALLOW_UPSCALING;Sta opschalen toe -TP_RETINEX_CONTEDIT_MAP;Equalizer -TP_RETINEX_GAINOFFS;Versterking en Offset (helderheid) -TP_RETINEX_GAINTRANSMISSION;Transmissie versterking -TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Versterk of verzwak de transmssiemap om de gewenste luminantie te bekomen.\nThe x-as is the transmissie.\nThe y-as is the versterking. -TP_RETINEX_MAP;Methode -TP_SHARPENING_BLUR;Vervagen straal -TP_SHARPENING_CONTRAST;Contrast drempel -TP_SHARPENING_ITERCHECK;Automatische limiet herhalingen -TP_SHARPENING_RADIUS_BOOST;Straalvergroting -TP_SHARPENMICRO_CONTRAST;Contrast drempel -TP_SOFTLIGHT_LABEL;Zacht licht -TP_SOFTLIGHT_STRENGTH;Sterkte -TP_TM_FATTAL_AMOUNT;Hoeveelheid -TP_TM_FATTAL_ANCHOR;Anker -TP_TM_FATTAL_LABEL;Dynamisch bereik compressie -TP_TM_FATTAL_THRESHOLD;Detail -TP_WAVELET_CB_TOOLTIP;Voor hoge waarden: kleurcorrectie door al of niet te combineren met niveau decompositie 'toning'\nVoor lage waarden de witbalans van de achtergrond (hemel, ...) wijzigen zonder die van de voorgrond, meestal meer contrastrijk -TP_WBALANCE_PICKER;Kies +!FILEBROWSER_POPUPINSPECT;Inspect +!GENERAL_DELETE_ALL;Delete all +!GENERAL_EDIT;Edit +!HISTOGRAM_TOOLTIP_CROSSHAIR;Show/Hide indicator crosshair. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_470;--unused-- +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_507;Local Spot center +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_516;Local - Color and light +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_527;Local - Color Inverse +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_542;Local - Vib avoid colorshift +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_591;Local - Avoid color shift +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_607;Local - Color Mask C +!HISTORY_MSG_608;Local - Color Mask L +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_611;Local - Color Mask H +!HISTORY_MSG_612;Local - Color Structure +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_615;Local - Blend color +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_618;Local - Use Color Mask +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_624;Local - Color correction grid +!HISTORY_MSG_625;Local - Color correction strength +!HISTORY_MSG_626;Local - Color correction Method +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_634;Local - radius color +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_650;Local - Color mask chroma +!HISTORY_MSG_651;Local - Color mask gamma +!HISTORY_MSG_652;Local - Color mask slope +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_656;Local - Color soft radius +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_760;Local - Color Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_770;Local - Color Mask contrast curve +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_779;Local - Color Mask local contrast curve +!HISTORY_MSG_780;Local - Color Mask shadows +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_783;Local - Color Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_799;Local - Color RGB ToneCurve +!HISTORY_MSG_800;Local - Color ToneCurve Method +!HISTORY_MSG_801;Local - Color ToneCurve Special +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_803;Local - Color Merge +!HISTORY_MSG_804;Local - Color mask Structure +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_806;Local - Color mask Structure as tool +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_808;Local - Color mask curve H(H) +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_821;Local - color grid background +!HISTORY_MSG_822;Local - color background merge +!HISTORY_MSG_823;Local - color background luminance +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_830;Local - Color gradient strength L +!HISTORY_MSG_831;Local - Color gradient angle +!HISTORY_MSG_832;Local - Color gradient strength C +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_834;Local - Color gradient strength H +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_894;Local - Color Preview dE +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_925;Local - Scope color tools +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_928;Local - Common color mask +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_996;Local - Color recovery threshold +!HISTORY_MSG_997;Local - Color threshold mask low +!HISTORY_MSG_998;Local - Color threshold mask high +!HISTORY_MSG_999;Local - Color decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1070;Local - CIECAM colorfullness +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1107;Local - CIECAM Color method +!HISTORY_MSG_1108;Local - CIECAM Color curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_BLSHAPE;Blur by level +!HISTORY_MSG_BLURCWAV;Blur chroma +!HISTORY_MSG_BLURWAV;Blur luminance +!HISTORY_MSG_BLUWAV;Attenuation response +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation +!HISTORY_MSG_EDGEFFECT;Edge Attenuation response +!HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output +!HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space +!HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input +!HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average +!HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode +!HISTORY_MSG_PROTAB;Protection +!HISTORY_MSG_RANGEAB;Range ab +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge +!HISTORY_MSG_SIGMACOL;Chroma Attenuation response +!HISTORY_MSG_SIGMADIR;Dir Attenuation response +!HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response +!HISTORY_MSG_SIGMATON;Toning Attenuation response +!HISTORY_MSG_SPOT;Spot removal +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. +!HISTORY_MSG_TEMPOUT;CAM02 automatic temperature +!HISTORY_MSG_THRESWAV;Balance threshold +!HISTORY_MSG_WAVBALCHROM;Equalizer chrominance +!HISTORY_MSG_WAVBALLUM;Equalizer luminance +!HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVCHROMCO;Chroma coarse +!HISTORY_MSG_WAVCHROMFI;Chroma fine +!HISTORY_MSG_WAVCLARI;Clarity +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVEDGS;Edge stopping +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVLOWTHR;Threshold low contrast +!HISTORY_MSG_WAVMERGEC;Merge C +!HISTORY_MSG_WAVMERGEL;Merge L +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVOFFSET;Offset +!HISTORY_MSG_WAVOLDSH;Old algorithm +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVRADIUS;Radius shadows-highlights +!HISTORY_MSG_WAVSCALE;Scale +!HISTORY_MSG_WAVSHOWMASK;Show wavelet mask +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSIGMA;Attenuation response +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSOFTRAD;Soft radius clarity +!HISTORY_MSG_WAVSOFTRADEND;Soft radius final +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!HISTORY_MSG_WAVUSHAMET;Clarity method +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 +!INSPECTOR_WINDOW_TITLE;Inspector +!MAIN_TAB_LOCALLAB;Local +!MAIN_TAB_LOCALLAB_TOOLTIP;Shortcut: Alt-o +!PARTIALPASTE_LOCALLAB;Local Adjustments +!PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings +!PARTIALPASTE_PREPROCWB;Preprocess White Balance +!PARTIALPASTE_SPOT;Spot removal +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output +!PREFERENCES_INSPECTORWINDOW;Open inspector in own window or fullscreen +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. +!TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. +!TP_COLORAPP_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_GEN;Settings +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. +!TP_COLORAPP_IL41;D41 +!TP_COLORAPP_IL50;D50 +!TP_COLORAPP_IL55;D55 +!TP_COLORAPP_IL60;D60 +!TP_COLORAPP_IL65;D65 +!TP_COLORAPP_IL75;D75 +!TP_COLORAPP_ILA;Incandescent StdA 2856K +!TP_COLORAPP_ILFREE;Free +!TP_COLORAPP_ILLUM;Illuminant +!TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. +!TP_COLORAPP_SURROUNDSRC;Surround +!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. +!TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_CROP_GTCENTEREDSQUARE;Centered square +!TP_DEHAZE_SATURATION;Saturation +!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm +!TP_FILMNEGATIVE_COLORSPACE;Inversion color space: +!TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space +!TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. +!TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space +!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green +!TP_FILMNEGATIVE_OUT_LEVEL;Output level +!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. +!TP_HLREC_HLBLUR;Blur +!TP_ICM_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 +!TP_ICM_REDFRAME;Custom Primaries +!TP_ICM_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 +!TP_ICM_WORKING_TRC_LIN;Linear g=1 +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ACTIVSPOT;Enable Spot +!TP_LOCALLAB_ADJ;Equalizer Color +!TP_LOCALLAB_AMOUNT;Amount +!TP_LOCALLAB_ARTIF;Shape detection +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOID;Avoid color shift +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALAN;ab-L balance (ΔE) +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALANH;C-H balance (ΔE) +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLCO;Chrominance only +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLINV;Inverse +!TP_LOCALLAB_BLLC;Luminance & Chrominance +!TP_LOCALLAB_BLLO;Luminance only +!TP_LOCALLAB_BLMED;Median +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNOI_EXP;Blur & Noise +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUFR;Blur/Grain & Denoise +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain +!TP_LOCALLAB_BLURCOL;Radius +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURDE;Blur shape detection +!TP_LOCALLAB_BLURLC;Luminance only +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +!TP_LOCALLAB_BUTTON_ADD;Add +!TP_LOCALLAB_BUTTON_DEL;Delete +!TP_LOCALLAB_BUTTON_DUPL;Duplicate +!TP_LOCALLAB_BUTTON_REN;Rename +!TP_LOCALLAB_BUTTON_VIS;Show/Hide +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +!TP_LOCALLAB_CAMMODE;CAM model +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CBDL;Contrast by Detail Levels +!TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. +!TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. +!TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. +!TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels +!TP_LOCALLAB_CENTER_X;Center X +!TP_LOCALLAB_CENTER_Y;Center Y +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMA;Chrominance +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACBDL;Chroma +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASKCOL;Chroma +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_CHRRT;Chroma +!TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIEC;Use Ciecam environment parameters +!TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +!TP_LOCALLAB_CIECOLORFRA;Color +!TP_LOCALLAB_CIECONTFRA;Contrast +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE;Change tool position +!TP_LOCALLAB_CIEMODE_COM;Default +!TP_LOCALLAB_CIEMODE_DR;Dynamic Range +!TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIEMODE_WAV;Wavelet +!TP_LOCALLAB_CIETOOLEXP;Curves +!TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIRCRADIUS;Spot size +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COFR;Color & Light +!TP_LOCALLAB_COLORDE;ΔE preview color - intensity +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +!TP_LOCALLAB_COLORSCOPE;Scope (color tools) +!TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +!TP_LOCALLAB_COLOR_CIE;Color curve +!TP_LOCALLAB_COLOR_TOOLNAME;Color & Light +!TP_LOCALLAB_COL_NAME;Name +!TP_LOCALLAB_COL_VIS;Status +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRAST;Contrast +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CONTTHR;Contrast Threshold +!TP_LOCALLAB_CONTWFRA;Local contrast +!TP_LOCALLAB_CSTHRESHOLD;Wavelet levels +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve +!TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DEHAFRA;Dehaze +!TP_LOCALLAB_DEHAZ;Strength +!TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. +!TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_EXP;Denoise +!TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. +!TP_LOCALLAB_DEPTH;Depth +!TP_LOCALLAB_DETAIL;Local contrast +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILSH;Details +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_DUPLSPOTNAME;Copy +!TP_LOCALLAB_EDGFRA;Edge sharpness +!TP_LOCALLAB_EDGSHOW;Show all tools +!TP_LOCALLAB_ELI;Ellipse +!TP_LOCALLAB_ENABLE_AFTER_MASK;Use Tone Mapping +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EPSBL;Detail +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EV_NVIS;Hide +!TP_LOCALLAB_EV_NVIS_ALL;Hide all +!TP_LOCALLAB_EV_VIS;Show +!TP_LOCALLAB_EV_VIS_ALL;Show all +!TP_LOCALLAB_EXCLUF;Excluding +!TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +!TP_LOCALLAB_EXCLUTYPE;Spot method +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXECLU;Excluding spot +!TP_LOCALLAB_EXFULL;Full image +!TP_LOCALLAB_EXNORM;Normal spot +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA;Chroma compensation +!TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. +!TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust color, lightness, contrast and correct small defects such as red-eye, sensor dust etc. +!TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ +!TP_LOCALLAB_EXPCOMPINV;Exposure compensation +!TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPCURV;Curves +!TP_LOCALLAB_EXPGRAD;Graduated Filter +!TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_EXPTOOL;Exposure Tools +!TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure +!TP_LOCALLAB_FATAMOUNT;Amount +!TP_LOCALLAB_FATANCHOR;Anchor +!TP_LOCALLAB_FATDETAIL;Detail +!TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). +!TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform +!TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform +!TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAM;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMFRA;Tone response curve (TRC) +!TP_LOCALLAB_GAMM;Gamma +!TP_LOCALLAB_GAMMASKCOL;Gamma +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMSH;Gamma +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADANG;Gradient angle +!TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. +!TP_LOCALLAB_GRADFRA;Graduated Filter Mask +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance +!TP_LOCALLAB_GRADSTR;Gradient strength +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRADSTRLUM;Luma gradient strength +!TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +!TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +!TP_LOCALLAB_GRIDONE;Color Toning +!TP_LOCALLAB_GRIDTWO;Direct +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER;Guided filter radius +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. +!TP_LOCALLAB_INVERS;Inverse +!TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_ISOGR;Distribution (ISO) +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLIGHT;Brightness +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSAT;Saturation +!TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABBLURM;Blur Mask +!TP_LOCALLAB_LABEL;Local Adjustments +!TP_LOCALLAB_LABGRID;Color correction grid +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV;Wavelet levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTNESS;Lightness +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LIGHTRETI;Lightness +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_NAME;Add tool to current spot... +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRAST;Local Contrast & Wavelets +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOG;Log Encoding +!TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments +!TP_LOCALLAB_LOG2FRA;Viewing Conditions +!TP_LOCALLAB_LOGAUTO;Automatic +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +!TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. +!TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGEXP;All tools +!TP_LOCALLAB_LOGFRA;Scene Conditions +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode). +!TP_LOCALLAB_LOGLIGHTL;Lightness (J) +!TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration. +!TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART;Overall strength +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LOG_TOOLNAME;Log Encoding +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMADARKEST;Darkest +!TP_LOCALLAB_LUMASK;Background color/luma mask +!TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). +!TP_LOCALLAB_LUMAWHITESEST;Lightest +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASK;Curves +!TP_LOCALLAB_MASK2;Contrast curve +!TP_LOCALLAB_MASKCOM;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDDECAY;Decay strength +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. +!TP_LOCALLAB_MASKRECOTHRES;Recovery threshold +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERCOL;Color +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOR;Color Dodge +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHI;Color Burn +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MODE_EXPERT;Advanced +!TP_LOCALLAB_MODE_NORMAL;Standard +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MRONE;None +!TP_LOCALLAB_MRTHR;Original Image +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NEIGH;Radius +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLDET;Detail recovery +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NLLUM;Strength +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NOISEMETH;Denoise +!TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. +!TP_LOCALLAB_NONENOISE;None +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_OFFS;Offset +!TP_LOCALLAB_OFFSETWAV;Offset +!TP_LOCALLAB_OPACOL;Opacity +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PASTELS2;Vibrance +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_PREVHIDE;Hide additional settings +!TP_LOCALLAB_PREVIEW;Preview ΔE +!TP_LOCALLAB_PREVSHOW;Show additional settings +!TP_LOCALLAB_PROXI;ΔE decay +!TP_LOCALLAB_QUAAGRES;Aggressive +!TP_LOCALLAB_QUACONSER;Conservative +!TP_LOCALLAB_QUALCURV_METHOD;Curve type +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS;Radius +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RECT;Rectangle +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name +!TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot +!TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESID;Residual Image +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RESIDHI;Highlights +!TP_LOCALLAB_RESIDHITHR;Highlights threshold +!TP_LOCALLAB_RESIDSHA;Shadows +!TP_LOCALLAB_RESIDSHATHR;Shadows threshold +!TP_LOCALLAB_RETI;Dehaze & Retinex +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex +!TP_LOCALLAB_REWEI;Reweighting iterates +!TP_LOCALLAB_RGB;RGB Tone Curve +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_ROW_NVIS;Not visible +!TP_LOCALLAB_ROW_VIS;Visible +!TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. +!TP_LOCALLAB_SATUR;Saturation +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSI;Scope +!TP_LOCALLAB_SENSIEXCLU;Scope +!TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +!TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +!TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. +!TP_LOCALLAB_SETTINGS;Settings +!TP_LOCALLAB_SH1;Shadows Highlights +!TP_LOCALLAB_SH2;Equalizer +!TP_LOCALLAB_SHADEX;Shadows +!TP_LOCALLAB_SHADEXCOMP;Shadow compression +!TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHAMASKCOL;Shadows +!TP_LOCALLAB_SHAPETYPE;RT-spot shape +!TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +!TP_LOCALLAB_SHARAMOUNT;Amount +!TP_LOCALLAB_SHARBLUR;Blur radius +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHARITER;Iterations +!TP_LOCALLAB_SHARP;Sharpening +!TP_LOCALLAB_SHARP_TOOLNAME;Sharpening +!TP_LOCALLAB_SHARRADIUS;Radius +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASK;Show mask +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise +!TP_LOCALLAB_SHOWMASKTYP2;Denoise +!TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWREF;Preview ΔE +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMAWAV;Attenuation response +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTM;Soft Light +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SOURCE_ABS;Absolute luminance +!TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_SPOTNAME;New Spot +!TP_LOCALLAB_STD;Standard +!TP_LOCALLAB_STR;Strength +!TP_LOCALLAB_STRBL;Strength +!TP_LOCALLAB_STREN;Compression strength +!TP_LOCALLAB_STRENG;Strength +!TP_LOCALLAB_STRENGR;Strength +!TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). +!TP_LOCALLAB_STRENGTH;Noise +!TP_LOCALLAB_STRGRID;Strength +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_TARGET_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM;Tone Mapping +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSIT;Transition Gradient +!TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY +!TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. +!TP_LOCALLAB_TRANSITVALUE;Transition value +!TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) +!TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WARM;Warm/Cool & Color artifacts +!TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the color temperature of the selected area warmer or cooler.\nIt can also reduce color artifacts in some cases. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAV;Local contrast +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVDEN;Luminance denoise +!TP_LOCALLAB_WAVE;Wavelets +!TP_LOCALLAB_WAVEDG;Local contrast +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK;Local contrast +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. +!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor +!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length +!TP_PERSPECTIVE_CAMERA_FRAME;Correction +!TP_PERSPECTIVE_CAMERA_PITCH;Vertical +!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_CAMERA_YAW;Horizontal +!TP_PERSPECTIVE_CONTROL_LINES;Control lines +!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +!TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. +!TP_PERSPECTIVE_METHOD;Method +!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based +!TP_PERSPECTIVE_METHOD_SIMPLE;Simple +!TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment +!TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +!TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +!TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +!TP_PERSPECTIVE_RECOVERY_FRAME;Recovery +!TP_PREPROCWB_LABEL;Preprocess White Balance +!TP_PREPROCWB_MODE;Mode +!TP_PREPROCWB_MODE_AUTO;Auto +!TP_PREPROCWB_MODE_CAMERA;Camera +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear +!TP_RAW_DCBBILINEAR;DCB+Bilinear +!TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. +!TP_RAW_RCDBILINEAR;RCD+Bilinear +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge +!TP_SPOT_COUNTLABEL;%1 point(s) +!TP_SPOT_DEFAULT_SIZE;Default spot size +!TP_SPOT_ENTRYCHANGED;Point changed +!TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its center then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. +!TP_SPOT_LABEL;Spot Removal +!TP_WAVELET_BALCHROM;Equalizer Color +!TP_WAVELET_BALLUM;Denoise equalizer White-Black +!TP_WAVELET_BL;Blur levels +!TP_WAVELET_BLCURVE;Blur by levels +!TP_WAVELET_BLURFRAME;Blur +!TP_WAVELET_BLUWAV;Attenuation response +!TP_WAVELET_CHROFRAME;Denoise chrominance +!TP_WAVELET_CHROMAFRAME;Chroma +!TP_WAVELET_CHROMCO;Chrominance Coarse +!TP_WAVELET_CHROMFI;Chrominance Fine +!TP_WAVELET_CHRWAV;Blur chroma +!TP_WAVELET_CLA;Clarity +!TP_WAVELET_CLARI;Sharp-mask and Clarity +!TP_WAVELET_COMPEXPERT;Advanced +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. +!TP_WAVELET_COMPNORMAL;Standard +!TP_WAVELET_CONTFRAME;Contrast - Compression +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENOISEHUE;Denoise hue equalizer +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_DIRFRAME;Directional contrast +!TP_WAVELET_EDEFFECT;Attenuation response +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. +!TP_WAVELET_FINCFRAME;Final local contrast +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. +!TP_WAVELET_MERGEC;Merge chroma +!TP_WAVELET_MERGEL;Merge luma +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise +!TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. +!TP_WAVELET_OLDSH;Algorithm using negatives values +!TP_WAVELET_PROTAB;Protection +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_RADIUS;Radius shadows - highlight +!TP_WAVELET_RANGEAB;Range a and b % +!TP_WAVELET_RESBLUR;Blur luminance +!TP_WAVELET_RESBLURC;Blur chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. +!TP_WAVELET_SHA;Sharp mask +!TP_WAVELET_SHFRAME;Shadows/Highlights +!TP_WAVELET_SHOWMASK;Show wavelet 'mask' +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_SIGMA;Attenuation response +!TP_WAVELET_SIGMAFIN;Attenuation response +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_WAVELET_SOFTRAD;Soft radius +!TP_WAVELET_STREND;Strength +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_TMEDGS;Edge stopping +!TP_WAVELET_TMSCALE;Scale +!TP_WAVELET_TONFRAME;Excluded colors +!TP_WAVELET_USH;None +!TP_WAVELET_USHARP;Clarity method +!TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. +!TP_WAVELET_WAVLOWTHR;Low contrast threshold +!TP_WAVELET_WAVOFFSET;Offset +!TP_WBALANCE_AUTOITCGREEN;Temperature correlation +!TP_WBALANCE_AUTOOLD;RGB grey +!TP_WBALANCE_AUTO_HEADER;Automatic +!TP_WBALANCE_STUDLABEL;Correlation factor: %1 +!TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. diff --git a/rtdata/languages/Polish b/rtdata/languages/Polish index 06a5136d6..06ed63aba 100644 --- a/rtdata/languages/Polish +++ b/rtdata/languages/Polish @@ -238,13 +238,11 @@ HISTOGRAM_TOOLTIP_CHRO;Pokaż/Ukryj histogram chromatyczności. HISTOGRAM_TOOLTIP_G;Pokaż/Ukryj histogram zieleni. HISTOGRAM_TOOLTIP_L;Pokaż/Ukryj histogram luminancji CIELab. HISTOGRAM_TOOLTIP_R;Pokaż/Ukryj histogram czerwieni. -HISTOGRAM_TOOLTIP_RAW;Pokaż/Ukryj histogram raw. HISTORY_CHANGED;Zmieniono HISTORY_CUSTOMCURVE;Krzywa własna HISTORY_FROMCLIPBOARD;Ze schowka HISTORY_LABEL;Historia HISTORY_MSG_1;Zdjęcie załadowane -HISTORY_MSG_2;Profil załadowany HISTORY_MSG_3;Profil zmieniony HISTORY_MSG_4;Przeglądanie historii HISTORY_MSG_5;Światłość @@ -258,9 +256,6 @@ HISTORY_MSG_12;Automatyczna ekspozycja HISTORY_MSG_13;Przycinanie ekspozycji HISTORY_MSG_14;L*a*b* - Światłość HISTORY_MSG_15;L*a*b* - Kontrast -HISTORY_MSG_16;- -HISTORY_MSG_17;- -HISTORY_MSG_18;- HISTORY_MSG_19;Krzywa L* HISTORY_MSG_20;Wyostrzanie HISTORY_MSG_21;USM - Promień @@ -286,10 +281,6 @@ HISTORY_MSG_40;BB - Odcień HISTORY_MSG_41;Tryb krzywej 1 HISTORY_MSG_42;Krzywa 1 HISTORY_MSG_43;Tryb krzywej 2 -HISTORY_MSG_44;Odszumianie lum. - Promień -HISTORY_MSG_45;Odszumianie lum. - Tolerancja krawędzi -HISTORY_MSG_46;Odszumianie koloru -HISTORY_MSG_47;Mieszanie podświetleń ICC z matrycą HISTORY_MSG_48;Użycie krzywej tonalnej z DCP HISTORY_MSG_49;Illuminant DCP HISTORY_MSG_50;Cienie/Podświetlenia @@ -297,7 +288,6 @@ HISTORY_MSG_51;C/P - Podświetlenia HISTORY_MSG_52;C/P - Cienie HISTORY_MSG_53;C/P - Szerokość tonalna podśw. HISTORY_MSG_54;C/P - Szerokość tonalna cieni -HISTORY_MSG_55;C/P - Kontrast lokalny HISTORY_MSG_56;C/P - Promień HISTORY_MSG_57;Obrót dyskretny HISTORY_MSG_58;Odbicie w poziomie @@ -309,7 +299,6 @@ HISTORY_MSG_63;Migawka wybrana HISTORY_MSG_64;Kadrowanie HISTORY_MSG_65;Korekcja aberracji chromatycznej HISTORY_MSG_66;Rekonstrukcja prześwietleń -HISTORY_MSG_67;Rekonstrukcja prześwietleń - Siła HISTORY_MSG_68;Rekonstrukcja prześwietleń - Metoda HISTORY_MSG_69;Robocza przestrzeń kolorów HISTORY_MSG_70;Wyjściowa przestrzeń kolorów @@ -320,12 +309,10 @@ HISTORY_MSG_74;Zmiany rozmiaru - Skala HISTORY_MSG_75;Zmiany rozmiaru - Metoda HISTORY_MSG_76;Metadane Exif HISTORY_MSG_77;Metadane IPTC -HISTORY_MSG_78;- HISTORY_MSG_79;Zmiany rozmiaru - Szerokość HISTORY_MSG_80;Zmiany rozmiaru - Wysokość HISTORY_MSG_81;Zmiany rozmiaru HISTORY_MSG_82;Profil zmieniony -HISTORY_MSG_83;C/P - Ostra maska HISTORY_MSG_84;Korekcja perspektywy HISTORY_MSG_85;LCP HISTORY_MSG_86;Krzywe RGB - Tryb luminancji @@ -372,12 +359,6 @@ HISTORY_MSG_127;Puste pole - Auto-wybór HISTORY_MSG_128;Puste pole - Promień rozmycia HISTORY_MSG_129;Puste pole - Typ rozmycia HISTORY_MSG_130;Automatyczna korekcja dystorsji -HISTORY_MSG_131;RS - Luma -HISTORY_MSG_132;RS - Chroma -HISTORY_MSG_133;Gamma wyjściowa -HISTORY_MSG_134;Wolna gamma -HISTORY_MSG_135;Wolna gamma -HISTORY_MSG_136;Nachylenie gamma HISTORY_MSG_137;Poziom czerni - Zielony 1 HISTORY_MSG_138;Poziom czerni - Czerwony HISTORY_MSG_139;Poziom czerni - Niebieski @@ -488,7 +469,6 @@ HISTORY_MSG_246;Krzywa CL HISTORY_MSG_247;Krzywa LH HISTORY_MSG_248;Krzywa HH HISTORY_MSG_249;KwgPS - Próg -HISTORY_MSG_250;RS - Ulepszona HISTORY_MSG_251;B&W - Algorytm HISTORY_MSG_252;KwgPS - Odcienie skóry HISTORY_MSG_253;KwgPS - Redukcja błędów @@ -511,8 +491,6 @@ HISTORY_MSG_269;Koloryzacja - Podświetlenia - Czerwone HISTORY_MSG_270;Koloryzacja - Podświetlenia - Zielona HISTORY_MSG_271;Koloryzacja - Podświetlenia - Niebieskie HISTORY_MSG_272;Koloryzacja - Balans -HISTORY_MSG_274;Koloryzacja - Nasycenie cieni -HISTORY_MSG_275;Koloryzacja - Nasycenie jasnych HISTORY_MSG_276;Koloryzacja - Przezroczystość HISTORY_MSG_277;--unused-- HISTORY_MSG_278;Koloryzacja - Zachowaj luminancję @@ -537,7 +515,6 @@ HISTORY_MSG_296;RS - Modulacja luminancji HISTORY_MSG_297;NR - Tryb HISTORY_MSG_298;Filtrowanie martwych pikseli HISTORY_MSG_299;NR - Krzywa chrominancji -HISTORY_MSG_300;- HISTORY_MSG_301;NR - Kontrola luminancji HISTORY_MSG_302;NR - Metoda chrominancji HISTORY_MSG_303;NR - Metoda chrominancji @@ -596,7 +573,6 @@ HISTORY_MSG_392;W - Residual - Balans kolorów HISTORY_MSG_405;W - Odszumianie - Poziom 4 HISTORY_MSG_407;Retinex - Metoda HISTORY_MSG_408;Retinex - Promień -HISTORY_MSG_409;Retinex - Contrast HISTORY_MSG_410;Retinex - Przesunięcie HISTORY_MSG_411;Retinex - Siła HISTORY_MSG_413;Retinex - Kontrast @@ -637,7 +613,6 @@ HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Kanał HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturacja HISTORY_MSG_DEHAZE_DEPTH;Usuwanie mgły - Głębia HISTORY_MSG_DEHAZE_ENABLED;Usuwanie mgły -HISTORY_MSG_DEHAZE_LUMINANCE;Usuwanie mgły - Tylko luminancja HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Usuwanie mgły - Pokaż mapę głębokości HISTORY_MSG_DEHAZE_STRENGTH;Usuwanie mgły - Siła HISTORY_MSG_LOCALCONTRAST_AMOUNT;Kontrast lokalny - Ilość @@ -660,7 +635,7 @@ HISTORY_MSG_SHARPENING_CONTRAST;Wyostrzanie - Próg kontrastu HISTORY_MSG_SH_COLORSPACE;S/H - Przestrzeń kolorów HISTORY_MSG_SOFTLIGHT_ENABLED;Miękkie światło HISTORY_MSG_SOFTLIGHT_STRENGTH;Miękkie światło - Siła -HISTORY_MSG_TRANS_Method;Geometria - Metoda +HISTORY_MSG_TRANS_METHOD;Geometria - Metoda HISTORY_NEWSNAPSHOT;Nowa migawka HISTORY_NEWSNAPSHOT_TOOLTIP;Skrót: Alt-s HISTORY_SNAPSHOT;Migawka @@ -1045,7 +1020,7 @@ PROFILEPANEL_GLOBALPROFILES;Załączone profile przetwarzania PROFILEPANEL_LABEL;Profil przetwarzania PROFILEPANEL_LOADDLGLABEL;Wczytaj profil przetwarzania końcowego... PROFILEPANEL_LOADPPASTE;Parametry do załadowania -PROFILEPANEL_MODE_TIP;Tryb wypełnienia parametrów przetwarzania.\n\nWduszone: częściowe profile zostaną przetworzone w profile pełne; brakujące wartości zostana wypełnione domyślnymi, zakodowanymi w silniku RawTherapee.\n\nWyłączone: profile zostaną zastosowane takie, jakie są, zmieniając tylko te wartości, które zawierają. +PROFILEPANEL_MODE_TOOLTIP;Tryb wypełnienia parametrów przetwarzania.\n\nWduszone: częściowe profile zostaną przetworzone w profile pełne; brakujące wartości zostana wypełnione domyślnymi, zakodowanymi w silniku RawTherapee.\n\nWyłączone: profile zostaną zastosowane takie, jakie są, zmieniając tylko te wartości, które zawierają. PROFILEPANEL_MYPROFILES;Moje profile przetwarzania PROFILEPANEL_PASTEPPASTE;Parametry do wklejenia PROFILEPANEL_PCUSTOM;Własny @@ -1231,7 +1206,6 @@ TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Ustawienie chromy, nasycenia bądź barwistośc TP_COLORAPP_DATACIE;Pokaż histogramy wyjściowe CIECAM02 za krzywymi TP_COLORAPP_DATACIE_TOOLTIP;Kiedy opcja jest włączona, histogramy za krzywymi CIECAM02 pokazują przybliżone wartości/zakresy J lub Q, oraz C, s lub M po korekcjach CIECAM02.\nTen wybór nie ma wpływu na główny histogram.\n\nKiedy opcja jest wyłączona, histogramy za krzywymi CIECAM02 pokazują wartości L*a*b* przed korekcjami CIECAM02. TP_COLORAPP_GAMUT;Kontrola gamma (L*a*b*). -TP_COLORAPP_GAMUT_TOOLTIP;Włącz kontrolę gamma w trybie L*a*b*. TP_COLORAPP_HUE;Odcień (hue, h) TP_COLORAPP_HUE_TOOLTIP;Odcień (hue, h) - kąt pomiędzy 0° a 360°. TP_COLORAPP_LABEL;CIE Color Appearance Model 2002 @@ -1243,7 +1217,7 @@ TP_COLORAPP_LIGHT_TOOLTIP;Światłość w CIECAM02 różni się od światłości TP_COLORAPP_MODEL;Model PB TP_COLORAPP_MODEL_TOOLTIP;Model punktu bieli.\n\nBB [RT] + [wyjściowy]:\nBalans bieli RawTherapee jest użyty dla sceny, CIECAM02 jest ustawione na D50, i balans bieli urządzenia wyjściowego ustawiony jest w Ustawieniach > Zarządzanie Kolorami\n\nBB [RT+CAT02] + [wyjściowe]:\nUstawienia balansu bieli RawTherapee są używane przez CAT02, i balans bieli urządzenia wyjściowego jest ustawione w Ustawieniach > Zarządzanie Kolorami. TP_COLORAPP_NEUTRAL;Reset -TP_COLORAPP_NEUTRAL_TIP;Przywróć wszystkie suwaki oraz krzywe do wartości domyślnych +TP_COLORAPP_NEUTRAL_TOOLTIP;Przywróć wszystkie suwaki oraz krzywe do wartości domyślnych TP_COLORAPP_RSTPRO;Ochrona odcieni skóry i czerwieni TP_COLORAPP_RSTPRO_TOOLTIP;Ochrona odcieni skóry i czerwieni (suwaki i krzywe) TP_COLORAPP_SURROUND;Otoczenie @@ -1299,7 +1273,7 @@ TP_COLORTONING_METHOD;Metoda TP_COLORTONING_METHOD_TOOLTIP;"Mieszanie L*a*b*", "Suwaki RGB" oraz "Krzywe RGB" stosują interpolację do mieszania kolorów.\n"Balansowanie kolorów (cienie, półcienie, podświetlenia)" oraz "Nasycenie - Dwa Kolory" stosują kolory bezpośrednio.\n\nNarzędzie "Czarno-białe" można używac jednocześnie z narzędziem "Koloryzacji", co umożliwi tonowanie zdjęcia. TP_COLORTONING_MIDTONES;Półcienie TP_COLORTONING_NEUTRAL;Zresetuj suwaki -TP_COLORTONING_NEUTRAL_TIP;Zresetuj wszystkie wartości (cienie, półcienie, podświetlenia) na domyślne. +TP_COLORTONING_NEUTRAL_TOOLTIP;Zresetuj wszystkie wartości (cienie, półcienie, podświetlenia) na domyślne. TP_COLORTONING_OPACITY;Przezroczystość TP_COLORTONING_RGBCURVES;RGB - Krzywe TP_COLORTONING_RGBSLIDERS;RGB - Suwaki @@ -1340,7 +1314,6 @@ TP_DEFRINGE_RADIUS;Promień TP_DEFRINGE_THRESHOLD;Próg TP_DEHAZE_DEPTH;Głębia TP_DEHAZE_LABEL;Usuwanie mgły -TP_DEHAZE_LUMINANCE;Tylko luminancja TP_DEHAZE_SHOW_DEPTH_MAP;Pokaż mapę głębokości TP_DEHAZE_STRENGTH;Siła TP_DIRPYRDENOISE_CHROMINANCE_AUTOGLOBAL;Automatycznie @@ -1407,12 +1380,12 @@ TP_EPD_REWEIGHTINGITERATES;Powtarzanie rozważania TP_EPD_SCALE;Skala TP_EPD_STRENGTH;Siła TP_EXPOSURE_AUTOLEVELS;Wyrównaj poziomy -TP_EXPOSURE_AUTOLEVELS_TIP;Dokonaj automatycznego ustawienia parametrów ekspozycji na podstawie analizy obrazu +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Dokonaj automatycznego ustawienia parametrów ekspozycji na podstawie analizy obrazu TP_EXPOSURE_BLACKLEVEL;Czerń TP_EXPOSURE_BRIGHTNESS;Jasność TP_EXPOSURE_CLAMPOOG;Przytnij kolory spoza gamy kolorów TP_EXPOSURE_CLIP;Przytnij % -TP_EXPOSURE_CLIP_TIP;Ułamek pikseli ktore mają zostać rozjaśnione do punktu prześwietlenia podczas automatycznego wyrównania poziomów. +TP_EXPOSURE_CLIP_TOOLTIP;Ułamek pikseli ktore mają zostać rozjaśnione do punktu prześwietlenia podczas automatycznego wyrównania poziomów. TP_EXPOSURE_COMPRHIGHLIGHTS;Kompresja podświetleń TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Próg kompresji podświetleń TP_EXPOSURE_COMPRSHADOWS;Kompresja cieni @@ -1542,7 +1515,7 @@ TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminance według odcieni (hue) L=f(H) TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminancja według luminancji L=f(L) TP_LABCURVE_LABEL;Regulacja L*a*b* TP_LABCURVE_LCREDSK;Ogranicz LC do odcieni skóry oraz czerwieni -TP_LABCURVE_LCREDSK_TIP;Kiedy opcja jest włączona, wpływ krzywej LC (Luminancja według chromatyczności) jest ograniczony do odcieni skóry oraz czerwieni.\nKiedy opcja jest wyłączona, krzywa LC wpływa na wszystkie barwy. +TP_LABCURVE_LCREDSK_TOOLTIP;Kiedy opcja jest włączona, wpływ krzywej LC (Luminancja według chromatyczności) jest ograniczony do odcieni skóry oraz czerwieni.\nKiedy opcja jest wyłączona, krzywa LC wpływa na wszystkie barwy. TP_LABCURVE_RSTPROTECTION;Ochrona skóry oraz czerwieni TP_LABCURVE_RSTPRO_TOOLTIP;Ma wpływ na suwak Chromatyczności oraz na krzywą CC. TP_LENSGEOM_AUTOCROP;Auto-kadrowanie @@ -1569,7 +1542,7 @@ TP_METADATA_MODE;Tryb kopiowania metadanych TP_METADATA_STRIP;Usuń wszystkie metadane TP_METADATA_TUNNEL;Kopiuj niezmienione TP_NEUTRAL;Reset -TP_NEUTRAL_TIP;Zresetuj ustawienia do wartości neutralnych.\nDziała na tych samych suwakach na których funkcja "Wyrównaj poziomy" działa, niezależnie od tego czy funkcja ta była użyta czy nie. +TP_NEUTRAL_TOOLTIP;Zresetuj ustawienia do wartości neutralnych.\nDziała na tych samych suwakach na których funkcja "Wyrównaj poziomy" działa, niezależnie od tego czy funkcja ta była użyta czy nie. TP_PCVIGNETTE_FEATHER;Wtapianie TP_PCVIGNETTE_FEATHER_TOOLTIP;Wtapianie:\n0 = tylko brzegi,\n50 = w pół drogi do środka,\n100 = aż do środka. TP_PCVIGNETTE_LABEL;Winietowanie @@ -1729,7 +1702,7 @@ TP_RGBCURVES_RED;R TP_ROTATE_DEGREE;Stopnie TP_ROTATE_LABEL;Obrót TP_ROTATE_SELECTLINE;Wyprostuj obraz -TP_SAVEDIALOG_OK_TIP;Skrót: Ctrl-Enter +TP_SAVEDIALOG_OK_TOOLTIP;Skrót: Ctrl-Enter TP_SHADOWSHLIGHTS_HIGHLIGHTS;Podświetlenia TP_SHADOWSHLIGHTS_HLTONALW;Szerokość tonalna TP_SHADOWSHLIGHTS_LABEL;Cienie/Podświetlenia @@ -1951,23 +1924,35 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: - !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. !DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule -!DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the "re:" prefix to enter\na regular expression. +!DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the 're:' prefix to enter\na regular expression. !DYNPROFILEEDITOR_IMGTYPE_PS;Pixel Shift !DYNPROFILEEDITOR_NEW_RULE;New Dynamic Profile Rule !EXPORT_BYPASS;Processing steps to bypass !EXPORT_BYPASS_EQUALIZER;Bypass Wavelet Levels !EXPORT_PIPELINE;Processing pipeline !EXPORT_USE_FAST_PIPELINE;Dedicated (full processing on resized image) -!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_FAST_PIPELINE_TOOLTIP;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_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. +!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply 'find' keywords. !FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? !FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? !FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? +!FILEBROWSER_POPUPINSPECT;Inspect !FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version !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_DELETE_ALL;Delete all +!GENERAL_EDIT;Edit !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_CROSSHAIR;Show/Hide indicator crosshair. !HISTOGRAM_TOOLTIP_MODE;Toggle between linear, log-linear and log-log scaling of the histogram. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform !HISTORY_MSG_235;B&W - CM - Auto !HISTORY_MSG_237;B&W - CM !HISTORY_MSG_273;CT - Color Balance SMH @@ -2029,7 +2014,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: - !HISTORY_MSG_420;Retinex - Histogram - HSL !HISTORY_MSG_423;Retinex - Gamma slope !HISTORY_MSG_424;Retinex - HL threshold -!HISTORY_MSG_425;Retinex - Log base +!HISTORY_MSG_425;--unused-- !HISTORY_MSG_427;Output rendering intent !HISTORY_MSG_428;Monitor rendering intent !HISTORY_MSG_430;Retinex - Transmission gradient @@ -2039,24 +2024,687 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: - !HISTORY_MSG_441;Retinex - Gain transmission !HISTORY_MSG_443;Output black point compensation !HISTORY_MSG_444;WB - Temp bias -!HISTORY_MSG_445;Raw sub-image -!HISTORY_MSG_457;PS - Check red/blue -!HISTORY_MSG_462;PS - Check green -!HISTORY_MSG_464;PS - Blur motion mask -!HISTORY_MSG_469;PS - Median -!HISTORY_MSG_473;PS - Use LMMSE -!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_445;Raw Sub-Image +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_457;PS Check red/blue +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_462;PS Check green +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_464;PS Blur motion mask +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_469;PS Median +!HISTORY_MSG_470;--unused-- +!HISTORY_MSG_476;CAL - VC - Temperature +!HISTORY_MSG_477;CAL - VC - Tint +!HISTORY_MSG_478;CAL - VC - Mean luminance +!HISTORY_MSG_479;CAL - VC - Adaptation +!HISTORY_MSG_480;CAL - VC - Auto adaptation +!HISTORY_MSG_481;CAL - SC - Temperature +!HISTORY_MSG_482;CAL - SC - Tint +!HISTORY_MSG_483;CAL - SC - Mean luminance +!HISTORY_MSG_484;CAL - SC - Auto mean luminance !HISTORY_MSG_488;Dynamic Range Compression !HISTORY_MSG_493;L*a*b* Adjustments !HISTORY_MSG_494;Capture Sharpening +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_507;Local Spot center +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_516;Local - Color and light +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_527;Local - Color Inverse +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_542;Local - Vib avoid colorshift +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_591;Local - Avoid color shift +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_607;Local - Color Mask C +!HISTORY_MSG_608;Local - Color Mask L +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_611;Local - Color Mask H +!HISTORY_MSG_612;Local - Color Structure +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_615;Local - Blend color +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_618;Local - Use Color Mask +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_624;Local - Color correction grid +!HISTORY_MSG_625;Local - Color correction strength +!HISTORY_MSG_626;Local - Color correction Method +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_634;Local - radius color +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_650;Local - Color mask chroma +!HISTORY_MSG_651;Local - Color mask gamma +!HISTORY_MSG_652;Local - Color mask slope +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_656;Local - Color soft radius +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_760;Local - Color Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_770;Local - Color Mask contrast curve +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_779;Local - Color Mask local contrast curve +!HISTORY_MSG_780;Local - Color Mask shadows +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_783;Local - Color Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_799;Local - Color RGB ToneCurve +!HISTORY_MSG_800;Local - Color ToneCurve Method +!HISTORY_MSG_801;Local - Color ToneCurve Special +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_803;Local - Color Merge +!HISTORY_MSG_804;Local - Color mask Structure +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_806;Local - Color mask Structure as tool +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_808;Local - Color mask curve H(H) +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_821;Local - color grid background +!HISTORY_MSG_822;Local - color background merge +!HISTORY_MSG_823;Local - color background luminance +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_830;Local - Color gradient strength L +!HISTORY_MSG_831;Local - Color gradient angle +!HISTORY_MSG_832;Local - Color gradient strength C +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_834;Local - Color gradient strength H +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_894;Local - Color Preview dE +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_925;Local - Scope color tools +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_928;Local - Common color mask +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_996;Local - Color recovery threshold +!HISTORY_MSG_997;Local - Color threshold mask low +!HISTORY_MSG_998;Local - Color threshold mask high +!HISTORY_MSG_999;Local - Color decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1070;Local - CIECAM colorfullness +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1107;Local - CIECAM Color method +!HISTORY_MSG_1108;Local - CIECAM Color curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_BLSHAPE;Blur by level +!HISTORY_MSG_BLURCWAV;Blur chroma +!HISTORY_MSG_BLURWAV;Blur luminance +!HISTORY_MSG_BLUWAV;Attenuation response +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM !HISTORY_MSG_COLORTONING_LABREGION_CHROMATICITYMASK;CT - region C mask !HISTORY_MSG_COLORTONING_LABREGION_HUEMASK;CT - H mask !HISTORY_MSG_COLORTONING_LABREGION_LIGHTNESS;CT - Lightness @@ -2067,35 +2715,119 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: - !HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power !HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask !HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation !HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Dual demosaic - Auto threshold !HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Dual demosaic - Contrast threshold +!HISTORY_MSG_EDGEFFECT;Edge Attenuation response +!HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output +!HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space !HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negative +!HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input !HISTORY_MSG_FILMNEGATIVE_VALUES;Film negative values !HISTORY_MSG_HISTMATCHING;Auto-matched tone curve +!HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y !HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primaries !HISTORY_MSG_ICM_OUTPUT_TEMP;Output - ICC-v4 illuminant D !HISTORY_MSG_ICM_OUTPUT_TYPE;Output - Type -!HISTORY_MSG_ICM_WORKING_GAMMA;Working - Gamma -!HISTORY_MSG_ICM_WORKING_SLOPE;Working - Slope -!HISTORY_MSG_ICM_WORKING_TRC_METHOD;Working - TRC method +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_GAMMA;TRC - Gamma +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ICM_WORKING_SLOPE;TRC - Slope +!HISTORY_MSG_ICM_WORKING_TRC_METHOD;TRC method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant !HISTORY_MSG_METADATA_MODE;Metadata copy mode !HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average !HISTORY_MSG_PIXELSHIFT_DEMOSAIC;PS - Demosaic method for motion !HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;Line noise filter direction !HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode +!HISTORY_MSG_PROTAB;Protection +!HISTORY_MSG_RANGEAB;Range ab !HISTORY_MSG_RAW_BORDER;Raw border !HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge +!HISTORY_MSG_SIGMACOL;Chroma Attenuation response +!HISTORY_MSG_SIGMADIR;Dir Attenuation response +!HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response +!HISTORY_MSG_SIGMATON;Toning Attenuation response +!HISTORY_MSG_SPOT;Spot removal +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. +!HISTORY_MSG_TEMPOUT;CAM02 automatic temperature +!HISTORY_MSG_THRESWAV;Balance threshold !HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor +!HISTORY_MSG_WAVBALCHROM;Equalizer chrominance +!HISTORY_MSG_WAVBALLUM;Equalizer luminance +!HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVCHROMCO;Chroma coarse +!HISTORY_MSG_WAVCHROMFI;Chroma fine +!HISTORY_MSG_WAVCLARI;Clarity +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVEDGS;Edge stopping +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVLOWTHR;Threshold low contrast +!HISTORY_MSG_WAVMERGEC;Merge C +!HISTORY_MSG_WAVMERGEL;Merge L +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVOFFSET;Offset +!HISTORY_MSG_WAVOLDSH;Old algorithm +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVRADIUS;Radius shadows-highlights +!HISTORY_MSG_WAVSCALE;Scale +!HISTORY_MSG_WAVSHOWMASK;Show wavelet mask +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSIGMA;Attenuation response +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSOFTRAD;Soft radius clarity +!HISTORY_MSG_WAVSOFTRADEND;Soft radius final +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!HISTORY_MSG_WAVUSHAMET;Clarity method !ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Append gamma and slope values to the description !ICCPROFCREATOR_DESCRIPTION_TOOLTIP;Leave empty to set the default description. !ICCPROFCREATOR_ILL;Illuminant: -!ICCPROFCREATOR_ILL_TOOLTIP;You can only set the illuminant for ICC v4 profiles. +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater +!ICCPROFCREATOR_ILL_TOOLTIP;You can set the illuminant for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIMARIES;Primaries: -!ICCPROFCREATOR_PRIM_TOOLTIP;You can only set custom primaries for ICC v4 profiles. +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 +!ICCPROFCREATOR_PRIM_TOOLTIP;You can set custom primaries for ICC v4 profiles and also for ICC v2 profiles. +!INSPECTOR_WINDOW_TITLE;Inspector !IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider. !IPTCPANEL_CREATORJOBTITLE;Creator's job title !IPTCPANEL_CREATORJOBTITLEHINT;Enter the Job Title of the person listed in the Creator field. -!IPTCPANEL_DESCRIPTIONHINT;Enter a "caption" describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. +!IPTCPANEL_DESCRIPTIONHINT;Enter a 'caption' describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. !IPTCPANEL_DESCRIPTIONWRITERHINT;Enter the name of the person involved in writing, editing or correcting the description of the image. !IPTCPANEL_HEADLINEHINT;Enter a brief publishable synopsis or summary of the contents of the image. !IPTCPANEL_INSTRUCTIONSHINT;Enter information about embargoes, or other restrictions not covered by the Copyright field. @@ -2104,27 +2836,46 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: - !IPTCPANEL_SOURCEHINT;Enter or edit the name of a person or party who has a role in the content supply chain, such as a person or entity from whom you received this image from. !IPTCPANEL_SUPPCATEGORIESHINT;Further refines the subject of the image. !IPTCPANEL_TITLEHINT;Enter a short verbal and human readable name for the image, this may be the file name. +!MAIN_TAB_LOCALLAB;Local +!MAIN_TAB_LOCALLAB_TOOLTIP;Shortcut: Alt-o !MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9 !MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%. -!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. -!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. -!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. +!OPTIONS_BUNDLED_MISSING;The bundled profile '%1' could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. +!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. +!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. !PARTIALPASTE_EQUALIZER;Wavelet levels -!PARTIALPASTE_FILMNEGATIVE;Film Negative +!PARTIALPASTE_FILMNEGATIVE;Film negative +!PARTIALPASTE_LOCALLAB;Local Adjustments +!PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings !PARTIALPASTE_METADATA;Metadata mode !PARTIALPASTE_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!PARTIALPASTE_PREPROCWB;Preprocess White Balance !PARTIALPASTE_PRSHARPENING;Post-resize sharpening !PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;CA avoid color shift !PARTIALPASTE_RAWCACORR_CAREDBLUE;CA red & blue !PARTIALPASTE_RAW_BORDER;Raw border !PARTIALPASTE_RAW_IMAGENUM;Sub-image !PARTIALPASTE_RAW_PIXELSHIFT;Pixel Shift +!PARTIALPASTE_SPOT;Spot removal !PREFERENCES_AUTOSAVE_TP_OPEN;Save tool collapsed/expanded state on exit !PREFERENCES_CACHECLEAR_ALLBUTPROFILES;Clear all cached files except for cached processing profiles: !PREFERENCES_CACHECLEAR_SAFETY;Only files in the cache are cleared. Processing profiles stored alongside the source images are not touched. +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts !PREFERENCES_CLUTSCACHE_LABEL;Maximum number of cached CLUTs +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output !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_INSPECTORWINDOW;Open inspector in own window or fullscreen !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_MONINTENT;Default rendering intent !PREFERENCES_PERFORMANCE_MEASURE_HINT;Logs processing times in console @@ -2133,37 +2884,79 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: - !PREFERENCES_PROFILESAVEBOTH;Save processing profile both to the cache and next to the input file !PREFERENCES_PRTINTENT;Rendering intent !PREFERENCES_REMEMBERZOOMPAN;Remember zoom % and pan offset -!PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in "Single Editor Tab Mode" and when "Demosaicing method used for the preview at <100% zoom" is set to "As in PP3". +!PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in 'Single Editor Tab Mode' and when 'Demosaicing method used for the preview at <100% zoom' is set to 'As in PP3'. !PREFERENCES_SAVE_TP_OPEN_NOW;Save tool collapsed/expanded state now !PREFERENCES_SERIALIZE_TIFF_READ_LABEL;Serialize reading of TIFF files !PREFERENCES_SERIALIZE_TIFF_READ_TOOLTIP;Enabling this option when working with folders containing uncompressed TIFF files can increase performance of thumbnail generation. !PREFERENCES_SHOWFILMSTRIPTOOLBAR;Show Filmstrip toolbar +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips !PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules !PREFERENCES_THUMBNAIL_INSPECTOR_JPEG;Embedded JPEG preview !PREFERENCES_THUMBNAIL_INSPECTOR_RAW;Neutral raw rendering !PREFERENCES_THUMBNAIL_INSPECTOR_RAW_IF_NO_JPEG_FULLSIZE;Embedded JPEG if fullsize, neutral raw otherwise +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling !QUEUE_STARTSTOP_TOOLTIP;Start or stop processing the images in the queue.\n\nShortcut: Ctrl+s !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. !SOFTPROOF_GAMUTCHECK_TOOLTIP;Highlight pixels with out-of-gamut colors with respect to:\n- the printer profile, if one is set and soft-proofing is enabled,\n- the output profile, if a printer profile is not set and soft-proofing is enabled,\n- the monitor profile, if soft-proofing is disabled. !SOFTPROOF_TOOLTIP;Soft-proofing simulates the appearance of the image:\n- when printed, if a printer profile is set in Preferences > Color Management,\n- when viewed on a display that uses the current output profile, if a printer profile is not set. +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry !TOOLBAR_TOOLTIP_COLORPICKER;Lockable Color Picker\n\nWhen the tool is active:\n- Add a picker: left-click.\n- Drag a picker: left-click and drag.\n- Delete a picker: right-click.\n- Delete all pickers: Ctrl+Shift+right-click.\n- Revert to hand tool: right-click outside any picker. +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. !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_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. !TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;When setting manually, values above 65 are recommended. -!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output] +!TP_COLORAPP_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_FREE;Free temp + tint + CAT02/16 +[output] +!TP_COLORAPP_GEN;Settings +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. +!TP_COLORAPP_IL41;D41 +!TP_COLORAPP_IL50;D50 +!TP_COLORAPP_IL55;D55 +!TP_COLORAPP_IL60;D60 +!TP_COLORAPP_IL65;D65 +!TP_COLORAPP_IL75;D75 +!TP_COLORAPP_ILA;Incandescent StdA 2856K +!TP_COLORAPP_ILFREE;Free +!TP_COLORAPP_ILLUM;Illuminant +!TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. !TP_COLORAPP_MEANLUMINANCE;Mean luminance (Yb%) -!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. +!TP_COLORAPP_SURROUNDSRC;Surround +!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. +!TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. !TP_COLORTONING_LABGRID;L*a*b* color correction grid !TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4 !TP_COLORTONING_LABREGIONS;Color correction regions !TP_COLORTONING_LABREGION_ABVALUES;a=%1 b=%2 !TP_COLORTONING_LABREGION_LIGHTNESS;Lightness +!TP_CROP_GTCENTEREDSQUARE;Centered square !TP_CROP_GTHARMMEANS;Harmonic Means !TP_CROP_GTTRIANGLE1;Golden Triangles 1 !TP_CROP_GTTRIANGLE2;Golden Triangles 2 +!TP_DEHAZE_SATURATION;Saturation !TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Auto multi-zones !TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;Increase (multiply) the value of all chrominance sliders.\nThis curve lets you adjust the strength of chromatic noise reduction as a function of chromaticity, for instance to increase the action in areas of low saturation and to decrease it in those of high saturation. !TP_DIRPYRDENOISE_CHROMINANCE_METHODADVANCED_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. -!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the "Preview" method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. +!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the 'Preview' method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. !TP_DIRPYRDENOISE_CHROMINANCE_PMZ;Preview multi-zones !TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Displays the remaining noise levels of the part of the image visible in the preview after wavelet.\n\n>300 Very noisy\n100-300 Noisy\n50-100 A little noisy\n<50 Very low noise\n\nBeware, the values will differ between RGB and L*a*b* mode. The RGB values are less accurate because the RGB mode does not completely separate luminance and chrominance. !TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_INFO;Preview size=%1, Center: Px=%2 Py=%3 @@ -2173,28 +2966,895 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: - !TP_DIRPYRDENOISE_MEDIAN_METHOD_WEIGHTED;Weighted L* (little) + a*b* (normal) !TP_DIRPYRDENOISE_MEDIAN_PASSES_TOOLTIP;Applying three median filter iterations with a 3×3 window size often leads to better results than using one median filter iteration with a 7×7 window size. !TP_DIRPYRDENOISE_MEDIAN_TYPE_TOOLTIP;Apply a median filter of the desired window size. The larger the window's size, the longer it takes.\n\n3×3 soft: treats 5 pixels in a 3×3 pixel window.\n3×3: treats 9 pixels in a 3×3 pixel window.\n5×5 soft: treats 13 pixels in a 5×5 pixel window.\n5×5: treats 25 pixels in a 5×5 pixel window.\n7×7: treats 49 pixels in a 7×7 pixel window.\n9×9: treats 81 pixels in a 9×9 pixel window.\n\nSometimes it is possible to achieve higher quality running several iterations with a smaller window size than one iteration with a larger one. -!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_DISTORTION_AUTO_TOOLTIP;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_EXPOSURE_HISTMATCHING;Auto-Matched Tone Curve !TP_EXPOSURE_HISTMATCHING_TOOLTIP;Automatically adjust sliders and curves (except exposure compensation) to match the look of the embedded JPEG thumbnail. -!TP_FILMNEGATIVE_GREEN;Reference exponent (contrast) -!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. Set the white balance afterwards. +!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm +!TP_FILMNEGATIVE_COLORSPACE;Inversion color space: +!TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space +!TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. +!TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space +!TP_FILMNEGATIVE_GREEN;Reference exponent +!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green +!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. +!TP_FILMNEGATIVE_OUT_LEVEL;Output level +!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. !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_HLREC_HLBLUR;Blur !TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure !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 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 available if the selected DCP has one. +!TP_ICM_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 !TP_ICM_PROFILEINTENT;Rendering Intent +!TP_ICM_REDFRAME;Custom Primaries !TP_ICM_SAVEREFERENCE;Save Reference Image !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_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 +!TP_ICM_WORKING_TRC_LIN;Linear g=1 +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 !TP_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. +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ACTIVSPOT;Enable Spot +!TP_LOCALLAB_ADJ;Equalizer Color +!TP_LOCALLAB_AMOUNT;Amount +!TP_LOCALLAB_ARTIF;Shape detection +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOID;Avoid color shift +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALAN;ab-L balance (ΔE) +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALANH;C-H balance (ΔE) +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLCO;Chrominance only +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLINV;Inverse +!TP_LOCALLAB_BLLC;Luminance & Chrominance +!TP_LOCALLAB_BLLO;Luminance only +!TP_LOCALLAB_BLMED;Median +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNOI_EXP;Blur & Noise +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUFR;Blur/Grain & Denoise +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain +!TP_LOCALLAB_BLURCOL;Radius +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURDE;Blur shape detection +!TP_LOCALLAB_BLURLC;Luminance only +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +!TP_LOCALLAB_BUTTON_ADD;Add +!TP_LOCALLAB_BUTTON_DEL;Delete +!TP_LOCALLAB_BUTTON_DUPL;Duplicate +!TP_LOCALLAB_BUTTON_REN;Rename +!TP_LOCALLAB_BUTTON_VIS;Show/Hide +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +!TP_LOCALLAB_CAMMODE;CAM model +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CBDL;Contrast by Detail Levels +!TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. +!TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. +!TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. +!TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels +!TP_LOCALLAB_CENTER_X;Center X +!TP_LOCALLAB_CENTER_Y;Center Y +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMA;Chrominance +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACBDL;Chroma +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASKCOL;Chroma +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_CHRRT;Chroma +!TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIEC;Use Ciecam environment parameters +!TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +!TP_LOCALLAB_CIECOLORFRA;Color +!TP_LOCALLAB_CIECONTFRA;Contrast +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE;Change tool position +!TP_LOCALLAB_CIEMODE_COM;Default +!TP_LOCALLAB_CIEMODE_DR;Dynamic Range +!TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIEMODE_WAV;Wavelet +!TP_LOCALLAB_CIETOOLEXP;Curves +!TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIRCRADIUS;Spot size +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COFR;Color & Light +!TP_LOCALLAB_COLORDE;ΔE preview color - intensity +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +!TP_LOCALLAB_COLORSCOPE;Scope (color tools) +!TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +!TP_LOCALLAB_COLOR_CIE;Color curve +!TP_LOCALLAB_COLOR_TOOLNAME;Color & Light +!TP_LOCALLAB_COL_NAME;Name +!TP_LOCALLAB_COL_VIS;Status +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRAST;Contrast +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CONTTHR;Contrast Threshold +!TP_LOCALLAB_CONTWFRA;Local contrast +!TP_LOCALLAB_CSTHRESHOLD;Wavelet levels +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve +!TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DEHAFRA;Dehaze +!TP_LOCALLAB_DEHAZ;Strength +!TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. +!TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_EXP;Denoise +!TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. +!TP_LOCALLAB_DEPTH;Depth +!TP_LOCALLAB_DETAIL;Local contrast +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILSH;Details +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_DUPLSPOTNAME;Copy +!TP_LOCALLAB_EDGFRA;Edge sharpness +!TP_LOCALLAB_EDGSHOW;Show all tools +!TP_LOCALLAB_ELI;Ellipse +!TP_LOCALLAB_ENABLE_AFTER_MASK;Use Tone Mapping +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EPSBL;Detail +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EV_NVIS;Hide +!TP_LOCALLAB_EV_NVIS_ALL;Hide all +!TP_LOCALLAB_EV_VIS;Show +!TP_LOCALLAB_EV_VIS_ALL;Show all +!TP_LOCALLAB_EXCLUF;Excluding +!TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +!TP_LOCALLAB_EXCLUTYPE;Spot method +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXECLU;Excluding spot +!TP_LOCALLAB_EXFULL;Full image +!TP_LOCALLAB_EXNORM;Normal spot +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA;Chroma compensation +!TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. +!TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust color, lightness, contrast and correct small defects such as red-eye, sensor dust etc. +!TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ +!TP_LOCALLAB_EXPCOMPINV;Exposure compensation +!TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPCURV;Curves +!TP_LOCALLAB_EXPGRAD;Graduated Filter +!TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_EXPTOOL;Exposure Tools +!TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure +!TP_LOCALLAB_FATAMOUNT;Amount +!TP_LOCALLAB_FATANCHOR;Anchor +!TP_LOCALLAB_FATDETAIL;Detail +!TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). +!TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform +!TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform +!TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAM;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMFRA;Tone response curve (TRC) +!TP_LOCALLAB_GAMM;Gamma +!TP_LOCALLAB_GAMMASKCOL;Gamma +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMSH;Gamma +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADANG;Gradient angle +!TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. +!TP_LOCALLAB_GRADFRA;Graduated Filter Mask +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance +!TP_LOCALLAB_GRADSTR;Gradient strength +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRADSTRLUM;Luma gradient strength +!TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +!TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +!TP_LOCALLAB_GRIDONE;Color Toning +!TP_LOCALLAB_GRIDTWO;Direct +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER;Guided filter radius +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. +!TP_LOCALLAB_INVERS;Inverse +!TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_ISOGR;Distribution (ISO) +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLIGHT;Brightness +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSAT;Saturation +!TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABBLURM;Blur Mask +!TP_LOCALLAB_LABEL;Local Adjustments +!TP_LOCALLAB_LABGRID;Color correction grid +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV;Wavelet levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTNESS;Lightness +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LIGHTRETI;Lightness +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_NAME;Add tool to current spot... +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRAST;Local Contrast & Wavelets +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOG;Log Encoding +!TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments +!TP_LOCALLAB_LOG2FRA;Viewing Conditions +!TP_LOCALLAB_LOGAUTO;Automatic +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +!TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. +!TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGEXP;All tools +!TP_LOCALLAB_LOGFRA;Scene Conditions +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode). +!TP_LOCALLAB_LOGLIGHTL;Lightness (J) +!TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration. +!TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART;Overall strength +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LOG_TOOLNAME;Log Encoding +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMADARKEST;Darkest +!TP_LOCALLAB_LUMASK;Background color/luma mask +!TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). +!TP_LOCALLAB_LUMAWHITESEST;Lightest +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASK;Curves +!TP_LOCALLAB_MASK2;Contrast curve +!TP_LOCALLAB_MASKCOM;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDDECAY;Decay strength +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. +!TP_LOCALLAB_MASKRECOTHRES;Recovery threshold +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERCOL;Color +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOR;Color Dodge +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHI;Color Burn +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MODE_EXPERT;Advanced +!TP_LOCALLAB_MODE_NORMAL;Standard +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MRONE;None +!TP_LOCALLAB_MRTHR;Original Image +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NEIGH;Radius +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLDET;Detail recovery +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NLLUM;Strength +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NOISEMETH;Denoise +!TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. +!TP_LOCALLAB_NONENOISE;None +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_OFFS;Offset +!TP_LOCALLAB_OFFSETWAV;Offset +!TP_LOCALLAB_OPACOL;Opacity +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PASTELS2;Vibrance +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_PREVHIDE;Hide additional settings +!TP_LOCALLAB_PREVIEW;Preview ΔE +!TP_LOCALLAB_PREVSHOW;Show additional settings +!TP_LOCALLAB_PROXI;ΔE decay +!TP_LOCALLAB_QUAAGRES;Aggressive +!TP_LOCALLAB_QUACONSER;Conservative +!TP_LOCALLAB_QUALCURV_METHOD;Curve type +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS;Radius +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RECT;Rectangle +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name +!TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot +!TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESID;Residual Image +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RESIDHI;Highlights +!TP_LOCALLAB_RESIDHITHR;Highlights threshold +!TP_LOCALLAB_RESIDSHA;Shadows +!TP_LOCALLAB_RESIDSHATHR;Shadows threshold +!TP_LOCALLAB_RETI;Dehaze & Retinex +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex +!TP_LOCALLAB_REWEI;Reweighting iterates +!TP_LOCALLAB_RGB;RGB Tone Curve +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_ROW_NVIS;Not visible +!TP_LOCALLAB_ROW_VIS;Visible +!TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. +!TP_LOCALLAB_SATUR;Saturation +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSI;Scope +!TP_LOCALLAB_SENSIEXCLU;Scope +!TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +!TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +!TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. +!TP_LOCALLAB_SETTINGS;Settings +!TP_LOCALLAB_SH1;Shadows Highlights +!TP_LOCALLAB_SH2;Equalizer +!TP_LOCALLAB_SHADEX;Shadows +!TP_LOCALLAB_SHADEXCOMP;Shadow compression +!TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHAMASKCOL;Shadows +!TP_LOCALLAB_SHAPETYPE;RT-spot shape +!TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +!TP_LOCALLAB_SHARAMOUNT;Amount +!TP_LOCALLAB_SHARBLUR;Blur radius +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHARITER;Iterations +!TP_LOCALLAB_SHARP;Sharpening +!TP_LOCALLAB_SHARP_TOOLNAME;Sharpening +!TP_LOCALLAB_SHARRADIUS;Radius +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASK;Show mask +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise +!TP_LOCALLAB_SHOWMASKTYP2;Denoise +!TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWREF;Preview ΔE +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMAWAV;Attenuation response +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTM;Soft Light +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SOURCE_ABS;Absolute luminance +!TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_SPOTNAME;New Spot +!TP_LOCALLAB_STD;Standard +!TP_LOCALLAB_STR;Strength +!TP_LOCALLAB_STRBL;Strength +!TP_LOCALLAB_STREN;Compression strength +!TP_LOCALLAB_STRENG;Strength +!TP_LOCALLAB_STRENGR;Strength +!TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). +!TP_LOCALLAB_STRENGTH;Noise +!TP_LOCALLAB_STRGRID;Strength +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_TARGET_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM;Tone Mapping +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSIT;Transition Gradient +!TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY +!TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. +!TP_LOCALLAB_TRANSITVALUE;Transition value +!TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) +!TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WARM;Warm/Cool & Color artifacts +!TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the color temperature of the selected area warmer or cooler.\nIt can also reduce color artifacts in some cases. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAV;Local contrast +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVDEN;Luminance denoise +!TP_LOCALLAB_WAVE;Wavelets +!TP_LOCALLAB_WAVEDG;Local contrast +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK;Local contrast +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. !TP_PDSHARPENING_LABEL;Capture Sharpening +!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor +!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length +!TP_PERSPECTIVE_CAMERA_FRAME;Correction +!TP_PERSPECTIVE_CAMERA_PITCH;Vertical +!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_CAMERA_YAW;Horizontal +!TP_PERSPECTIVE_CONTROL_LINES;Control lines +!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +!TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. +!TP_PERSPECTIVE_METHOD;Method +!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based +!TP_PERSPECTIVE_METHOD_SIMPLE;Simple +!TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment +!TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +!TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +!TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +!TP_PERSPECTIVE_RECOVERY_FRAME;Recovery !TP_PREPROCESS_LINEDENOISE_DIRECTION_PDAF_LINES;Horizontal only on PDAF rows !TP_PREPROCESS_PDAFLINESFILTER;PDAF lines filter -!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the "Lanczos" resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. -!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if "Auto-correction" is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. +!TP_PREPROCWB_LABEL;Preprocess White Balance +!TP_PREPROCWB_MODE;Mode +!TP_PREPROCWB_MODE_AUTO;Auto +!TP_PREPROCWB_MODE_CAMERA;Camera +!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the 'Lanczos' resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. +!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if 'Auto-correction' is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear !TP_RAW_BORDER;Border +!TP_RAW_DCBBILINEAR;DCB+Bilinear !TP_RAW_DUALDEMOSAICAUTOCONTRAST_TOOLTIP;If the checkbox is checked (recommended), RawTherapee calculates an optimum value based on flat regions in the image.\nIf there is no flat region in the image or the image is too noisy, the value will be set to 0.\nTo set the value manually, uncheck the checkbox first (reasonable values depend on the image). !TP_RAW_HD_TOOLTIP;Lower values make hot/dead pixel detection more aggressive, but false positives may lead to artifacts. If you notice any artifacts appearing when enabling the Hot/Dead Pixel Filters, gradually increase the threshold value until they disappear. !TP_RAW_IMAGENUM;Sub-image @@ -2202,6 +3862,8 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: - !TP_RAW_IMAGENUM_TOOLTIP;Some raw files consist of several sub-images (Pentax/Sony Pixel Shift, Pentax 3-in-1 HDR, Canon Dual Pixel, Fuji EXR).\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_NONE;None (Shows sensor pattern) !TP_RAW_PIXELSHIFT;Pixel Shift +!TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTEPERISO_TOOLTIP;The default value of 0 should work fine for base ISO.\nHigher values increase sensitivity of motion detection.\nChange in small steps and watch the motion mask while changing.\nIncrease sensitivity for underexposed or high ISO images. !TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL;Equalize per channel !TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL_TOOLTIP;Enabled: Equalize the RGB channels individually.\nDisabled: Use same equalization factor for all channels. @@ -2210,21 +3872,26 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: - !TP_RAW_PIXELSHIFTMEDIAN_TOOLTIP;Use median of all frames instead of selected frame for regions with motion.\nRemoves objects which are at different places in all frames.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTSHOWMOTION_TOOLTIP;Overlays the image with a green mask showing the regions with motion. !TP_RAW_PIXELSHIFTSIGMA_TOOLTIP;The default radius of 1.0 usually fits well for base ISO.\nIncrease the value for high ISO shots, 5.0 is a good starting point.\nWatch the motion mask while changing the value. -!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether "Use LMMSE" is selected), or the median of all four frames if "Use median" is selected. +!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether 'Use LMMSE' is selected), or the median of all four frames if 'Use median' is selected. +!TP_RAW_RCDBILINEAR;RCD+Bilinear +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge !TP_RETINEX_CURVEEDITOR_CD_TOOLTIP;Luminance according to luminance L=f(L)\nCorrect raw data to reduce halos and artifacts. -!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the "Highlight" retinex method. +!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the 'Highlight' retinex method. !TP_RETINEX_CURVEEDITOR_MAP_TOOLTIP;This curve can be applied alone or with a Gaussian mask or wavelet mask.\nBeware of artifacts! !TP_RETINEX_FREEGAMMA;Free gamma !TP_RETINEX_GAINOFFS;Gain and Offset (brightness) !TP_RETINEX_GAINTRANSMISSION;Gain transmission -!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplify or reduce the transmission map to achieve the desired luminance.\nThe x-axis is the transmission.\nThe y-axis is the gain. +!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Increase or reduce the transmission map to achieve the desired luminance. The x-axis is the transmission. The y-axis is the gain. !TP_RETINEX_GAMMA_TOOLTIP;Restore tones by applying gamma before and after Retinex. Different from Retinex curves or others curves (Lab, Exposure, etc.). !TP_RETINEX_GRAD;Transmission gradient !TP_RETINEX_GRADS;Strength gradient !TP_RETINEX_GRADS_TOOLTIP;If slider at 0, all iterations are identical.\nIf > 0 Strength is reduced when iterations increase, and conversely. !TP_RETINEX_GRAD_TOOLTIP;If slider at 0, all iterations are identical.\nIf > 0 Variance and Threshold are reduced when iterations increase, and conversely. !TP_RETINEX_HIGHLIG;Highlight -!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust "Neighboring pixels" and to increase the "White-point correction" in the Raw tab -> Raw White Points tool. +!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust 'Neighboring pixels' and to increase the 'White-point correction' in the Raw tab -> Raw White Points tool. !TP_RETINEX_ITER;Iterations (Tone-mapping) !TP_RETINEX_ITERF;Tone mapping !TP_RETINEX_ITER_TOOLTIP;Simulate a tone-mapping operator.\nHigh values increase the processing time. @@ -2233,89 +3900,185 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: - !TP_RETINEX_MAP_METHOD_TOOLTIP;Use the mask generated by the Gaussian function above (Radius, Method) to reduce halos and artifacts.\n\nCurve only: apply a diagonal contrast curve on the mask.\nBeware of artifacts!\n\nGaussian mask: generate and use a Gaussian blur of the original mask.\nQuick.\n\nSharp mask: generate and use a wavelet on the original mask.\nSlow. !TP_RETINEX_MEDIAN;Transmission median filter !TP_RETINEX_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Equalize action.\nHigh = Reinforce high light.\nHighlights = Remove magenta in highlights. -!TP_RETINEX_MLABEL;Restored haze-free Min=%1 Max=%2 -!TP_RETINEX_MLABEL_TOOLTIP;Should be near min=0 max=32768\nRestored image with no mixture. -!TP_RETINEX_NEUTRAL_TIP;Reset all sliders and curves to their default values. +!TP_RETINEX_MLABEL;Restored data Min=%1 Max=%2 +!TP_RETINEX_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_RETINEX_NEUTRAL_TOOLTIP;Reset all sliders and curves to their default values. !TP_RETINEX_SCALES;Gaussian gradient !TP_RETINEX_SCALES_TOOLTIP;If slider at 0, all iterations are identical.\nIf > 0 Scale and radius are reduced when iterations increase, and conversely. !TP_RETINEX_SLOPE;Free gamma slope !TP_RETINEX_THRESHOLD_TOOLTIP;Limits in/out.\nIn = image source,\nOut = image gauss. -!TP_RETINEX_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sigma=%4 -!TP_RETINEX_TLABEL2;TM Tm=%1 TM=%2 -!TP_RETINEX_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nMean and Sigma.\nTm=Min TM=Max of transmission map. +!TP_RETINEX_TLABEL;TM Datas Min=%1 Max=%2 Mean=%3 Sigma=%4 +!TP_RETINEX_TLABEL2;TM Effective Tm=%1 TM=%2 +!TP_RETINEX_TLABEL_TOOLTIP;ransmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. !TP_RETINEX_TRANF;Transmission !TP_RETINEX_TRANSMISSION;Transmission map !TP_RETINEX_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positives values (max).\nOrdinate: amplification or reduction. !TP_RETINEX_VARIANCE_TOOLTIP;Low variance increase local contrast and saturation, but can lead to artifacts. -!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. +!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. !TP_RETINEX_VIEW_TRAN;Transmission - Auto !TP_RETINEX_VIEW_TRAN2;Transmission - Fixed !TP_SHARPENING_ITERCHECK;Auto limit iterations !TP_SHARPENING_RADIUS_BOOST;Corner radius boost !TP_SOFTLIGHT_LABEL;Soft Light +!TP_SPOT_COUNTLABEL;%1 point(s) +!TP_SPOT_DEFAULT_SIZE;Default spot size +!TP_SPOT_ENTRYCHANGED;Point changed +!TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its center then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. +!TP_SPOT_LABEL;Spot Removal !TP_TM_FATTAL_ANCHOR;Anchor !TP_WAVELET_B2;Residual !TP_WAVELET_BALANCE;Contrast balance d/v-h !TP_WAVELET_BALANCE_TOOLTIP;Alters the balance between the wavelet directions: vertical-horizontal and diagonal.\nIf contrast, chroma or residual tone mapping are activated, the effect due to balance is amplified. +!TP_WAVELET_BALCHROM;Equalizer Color !TP_WAVELET_BALCHRO_TOOLTIP;If enabled, the 'Contrast balance' curve or slider also modifies chroma balance. -!TP_WAVELET_CB_TOOLTIP;For strong values product color-toning by combining it or not with levels decomposition 'toning'\nFor low values you can change the white balance of the background (sky, ...) without changing that of the front plane, generally more contrasted +!TP_WAVELET_BALLUM;Denoise equalizer White-Black +!TP_WAVELET_BL;Blur levels +!TP_WAVELET_BLCURVE;Blur by levels +!TP_WAVELET_BLURFRAME;Blur +!TP_WAVELET_BLUWAV;Attenuation response +!TP_WAVELET_CB_TOOLTIP;With high values you can create special effects, similar to those achieved with the Chroma Module, but focused on the residual image\nWith moderate values you can manually correct the white balance. !TP_WAVELET_CHR;Chroma-contrast link strength !TP_WAVELET_CHRO;Saturated/pastel threshold +!TP_WAVELET_CHROFRAME;Denoise chrominance +!TP_WAVELET_CHROMAFRAME;Chroma +!TP_WAVELET_CHROMCO;Chrominance Coarse +!TP_WAVELET_CHROMFI;Chrominance Fine !TP_WAVELET_CHRO_TOOLTIP;Sets the wavelet level which will be the threshold between saturated and pastel colors.\n1-x: saturated\nx-9: pastel\n\nIf the value exceeds the amount of wavelet levels you are using then it will be ignored. -!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of "contrast levels" and "chroma-contrast link strength" +!TP_WAVELET_CHRWAV;Blur chroma +!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of 'contrast levels' and 'chroma-contrast link strength'. !TP_WAVELET_CHTYPE;Chrominance method -!TP_WAVELET_COLORT;Opacity Red-Green +!TP_WAVELET_CLA;Clarity +!TP_WAVELET_CLARI;Sharp-mask and Clarity +!TP_WAVELET_COLORT;Opacity red-green +!TP_WAVELET_COMPEXPERT;Advanced !TP_WAVELET_COMPGAMMA_TOOLTIP;Adjusting the gamma of the residual image allows you to equilibrate the data and histogram. +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. +!TP_WAVELET_COMPNORMAL;Standard !TP_WAVELET_COMPTM;Tone mapping !TP_WAVELET_CONTEDIT;'After' contrast curve -!TP_WAVELET_CONTRA_TOOLTIP;Changes contrast of the residual image. +!TP_WAVELET_CONTFRAME;Contrast - Compression +!TP_WAVELET_CONTRA_TOOLTIP;Changes the residual image contrast. +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. !TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;Modifies local contrast as a function of the original local contrast (abscissa).\nLow abscissa values represent small local contrast (real values about 10..20).\n50% abscissa represents average local contrast (real value about 100..300).\n66% abscissa represents standard deviation of local contrast (real value about 300..800).\n100% abscissa represents maximum local contrast (real value about 3000..8000). !TP_WAVELET_CURVEEDITOR_CH;Contrast levels=f(Hue) !TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Modifies each level's contrast as a function of hue.\nTake care not to overwrite changes made with the Gamut sub-tool's hue controls.\nThe curve will only have an effect when wavelet contrast level sliders are non-zero. -!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast luminance curve at the end of the wavelet treatment. -!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image's hue as a function of hue. +!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast-luminance curve at the end of the wavelet processing. +!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image hue as a function of hue. !TP_WAVELET_DAUB;Edge performance -!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the firsts levels. However the quality is not strictly related to this coefficient and can vary with images and uses. -!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+stdev and maxima. +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the first levels. However the quality is not strictly related to this coefficient and can vary depending on image and use. +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENOISEHUE;Denoise hue equalizer +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_DIRFRAME;Directional contrast +!TP_WAVELET_EDEFFECT;Attenuation response +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. +!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+std. dev. and maxima. !TP_WAVELET_EDGEAMPLI;Base amplification !TP_WAVELET_EDGEDETECT;Gradient sensitivity -!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This adjuster lets you target edge detection for example to avoid applying edge sharpness to fine details, such as noise in the sky. +!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This slider sets a threshold below which finer details won't be considered as an edge. !TP_WAVELET_EDGEDETECT_TOOLTIP;Moving the slider to the right increases edge sensitivity. This affects local contrast, edge settings and noise. !TP_WAVELET_EDGESENSI;Edge sensitivity !TP_WAVELET_EDGREINF_TOOLTIP;Reinforce or reduce the action of the first level, do the opposite to the second level, and leave the rest unchanged. !TP_WAVELET_EDGTHRESH_TOOLTIP;Change the repartition between the first levels and the others. The higher the threshold the more the action is centered on the first levels. Be careful with negative values, they increase the action of high levels and can introduce artifacts. -!TP_WAVELET_EDRAD_TOOLTIP;This radius adjustment is very different from those in other sharpening tools. Its value is compared to each level through a complex function. In this sense, a value of zero still has an effect. +!TP_WAVELET_EDRAD_TOOLTIP;This adjustment controls the local enhancement. A value of zero still has an effect. +!TP_WAVELET_FINCFRAME;Final local contrast +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) !TP_WAVELET_HUESKIN_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. !TP_WAVELET_HUESKY_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. !TP_WAVELET_ITER;Delta balance levels !TP_WAVELET_ITER_TOOLTIP;Left: increase low levels and reduce high levels,\nRight: reduce low levels and increase high levels. -!TP_WAVELET_LABEL;Wavelet Levels +!TP_WAVELET_LABEL;Wavelet levels +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 !TP_WAVELET_LARGEST;Coarsest -!TP_WAVELET_LEVDIR_ALL;All levels in all directions -!TP_WAVELET_LEVDIR_INF;Below or equal the level +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVDIR_ALL;All levels, in all directions +!TP_WAVELET_LEVDIR_INF;Finer detail levels, including selected level !TP_WAVELET_LEVDIR_ONE;One level -!TP_WAVELET_LEVDIR_SUP;Above the level +!TP_WAVELET_LEVDIR_SUP;Coarser detail levels, excluding selected level +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 !TP_WAVELET_LEVELS;Wavelet levels -!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of detail levels the image is to be decomposed into. More levels require more RAM and require a longer processing time. +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of wavelet decomposition levels for the image.\nMore levels require more RAM and require a longer processing time. +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold !TP_WAVELET_LEVLABEL;Preview maximum possible levels = %1 +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. !TP_WAVELET_MEDILEV_TOOLTIP;When you enable Edge Detection, it is recommanded:\n- to disabled low contrast levels to avoid artifacts,\n- to use high values of gradient sensitivity.\n\nYou can modulate the strength with 'refine' from Denoise and Refine. +!TP_WAVELET_MERGEC;Merge chroma +!TP_WAVELET_MERGEL;Merge luma +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise !TP_WAVELET_NOISE;Denoise and Refine !TP_WAVELET_NPTYPE_TOOLTIP;This algorithm uses the proximity of a pixel and eight of its neighbors. If less difference, edges are reinforced. -!TP_WAVELET_OPACITY;Opacity Blue-Yellow +!TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. +!TP_WAVELET_OLDSH;Algorithm using negatives values +!TP_WAVELET_OPACITY;Opacity blue-yellow !TP_WAVELET_OPACITYW;Contrast balance d/v-h curve -!TP_WAVELET_OPACITYWL;Final local contrast +!TP_WAVELET_OPACITYWL;Local contrast !TP_WAVELET_OPACITYWL_TOOLTIP;Modify the final local contrast at the end of the wavelet treatment.\n\nThe left side represents the smallest local contrast, progressing to the largest local contrast on the right. +!TP_WAVELET_PROTAB;Protection +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_RADIUS;Radius shadows - highlight +!TP_WAVELET_RANGEAB;Range a and b % +!TP_WAVELET_RESBLUR;Blur luminance +!TP_WAVELET_RESBLURC;Blur chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. !TP_WAVELET_RESID;Residual Image !TP_WAVELET_SETTINGS;Wavelet Settings +!TP_WAVELET_SHA;Sharp mask +!TP_WAVELET_SHFRAME;Shadows/Highlights +!TP_WAVELET_SHOWMASK;Show wavelet 'mask' +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_SIGMA;Attenuation response +!TP_WAVELET_SIGMAFIN;Attenuation response +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. !TP_WAVELET_SKIN;Skin targetting/protection !TP_WAVELET_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. -!TP_WAVELET_SKY_TOOLTIP;At -100 sky-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 sky-tones are protected while all other tones are affected. -!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels between 9 and 9 minus the value will be affected by the shadow luminance range. Other levels will be fully treated. The highest level possible is limited by the highlight level value (9 minus highlight level value). -!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels beyond the chosen value will be affected by the highlight luminance range. Other levels will be fully treated. The chosen value here limits the highest possible value of the shadow levels. -!TP_WAVELET_TILESBIG;Big tiles +!TP_WAVELET_SKY_TOOLTIP;Allows you to target or protect a range of hues.\nAt -100 selected hues are targetted.\nAt 0 all hues are treated equally.\nAt +100 selected hues are protected while all other hues are targetted. +!TP_WAVELET_SOFTRAD;Soft radius +!TP_WAVELET_STREND;Strength +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels from the chosen value to the selected number of 'wavelet levels' will be affected by the Shadow luminance range. +!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels below and including the chosen value will be affected by the Highlight luminance range. +!TP_WAVELET_TILESBIG;Tiles !TP_WAVELET_TILESFULL;Full image !TP_WAVELET_TILESIZE;Tiling method -!TP_WAVELET_TILESLIT;Little tiles !TP_WAVELET_TILES_TOOLTIP;Processing the full image leads to better quality and is the recommended option, while using tiles is a fall-back solution for users with little RAM. Refer to RawPedia for memory requirements. -!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out. -!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias". +!TP_WAVELET_TMEDGS;Edge stopping +!TP_WAVELET_TMSCALE;Scale +!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. +!TP_WAVELET_TONFRAME;Excluded colors +!TP_WAVELET_USH;None +!TP_WAVELET_USHARP;Clarity method +!TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. +!TP_WAVELET_WAVLOWTHR;Low contrast threshold +!TP_WAVELET_WAVOFFSET;Offset +!TP_WBALANCE_AUTOITCGREEN;Temperature correlation +!TP_WBALANCE_AUTOOLD;RGB grey +!TP_WBALANCE_AUTO_HEADER;Automatic +!TP_WBALANCE_STUDLABEL;Correlation factor: %1 +!TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. +!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the 'auto white balance'\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by 'computedTemp + computedTemp * bias'. diff --git a/rtdata/languages/Portugues b/rtdata/languages/Portugues index 0896214a0..09d3aa790 100644 --- a/rtdata/languages/Portugues +++ b/rtdata/languages/Portugues @@ -102,7 +102,7 @@ EXPORT_PIPELINE;Preparação do processamento EXPORT_PUTTOQUEUEFAST; Colocar na fila para exportação rápida EXPORT_RAW_DMETHOD;Método de desmatrização EXPORT_USE_FAST_PIPELINE;Dedicado (processamento completo na imagem redimensionada) -EXPORT_USE_FAST_PIPELINE_TIP;Usar uma preparação de processamento dedicado para imagens no modo de exportação rápida, que troca velocidade pela qualidade. O redimensionamento da imagem é feito o mais cedo possível, em vez de fazê-lo no fim, como na preparação normal. O aumento de velocidade pode ser significativo, mas esteja preparado para ver artefactos e uma degradação geral da qualidade de saída. +EXPORT_USE_FAST_PIPELINE_TOOLTIP;Usar uma preparação de processamento dedicado para imagens no modo de exportação rápida, que troca velocidade pela qualidade. O redimensionamento da imagem é feito o mais cedo possível, em vez de fazê-lo no fim, como na preparação normal. O aumento de velocidade pode ser significativo, mas esteja preparado para ver artefactos e uma degradação geral da qualidade de saída. EXPORT_USE_NORMAL_PIPELINE;Padrão (ignorar algumas etapas, redimensionar no fim) EXTPROGTARGET_1;raw EXTPROGTARGET_2;processado na fila @@ -237,13 +237,11 @@ HISTOGRAM_TOOLTIP_G;Mostrar histograma verde. HISTOGRAM_TOOLTIP_L;Mostrar histograma de luminância CIELab. HISTOGRAM_TOOLTIP_MODE;Alternar entre redimensionar linear, log-linear e log-log do histograma. HISTOGRAM_TOOLTIP_R;Mostrar histograma vermelho. -HISTOGRAM_TOOLTIP_RAW;Mostrar histograma raw. HISTORY_CHANGED;Alterado HISTORY_CUSTOMCURVE;Curva personalizada HISTORY_FROMCLIPBOARD;Da área de transferência HISTORY_LABEL;Histórico HISTORY_MSG_1;Foto carregada -HISTORY_MSG_2;PP3 carregado HISTORY_MSG_3;PP3 alterado HISTORY_MSG_4;Histórico de navegação HISTORY_MSG_5;Exposição - Claridade @@ -257,9 +255,6 @@ HISTORY_MSG_12;Exposição - Níveis automáticos HISTORY_MSG_13;Exposição - Cortado HISTORY_MSG_14;L*a*b* - Claridade HISTORY_MSG_15;L*a*b* - Contraste -HISTORY_MSG_16;- -HISTORY_MSG_17;- -HISTORY_MSG_18;- HISTORY_MSG_19;L*a*b* - Curva L* HISTORY_MSG_20;Nitidez HISTORY_MSG_21;Nitidez - Raio @@ -285,10 +280,6 @@ HISTORY_MSG_40;Balanço de brancos - Tingimento HISTORY_MSG_41;Exposição - Modo de curva de tom 1 HISTORY_MSG_42;Exposição - Curva de tom 2 HISTORY_MSG_43;Exposição - Modo de curva de tom 2 -HISTORY_MSG_44;Raio de redução de ruídos da luminância -HISTORY_MSG_45;Tolerância de bordas da redução de ruídos da luminância -HISTORY_MSG_46;Redução de ruídos da cor -HISTORY_MSG_47;Misturar as altas luzes ICC com a matriz HISTORY_MSG_48;DCP - Curva de tom HISTORY_MSG_49;DCP iluminante HISTORY_MSG_50;Sombras/altas luzes @@ -296,7 +287,6 @@ HISTORY_MSG_51;Sombras/altas luzes - Altas luzes HISTORY_MSG_52;Sombras/altas luzes - Sombras HISTORY_MSG_53;Sombras/altas luzes - Largura tonal das altas luzes HISTORY_MSG_54;Sombras/altas luzes - Largura tonal das sombras -HISTORY_MSG_55;Sombras/altas luzes - Contraste local HISTORY_MSG_56;Sombras/altas luzes - Raio HISTORY_MSG_57;Rotação em ângulos retos HISTORY_MSG_58;Espelhamento horizontal @@ -308,7 +298,6 @@ HISTORY_MSG_63;Instantâneo selecionado HISTORY_MSG_64;Cortar HISTORY_MSG_65;Correção de aberração cromática HISTORY_MSG_66;Exposição - Reconstrução das altas luzes -HISTORY_MSG_67;Exposição - Quantidade de Reconstrução das altas luzes HISTORY_MSG_68;Exposição - Método de Reconstrução das altas luzes HISTORY_MSG_69;Espaço de cor de trabalho HISTORY_MSG_70;Espaço de cor de saída @@ -319,12 +308,10 @@ HISTORY_MSG_74;Redimensionar - Escala HISTORY_MSG_75;Redimensionar - Método HISTORY_MSG_76;Metadados Exif HISTORY_MSG_77;Metadados IPTC -HISTORY_MSG_78;- HISTORY_MSG_79;Redimensionar - Largura HISTORY_MSG_80;Redimensionar - Altura HISTORY_MSG_81;Redimensionar HISTORY_MSG_82;Perfil alterado -HISTORY_MSG_83;Sombras/altas luzes - Máscara de nitidez HISTORY_MSG_84;Correção de perspetiva HISTORY_MSG_85;Correção da lente - Ficheiro LCP HISTORY_MSG_86;Curvas RGB - Modo de luminosidade @@ -371,12 +358,6 @@ HISTORY_MSG_127;Campo plano - Seleção automática HISTORY_MSG_128;Campo plano - Raio de desfocagem HISTORY_MSG_129;Campo plano - Tipo de desfocagem HISTORY_MSG_130;Correção automática de distorção -HISTORY_MSG_131;Redução de ruído - Luminância -HISTORY_MSG_132;Redução de ruído - Crominância -HISTORY_MSG_133;Gama de saída -HISTORY_MSG_134;Gama livre -HISTORY_MSG_135;Gama livre -HISTORY_MSG_136;Declive de gama livre HISTORY_MSG_137;Nível preto - Verde 1 HISTORY_MSG_138;Nível preto - Vermelho HISTORY_MSG_139;Nível preto - Azul @@ -489,7 +470,6 @@ HISTORY_MSG_246;L*a*b* - Curva CL HISTORY_MSG_247;L*a*b* - Curva LH HISTORY_MSG_248;L*a*b* - Curva HH HISTORY_MSG_249;Contraste p/níveis detalhe - Limite -HISTORY_MSG_250;Redução de ruído - Melhorado HISTORY_MSG_251;PeB - Algoritmo HISTORY_MSG_252;Contraste p/níveis detalhe - Afetar/proteger cor da pele HISTORY_MSG_253;Contraste p/níveis detalhe - Reduzir artefactos @@ -513,8 +493,6 @@ HISTORY_MSG_270;Tonificação de cor - Alto - Verde HISTORY_MSG_271;Tonificação de cor - Alto - Azul HISTORY_MSG_272;Tonificação de cor - Balanço HISTORY_MSG_273;Tonificação de cor - Balanço de cor SMH -HISTORY_MSG_274;Tonificação de cor - Saturação das sombras -HISTORY_MSG_275;Tonificação de cor - Saturação das altas luzes HISTORY_MSG_276;Tonificação de cor - Opacidade HISTORY_MSG_277;--não utilizado-- HISTORY_MSG_278;Tonificação de cor - Preservar luminância @@ -539,7 +517,6 @@ HISTORY_MSG_296;Redução de ruído - Curva de luminância HISTORY_MSG_297;Redução de ruído - Modo HISTORY_MSG_298;Filtro de píxeis mortos HISTORY_MSG_299;Redução de ruído - Curva de crominância -HISTORY_MSG_300;- HISTORY_MSG_301;Redução de ruído - Controlo de luminância HISTORY_MSG_302;Redução de ruído - Método de crominância HISTORY_MSG_303;Redução de ruído - Método de crominância @@ -648,7 +625,6 @@ HISTORY_MSG_405;Wavelet - Remover ruído - Nível 4 HISTORY_MSG_406;Wavelet - Nitidez da borda - Píxeis vizinhos HISTORY_MSG_407;Retinex - Método HISTORY_MSG_408;Retinex - Raio -HISTORY_MSG_409;Retinex - Contraste HISTORY_MSG_410;Retinex - Deslocamento HISTORY_MSG_411;Retinex - Intensidade HISTORY_MSG_412;Retinex - Gradiente gaussiano @@ -696,7 +672,6 @@ HISTORY_MSG_468;PS - Preencher buracos HISTORY_MSG_469;PS - Mediano HISTORY_MSG_471;PS - Correção de movimento HISTORY_MSG_472;PS - Transições suaves -HISTORY_MSG_473;PS - Usar LMMSE HISTORY_MSG_474;PS - Equalizar HISTORY_MSG_475;PS - Equalizar canal HISTORY_MSG_476;CAM02 - Saída - Temperatura @@ -1203,7 +1178,7 @@ PROFILEPANEL_GLOBALPROFILES;Perfis incluídos PROFILEPANEL_LABEL;Perfis de processamento PROFILEPANEL_LOADDLGLABEL;Carregar parâmetros de processamento... PROFILEPANEL_LOADPPASTE;Parâmetros a carregar -PROFILEPANEL_MODE_TIP;Modo de preenchimento do perfil de processamento.\n\nBotão pressionado: os perfis parciais serão convertidos em perfis completos; os valores que faltam serão substituídos pelos padrões codificados.\n\nBotão largado: os perfis serão aplicados como estão, alterando apenas os valores que eles contêm. +PROFILEPANEL_MODE_TOOLTIP;Modo de preenchimento do perfil de processamento.\n\nBotão pressionado: os perfis parciais serão convertidos em perfis completos; os valores que faltam serão substituídos pelos padrões codificados.\n\nBotão largado: os perfis serão aplicados como estão, alterando apenas os valores que eles contêm. PROFILEPANEL_MYPROFILES;Meus perfis PROFILEPANEL_PASTEPPASTE;Parâmetros a colar PROFILEPANEL_PCUSTOM;Personalizado @@ -1390,7 +1365,6 @@ TP_COLORAPP_DATACIE;Histogramas de saída CIECAM02 em curvas TP_COLORAPP_DATACIE_TOOLTIP;Quando ativado, os histogramas em curvas do CIECAM02 mostram valores/intervalos aproximados para J ou Q, e C, s ou M após os ajustes do CIECAM02.\nEsta seleção não afeta o painel principal do histograma.\n\nQuando desativado, os histogramas em curvas do CIECAM02 mostram os valores L*a*b* antes dos ajustes do CIECAM02. TP_COLORAPP_FREE;Temp+verde livre + CAT02 + [saída] TP_COLORAPP_GAMUT;Controlo da gama (L*a*b*) -TP_COLORAPP_GAMUT_TOOLTIP;Permitir controlo da gama no modo L*a*b*. TP_COLORAPP_HUE;Matiz (h) TP_COLORAPP_HUE_TOOLTIP;Matiz (h) - ângulo entre 0° e 360°. TP_COLORAPP_LABEL;Modelo de aparência de cor CIE 2002 @@ -1403,7 +1377,7 @@ TP_COLORAPP_MEANLUMINANCE;Luminância média (Yb%) TP_COLORAPP_MODEL;Modelo de ponto branco TP_COLORAPP_MODEL_TOOLTIP;Modelo de ponto branco.\n\nBalanço brancos [RT] + [saída]: o balanço de brancos do RT é usado para a cena, o CIECAM02 está definido para D50 e o balanço de brancos do dispositivo de saída é definido em condições de visualização.\n\nBalanço brancos [RT+CAT02] + [saída]: as configurações de balanço de brancos do RT são usadas pelo CAT02 e o balanço de brancos do dispositivo de saída é definido em condições de visualização.\n\nTemp+verde livre + CAT02 + [saída]: temp e verde são selecionados pelo utilizador, o balanço de brancos do dispositivo de saída é definido em condições de visualização. TP_COLORAPP_NEUTRAL;Repor -TP_COLORAPP_NEUTRAL_TIP;Repor todas as caixas de seleção dos controlos deslizantes e as curvas para os seus valores padrão +TP_COLORAPP_NEUTRAL_TOOLTIP;Repor todas as caixas de seleção dos controlos deslizantes e as curvas para os seus valores padrão TP_COLORAPP_RSTPRO;Proteção do vermelho e cor da pele TP_COLORAPP_RSTPRO_TOOLTIP;Vermelho e proteção de cor da pele afeta os controlos deslizantes e as curvas. TP_COLORAPP_SURROUND;Ambiente @@ -1465,7 +1439,7 @@ TP_COLORTONING_METHOD;Método TP_COLORTONING_METHOD_TOOLTIP;"Mistura L*a*b*", "Controlos deslizantes RGB" e "Curvas RGB" usam mistura de cores interpoladas.\n"Balanço de cor (sombras/meios tons/altas luzes)" e "Saturação 2 cores" usa cores diretas.\n\nA ferramenta preto e branco pode ser ativada ao usar qualquer método, o que permite a tonificação de cores. TP_COLORTONING_MIDTONES;Meios tons TP_COLORTONING_NEUTRAL;Repor os controlos deslizantes -TP_COLORTONING_NEUTRAL_TIP;Repor todos os valores padrão (sombras, meios tons, altas luzes). +TP_COLORTONING_NEUTRAL_TOOLTIP;Repor todos os valores padrão (sombras, meios tons, altas luzes). TP_COLORTONING_OPACITY;Opacidade TP_COLORTONING_RGBCURVES;RGB - Curvas TP_COLORTONING_RGBSLIDERS;RGB - Controlos deslizantes @@ -1579,7 +1553,7 @@ TP_DIRPYREQUALIZER_SKIN_TOOLTIP;Com -100 afeta as cores da pele.\nCom 0 todos os TP_DIRPYREQUALIZER_THRESHOLD;Limite TP_DIRPYREQUALIZER_TOOLTIP;Tenta reduzir os artefactos nas transições entre as cores da pele (matiz, croma, luminância) e o resto da imagem. TP_DISTORTION_AMOUNT;Quantidade -TP_DISTORTION_AUTO_TIP;Corrige automaticamente a distorção da lente em ficheiros RAW, combinando-a com a imagem JPEG incorporada, caso exista, e tenha sua distorção de lente corrigida automaticamente pela câmara. +TP_DISTORTION_AUTO_TOOLTIP;Corrige automaticamente a distorção da lente em ficheiros RAW, combinando-a com a imagem JPEG incorporada, caso exista, e tenha sua distorção de lente corrigida automaticamente pela câmara. TP_DISTORTION_LABEL;Correção de distorção TP_EPD_EDGESTOPPING;Paragem nas bordas TP_EPD_GAMMA;Gama @@ -1588,12 +1562,12 @@ TP_EPD_REWEIGHTINGITERATES;Reponderando iterações TP_EPD_SCALE;Escala TP_EPD_STRENGTH;Intensidade TP_EXPOSURE_AUTOLEVELS;Níveis automáticos -TP_EXPOSURE_AUTOLEVELS_TIP;Alterna a execução dos níveis automáticos para definir automaticamente os valores do controlo deslizante da exposição baseado numa análise de imagem.\nAtiva a reconstrução das altas luzes se necessário. +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Alterna a execução dos níveis automáticos para definir automaticamente os valores do controlo deslizante da exposição baseado numa análise de imagem.\nAtiva a reconstrução das altas luzes se necessário. TP_EXPOSURE_BLACKLEVEL;Preto TP_EXPOSURE_BRIGHTNESS;Claridade TP_EXPOSURE_CLAMPOOG;Cortar cores fora da gama TP_EXPOSURE_CLIP;% de corte -TP_EXPOSURE_CLIP_TIP;A fração de píxeis a ser cortada na operação níveis automáticos. +TP_EXPOSURE_CLIP_TOOLTIP;A fração de píxeis a ser cortada na operação níveis automáticos. TP_EXPOSURE_COMPRHIGHLIGHTS;Compressão das altas luzes TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Limite de compressão de altas luzes TP_EXPOSURE_COMPRSHADOWS;Compressão das sombras @@ -1730,7 +1704,7 @@ TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminância de acordo com a matiz L=f(H) TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminância de acordo com a luminância L=f(L) TP_LABCURVE_LABEL;Ajustes L*a*b* TP_LABCURVE_LCREDSK;Restringir o LC aos tons vermelhos e cor da pele -TP_LABCURVE_LCREDSK_TIP;Se ativada, a curva LC afeta apenas os tons vermelhos e tons de pele.\nSe desativado, aplica-se a todos os tons. +TP_LABCURVE_LCREDSK_TOOLTIP;Se ativada, a curva LC afeta apenas os tons vermelhos e tons de pele.\nSe desativado, aplica-se a todos os tons. TP_LABCURVE_RSTPROTECTION;Proteção de tons vermelhos e tons de pele TP_LABCURVE_RSTPRO_TOOLTIP;Funciona no controlo deslizante de cromaticidade e na curva CC. TP_LENSGEOM_AUTOCROP;Recorte automático @@ -1751,7 +1725,7 @@ TP_METADATA_MODE;Modo de cópia de metadados TP_METADATA_STRIP;Remover todos os metadados TP_METADATA_TUNNEL;Copiar inalterado TP_NEUTRAL;Repor -TP_NEUTRAL_TIP;Repor os controlos deslizantes de exposição para valores neutros.\nAplica-se aos mesmos controlos aplicados aos níveis automáticos, independentemente se usa os níveis automáticos ou não. +TP_NEUTRAL_TOOLTIP;Repor os controlos deslizantes de exposição para valores neutros.\nAplica-se aos mesmos controlos aplicados aos níveis automáticos, independentemente se usa os níveis automáticos ou não. TP_PCVIGNETTE_FEATHER;Difusão TP_PCVIGNETTE_FEATHER_TOOLTIP;Difusão:\n0 = apenas cantos,\n50 = a meio caminho do centro,\n100 = para o centro. TP_PCVIGNETTE_LABEL;Filtro de vinhetagem @@ -1933,7 +1907,7 @@ TP_RETINEX_MLABEL;Restaurado sem névoa mín=%1 máx=%2 TP_RETINEX_MLABEL_TOOLTIP;Deve estar perto de mín=0 máx=32768\nImagem restaurada sem mistura. TP_RETINEX_NEIGHBOR;Raio TP_RETINEX_NEUTRAL;Repor -TP_RETINEX_NEUTRAL_TIP;Repõe todos os controlos deslizantes e curvas nos seus valores padrão. +TP_RETINEX_NEUTRAL_TOOLTIP;Repõe todos os controlos deslizantes e curvas nos seus valores padrão. TP_RETINEX_OFFSET;Deslocamento (brilho) TP_RETINEX_SCALES;Gradiente gaussiano TP_RETINEX_SCALES_TOOLTIP;Se o controlo deslizante for 0, todas as iterações serão idênticas.\nSe > 0 a escala e raio são reduzidos quando as iterações aumentam e inversamente. @@ -1969,7 +1943,7 @@ TP_RGBCURVES_RED;R TP_ROTATE_DEGREE;Graus TP_ROTATE_LABEL;Rodar TP_ROTATE_SELECTLINE;Desenhar linha vertical -TP_SAVEDIALOG_OK_TIP;Atalho: Ctrl-Enter +TP_SAVEDIALOG_OK_TOOLTIP;Atalho: Ctrl-Enter TP_SHADOWSHLIGHTS_HIGHLIGHTS;Altas luzes TP_SHADOWSHLIGHTS_HLTONALW;Largura tonal das altas luzes TP_SHADOWSHLIGHTS_LABEL;Sombras/altas luzes @@ -2189,7 +2163,6 @@ TP_WAVELET_THRH;Limite de altas luzes TP_WAVELET_TILESBIG;Matrizes grandes TP_WAVELET_TILESFULL;Toda a imagem TP_WAVELET_TILESIZE;Método de matrizes -TP_WAVELET_TILESLIT;Matrizes pequenas TP_WAVELET_TILES_TOOLTIP;O processamento de 'toda a imagem' consegue uma melhor qualidade e é a opção recomendada, enquanto que a utilização de matrizes é uma solução de recurso para utilizadores com pouca RAM. Consulte a RawPedia para saber mais sobre os requisitos de memória RAM. TP_WAVELET_TMSTRENGTH;Intensidade de compressão TP_WAVELET_TMSTRENGTH_TOOLTIP;Controla a intensidade do mapeamento de tom ou a compressão do contraste da imagem residual. Quando o valor for diferente de 0, os controlos deslizantes de intensidade e gama da ferramenta de mapeamento de tom na aba de exposição ficarão a cinzento. @@ -2256,19 +2229,715 @@ ZOOMPANEL_ZOOMOUT;Afastar\nAtalho: - ! Untranslated keys follow; remove the ! prefix after an entry is translated. !!!!!!!!!!!!!!!!!!!!!!!!! -!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. +!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply 'find' keywords. !FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? !FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? !FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? !FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPINSPECT;Inspect !FILEBROWSER_POPUPREMOVE;Delete permanently !FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version !FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. +!GENERAL_DELETE_ALL;Delete all +!GENERAL_EDIT;Edit !GENERAL_HELP;Help +!HISTOGRAM_TOOLTIP_CROSSHAIR;Show/Hide indicator crosshair. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_470;--unused-- !HISTORY_MSG_494;Capture Sharpening -!HISTORY_MSG_DEHAZE_LUMINANCE;Dehaze - Luminance only +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_507;Local Spot center +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_516;Local - Color and light +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_527;Local - Color Inverse +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_542;Local - Vib avoid colorshift +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_591;Local - Avoid color shift +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_607;Local - Color Mask C +!HISTORY_MSG_608;Local - Color Mask L +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_611;Local - Color Mask H +!HISTORY_MSG_612;Local - Color Structure +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_615;Local - Blend color +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_618;Local - Use Color Mask +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_624;Local - Color correction grid +!HISTORY_MSG_625;Local - Color correction strength +!HISTORY_MSG_626;Local - Color correction Method +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_634;Local - radius color +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_650;Local - Color mask chroma +!HISTORY_MSG_651;Local - Color mask gamma +!HISTORY_MSG_652;Local - Color mask slope +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_656;Local - Color soft radius +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_760;Local - Color Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_770;Local - Color Mask contrast curve +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_779;Local - Color Mask local contrast curve +!HISTORY_MSG_780;Local - Color Mask shadows +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_783;Local - Color Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_799;Local - Color RGB ToneCurve +!HISTORY_MSG_800;Local - Color ToneCurve Method +!HISTORY_MSG_801;Local - Color ToneCurve Special +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_803;Local - Color Merge +!HISTORY_MSG_804;Local - Color mask Structure +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_806;Local - Color mask Structure as tool +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_808;Local - Color mask curve H(H) +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_821;Local - color grid background +!HISTORY_MSG_822;Local - color background merge +!HISTORY_MSG_823;Local - color background luminance +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_830;Local - Color gradient strength L +!HISTORY_MSG_831;Local - Color gradient angle +!HISTORY_MSG_832;Local - Color gradient strength C +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_834;Local - Color gradient strength H +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_894;Local - Color Preview dE +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_925;Local - Scope color tools +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_928;Local - Common color mask +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_996;Local - Color recovery threshold +!HISTORY_MSG_997;Local - Color threshold mask low +!HISTORY_MSG_998;Local - Color threshold mask high +!HISTORY_MSG_999;Local - Color decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1070;Local - CIECAM colorfullness +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1107;Local - CIECAM Color method +!HISTORY_MSG_1108;Local - CIECAM Color curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_BLSHAPE;Blur by level +!HISTORY_MSG_BLURCWAV;Blur chroma +!HISTORY_MSG_BLURWAV;Blur luminance +!HISTORY_MSG_BLUWAV;Attenuation response +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation +!HISTORY_MSG_EDGEFFECT;Edge Attenuation response +!HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output +!HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space !HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negative +!HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input !HISTORY_MSG_FILMNEGATIVE_VALUES;Film negative values +!HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant !HISTORY_MSG_PDSHARPEN_AUTO_CONTRAST;CS - Auto threshold !HISTORY_MSG_PDSHARPEN_AUTO_RADIUS;CS - Auto radius !HISTORY_MSG_PDSHARPEN_CHECKITER;CS - Auto limit iterations @@ -2276,10 +2945,94 @@ ZOOMPANEL_ZOOMOUT;Afastar\nAtalho: - !HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iterations !HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius !HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost -!HISTORY_MSG_TRANS_Method;Geometry - Method +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average +!HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode +!HISTORY_MSG_PROTAB;Protection +!HISTORY_MSG_RANGEAB;Range ab +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge +!HISTORY_MSG_SIGMACOL;Chroma Attenuation response +!HISTORY_MSG_SIGMADIR;Dir Attenuation response +!HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response +!HISTORY_MSG_SIGMATON;Toning Attenuation response +!HISTORY_MSG_SPOT;Spot removal +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. +!HISTORY_MSG_TEMPOUT;CAM02 automatic temperature +!HISTORY_MSG_THRESWAV;Balance threshold +!HISTORY_MSG_TRANS_METHOD;Geometry - Method +!HISTORY_MSG_WAVBALCHROM;Equalizer chrominance +!HISTORY_MSG_WAVBALLUM;Equalizer luminance +!HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVCHROMCO;Chroma coarse +!HISTORY_MSG_WAVCHROMFI;Chroma fine +!HISTORY_MSG_WAVCLARI;Clarity +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVEDGS;Edge stopping +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVLOWTHR;Threshold low contrast +!HISTORY_MSG_WAVMERGEC;Merge C +!HISTORY_MSG_WAVMERGEL;Merge L +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVOFFSET;Offset +!HISTORY_MSG_WAVOLDSH;Old algorithm +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVRADIUS;Radius shadows-highlights +!HISTORY_MSG_WAVSCALE;Scale +!HISTORY_MSG_WAVSHOWMASK;Show wavelet mask +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSIGMA;Attenuation response +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSOFTRAD;Soft radius clarity +!HISTORY_MSG_WAVSOFTRADEND;Soft radius final +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!HISTORY_MSG_WAVUSHAMET;Clarity method +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 +!INSPECTOR_WINDOW_TITLE;Inspector !MAIN_FRAME_PLACES_DEL;Remove -!PARTIALPASTE_FILMNEGATIVE;Film Negative +!MAIN_TAB_LOCALLAB;Local +!MAIN_TAB_LOCALLAB_TOOLTIP;Shortcut: Alt-o +!PARTIALPASTE_FILMNEGATIVE;Film negative +!PARTIALPASTE_LOCALLAB;Local Adjustments +!PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings +!PARTIALPASTE_PREPROCWB;Preprocess White Balance +!PARTIALPASTE_SPOT;Spot removal !PREFERENCES_APPEARANCE_PSEUDOHIDPI;Pseudo-HiDPI mode +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output +!PREFERENCES_INSPECTORWINDOW;Open inspector in own window or fullscreen +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling !PROGRESSBAR_DECODING;Decoding... !PROGRESSBAR_GREENEQUIL;Green equilibration... !PROGRESSBAR_HLREC;Highlight reconstruction... @@ -2287,14 +3040,111 @@ ZOOMPANEL_ZOOMOUT;Afastar\nAtalho: - !PROGRESSBAR_LINEDENOISE;Line noise filter... !PROGRESSBAR_RAWCACORR;Raw CA correction... !QUEUE_LOCATION_TITLE;Output Location +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. +!TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. +!TP_COLORAPP_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_GEN;Settings +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. +!TP_COLORAPP_IL41;D41 +!TP_COLORAPP_IL50;D50 +!TP_COLORAPP_IL55;D55 +!TP_COLORAPP_IL60;D60 +!TP_COLORAPP_IL65;D65 +!TP_COLORAPP_IL75;D75 +!TP_COLORAPP_ILA;Incandescent StdA 2856K +!TP_COLORAPP_ILFREE;Free +!TP_COLORAPP_ILLUM;Illuminant +!TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. +!TP_COLORAPP_SURROUNDSRC;Surround +!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. +!TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_CROP_GTCENTEREDSQUARE;Centered square !TP_CROP_PPI;PPI -!TP_DEHAZE_LUMINANCE;Luminance only +!TP_DEHAZE_SATURATION;Saturation !TP_FILMNEGATIVE_BLUE;Blue ratio -!TP_FILMNEGATIVE_GREEN;Reference exponent (contrast) -!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. Set the white balance afterwards. +!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm +!TP_FILMNEGATIVE_COLORSPACE;Inversion color space: +!TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space +!TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. +!TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space +!TP_FILMNEGATIVE_GREEN;Reference exponent +!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green +!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. !TP_FILMNEGATIVE_LABEL;Film Negative +!TP_FILMNEGATIVE_OUT_LEVEL;Output level !TP_FILMNEGATIVE_PICK;Pick neutral spots !TP_FILMNEGATIVE_RED;Red ratio +!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. +!TP_HLREC_HLBLUR;Blur +!TP_ICM_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 +!TP_ICM_REDFRAME;Custom Primaries +!TP_ICM_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 +!TP_ICM_WORKING_TRC_LIN;Linear g=1 +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 !TP_LENSGEOM_LIN;Linear !TP_LENSGEOM_LOG;Logarithmic !TP_LENSPROFILE_CORRECTION_AUTOMATCH;Automatically selected @@ -2302,8 +3152,921 @@ ZOOMPANEL_ZOOMOUT;Afastar\nAtalho: - !TP_LENSPROFILE_MODE_HEADER;Lens Profile !TP_LENSPROFILE_USE_GEOMETRIC;Geometric distortion !TP_LENSPROFILE_USE_HEADER;Correct +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ACTIVSPOT;Enable Spot +!TP_LOCALLAB_ADJ;Equalizer Color +!TP_LOCALLAB_AMOUNT;Amount +!TP_LOCALLAB_ARTIF;Shape detection +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOID;Avoid color shift +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALAN;ab-L balance (ΔE) +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALANH;C-H balance (ΔE) +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLCO;Chrominance only +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLINV;Inverse +!TP_LOCALLAB_BLLC;Luminance & Chrominance +!TP_LOCALLAB_BLLO;Luminance only +!TP_LOCALLAB_BLMED;Median +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNOI_EXP;Blur & Noise +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUFR;Blur/Grain & Denoise +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain +!TP_LOCALLAB_BLURCOL;Radius +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURDE;Blur shape detection +!TP_LOCALLAB_BLURLC;Luminance only +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +!TP_LOCALLAB_BUTTON_ADD;Add +!TP_LOCALLAB_BUTTON_DEL;Delete +!TP_LOCALLAB_BUTTON_DUPL;Duplicate +!TP_LOCALLAB_BUTTON_REN;Rename +!TP_LOCALLAB_BUTTON_VIS;Show/Hide +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +!TP_LOCALLAB_CAMMODE;CAM model +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CBDL;Contrast by Detail Levels +!TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. +!TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. +!TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. +!TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels +!TP_LOCALLAB_CENTER_X;Center X +!TP_LOCALLAB_CENTER_Y;Center Y +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMA;Chrominance +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACBDL;Chroma +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASKCOL;Chroma +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_CHRRT;Chroma +!TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIEC;Use Ciecam environment parameters +!TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +!TP_LOCALLAB_CIECOLORFRA;Color +!TP_LOCALLAB_CIECONTFRA;Contrast +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE;Change tool position +!TP_LOCALLAB_CIEMODE_COM;Default +!TP_LOCALLAB_CIEMODE_DR;Dynamic Range +!TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIEMODE_WAV;Wavelet +!TP_LOCALLAB_CIETOOLEXP;Curves +!TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIRCRADIUS;Spot size +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COFR;Color & Light +!TP_LOCALLAB_COLORDE;ΔE preview color - intensity +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +!TP_LOCALLAB_COLORSCOPE;Scope (color tools) +!TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +!TP_LOCALLAB_COLOR_CIE;Color curve +!TP_LOCALLAB_COLOR_TOOLNAME;Color & Light +!TP_LOCALLAB_COL_NAME;Name +!TP_LOCALLAB_COL_VIS;Status +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRAST;Contrast +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CONTTHR;Contrast Threshold +!TP_LOCALLAB_CONTWFRA;Local contrast +!TP_LOCALLAB_CSTHRESHOLD;Wavelet levels +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve +!TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DEHAFRA;Dehaze +!TP_LOCALLAB_DEHAZ;Strength +!TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. +!TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_EXP;Denoise +!TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. +!TP_LOCALLAB_DEPTH;Depth +!TP_LOCALLAB_DETAIL;Local contrast +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILSH;Details +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_DUPLSPOTNAME;Copy +!TP_LOCALLAB_EDGFRA;Edge sharpness +!TP_LOCALLAB_EDGSHOW;Show all tools +!TP_LOCALLAB_ELI;Ellipse +!TP_LOCALLAB_ENABLE_AFTER_MASK;Use Tone Mapping +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EPSBL;Detail +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EV_NVIS;Hide +!TP_LOCALLAB_EV_NVIS_ALL;Hide all +!TP_LOCALLAB_EV_VIS;Show +!TP_LOCALLAB_EV_VIS_ALL;Show all +!TP_LOCALLAB_EXCLUF;Excluding +!TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +!TP_LOCALLAB_EXCLUTYPE;Spot method +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXECLU;Excluding spot +!TP_LOCALLAB_EXFULL;Full image +!TP_LOCALLAB_EXNORM;Normal spot +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA;Chroma compensation +!TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. +!TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust color, lightness, contrast and correct small defects such as red-eye, sensor dust etc. +!TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ +!TP_LOCALLAB_EXPCOMPINV;Exposure compensation +!TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPCURV;Curves +!TP_LOCALLAB_EXPGRAD;Graduated Filter +!TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_EXPTOOL;Exposure Tools +!TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure +!TP_LOCALLAB_FATAMOUNT;Amount +!TP_LOCALLAB_FATANCHOR;Anchor +!TP_LOCALLAB_FATDETAIL;Detail +!TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). +!TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform +!TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform +!TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAM;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMFRA;Tone response curve (TRC) +!TP_LOCALLAB_GAMM;Gamma +!TP_LOCALLAB_GAMMASKCOL;Gamma +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMSH;Gamma +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADANG;Gradient angle +!TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. +!TP_LOCALLAB_GRADFRA;Graduated Filter Mask +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance +!TP_LOCALLAB_GRADSTR;Gradient strength +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRADSTRLUM;Luma gradient strength +!TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +!TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +!TP_LOCALLAB_GRIDONE;Color Toning +!TP_LOCALLAB_GRIDTWO;Direct +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER;Guided filter radius +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. +!TP_LOCALLAB_INVERS;Inverse +!TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_ISOGR;Distribution (ISO) +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLIGHT;Brightness +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSAT;Saturation +!TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABBLURM;Blur Mask +!TP_LOCALLAB_LABEL;Local Adjustments +!TP_LOCALLAB_LABGRID;Color correction grid +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV;Wavelet levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTNESS;Lightness +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LIGHTRETI;Lightness +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_NAME;Add tool to current spot... +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRAST;Local Contrast & Wavelets +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOG;Log Encoding +!TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments +!TP_LOCALLAB_LOG2FRA;Viewing Conditions +!TP_LOCALLAB_LOGAUTO;Automatic +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +!TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. +!TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGEXP;All tools +!TP_LOCALLAB_LOGFRA;Scene Conditions +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode). +!TP_LOCALLAB_LOGLIGHTL;Lightness (J) +!TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration. +!TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART;Overall strength +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LOG_TOOLNAME;Log Encoding +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMADARKEST;Darkest +!TP_LOCALLAB_LUMASK;Background color/luma mask +!TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). +!TP_LOCALLAB_LUMAWHITESEST;Lightest +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASK;Curves +!TP_LOCALLAB_MASK2;Contrast curve +!TP_LOCALLAB_MASKCOM;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDDECAY;Decay strength +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. +!TP_LOCALLAB_MASKRECOTHRES;Recovery threshold +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERCOL;Color +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOR;Color Dodge +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHI;Color Burn +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MODE_EXPERT;Advanced +!TP_LOCALLAB_MODE_NORMAL;Standard +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MRONE;None +!TP_LOCALLAB_MRTHR;Original Image +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NEIGH;Radius +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLDET;Detail recovery +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NLLUM;Strength +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NOISEMETH;Denoise +!TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. +!TP_LOCALLAB_NONENOISE;None +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_OFFS;Offset +!TP_LOCALLAB_OFFSETWAV;Offset +!TP_LOCALLAB_OPACOL;Opacity +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PASTELS2;Vibrance +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_PREVHIDE;Hide additional settings +!TP_LOCALLAB_PREVIEW;Preview ΔE +!TP_LOCALLAB_PREVSHOW;Show additional settings +!TP_LOCALLAB_PROXI;ΔE decay +!TP_LOCALLAB_QUAAGRES;Aggressive +!TP_LOCALLAB_QUACONSER;Conservative +!TP_LOCALLAB_QUALCURV_METHOD;Curve type +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS;Radius +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RECT;Rectangle +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name +!TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot +!TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESID;Residual Image +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RESIDHI;Highlights +!TP_LOCALLAB_RESIDHITHR;Highlights threshold +!TP_LOCALLAB_RESIDSHA;Shadows +!TP_LOCALLAB_RESIDSHATHR;Shadows threshold +!TP_LOCALLAB_RETI;Dehaze & Retinex +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex +!TP_LOCALLAB_REWEI;Reweighting iterates +!TP_LOCALLAB_RGB;RGB Tone Curve +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_ROW_NVIS;Not visible +!TP_LOCALLAB_ROW_VIS;Visible +!TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. +!TP_LOCALLAB_SATUR;Saturation +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSI;Scope +!TP_LOCALLAB_SENSIEXCLU;Scope +!TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +!TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +!TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. +!TP_LOCALLAB_SETTINGS;Settings +!TP_LOCALLAB_SH1;Shadows Highlights +!TP_LOCALLAB_SH2;Equalizer +!TP_LOCALLAB_SHADEX;Shadows +!TP_LOCALLAB_SHADEXCOMP;Shadow compression +!TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHAMASKCOL;Shadows +!TP_LOCALLAB_SHAPETYPE;RT-spot shape +!TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +!TP_LOCALLAB_SHARAMOUNT;Amount +!TP_LOCALLAB_SHARBLUR;Blur radius +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHARITER;Iterations +!TP_LOCALLAB_SHARP;Sharpening +!TP_LOCALLAB_SHARP_TOOLNAME;Sharpening +!TP_LOCALLAB_SHARRADIUS;Radius +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASK;Show mask +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise +!TP_LOCALLAB_SHOWMASKTYP2;Denoise +!TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWREF;Preview ΔE +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMAWAV;Attenuation response +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTM;Soft Light +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SOURCE_ABS;Absolute luminance +!TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_SPOTNAME;New Spot +!TP_LOCALLAB_STD;Standard +!TP_LOCALLAB_STR;Strength +!TP_LOCALLAB_STRBL;Strength +!TP_LOCALLAB_STREN;Compression strength +!TP_LOCALLAB_STRENG;Strength +!TP_LOCALLAB_STRENGR;Strength +!TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). +!TP_LOCALLAB_STRENGTH;Noise +!TP_LOCALLAB_STRGRID;Strength +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_TARGET_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM;Tone Mapping +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSIT;Transition Gradient +!TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY +!TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. +!TP_LOCALLAB_TRANSITVALUE;Transition value +!TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) +!TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WARM;Warm/Cool & Color artifacts +!TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the color temperature of the selected area warmer or cooler.\nIt can also reduce color artifacts in some cases. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAV;Local contrast +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVDEN;Luminance denoise +!TP_LOCALLAB_WAVE;Wavelets +!TP_LOCALLAB_WAVEDG;Local contrast +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK;Local contrast +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. !TP_PDSHARPENING_LABEL;Capture Sharpening +!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor +!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length +!TP_PERSPECTIVE_CAMERA_FRAME;Correction +!TP_PERSPECTIVE_CAMERA_PITCH;Vertical +!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_CAMERA_YAW;Horizontal +!TP_PERSPECTIVE_CONTROL_LINES;Control lines +!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +!TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. +!TP_PERSPECTIVE_METHOD;Method +!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based +!TP_PERSPECTIVE_METHOD_SIMPLE;Simple +!TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment +!TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +!TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +!TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +!TP_PERSPECTIVE_RECOVERY_FRAME;Recovery +!TP_PREPROCWB_LABEL;Preprocess White Balance +!TP_PREPROCWB_MODE;Mode +!TP_PREPROCWB_MODE_AUTO;Auto +!TP_PREPROCWB_MODE_CAMERA;Camera +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear +!TP_RAW_DCBBILINEAR;DCB+Bilinear +!TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. +!TP_RAW_RCDBILINEAR;RCD+Bilinear !TP_RAW_XTRANS;X-Trans !TP_RAW_XTRANSFAST;Fast X-Trans +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge !TP_SHARPENING_ITERCHECK;Auto limit iterations !TP_SHARPENING_RADIUS_BOOST;Corner radius boost +!TP_SPOT_COUNTLABEL;%1 point(s) +!TP_SPOT_DEFAULT_SIZE;Default spot size +!TP_SPOT_ENTRYCHANGED;Point changed +!TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its center then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. +!TP_SPOT_LABEL;Spot Removal +!TP_WAVELET_BALCHROM;Equalizer Color +!TP_WAVELET_BALLUM;Denoise equalizer White-Black +!TP_WAVELET_BL;Blur levels +!TP_WAVELET_BLCURVE;Blur by levels +!TP_WAVELET_BLURFRAME;Blur +!TP_WAVELET_BLUWAV;Attenuation response +!TP_WAVELET_CHROFRAME;Denoise chrominance +!TP_WAVELET_CHROMAFRAME;Chroma +!TP_WAVELET_CHROMCO;Chrominance Coarse +!TP_WAVELET_CHROMFI;Chrominance Fine +!TP_WAVELET_CHRWAV;Blur chroma +!TP_WAVELET_CLA;Clarity +!TP_WAVELET_CLARI;Sharp-mask and Clarity +!TP_WAVELET_COMPEXPERT;Advanced +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. +!TP_WAVELET_COMPNORMAL;Standard +!TP_WAVELET_CONTFRAME;Contrast - Compression +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENOISEHUE;Denoise hue equalizer +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_DIRFRAME;Directional contrast +!TP_WAVELET_EDEFFECT;Attenuation response +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. +!TP_WAVELET_FINCFRAME;Final local contrast +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. +!TP_WAVELET_MERGEC;Merge chroma +!TP_WAVELET_MERGEL;Merge luma +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise +!TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. +!TP_WAVELET_OLDSH;Algorithm using negatives values +!TP_WAVELET_PROTAB;Protection +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_RADIUS;Radius shadows - highlight +!TP_WAVELET_RANGEAB;Range a and b % +!TP_WAVELET_RESBLUR;Blur luminance +!TP_WAVELET_RESBLURC;Blur chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. +!TP_WAVELET_SHA;Sharp mask +!TP_WAVELET_SHFRAME;Shadows/Highlights +!TP_WAVELET_SHOWMASK;Show wavelet 'mask' +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_SIGMA;Attenuation response +!TP_WAVELET_SIGMAFIN;Attenuation response +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_WAVELET_SOFTRAD;Soft radius +!TP_WAVELET_STREND;Strength +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_TMEDGS;Edge stopping +!TP_WAVELET_TMSCALE;Scale +!TP_WAVELET_TONFRAME;Excluded colors +!TP_WAVELET_USH;None +!TP_WAVELET_USHARP;Clarity method +!TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. +!TP_WAVELET_WAVLOWTHR;Low contrast threshold +!TP_WAVELET_WAVOFFSET;Offset +!TP_WBALANCE_AUTOITCGREEN;Temperature correlation +!TP_WBALANCE_AUTOOLD;RGB grey +!TP_WBALANCE_AUTO_HEADER;Automatic +!TP_WBALANCE_STUDLABEL;Correlation factor: %1 +!TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. diff --git a/rtdata/languages/Portugues (Brasil) b/rtdata/languages/Portugues (Brasil) index 85dbf377f..cf386f5ff 100644 --- a/rtdata/languages/Portugues (Brasil) +++ b/rtdata/languages/Portugues (Brasil) @@ -102,7 +102,7 @@ EXPORT_PIPELINE;Processamento pipeline EXPORT_PUTTOQUEUEFAST; Coloque na fila para exportação rápida EXPORT_RAW_DMETHOD;Método Demosaico EXPORT_USE_FAST_PIPELINE;Dedicado (processamento completo na imagem redimensionada) -EXPORT_USE_FAST_PIPELINE_TIP;Use um processamento dedicado pipeline para imagens no modo de Exportação Rápida, que troca velocidade por qualidade. O redimensionamento da imagem é feito o mais cedo possível, em vez de fazê-lo no final, como no pipeline normal. O aumento de velocidade pode ser significativo, mas esteja preparado para ver artefatos e uma degradação geral da qualidade de saída. +EXPORT_USE_FAST_PIPELINE_TOOLTIP;Use um processamento dedicado pipeline para imagens no modo de Exportação Rápida, que troca velocidade por qualidade. O redimensionamento da imagem é feito o mais cedo possível, em vez de fazê-lo no final, como no pipeline normal. O aumento de velocidade pode ser significativo, mas esteja preparado para ver artefatos e uma degradação geral da qualidade de saída. EXPORT_USE_NORMAL_PIPELINE;Padrão (ignorar algumas etapas, redimensionar no final) EXTPROGTARGET_1;raw EXTPROGTARGET_2;processado em fila @@ -244,13 +244,11 @@ HISTOGRAM_TOOLTIP_G;Mostrar/Ocultar histograma verde. HISTOGRAM_TOOLTIP_L;Mostrar/Ocultar histograma de luminância CIELab. HISTOGRAM_TOOLTIP_MODE;Alternar entre o modo de escala linear, log-linear e log-log para o histograma. HISTOGRAM_TOOLTIP_R;Mostrar/Ocultar histograma vermelho. -HISTOGRAM_TOOLTIP_RAW;Mostrar/Ocultar histograma raw. HISTORY_CHANGED;Alterado HISTORY_CUSTOMCURVE;Curva personalizada HISTORY_FROMCLIPBOARD;Da área de transferência HISTORY_LABEL;Histórico HISTORY_MSG_1;Foto Carregada -HISTORY_MSG_2;PP3 Perfil carregado HISTORY_MSG_3;PP3 Perfil alterado HISTORY_MSG_4;Histórico de navegação HISTORY_MSG_5;Exposição - Claridade @@ -264,9 +262,6 @@ HISTORY_MSG_12;Exposição - Níveis automáticos HISTORY_MSG_13;Exposição - Clip HISTORY_MSG_14;L*a*b* - Claridade HISTORY_MSG_15;L*a*b* - Contraste -HISTORY_MSG_16;- -HISTORY_MSG_17;- -HISTORY_MSG_18;- HISTORY_MSG_19;L*a*b* - L* curva HISTORY_MSG_20;Nitidez HISTORY_MSG_21;USM - Raio @@ -292,10 +287,6 @@ HISTORY_MSG_40;Balanço de Branco - Matiz HISTORY_MSG_41;Exposição - Modo de curva de tom 1 HISTORY_MSG_42;Exposição - Curva de tom 2 HISTORY_MSG_43;Exposição - Modo de curva de tom 2 -HISTORY_MSG_44;Raio de remoção de ruídos da Lum. -HISTORY_MSG_45;Tolerância de bordas da remoção de ruídos da Lum. -HISTORY_MSG_46;Remoção de ruídos da cor -HISTORY_MSG_47;Misture os realces ICC com a matriz HISTORY_MSG_48;DCP - Curva de tom HISTORY_MSG_49;DCP iluminante HISTORY_MSG_50;Sombras/Realces @@ -303,7 +294,6 @@ HISTORY_MSG_51;S/H - Realces HISTORY_MSG_52;S/H - Sombras HISTORY_MSG_53;S/H - Largura tonal dos realces HISTORY_MSG_54;S/H - Largura tonal das sombras -HISTORY_MSG_55;S/H - Contraste local HISTORY_MSG_56;S/H - Raio HISTORY_MSG_57;Rotação grosseira HISTORY_MSG_58;Giro Horizontal @@ -315,7 +305,6 @@ HISTORY_MSG_63;Instantâneo selecionado HISTORY_MSG_64;Cortar HISTORY_MSG_65;Correção CA HISTORY_MSG_66;Exposição - Reconstrução do realce -HISTORY_MSG_67;Exposição - Montante HLR HISTORY_MSG_68;Exposição - Método HLR HISTORY_MSG_69;Espaço de cor de trabalho HISTORY_MSG_70;Espaço de cor de saída @@ -326,12 +315,10 @@ HISTORY_MSG_74;Redimensionar - Escala HISTORY_MSG_75;Redimensionar - Método HISTORY_MSG_76;Metadados Exif HISTORY_MSG_77;Metadados IPTC -HISTORY_MSG_78;- HISTORY_MSG_79;Redimensionar - Largura HISTORY_MSG_80;Redimensionar - Altura HISTORY_MSG_81;Redimensionar HISTORY_MSG_82;Perfil alterado -HISTORY_MSG_83;S/H - Máscara de nitidez HISTORY_MSG_84;Correção de perspectiva HISTORY_MSG_85;Correção de Lente - Arquivo LCP HISTORY_MSG_86;Curvas RGB - Modo de Luminosidade @@ -378,12 +365,6 @@ HISTORY_MSG_127;Flat-Field - Seleção automática HISTORY_MSG_128;Flat-Field - Raio de desfoque HISTORY_MSG_129;Flat-Field - Tipo de desfoque HISTORY_MSG_130;Correção automática de distorção -HISTORY_MSG_131;NR - Luma -HISTORY_MSG_132;NR - Croma -HISTORY_MSG_133;Gama de saída -HISTORY_MSG_134;Gama livre -HISTORY_MSG_135;Gama livre -HISTORY_MSG_136;Declive gama livre HISTORY_MSG_137;Nível preto - Verde 1 HISTORY_MSG_138;Nível preto - Vermelho HISTORY_MSG_139;Nível preto - Azul @@ -496,7 +477,6 @@ HISTORY_MSG_246;L*a*b* - Curva CL HISTORY_MSG_247;L*a*b* - Curva LH HISTORY_MSG_248;L*a*b* - Curva HH HISTORY_MSG_249;CbDL - Limite -HISTORY_MSG_250;NR - Aprimorada HISTORY_MSG_251;P&B - Algoritmo HISTORY_MSG_252;CbDL - Pele tar/prot HISTORY_MSG_253;CbDL - Reduzir artefatos @@ -520,8 +500,6 @@ HISTORY_MSG_270;CT - Alto - Verde HISTORY_MSG_271;CT - Alto - Azul HISTORY_MSG_272;CT - Balanço HISTORY_MSG_273;CT - Balanço de cor SMH -HISTORY_MSG_274;CT - Sat. Sombras -HISTORY_MSG_275;CT - Sat. Realces HISTORY_MSG_276;CT - Opacidade HISTORY_MSG_277;--sem uso-- HISTORY_MSG_278;CT - Preserve luminância @@ -546,7 +524,6 @@ HISTORY_MSG_296;NR - Curva de luminância HISTORY_MSG_297;NR - Modo HISTORY_MSG_298;Filtro de pixel morto HISTORY_MSG_299;NR - Curva de crominância -HISTORY_MSG_300;- HISTORY_MSG_301;NR - Controle luma HISTORY_MSG_302;NR - Método croma HISTORY_MSG_303;NR - Método croma @@ -655,7 +632,6 @@ HISTORY_MSG_405;W - Remoção de ruído - Nível 4 HISTORY_MSG_406;W - ES - Píxeis vizinhos HISTORY_MSG_407;Retinex - Método HISTORY_MSG_408;Retinex - Raio -HISTORY_MSG_409;Retinex - Contraste HISTORY_MSG_410;Retinex - Compensação HISTORY_MSG_411;Retinex - Intensidade HISTORY_MSG_412;Retinex - Gradiente de Gaussian @@ -703,7 +679,6 @@ HISTORY_MSG_468;PS - Preencher buracos HISTORY_MSG_469;PS - Mediano HISTORY_MSG_471;PS - Correção de movimento HISTORY_MSG_472;PS - Transições suaves -HISTORY_MSG_473;PS - Usar LMMSE HISTORY_MSG_474;PS - Equalizar HISTORY_MSG_475;PS - Equalizar canal HISTORY_MSG_476;CAM02 - Saída Temp @@ -1210,7 +1185,7 @@ PROFILEPANEL_GLOBALPROFILES;Perfis agrupados PROFILEPANEL_LABEL;Perfis de Processamento PROFILEPANEL_LOADDLGLABEL;Carregar Parâmetros de Processamento... PROFILEPANEL_LOADPPASTE;Parâmetros para carregar -PROFILEPANEL_MODE_TIP;Modo de preenchimento do perfil de processamento.\n\nBotão pressionado: perfis parciais serão convertidos em perfis completos; os valores ausentes serão substituídos por padrões codificados.\n\nBotão liberado: os perfis serão aplicados como estão, alterando apenas os valores que eles contêm. +PROFILEPANEL_MODE_TOOLTIP;Modo de preenchimento do perfil de processamento.\n\nBotão pressionado: perfis parciais serão convertidos em perfis completos; os valores ausentes serão substituídos por padrões codificados.\n\nBotão liberado: os perfis serão aplicados como estão, alterando apenas os valores que eles contêm. PROFILEPANEL_MYPROFILES;Meus perfis PROFILEPANEL_PASTEPPASTE;Parâmetros para colar PROFILEPANEL_PCUSTOM;Personalizado @@ -1401,7 +1376,6 @@ TP_COLORAPP_DATACIE;Histogramas de saída em curvas do CIECAM02 TP_COLORAPP_DATACIE_TOOLTIP;Quando ativado, os histogramas em curvas do CIECAM02 mostram valores/intervalos aproximados para J ou Q, e C, s ou M após os ajustes do CIECAM02.\nEsta seleção não afeta o painel principal do histograma.\n\nQuando desativado, os histogramas em curvas do CIECAM02 mostram os valores L*a*b* antes dos ajustes do CIECAM02. TP_COLORAPP_FREE;Temp+verde livre + CAT02 + [saída] TP_COLORAPP_GAMUT;Controle da gama (L*a*b*) -TP_COLORAPP_GAMUT_TOOLTIP;Permitir controle da gama no modo L*a*b*. TP_COLORAPP_HUE;Matiz (h) TP_COLORAPP_HUE_TOOLTIP;Matiz (h) - ângulo entre 0° e 360°. TP_COLORAPP_LABEL;Modelo de Aparência de Cor CIE 2002 @@ -1414,7 +1388,7 @@ TP_COLORAPP_MEANLUMINANCE;Luminância média (Yb%) TP_COLORAPP_MODEL;Modelo de Ponto Branco TP_COLORAPP_MODEL_TOOLTIP;Modelo de Ponto Branco.\n\nWB [RT] + [saída]: O balanço de branco do RT é usado para a cena, CIECAM02 está definido para D50, e o balanço de branco do dispositivo de saída é definido em Condições de Visualização.\n\nWB [RT+CAT02] + [saída]: As configurações de balanço de branco do RT são usadas pelo CAT02 e o balanço de branco do dispositivo de saída é definido em Condições de Visualização.\n\nTemp+verde livre + CAT02 + [saída]: temp e verde são selecionados pelo usuário, o balanço de branco do dispositivo de saída é definido em Condições de Visualização. TP_COLORAPP_NEUTRAL;Restaurar -TP_COLORAPP_NEUTRAL_TIP;Restaurar todas as caixas de seleção e curvas dos controles deslizantes para seus valores padrão +TP_COLORAPP_NEUTRAL_TOOLTIP;Restaurar todas as caixas de seleção e curvas dos controles deslizantes para seus valores padrão TP_COLORAPP_RSTPRO;Proteção vermelho e de tons de pele TP_COLORAPP_RSTPRO_TOOLTIP;Vermelho & proteção de tons de pele afeta os controles deslizantes e as curvas. TP_COLORAPP_SURROUND;Ambiente @@ -1474,7 +1448,7 @@ TP_COLORTONING_METHOD;Método TP_COLORTONING_METHOD_TOOLTIP;"L*a*b* mistura", "Controles deslizantes RGB" e "Curvas RGB" usar mistura de cores interpoladas.\n"Balanço de Cor (Sombras/Meios tons/Realces)" e "Saturação 2 cores" use cores diretas.\n\nA ferramenta Preto-e-Branco pode ser ativada ao usar qualquer método, que permita a tonificação de cores. TP_COLORTONING_MIDTONES;Meios tons TP_COLORTONING_NEUTRAL;Restaurar controles deslizantes -TP_COLORTONING_NEUTRAL_TIP;Restaurar todos os valores (Sombras, Meios tons, Realces) para o padrão. +TP_COLORTONING_NEUTRAL_TOOLTIP;Restaurar todos os valores (Sombras, Meios tons, Realces) para o padrão. TP_COLORTONING_OPACITY;Opacidade TP_COLORTONING_RGBCURVES;RGB - Curvas TP_COLORTONING_RGBSLIDERS;RGB - Controles deslizantes @@ -1588,7 +1562,7 @@ TP_DIRPYREQUALIZER_SKIN_TOOLTIP;São segmentados em -100 tons de pele.\nEm 0 tod TP_DIRPYREQUALIZER_THRESHOLD;Limite TP_DIRPYREQUALIZER_TOOLTIP;Tenta reduzir artefatos nas transições entre as cores da pele (matiz, croma, luma) e o restante da imagem. TP_DISTORTION_AMOUNT;Montante -TP_DISTORTION_AUTO_TIP;Corrige automaticamente a distorção da lente em arquivos RAW, combinando-a com a imagem JPEG incorporada, caso exista, e tenha sua distorção de lente corrigida automaticamente pela câmera. +TP_DISTORTION_AUTO_TOOLTIP;Corrige automaticamente a distorção da lente em arquivos RAW, combinando-a com a imagem JPEG incorporada, caso exista, e tenha sua distorção de lente corrigida automaticamente pela câmera. TP_DISTORTION_LABEL;Correção de Distorção TP_EPD_EDGESTOPPING;Borda parando TP_EPD_GAMMA;Gama @@ -1597,12 +1571,12 @@ TP_EPD_REWEIGHTINGITERATES;Reponderando iterações TP_EPD_SCALE;Escala TP_EPD_STRENGTH;Intensidade TP_EXPOSURE_AUTOLEVELS;Níveis Automáticos -TP_EXPOSURE_AUTOLEVELS_TIP;Alterna a execução dos Níveis Automáticos para definir automaticamente os valores do controle deslizante de Exposição baseado numa análise de imagem.\nHabilita a Reconstrução de Realce se necessário. +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Alterna a execução dos Níveis Automáticos para definir automaticamente os valores do controle deslizante de Exposição baseado numa análise de imagem.\nHabilita a Reconstrução de Realce se necessário. TP_EXPOSURE_BLACKLEVEL;Preto TP_EXPOSURE_BRIGHTNESS;Claridade TP_EXPOSURE_CLAMPOOG;Recortar cores fora da gama TP_EXPOSURE_CLIP;Recortar % -TP_EXPOSURE_CLIP_TIP;A fração de píxeis a ser recortada na operação Níveis Automáticos. +TP_EXPOSURE_CLIP_TOOLTIP;A fração de píxeis a ser recortada na operação Níveis Automáticos. TP_EXPOSURE_COMPRHIGHLIGHTS;Compressão de realce TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Limite de compressão de realce TP_EXPOSURE_COMPRSHADOWS;Compressão de sombra @@ -1742,7 +1716,7 @@ TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminância de acordo com a matiz L=f(H) TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminância de acordo com a luminância L=f(L) TP_LABCURVE_LABEL;L*a*b* Ajustes TP_LABCURVE_LCREDSK;Restringir o LC aos tons vermelho e cor de pele -TP_LABCURVE_LCREDSK_TIP;Se ativada, a curva LC afeta somente tons vermelhos e cor de pele.\nSe desativado, aplica-se a todos os tons. +TP_LABCURVE_LCREDSK_TOOLTIP;Se ativada, a curva LC afeta somente tons vermelhos e cor de pele.\nSe desativado, aplica-se a todos os tons. TP_LABCURVE_RSTPROTECTION;Proteção para tons vermelho e cor de pele TP_LABCURVE_RSTPRO_TOOLTIP;Funciona no controle deslizante de cromaticidade e na curva CC. TP_LENSGEOM_AUTOCROP;Corte automático @@ -1766,7 +1740,7 @@ TP_METADATA_MODE;Modo de cópia de metadados TP_METADATA_STRIP;Remover todos os metadados TP_METADATA_TUNNEL;Copiar inalterado TP_NEUTRAL;Restaurar -TP_NEUTRAL_TIP;Restaurar os controles deslizantes de exposição para valores neutros.\nAplica-se aos mesmos controles aplicados aos Níveis Automáticos, independentemente da utilização dos Níveis Automáticos. +TP_NEUTRAL_TOOLTIP;Restaurar os controles deslizantes de exposição para valores neutros.\nAplica-se aos mesmos controles aplicados aos Níveis Automáticos, independentemente da utilização dos Níveis Automáticos. TP_PCVIGNETTE_FEATHER;Difusão TP_PCVIGNETTE_FEATHER_TOOLTIP;Difundindo:\n0 = apenas cantos,\n50 = a meio caminho do centro,\n100 = para centrar. TP_PCVIGNETTE_LABEL;Filtro de Vinheta @@ -1945,7 +1919,7 @@ TP_RETINEX_MLABEL;Restaurado sem névoa Min=%1 Max=%2 TP_RETINEX_MLABEL_TOOLTIP;Deve estar perto min=0 max=32768\nImagem restaurada sem mistura. TP_RETINEX_NEIGHBOR;Raio TP_RETINEX_NEUTRAL;Restaurar -TP_RETINEX_NEUTRAL_TIP;Restaura todos os controles deslizantes e curvas para seus valores padrão. +TP_RETINEX_NEUTRAL_TOOLTIP;Restaura todos os controles deslizantes e curvas para seus valores padrão. TP_RETINEX_OFFSET;Compensação (brilho) TP_RETINEX_SCALES;Gradiente gaussiano TP_RETINEX_SCALES_TOOLTIP;Se o controle deslizante for 0, todas as iterações serão idênticas.\nSe > 0 Escala e raio são reduzidos quando as iterações aumentam e inversamente. @@ -1981,7 +1955,7 @@ TP_RGBCURVES_RED;R TP_ROTATE_DEGREE;Graus TP_ROTATE_LABEL;Girar TP_ROTATE_SELECTLINE;Selecione Linha Reta -TP_SAVEDIALOG_OK_TIP;Atalho: Ctrl-Enter +TP_SAVEDIALOG_OK_TOOLTIP;Atalho: Ctrl-Enter TP_SHADOWSHLIGHTS_HIGHLIGHTS;Realces TP_SHADOWSHLIGHTS_HLTONALW;Largura tonal dos realces TP_SHADOWSHLIGHTS_LABEL;Sombras/Realces @@ -2201,7 +2175,6 @@ TP_WAVELET_THRH;Limite de realces TP_WAVELET_TILESBIG;Mosaicos grandes TP_WAVELET_TILESFULL;Imagem cheia TP_WAVELET_TILESIZE;Método de mosaicos -TP_WAVELET_TILESLIT;Mosaicos pequenos TP_WAVELET_TILES_TOOLTIP;O processamento da imagem cheia leva a uma melhor qualidade e é a opção recomendada, enquanto o uso de mosaicos é uma solução de retorno para usuários com pouca RAM. Consulte o RawPedia para requisitos de memória. TP_WAVELET_TMSTRENGTH;Intensidade de compressão TP_WAVELET_TMSTRENGTH_TOOLTIP;Controla a intensidade do mapeamento de tom ou a compressão de contraste da imagem residual. Quando o valor for diferente de 0, os controles deslizantes Intensidade e Gama da ferramenta Mapeamento de Tom na guia Exposição ficarão esmaecidos. @@ -2268,14 +2241,710 @@ ZOOMPANEL_ZOOMOUT;Menos Zoom\nAtalho: - ! Untranslated keys follow; remove the ! prefix after an entry is translated. !!!!!!!!!!!!!!!!!!!!!!!!! -!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. +!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply 'find' keywords. +!FILEBROWSER_POPUPINSPECT;Inspect +!GENERAL_DELETE_ALL;Delete all +!GENERAL_EDIT;Edit !GENERAL_HELP;Help +!HISTOGRAM_TOOLTIP_CROSSHAIR;Show/Hide indicator crosshair. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_470;--unused-- !HISTORY_MSG_494;Capture Sharpening +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_507;Local Spot center +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_516;Local - Color and light +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_527;Local - Color Inverse +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_542;Local - Vib avoid colorshift +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_591;Local - Avoid color shift +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_607;Local - Color Mask C +!HISTORY_MSG_608;Local - Color Mask L +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_611;Local - Color Mask H +!HISTORY_MSG_612;Local - Color Structure +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_615;Local - Blend color +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_618;Local - Use Color Mask +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_624;Local - Color correction grid +!HISTORY_MSG_625;Local - Color correction strength +!HISTORY_MSG_626;Local - Color correction Method +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_634;Local - radius color +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_650;Local - Color mask chroma +!HISTORY_MSG_651;Local - Color mask gamma +!HISTORY_MSG_652;Local - Color mask slope +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_656;Local - Color soft radius +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_760;Local - Color Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_770;Local - Color Mask contrast curve +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_779;Local - Color Mask local contrast curve +!HISTORY_MSG_780;Local - Color Mask shadows +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_783;Local - Color Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_799;Local - Color RGB ToneCurve +!HISTORY_MSG_800;Local - Color ToneCurve Method +!HISTORY_MSG_801;Local - Color ToneCurve Special +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_803;Local - Color Merge +!HISTORY_MSG_804;Local - Color mask Structure +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_806;Local - Color mask Structure as tool +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_808;Local - Color mask curve H(H) +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_821;Local - color grid background +!HISTORY_MSG_822;Local - color background merge +!HISTORY_MSG_823;Local - color background luminance +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_830;Local - Color gradient strength L +!HISTORY_MSG_831;Local - Color gradient angle +!HISTORY_MSG_832;Local - Color gradient strength C +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_834;Local - Color gradient strength H +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_894;Local - Color Preview dE +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_925;Local - Scope color tools +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_928;Local - Common color mask +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_996;Local - Color recovery threshold +!HISTORY_MSG_997;Local - Color threshold mask low +!HISTORY_MSG_998;Local - Color threshold mask high +!HISTORY_MSG_999;Local - Color decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1070;Local - CIECAM colorfullness +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1107;Local - CIECAM Color method +!HISTORY_MSG_1108;Local - CIECAM Color curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_BLSHAPE;Blur by level +!HISTORY_MSG_BLURCWAV;Blur chroma +!HISTORY_MSG_BLURWAV;Blur luminance +!HISTORY_MSG_BLUWAV;Attenuation response +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM !HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset !HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power -!HISTORY_MSG_DEHAZE_LUMINANCE;Dehaze - Luminance only +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation +!HISTORY_MSG_EDGEFFECT;Edge Attenuation response +!HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output +!HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space !HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negative +!HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input !HISTORY_MSG_FILMNEGATIVE_VALUES;Film negative values +!HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant !HISTORY_MSG_PDSHARPEN_AUTO_CONTRAST;CS - Auto threshold !HISTORY_MSG_PDSHARPEN_AUTO_RADIUS;CS - Auto radius !HISTORY_MSG_PDSHARPEN_CHECKITER;CS - Auto limit iterations @@ -2283,28 +2952,1122 @@ ZOOMPANEL_ZOOMOUT;Menos Zoom\nAtalho: - !HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iterations !HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius !HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost -!HISTORY_MSG_TRANS_Method;Geometry - Method -!PARTIALPASTE_FILMNEGATIVE;Film Negative +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average +!HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode +!HISTORY_MSG_PROTAB;Protection +!HISTORY_MSG_RANGEAB;Range ab +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge +!HISTORY_MSG_SIGMACOL;Chroma Attenuation response +!HISTORY_MSG_SIGMADIR;Dir Attenuation response +!HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response +!HISTORY_MSG_SIGMATON;Toning Attenuation response +!HISTORY_MSG_SPOT;Spot removal +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. +!HISTORY_MSG_TEMPOUT;CAM02 automatic temperature +!HISTORY_MSG_THRESWAV;Balance threshold +!HISTORY_MSG_TRANS_METHOD;Geometry - Method +!HISTORY_MSG_WAVBALCHROM;Equalizer chrominance +!HISTORY_MSG_WAVBALLUM;Equalizer luminance +!HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVCHROMCO;Chroma coarse +!HISTORY_MSG_WAVCHROMFI;Chroma fine +!HISTORY_MSG_WAVCLARI;Clarity +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVEDGS;Edge stopping +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVLOWTHR;Threshold low contrast +!HISTORY_MSG_WAVMERGEC;Merge C +!HISTORY_MSG_WAVMERGEL;Merge L +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVOFFSET;Offset +!HISTORY_MSG_WAVOLDSH;Old algorithm +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVRADIUS;Radius shadows-highlights +!HISTORY_MSG_WAVSCALE;Scale +!HISTORY_MSG_WAVSHOWMASK;Show wavelet mask +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSIGMA;Attenuation response +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSOFTRAD;Soft radius clarity +!HISTORY_MSG_WAVSOFTRADEND;Soft radius final +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!HISTORY_MSG_WAVUSHAMET;Clarity method +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 +!INSPECTOR_WINDOW_TITLE;Inspector +!MAIN_TAB_LOCALLAB;Local +!MAIN_TAB_LOCALLAB_TOOLTIP;Shortcut: Alt-o +!PARTIALPASTE_FILMNEGATIVE;Film negative +!PARTIALPASTE_LOCALLAB;Local Adjustments +!PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings +!PARTIALPASTE_PREPROCWB;Preprocess White Balance +!PARTIALPASTE_SPOT;Spot removal !PREFERENCES_CACHECLEAR_SAFETY;Only files in the cache are cleared. Processing profiles stored alongside the source images are not touched. +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output +!PREFERENCES_INSPECTORWINDOW;Open inspector in own window or fullscreen +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling !PROGRESSBAR_DECODING;Decoding... !PROGRESSBAR_HOTDEADPIXELFILTER;Hot/dead pixel filter... !PROGRESSBAR_RAWCACORR;Raw CA correction... +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. +!TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. +!TP_COLORAPP_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_GEN;Settings +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. +!TP_COLORAPP_IL41;D41 +!TP_COLORAPP_IL50;D50 +!TP_COLORAPP_IL55;D55 +!TP_COLORAPP_IL60;D60 +!TP_COLORAPP_IL65;D65 +!TP_COLORAPP_IL75;D75 +!TP_COLORAPP_ILA;Incandescent StdA 2856K +!TP_COLORAPP_ILFREE;Free +!TP_COLORAPP_ILLUM;Illuminant +!TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. +!TP_COLORAPP_SURROUNDSRC;Surround +!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. +!TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. !TP_COLORTONING_LABREGION_OFFSET;Offset !TP_COLORTONING_LABREGION_POWER;Power +!TP_CROP_GTCENTEREDSQUARE;Centered square !TP_CROP_PPI;PPI -!TP_DEHAZE_LUMINANCE;Luminance only -!TP_FILMNEGATIVE_GREEN;Reference exponent (contrast) -!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. Set the white balance afterwards. +!TP_DEHAZE_SATURATION;Saturation +!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm +!TP_FILMNEGATIVE_COLORSPACE;Inversion color space: +!TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space +!TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. +!TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space +!TP_FILMNEGATIVE_GREEN;Reference exponent +!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green +!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. !TP_FILMNEGATIVE_LABEL;Film Negative +!TP_FILMNEGATIVE_OUT_LEVEL;Output level +!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. +!TP_HLREC_HLBLUR;Blur +!TP_ICM_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 +!TP_ICM_REDFRAME;Custom Primaries +!TP_ICM_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 +!TP_ICM_WORKING_TRC_LIN;Linear g=1 +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 !TP_LENSGEOM_LIN;Linear !TP_LENSGEOM_LOG;Logarithmic !TP_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. !TP_LENSPROFILE_USE_HEADER;Correct +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ACTIVSPOT;Enable Spot +!TP_LOCALLAB_ADJ;Equalizer Color +!TP_LOCALLAB_AMOUNT;Amount +!TP_LOCALLAB_ARTIF;Shape detection +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOID;Avoid color shift +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALAN;ab-L balance (ΔE) +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALANH;C-H balance (ΔE) +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLCO;Chrominance only +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLINV;Inverse +!TP_LOCALLAB_BLLC;Luminance & Chrominance +!TP_LOCALLAB_BLLO;Luminance only +!TP_LOCALLAB_BLMED;Median +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNOI_EXP;Blur & Noise +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUFR;Blur/Grain & Denoise +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain +!TP_LOCALLAB_BLURCOL;Radius +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURDE;Blur shape detection +!TP_LOCALLAB_BLURLC;Luminance only +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +!TP_LOCALLAB_BUTTON_ADD;Add +!TP_LOCALLAB_BUTTON_DEL;Delete +!TP_LOCALLAB_BUTTON_DUPL;Duplicate +!TP_LOCALLAB_BUTTON_REN;Rename +!TP_LOCALLAB_BUTTON_VIS;Show/Hide +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +!TP_LOCALLAB_CAMMODE;CAM model +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CBDL;Contrast by Detail Levels +!TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. +!TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. +!TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. +!TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels +!TP_LOCALLAB_CENTER_X;Center X +!TP_LOCALLAB_CENTER_Y;Center Y +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMA;Chrominance +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACBDL;Chroma +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASKCOL;Chroma +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_CHRRT;Chroma +!TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIEC;Use Ciecam environment parameters +!TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +!TP_LOCALLAB_CIECOLORFRA;Color +!TP_LOCALLAB_CIECONTFRA;Contrast +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE;Change tool position +!TP_LOCALLAB_CIEMODE_COM;Default +!TP_LOCALLAB_CIEMODE_DR;Dynamic Range +!TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIEMODE_WAV;Wavelet +!TP_LOCALLAB_CIETOOLEXP;Curves +!TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIRCRADIUS;Spot size +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COFR;Color & Light +!TP_LOCALLAB_COLORDE;ΔE preview color - intensity +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +!TP_LOCALLAB_COLORSCOPE;Scope (color tools) +!TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +!TP_LOCALLAB_COLOR_CIE;Color curve +!TP_LOCALLAB_COLOR_TOOLNAME;Color & Light +!TP_LOCALLAB_COL_NAME;Name +!TP_LOCALLAB_COL_VIS;Status +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRAST;Contrast +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CONTTHR;Contrast Threshold +!TP_LOCALLAB_CONTWFRA;Local contrast +!TP_LOCALLAB_CSTHRESHOLD;Wavelet levels +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve +!TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DEHAFRA;Dehaze +!TP_LOCALLAB_DEHAZ;Strength +!TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. +!TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_EXP;Denoise +!TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. +!TP_LOCALLAB_DEPTH;Depth +!TP_LOCALLAB_DETAIL;Local contrast +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILSH;Details +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_DUPLSPOTNAME;Copy +!TP_LOCALLAB_EDGFRA;Edge sharpness +!TP_LOCALLAB_EDGSHOW;Show all tools +!TP_LOCALLAB_ELI;Ellipse +!TP_LOCALLAB_ENABLE_AFTER_MASK;Use Tone Mapping +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EPSBL;Detail +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EV_NVIS;Hide +!TP_LOCALLAB_EV_NVIS_ALL;Hide all +!TP_LOCALLAB_EV_VIS;Show +!TP_LOCALLAB_EV_VIS_ALL;Show all +!TP_LOCALLAB_EXCLUF;Excluding +!TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +!TP_LOCALLAB_EXCLUTYPE;Spot method +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXECLU;Excluding spot +!TP_LOCALLAB_EXFULL;Full image +!TP_LOCALLAB_EXNORM;Normal spot +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA;Chroma compensation +!TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. +!TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust color, lightness, contrast and correct small defects such as red-eye, sensor dust etc. +!TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ +!TP_LOCALLAB_EXPCOMPINV;Exposure compensation +!TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPCURV;Curves +!TP_LOCALLAB_EXPGRAD;Graduated Filter +!TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_EXPTOOL;Exposure Tools +!TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure +!TP_LOCALLAB_FATAMOUNT;Amount +!TP_LOCALLAB_FATANCHOR;Anchor +!TP_LOCALLAB_FATDETAIL;Detail +!TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). +!TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform +!TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform +!TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAM;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMFRA;Tone response curve (TRC) +!TP_LOCALLAB_GAMM;Gamma +!TP_LOCALLAB_GAMMASKCOL;Gamma +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMSH;Gamma +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADANG;Gradient angle +!TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. +!TP_LOCALLAB_GRADFRA;Graduated Filter Mask +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance +!TP_LOCALLAB_GRADSTR;Gradient strength +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRADSTRLUM;Luma gradient strength +!TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +!TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +!TP_LOCALLAB_GRIDONE;Color Toning +!TP_LOCALLAB_GRIDTWO;Direct +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER;Guided filter radius +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. +!TP_LOCALLAB_INVERS;Inverse +!TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_ISOGR;Distribution (ISO) +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLIGHT;Brightness +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSAT;Saturation +!TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABBLURM;Blur Mask +!TP_LOCALLAB_LABEL;Local Adjustments +!TP_LOCALLAB_LABGRID;Color correction grid +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV;Wavelet levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTNESS;Lightness +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LIGHTRETI;Lightness +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_NAME;Add tool to current spot... +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRAST;Local Contrast & Wavelets +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOG;Log Encoding +!TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments +!TP_LOCALLAB_LOG2FRA;Viewing Conditions +!TP_LOCALLAB_LOGAUTO;Automatic +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +!TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. +!TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGEXP;All tools +!TP_LOCALLAB_LOGFRA;Scene Conditions +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode). +!TP_LOCALLAB_LOGLIGHTL;Lightness (J) +!TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration. +!TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART;Overall strength +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LOG_TOOLNAME;Log Encoding +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMADARKEST;Darkest +!TP_LOCALLAB_LUMASK;Background color/luma mask +!TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). +!TP_LOCALLAB_LUMAWHITESEST;Lightest +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASK;Curves +!TP_LOCALLAB_MASK2;Contrast curve +!TP_LOCALLAB_MASKCOM;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDDECAY;Decay strength +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. +!TP_LOCALLAB_MASKRECOTHRES;Recovery threshold +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERCOL;Color +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOR;Color Dodge +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHI;Color Burn +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MODE_EXPERT;Advanced +!TP_LOCALLAB_MODE_NORMAL;Standard +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MRONE;None +!TP_LOCALLAB_MRTHR;Original Image +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NEIGH;Radius +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLDET;Detail recovery +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NLLUM;Strength +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NOISEMETH;Denoise +!TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. +!TP_LOCALLAB_NONENOISE;None +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_OFFS;Offset +!TP_LOCALLAB_OFFSETWAV;Offset +!TP_LOCALLAB_OPACOL;Opacity +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PASTELS2;Vibrance +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_PREVHIDE;Hide additional settings +!TP_LOCALLAB_PREVIEW;Preview ΔE +!TP_LOCALLAB_PREVSHOW;Show additional settings +!TP_LOCALLAB_PROXI;ΔE decay +!TP_LOCALLAB_QUAAGRES;Aggressive +!TP_LOCALLAB_QUACONSER;Conservative +!TP_LOCALLAB_QUALCURV_METHOD;Curve type +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS;Radius +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RECT;Rectangle +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name +!TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot +!TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESID;Residual Image +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RESIDHI;Highlights +!TP_LOCALLAB_RESIDHITHR;Highlights threshold +!TP_LOCALLAB_RESIDSHA;Shadows +!TP_LOCALLAB_RESIDSHATHR;Shadows threshold +!TP_LOCALLAB_RETI;Dehaze & Retinex +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex +!TP_LOCALLAB_REWEI;Reweighting iterates +!TP_LOCALLAB_RGB;RGB Tone Curve +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_ROW_NVIS;Not visible +!TP_LOCALLAB_ROW_VIS;Visible +!TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. +!TP_LOCALLAB_SATUR;Saturation +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSI;Scope +!TP_LOCALLAB_SENSIEXCLU;Scope +!TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +!TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +!TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. +!TP_LOCALLAB_SETTINGS;Settings +!TP_LOCALLAB_SH1;Shadows Highlights +!TP_LOCALLAB_SH2;Equalizer +!TP_LOCALLAB_SHADEX;Shadows +!TP_LOCALLAB_SHADEXCOMP;Shadow compression +!TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHAMASKCOL;Shadows +!TP_LOCALLAB_SHAPETYPE;RT-spot shape +!TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +!TP_LOCALLAB_SHARAMOUNT;Amount +!TP_LOCALLAB_SHARBLUR;Blur radius +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHARITER;Iterations +!TP_LOCALLAB_SHARP;Sharpening +!TP_LOCALLAB_SHARP_TOOLNAME;Sharpening +!TP_LOCALLAB_SHARRADIUS;Radius +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASK;Show mask +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise +!TP_LOCALLAB_SHOWMASKTYP2;Denoise +!TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWREF;Preview ΔE +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMAWAV;Attenuation response +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTM;Soft Light +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SOURCE_ABS;Absolute luminance +!TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_SPOTNAME;New Spot +!TP_LOCALLAB_STD;Standard +!TP_LOCALLAB_STR;Strength +!TP_LOCALLAB_STRBL;Strength +!TP_LOCALLAB_STREN;Compression strength +!TP_LOCALLAB_STRENG;Strength +!TP_LOCALLAB_STRENGR;Strength +!TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). +!TP_LOCALLAB_STRENGTH;Noise +!TP_LOCALLAB_STRGRID;Strength +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_TARGET_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM;Tone Mapping +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSIT;Transition Gradient +!TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY +!TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. +!TP_LOCALLAB_TRANSITVALUE;Transition value +!TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) +!TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WARM;Warm/Cool & Color artifacts +!TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the color temperature of the selected area warmer or cooler.\nIt can also reduce color artifacts in some cases. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAV;Local contrast +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVDEN;Luminance denoise +!TP_LOCALLAB_WAVE;Wavelets +!TP_LOCALLAB_WAVEDG;Local contrast +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK;Local contrast +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. !TP_PDSHARPENING_LABEL;Capture Sharpening -!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if "Auto-correction" is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. +!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor +!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length +!TP_PERSPECTIVE_CAMERA_FRAME;Correction +!TP_PERSPECTIVE_CAMERA_PITCH;Vertical +!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_CAMERA_YAW;Horizontal +!TP_PERSPECTIVE_CONTROL_LINES;Control lines +!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +!TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. +!TP_PERSPECTIVE_METHOD;Method +!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based +!TP_PERSPECTIVE_METHOD_SIMPLE;Simple +!TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment +!TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +!TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +!TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +!TP_PERSPECTIVE_RECOVERY_FRAME;Recovery +!TP_PREPROCWB_LABEL;Preprocess White Balance +!TP_PREPROCWB_MODE;Mode +!TP_PREPROCWB_MODE_AUTO;Auto +!TP_PREPROCWB_MODE_CAMERA;Camera +!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if 'Auto-correction' is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear +!TP_RAW_DCBBILINEAR;DCB+Bilinear !TP_RAW_DUALDEMOSAICAUTOCONTRAST_TOOLTIP;If the checkbox is checked (recommended), RawTherapee calculates an optimum value based on flat regions in the image.\nIf there is no flat region in the image or the image is too noisy, the value will be set to 0.\nTo set the value manually, uncheck the checkbox first (reasonable values depend on the image). +!TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. +!TP_RAW_RCDBILINEAR;RCD+Bilinear !TP_RAW_XTRANS;X-Trans !TP_RAW_XTRANSFAST;Fast X-Trans -!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplify or reduce the transmission map to achieve the desired luminance.\nThe x-axis is the transmission.\nThe y-axis is the gain. +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge +!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Increase or reduce the transmission map to achieve the desired luminance. The x-axis is the transmission. The y-axis is the gain. !TP_SHARPENING_ITERCHECK;Auto limit iterations !TP_SHARPENING_RADIUS_BOOST;Corner radius boost +!TP_SPOT_COUNTLABEL;%1 point(s) +!TP_SPOT_DEFAULT_SIZE;Default spot size +!TP_SPOT_ENTRYCHANGED;Point changed +!TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its center then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. +!TP_SPOT_LABEL;Spot Removal +!TP_WAVELET_BALCHROM;Equalizer Color +!TP_WAVELET_BALLUM;Denoise equalizer White-Black +!TP_WAVELET_BL;Blur levels +!TP_WAVELET_BLCURVE;Blur by levels +!TP_WAVELET_BLURFRAME;Blur +!TP_WAVELET_BLUWAV;Attenuation response +!TP_WAVELET_CHROFRAME;Denoise chrominance +!TP_WAVELET_CHROMAFRAME;Chroma +!TP_WAVELET_CHROMCO;Chrominance Coarse +!TP_WAVELET_CHROMFI;Chrominance Fine +!TP_WAVELET_CHRWAV;Blur chroma +!TP_WAVELET_CLA;Clarity +!TP_WAVELET_CLARI;Sharp-mask and Clarity +!TP_WAVELET_COMPEXPERT;Advanced +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. +!TP_WAVELET_COMPNORMAL;Standard +!TP_WAVELET_CONTFRAME;Contrast - Compression +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENOISEHUE;Denoise hue equalizer +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_DIRFRAME;Directional contrast +!TP_WAVELET_EDEFFECT;Attenuation response +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. +!TP_WAVELET_FINCFRAME;Final local contrast +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. +!TP_WAVELET_MERGEC;Merge chroma +!TP_WAVELET_MERGEL;Merge luma +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise +!TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. +!TP_WAVELET_OLDSH;Algorithm using negatives values +!TP_WAVELET_PROTAB;Protection +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_RADIUS;Radius shadows - highlight +!TP_WAVELET_RANGEAB;Range a and b % +!TP_WAVELET_RESBLUR;Blur luminance +!TP_WAVELET_RESBLURC;Blur chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. +!TP_WAVELET_SHA;Sharp mask +!TP_WAVELET_SHFRAME;Shadows/Highlights +!TP_WAVELET_SHOWMASK;Show wavelet 'mask' +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_SIGMA;Attenuation response +!TP_WAVELET_SIGMAFIN;Attenuation response +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_WAVELET_SOFTRAD;Soft radius +!TP_WAVELET_STREND;Strength +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_TMEDGS;Edge stopping +!TP_WAVELET_TMSCALE;Scale +!TP_WAVELET_TONFRAME;Excluded colors +!TP_WAVELET_USH;None +!TP_WAVELET_USHARP;Clarity method +!TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. +!TP_WAVELET_WAVLOWTHR;Low contrast threshold +!TP_WAVELET_WAVOFFSET;Offset +!TP_WBALANCE_AUTOITCGREEN;Temperature correlation +!TP_WBALANCE_AUTOOLD;RGB grey +!TP_WBALANCE_AUTO_HEADER;Automatic +!TP_WBALANCE_STUDLABEL;Correlation factor: %1 +!TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. diff --git a/rtdata/languages/Russian b/rtdata/languages/Russian index 27f4cff0c..6b0aa6ca0 100644 --- a/rtdata/languages/Russian +++ b/rtdata/languages/Russian @@ -225,13 +225,11 @@ HISTOGRAM_TOOLTIP_CHRO;Показать/скрыть хроматическую HISTOGRAM_TOOLTIP_G;Показать/скрыть зелёный канал гистограммы HISTOGRAM_TOOLTIP_L;Показать/скрыть CIELAB гистограмму HISTOGRAM_TOOLTIP_R;Показать/скрыть красный канал гистограммы -HISTOGRAM_TOOLTIP_RAW;Показать/скрыть Raw гистограмму HISTORY_CHANGED;Изменено HISTORY_CUSTOMCURVE;Пользовательская кривая HISTORY_FROMCLIPBOARD;Из буфера обмена HISTORY_LABEL;История HISTORY_MSG_1;Фото загружено -HISTORY_MSG_2;Профиль загружен HISTORY_MSG_3;Профиль изменён HISTORY_MSG_4;Просмотр истории HISTORY_MSG_5;Яркость @@ -245,9 +243,6 @@ HISTORY_MSG_12;Автоматические уровни HISTORY_MSG_13;Обрезка экспозиции HISTORY_MSG_14;L*a*b*: Яркость HISTORY_MSG_15;L*a*b*: Контраст -HISTORY_MSG_16;Освещенность: Уровень чёрного -HISTORY_MSG_17;Освещенность: Сжатие светов -HISTORY_MSG_18;Освещенность: Сжатие теней HISTORY_MSG_19;Кривая 'L' HISTORY_MSG_20;Резкость HISTORY_MSG_21;Резкость: Радиус @@ -273,10 +268,6 @@ HISTORY_MSG_40;Баланс белого: оттенок HISTORY_MSG_41;Режим тоновой кривой 1 HISTORY_MSG_42;Тоновая кривая 2 HISTORY_MSG_43;Режим тоновой кривой 2 -HISTORY_MSG_44;Удаление шума: радиус -HISTORY_MSG_45;Удаление шума: чувств. к границам -HISTORY_MSG_46;Удаление цв. шума -HISTORY_MSG_47;Смешение ICC светов с матрицей HISTORY_MSG_48;Использование тональной кривой ICC HISTORY_MSG_49;Источник цвета DCP HISTORY_MSG_50;Тени/Света @@ -284,7 +275,6 @@ HISTORY_MSG_51;Т/С: Света HISTORY_MSG_52;Т/С: Тени HISTORY_MSG_53;Т/С: Уровень светов HISTORY_MSG_54;Т/С: Уровень теней -HISTORY_MSG_55;Т/С: Локальный контраст HISTORY_MSG_56;Т/С: Радиус HISTORY_MSG_57;Грубый поворот HISTORY_MSG_58;Горизонтальное отражение @@ -296,7 +286,6 @@ HISTORY_MSG_63;Снимок выбран HISTORY_MSG_64;Кадрирование HISTORY_MSG_65;Коррекция ХА HISTORY_MSG_66;Восстановление пересветов -HISTORY_MSG_67;ВП: Величина восстановления HISTORY_MSG_68;ВП: Способ восстановления HISTORY_MSG_69;Рабочая цветовая модель HISTORY_MSG_70;Выходная цветовая модель @@ -307,12 +296,10 @@ HISTORY_MSG_74;Масштабирование: Величина HISTORY_MSG_75;Масштабирование: Способ HISTORY_MSG_76;Метаданные Exif HISTORY_MSG_77;Метаданные IPTC -HISTORY_MSG_78;- HISTORY_MSG_79;Масштаб: Ширина HISTORY_MSG_80;Масштаб: Высота HISTORY_MSG_81;Масштабирование HISTORY_MSG_82;Изменение профиля -HISTORY_MSG_83;Т/С: Маска резкости HISTORY_MSG_84;Коррекция перспективы HISTORY_MSG_85;Профиль коррекции объектива HISTORY_MSG_86;Кривая RGB: Яркость @@ -359,12 +346,6 @@ HISTORY_MSG_127;Автовыбор плоского поля HISTORY_MSG_128;Радиус размытия плоского поля HISTORY_MSG_129;Тип размытия плоского поля HISTORY_MSG_130;Автоискажения -HISTORY_MSG_131;Подавление яркостного шума -HISTORY_MSG_132;Подавление цветового шума -HISTORY_MSG_133;Гамма -HISTORY_MSG_134;Свободная гамма -HISTORY_MSG_135;Свободная гамма -HISTORY_MSG_136;Крутизна гаммы HISTORY_MSG_137;Ур. черного: Зеленый 1 HISTORY_MSG_138;Ур. черного: Красный HISTORY_MSG_139;Ур. черного: Синий @@ -475,14 +456,12 @@ HISTORY_MSG_246;Кривая 'CL' HISTORY_MSG_247;Кривая 'LH' HISTORY_MSG_248;Кривая 'HH' HISTORY_MSG_249;КпУД: Порог -HISTORY_MSG_250;ПШ: Улучшенный HISTORY_MSG_251;Ч&Б: Алгоритм HISTORY_MSG_277;--неиспользуемый-- HISTORY_MSG_293;Имитация плёнки HISTORY_MSG_294;Имитация плёнки: Сила HISTORY_MSG_295;Имитация плёнки: Плёнка HISTORY_MSG_298;Фильтр битых пикселей -HISTORY_MSG_300;- HISTORY_MSG_440;КпУД: Метод HISTORY_MSG_485;Коррекция объектива HISTORY_MSG_486;Коррекция объектива: Камера @@ -846,7 +825,7 @@ PROFILEPANEL_GLOBALPROFILES;Предустановленные профили PROFILEPANEL_LABEL;Профиль обработки PROFILEPANEL_LOADDLGLABEL;Загрузить профиль обработки... PROFILEPANEL_LOADPPASTE;Параметры для загрузки -PROFILEPANEL_MODE_TIP;Режим применения профиля\n\nКнопка зажата: Частичные профили будут сконвертированы в полные профили, отсутствующие значения заменятся на значения по умолчанию.\n\nКнопка отжата: Профили будут применяться как они есть, изменяя только те параметры, которые в них прописаны. +PROFILEPANEL_MODE_TOOLTIP;Режим применения профиля\n\nКнопка зажата: Частичные профили будут сконвертированы в полные профили, отсутствующие значения заменятся на значения по умолчанию.\n\nКнопка отжата: Профили будут применяться как они есть, изменяя только те параметры, которые в них прописаны. PROFILEPANEL_MYPROFILES;Мои профили PROFILEPANEL_PASTEPPASTE;Параметры для вставки PROFILEPANEL_PCUSTOM;Пользовательский @@ -1011,7 +990,6 @@ TP_COLORAPP_CURVEEDITOR3;Цветовая кривая TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Позволяет настроить цвет (C), насыщенность (S) или красочность (M).\n\nПоказывает гистограмму насыщенности (L*a*b*) перед CIECAM02.\nЕсли стоит галка "Показывать кривые в CIECAM02", показывает в гистограмме значения C, s или M. C, s и M не показываются в основной гистограмме.\nИтоговый вывод смотрите на основной гистограмме. TP_COLORAPP_DATACIE;Показывать кривые в CIECAM02 TP_COLORAPP_GAMUT;Контроль гаммы (L*a*b*) -TP_COLORAPP_GAMUT_TOOLTIP;Позволяет контролировать гамму в режиме L*a*b*. TP_COLORAPP_HUE;Цвет (h) TP_COLORAPP_MODEL;Модель точки белого TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP;Абсолютная яркость при просмотре.\n(Обычно 16 кд/м²) @@ -1092,12 +1070,12 @@ TP_EPD_REWEIGHTINGITERATES;Перевзвешивание проходов TP_EPD_SCALE;Масштаб TP_EPD_STRENGTH;Интенсивность TP_EXPOSURE_AUTOLEVELS;Автоуровни -TP_EXPOSURE_AUTOLEVELS_TIP;Переключение выполнения автоуровней для автоматической установки параметров экспозиции на основе анализа изображения +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Переключение выполнения автоуровней для автоматической установки параметров экспозиции на основе анализа изображения TP_EXPOSURE_BLACKLEVEL;Уровень чёрного TP_EXPOSURE_BRIGHTNESS;Яркость TP_EXPOSURE_CLAMPOOG;Обрезать цвета за пределами охвата TP_EXPOSURE_CLIP;Ограничить -TP_EXPOSURE_CLIP_TIP;Часть пикселей, обрезаемая операцией автоматических уровней +TP_EXPOSURE_CLIP_TOOLTIP;Часть пикселей, обрезаемая операцией автоматических уровней TP_EXPOSURE_COMPRHIGHLIGHTS;Сжатие светов TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Порог восстановления светов TP_EXPOSURE_COMPRSHADOWS;Сжатие теней @@ -1212,7 +1190,7 @@ TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Яркость в соответствии с TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Яркость в соответствии с яркостью.\nL=f(L) TP_LABCURVE_LABEL;Кривые L*a*b* TP_LABCURVE_LCREDSK;Ограничить применение кривой ЯЦ -TP_LABCURVE_LCREDSK_TIP;Если включено, то кривая яркости от цвета применится лишь для тонов кожи и красных оттенков.\nИначе применится для всех тонов +TP_LABCURVE_LCREDSK_TOOLTIP;Если включено, то кривая яркости от цвета применится лишь для тонов кожи и красных оттенков.\nИначе применится для всех тонов TP_LABCURVE_RSTPROTECTION;Защита красного и тонов кожи TP_LABCURVE_RSTPRO_TOOLTIP;Защита красных тонов и оттенков кожи\nМожно использовать вместе со слайдером Цветность и кривой ЦЦ. TP_LENSGEOM_AUTOCROP;Автокадрирование @@ -1233,7 +1211,7 @@ TP_METADATA_MODE;Режим копирования метаданных TP_METADATA_STRIP;Удалить всё TP_METADATA_TUNNEL;Скопировать неизменённо TP_NEUTRAL;Сбросить -TP_NEUTRAL_TIP;Сбросить настройки выдержки на средние значения +TP_NEUTRAL_TOOLTIP;Сбросить настройки выдержки на средние значения TP_PCVIGNETTE_FEATHER;Размытие TP_PCVIGNETTE_FEATHER_TOOLTIP;Размытие:\n0=только углы, 50=наполовину к центру, 100=к центру. TP_PCVIGNETTE_LABEL;Фильтр виньетирования @@ -1327,7 +1305,7 @@ TP_RGBCURVES_RED;R TP_ROTATE_DEGREE;Угол TP_ROTATE_LABEL;Поворот TP_ROTATE_SELECTLINE;Выбрать прямую линию -TP_SAVEDIALOG_OK_TIP;Горячая клавиша Ctrl-Enter +TP_SAVEDIALOG_OK_TOOLTIP;Горячая клавиша Ctrl-Enter TP_SHADOWSHLIGHTS_HIGHLIGHTS;Света TP_SHADOWSHLIGHTS_HLTONALW;Уровень TP_SHADOWSHLIGHTS_LABEL;Тени/света @@ -1460,24 +1438,36 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !EXPORT_BYPASS_EQUALIZER;Bypass Wavelet Levels !EXPORT_PIPELINE;Processing pipeline !EXPORT_USE_FAST_PIPELINE;Dedicated (full processing on resized image) -!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_FAST_PIPELINE_TOOLTIP;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_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. +!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply 'find' keywords. !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles !FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles !FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? !FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? !FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? !FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPINSPECT;Inspect !FILEBROWSER_POPUPREMOVE;Delete permanently !FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version !FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !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. !FILECHOOSER_FILTER_PP;Processing profiles !FILECHOOSER_FILTER_SAME;Same format as current photo +!GENERAL_DELETE_ALL;Delete all +!GENERAL_EDIT;Edit !GENERAL_HELP;Help !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_CROSSHAIR;Show/Hide indicator crosshair. !HISTOGRAM_TOOLTIP_MODE;Toggle between linear, log-linear and log-log scaling of the histogram. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform !HISTORY_MSG_235;B&W - CM - Auto !HISTORY_MSG_237;B&W - CM !HISTORY_MSG_252;CbDL - Skin tar/prot @@ -1502,8 +1492,6 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !HISTORY_MSG_271;CT - High - Blue !HISTORY_MSG_272;CT - Balance !HISTORY_MSG_273;CT - Color Balance SMH -!HISTORY_MSG_274;CT - Sat. Shadows -!HISTORY_MSG_275;CT - Sat. Highlights !HISTORY_MSG_276;CT - Opacity !HISTORY_MSG_278;CT - Preserve luminance !HISTORY_MSG_279;CT - Shadows @@ -1540,10 +1528,10 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !HISTORY_MSG_315;W - Residual - Contrast !HISTORY_MSG_316;W - Gamut - Skin tar/prot !HISTORY_MSG_317;W - Gamut - Skin hue -!HISTORY_MSG_318;W - Contrast - Highlight levels -!HISTORY_MSG_319;W - Contrast - Highlight range -!HISTORY_MSG_320;W - Contrast - Shadow range -!HISTORY_MSG_321;W - Contrast - Shadow levels +!HISTORY_MSG_318;W - Contrast - Finer levels +!HISTORY_MSG_319;W - Contrast - Finer range +!HISTORY_MSG_320;W - Contrast - Coarser range +!HISTORY_MSG_321;W - Contrast - Coarser levels !HISTORY_MSG_322;W - Gamut - Avoid color shift !HISTORY_MSG_323;W - ES - Local contrast !HISTORY_MSG_324;W - Chroma - Pastel @@ -1607,14 +1595,14 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !HISTORY_MSG_382;PRS RLD - Amount !HISTORY_MSG_383;PRS RLD - Damping !HISTORY_MSG_384;PRS RLD - Iterations -!HISTORY_MSG_385;W - Residual - Color Balance +!HISTORY_MSG_385;W - Residual - Color balance !HISTORY_MSG_386;W - Residual - CB green high !HISTORY_MSG_387;W - Residual - CB blue high !HISTORY_MSG_388;W - Residual - CB green mid !HISTORY_MSG_389;W - Residual - CB blue mid !HISTORY_MSG_390;W - Residual - CB green low !HISTORY_MSG_391;W - Residual - CB blue low -!HISTORY_MSG_392;W - Residual - Color Balance +!HISTORY_MSG_392;W - Residual - Color balance !HISTORY_MSG_393;DCP - Look table !HISTORY_MSG_394;DCP - Baseline exposure !HISTORY_MSG_395;DCP - Base table @@ -1631,7 +1619,6 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !HISTORY_MSG_406;W - ES - Neighboring pixels !HISTORY_MSG_407;Retinex - Method !HISTORY_MSG_408;Retinex - Radius -!HISTORY_MSG_409;Retinex - Contrast !HISTORY_MSG_410;Retinex - Offset !HISTORY_MSG_411;Retinex - Strength !HISTORY_MSG_412;Retinex - Gaussian gradient @@ -1647,7 +1634,7 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !HISTORY_MSG_422;Retinex - Gamma !HISTORY_MSG_423;Retinex - Gamma slope !HISTORY_MSG_424;Retinex - HL threshold -!HISTORY_MSG_425;Retinex - Log base +!HISTORY_MSG_425;--unused-- !HISTORY_MSG_426;Retinex - Hue equalizer !HISTORY_MSG_427;Output rendering intent !HISTORY_MSG_428;Monitor rendering intent @@ -1666,32 +1653,695 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !HISTORY_MSG_442;Retinex - Scale !HISTORY_MSG_443;Output black point compensation !HISTORY_MSG_444;WB - Temp bias -!HISTORY_MSG_445;Raw sub-image -!HISTORY_MSG_449;PS - ISO adaption -!HISTORY_MSG_452;PS - Show motion -!HISTORY_MSG_453;PS - Show mask only -!HISTORY_MSG_457;PS - Check red/blue -!HISTORY_MSG_462;PS - Check green -!HISTORY_MSG_464;PS - Blur motion mask -!HISTORY_MSG_465;PS - Blur radius -!HISTORY_MSG_468;PS - Fill holes -!HISTORY_MSG_469;PS - Median -!HISTORY_MSG_471;PS - Motion correction -!HISTORY_MSG_472;PS - Smooth transitions -!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_MSG_445;Raw Sub-Image +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_449;PS ISO adaption +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_452;PS Show motion +!HISTORY_MSG_453;PS Show mask only +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_457;PS Check red/blue +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_462;PS Check green +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_464;PS Blur motion mask +!HISTORY_MSG_465;PS Blur radius +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_468;PS Fill holes +!HISTORY_MSG_469;PS Median +!HISTORY_MSG_470;--unused-- +!HISTORY_MSG_471;PS Motion correction +!HISTORY_MSG_472;PS Smooth transitions +!HISTORY_MSG_474;PS Equalize +!HISTORY_MSG_475;PS Equalize channel +!HISTORY_MSG_476;CAL - VC - Temperature +!HISTORY_MSG_477;CAL - VC - Tint +!HISTORY_MSG_478;CAL - VC - Mean luminance +!HISTORY_MSG_479;CAL - VC - Adaptation +!HISTORY_MSG_480;CAL - VC - Auto adaptation +!HISTORY_MSG_481;CAL - SC - Temperature +!HISTORY_MSG_482;CAL - SC - Tint +!HISTORY_MSG_483;CAL - SC - Mean luminance +!HISTORY_MSG_484;CAL - SC - Auto mean luminance !HISTORY_MSG_489;DRC - Detail !HISTORY_MSG_494;Capture Sharpening +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_507;Local Spot center +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_516;Local - Color and light +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_527;Local - Color Inverse +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_542;Local - Vib avoid colorshift +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_591;Local - Avoid color shift +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_607;Local - Color Mask C +!HISTORY_MSG_608;Local - Color Mask L +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_611;Local - Color Mask H +!HISTORY_MSG_612;Local - Color Structure +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_615;Local - Blend color +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_618;Local - Use Color Mask +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_624;Local - Color correction grid +!HISTORY_MSG_625;Local - Color correction strength +!HISTORY_MSG_626;Local - Color correction Method +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_634;Local - radius color +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_650;Local - Color mask chroma +!HISTORY_MSG_651;Local - Color mask gamma +!HISTORY_MSG_652;Local - Color mask slope +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_656;Local - Color soft radius +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_760;Local - Color Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_770;Local - Color Mask contrast curve +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_779;Local - Color Mask local contrast curve +!HISTORY_MSG_780;Local - Color Mask shadows +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_783;Local - Color Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_799;Local - Color RGB ToneCurve +!HISTORY_MSG_800;Local - Color ToneCurve Method +!HISTORY_MSG_801;Local - Color ToneCurve Special +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_803;Local - Color Merge +!HISTORY_MSG_804;Local - Color mask Structure +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_806;Local - Color mask Structure as tool +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_808;Local - Color mask curve H(H) +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_821;Local - color grid background +!HISTORY_MSG_822;Local - color background merge +!HISTORY_MSG_823;Local - color background luminance +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_830;Local - Color gradient strength L +!HISTORY_MSG_831;Local - Color gradient angle +!HISTORY_MSG_832;Local - Color gradient strength C +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_834;Local - Color gradient strength H +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_894;Local - Color Preview dE +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_925;Local - Scope color tools +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_928;Local - Common color mask +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_996;Local - Color recovery threshold +!HISTORY_MSG_997;Local - Color threshold mask low +!HISTORY_MSG_998;Local - Color threshold mask high +!HISTORY_MSG_999;Local - Color decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1070;Local - CIECAM colorfullness +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1107;Local - CIECAM Color method +!HISTORY_MSG_1108;Local - CIECAM Color curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_BLSHAPE;Blur by level +!HISTORY_MSG_BLURCWAV;Blur chroma +!HISTORY_MSG_BLURWAV;Blur luminance +!HISTORY_MSG_BLUWAV;Attenuation response +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM !HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction !HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction !HISTORY_MSG_COLORTONING_LABREGION_CHANNEL;CT - Channel @@ -1706,17 +2356,37 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation !HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask !HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope -!HISTORY_MSG_DEHAZE_LUMINANCE;Dehaze - Luminance only +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation !HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Dual demosaic - Auto threshold !HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Dual demosaic - Contrast threshold +!HISTORY_MSG_EDGEFFECT;Edge Attenuation response +!HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output +!HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space !HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negative +!HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input !HISTORY_MSG_FILMNEGATIVE_VALUES;Film negative values +!HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y !HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primaries !HISTORY_MSG_ICM_OUTPUT_TEMP;Output - ICC-v4 illuminant D !HISTORY_MSG_ICM_OUTPUT_TYPE;Output - Type -!HISTORY_MSG_ICM_WORKING_GAMMA;Working - Gamma -!HISTORY_MSG_ICM_WORKING_SLOPE;Working - Slope -!HISTORY_MSG_ICM_WORKING_TRC_METHOD;Working - TRC method +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_GAMMA;TRC - Gamma +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ICM_WORKING_SLOPE;TRC - Slope +!HISTORY_MSG_ICM_WORKING_TRC_METHOD;TRC method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant !HISTORY_MSG_MICROCONTRAST_CONTRAST;Microcontrast - Contrast threshold !HISTORY_MSG_PDSHARPEN_AUTO_CONTRAST;CS - Auto threshold !HISTORY_MSG_PDSHARPEN_AUTO_RADIUS;CS - Auto radius @@ -1725,33 +2395,96 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iterations !HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius !HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average !HISTORY_MSG_PIXELSHIFT_DEMOSAIC;PS - Demosaic method for motion !HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;Line noise filter direction !HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode +!HISTORY_MSG_PROTAB;Protection !HISTORY_MSG_PRSHARPEN_CONTRAST;PRS - Contrast threshold +!HISTORY_MSG_RANGEAB;Range ab !HISTORY_MSG_RAWCACORR_AUTOIT;Raw CA Correction - Iterations !HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift !HISTORY_MSG_RAW_BORDER;Raw border !HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge !HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius !HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold !HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace -!HISTORY_MSG_TRANS_Method;Geometry - Method +!HISTORY_MSG_SIGMACOL;Chroma Attenuation response +!HISTORY_MSG_SIGMADIR;Dir Attenuation response +!HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response +!HISTORY_MSG_SIGMATON;Toning Attenuation response +!HISTORY_MSG_SPOT;Spot removal +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. +!HISTORY_MSG_TEMPOUT;CAM02 automatic temperature +!HISTORY_MSG_THRESWAV;Balance threshold +!HISTORY_MSG_TRANS_METHOD;Geometry - Method +!HISTORY_MSG_WAVBALCHROM;Equalizer chrominance +!HISTORY_MSG_WAVBALLUM;Equalizer luminance +!HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVCHROMCO;Chroma coarse +!HISTORY_MSG_WAVCHROMFI;Chroma fine +!HISTORY_MSG_WAVCLARI;Clarity +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVEDGS;Edge stopping +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVLOWTHR;Threshold low contrast +!HISTORY_MSG_WAVMERGEC;Merge C +!HISTORY_MSG_WAVMERGEL;Merge L +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVOFFSET;Offset +!HISTORY_MSG_WAVOLDSH;Old algorithm +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVRADIUS;Radius shadows-highlights +!HISTORY_MSG_WAVSCALE;Scale +!HISTORY_MSG_WAVSHOWMASK;Show wavelet mask +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSIGMA;Attenuation response +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSOFTRAD;Soft radius clarity +!HISTORY_MSG_WAVSOFTRADEND;Soft radius final +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!HISTORY_MSG_WAVUSHAMET;Clarity method !ICCPROFCREATOR_COPYRIGHT;Copyright: -!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0" +!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to 'RawTherapee, CC0'. !ICCPROFCREATOR_CUSTOM;Custom !ICCPROFCREATOR_DESCRIPTION;Description: !ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Append gamma and slope values to the description !ICCPROFCREATOR_DESCRIPTION_TOOLTIP;Leave empty to set the default description. !ICCPROFCREATOR_GAMMA;Gamma !ICCPROFCREATOR_ILL;Illuminant: -!ICCPROFCREATOR_ILL_TOOLTIP;You can only set the illuminant for ICC v4 profiles. +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater +!ICCPROFCREATOR_ILL_TOOLTIP;You can set the illuminant for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIMARIES;Primaries: -!ICCPROFCREATOR_PRIM_TOOLTIP;You can only set custom primaries for ICC v4 profiles. +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 +!ICCPROFCREATOR_PRIM_TOOLTIP;You can set custom primaries for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIM_WIDEG;Widegamut !ICCPROFCREATOR_SAVEDIALOG_TITLE;Save ICC profile as... !ICCPROFCREATOR_SLOPE;Slope -!ICCPROFCREATOR_TRC_PRESET;Tone response curve: +!ICCPROFCREATOR_TRC_PRESET;Tone response curve +!INSPECTOR_WINDOW_TITLE;Inspector !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 @@ -1763,7 +2496,7 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !IPTCPANEL_CREATORJOBTITLEHINT;Enter the Job Title of the person listed in the Creator field. !IPTCPANEL_DATECREATEDHINT;Enter the Date the image was taken. !IPTCPANEL_DESCRIPTION;Description -!IPTCPANEL_DESCRIPTIONHINT;Enter a "caption" describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. +!IPTCPANEL_DESCRIPTIONHINT;Enter a 'caption' describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. !IPTCPANEL_DESCRIPTIONWRITER;Description writer !IPTCPANEL_DESCRIPTIONWRITERHINT;Enter the name of the person involved in writing, editing or correcting the description of the image. !IPTCPANEL_HEADLINEHINT;Enter a brief publishable synopsis or summary of the contents of the image. @@ -1782,16 +2515,21 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue. !MAIN_TAB_FAVORITES;Favorites !MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: Alt-u +!MAIN_TAB_LOCALLAB;Local +!MAIN_TAB_LOCALLAB_TOOLTIP;Shortcut: Alt-o !MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9 !MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%. !MONITOR_PROFILE_SYSTEM;System default !PARTIALPASTE_COLORTONING;Color toning !PARTIALPASTE_DEHAZE;Haze removal !PARTIALPASTE_EQUALIZER;Wavelet levels -!PARTIALPASTE_FILMNEGATIVE;Film Negative +!PARTIALPASTE_FILMNEGATIVE;Film negative !PARTIALPASTE_FILMSIMULATION;Film simulation !PARTIALPASTE_FLATFIELDCLIPCONTROL;Flat-field clip control +!PARTIALPASTE_LOCALLAB;Local Adjustments +!PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings !PARTIALPASTE_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!PARTIALPASTE_PREPROCWB;Preprocess White Balance !PARTIALPASTE_PRSHARPENING;Post-resize sharpening !PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;CA avoid color shift !PARTIALPASTE_RAWCACORR_CAREDBLUE;CA red & blue @@ -1799,6 +2537,7 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !PARTIALPASTE_RAW_IMAGENUM;Sub-image !PARTIALPASTE_RAW_PIXELSHIFT;Pixel Shift !PARTIALPASTE_RETINEX;Retinex +!PARTIALPASTE_SPOT;Spot removal !PREFERENCES_APPEARANCE_PSEUDOHIDPI;Pseudo-HiDPI mode !PREFERENCES_CACHECLEAR_ALL;Clear all cached files: !PREFERENCES_CACHECLEAR_ALLBUTPROFILES;Clear all cached files except for cached processing profiles: @@ -1810,15 +2549,28 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !PREFERENCES_CHUNKSIZE_RAW_RCD;RCD demosaic !PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans demosaic !PREFERENCES_CHUNKSIZE_RGB;RGB processing +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts !PREFERENCES_CLUTSCACHE;HaldCLUT Cache !PREFERENCES_CLUTSCACHE_LABEL;Maximum number of cached CLUTs !PREFERENCES_CMMBPC;Black point compensation +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic !PREFERENCES_CROP_AUTO_FIT;Automatically zoom to fit the crop !PREFERENCES_EDITORCMDLINE;Custom command line +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Compact toolbars in File Browser !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_HISTOGRAM_TOOLTIP;If enabled, the working profile is used for rendering the main histogram and the Navigator panel, otherwise the gamma-corrected output profile is used. +!PREFERENCES_INSPECTORWINDOW;Open inspector in own window or fullscreen !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_MAXRECENTFOLDERS;Maximum number of recent folders !PREFERENCES_MONINTENT;Default rendering intent @@ -1839,6 +2591,8 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !PREFERENCES_SERIALIZE_TIFF_READ_LABEL;Serialize reading of TIFF files !PREFERENCES_SERIALIZE_TIFF_READ_TOOLTIP;Enabling this option when working with folders containing uncompressed TIFF files can increase performance of thumbnail generation. !PREFERENCES_SHOWFILMSTRIPTOOLBAR;Show Filmstrip toolbar +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling !PROFILEPANEL_PDYNAMIC;Dynamic !PROGRESSBAR_DECODING;Decoding... !PROGRESSBAR_GREENEQUIL;Green equilibration... @@ -1859,34 +2613,68 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !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. !SOFTPROOF_GAMUTCHECK_TOOLTIP;Highlight pixels with out-of-gamut colors with respect to:\n- the printer profile, if one is set and soft-proofing is enabled,\n- the output profile, if a printer profile is not set and soft-proofing is enabled,\n- the monitor profile, if soft-proofing is disabled. !SOFTPROOF_TOOLTIP;Soft-proofing simulates the appearance of the image:\n- when printed, if a printer profile is set in Preferences > Color Management,\n- when viewed on a display that uses the current output profile, if a printer profile is not set. +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry !TOOLBAR_TOOLTIP_COLORPICKER;Lockable Color Picker\n\nWhen the tool is active:\n- Add a picker: left-click.\n- Drag a picker: left-click and drag.\n- Delete a picker: right-click.\n- Delete all pickers: Ctrl+Shift+right-click.\n- Revert to hand tool: right-click outside any picker. +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. !TP_CBDL_AFT;After Black-and-White !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_ABSOLUTELUMINANCE;Absolute luminance +!TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. !TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;When setting manually, values above 65 are recommended. -!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_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_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed +!TP_COLORAPP_DATACIE_TOOLTIP;Affects histograms shown in Color Appearance & Lightning curves. Does not affect RawTherapee's main histogram.\n\nEnabled: show approximate values for J and C, S or M after the CIECAM adjustments.\nDisabled: show L*a*b* values before CIECAM adjustments. +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_FREE;Free temp + tint + CAT02/16 +[output] +!TP_COLORAPP_GEN;Settings +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. +!TP_COLORAPP_HUE_TOOLTIP;Hue (h) is the degree to which a stimulus can be described as similar to a color described as red, green, blue and yellow. +!TP_COLORAPP_IL41;D41 +!TP_COLORAPP_IL50;D50 +!TP_COLORAPP_IL55;D55 +!TP_COLORAPP_IL60;D60 +!TP_COLORAPP_IL65;D65 +!TP_COLORAPP_IL75;D75 +!TP_COLORAPP_ILA;Incandescent StdA 2856K +!TP_COLORAPP_ILFREE;Free +!TP_COLORAPP_ILLUM;Illuminant +!TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. +!TP_COLORAPP_LABEL;Color Appearance & Lighting !TP_COLORAPP_LABEL_CAM02;Image Adjustments !TP_COLORAPP_LABEL_SCENE;Scene Conditions !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_LIGHT_TOOLTIP;Lightness in CIECAM is the clarity of a stimulus relative to the clarity of a stimulus that appears white under similar viewing conditions. It differs from L*a*b* and RGB lightness. !TP_COLORAPP_MEANLUMINANCE;Mean luminance (Yb%) -!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\nWB [RT] + [output]: 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\nWB [RT+CAT02] + [output]: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\nFree temp+green + CAT02 + [output]: temp and green are selected by the user, the output device's white balance is set in Viewing Conditions. +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. +!TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\nWB [RT] + [output]: RT's white balance is used for the scene, CIECAM is set to D50, and the output device's white balance is set in Viewing Conditions.\n\nWB [RT+CAT02/16] + [output]: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\nFree temp + tint + CAT02/16 + [output]: temp and tint are selected by the user, the 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_NEUTRAL_TOOLTIP;Reset all sliders checkbox and curves to their default values. !TP_COLORAPP_RSTPRO;Red & skin-tones protection !TP_COLORAPP_RSTPRO_TOOLTIP;Red & skin-tones protection affects both sliders and curves. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. !TP_COLORAPP_SURROUND;Surround +!TP_COLORAPP_SURROUNDSRC;Surround !TP_COLORAPP_SURROUND_AVER;Average !TP_COLORAPP_SURROUND_DARK;Dark !TP_COLORAPP_SURROUND_DIM;Dim !TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet) -!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. +!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device. The darker the viewing conditions, the darker the image will become. Image brightness will not be changed when the viewing conditions are set to average. +!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. !TP_COLORAPP_TCMODE_BRIGHTNESS;Brightness !TP_COLORAPP_TCMODE_CHROMA;Chroma !TP_COLORAPP_TCMODE_COLORF;Colorfulness @@ -1895,18 +2683,22 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !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 set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504 -!TP_COLORAPP_TONECIE;Tone mapping using CIECAM02 +!TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_TONECIE;Use CIECAM for tone mapping !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_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. +!TP_COLORAPP_WBCAM;WB [RT+CAT02/16] + [output] !TP_COLORAPP_WBRT;WB [RT] + [output] +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. !TP_COLORTONING_AB;o C/L !TP_COLORTONING_AUTOSAT;Automatic !TP_COLORTONING_BALANCE;Balance !TP_COLORTONING_BY;o C/L !TP_COLORTONING_CHROMAC;Opacity -!TP_COLORTONING_COLOR;Color -!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L) +!TP_COLORTONING_COLOR;Color: +!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L). !TP_COLORTONING_HIGHLIGHT;Highlights !TP_COLORTONING_HUE;Hue !TP_COLORTONING_LAB;L*a*b* blending @@ -1936,11 +2728,11 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_COLORTONING_LUMAMODE;Preserve luminance !TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved. !TP_COLORTONING_METHOD;Method -!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. +!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. !TP_COLORTONING_MIDTONES;Midtones !TP_COLORTONING_NEUTRAL;Reset sliders -!TP_COLORTONING_NEUTRAL_TIP;Reset all values (Shadows, Midtones, Highlights) to default. -!TP_COLORTONING_OPACITY;Opacity +!TP_COLORTONING_NEUTRAL_TOOLTIP;Reset all values (Shadows, Midtones, Highlights) to default. +!TP_COLORTONING_OPACITY;Opacity: !TP_COLORTONING_RGBCURVES;RGB - Curves !TP_COLORTONING_RGBSLIDERS;RGB - Sliders !TP_COLORTONING_SA;Saturation Protection @@ -1957,12 +2749,13 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_COLORTONING_TWOBY;Special a* and b* !TP_COLORTONING_TWOCOLOR_TOOLTIP;Standard chroma:\nLinear response, a* = b*.\n\nSpecial chroma:\nLinear response, a* = b*, but unbound - try under the diagonal.\n\nSpecial a* and b*:\nLinear response unbound with separate curves for a* and b*. Intended for special effects.\n\nSpecial chroma 2 colors:\nMore predictable. !TP_COLORTONING_TWOSTD;Standard chroma +!TP_CROP_GTCENTEREDSQUARE;Centered square !TP_CROP_PPI;PPI -!TP_DEHAZE_LUMINANCE;Luminance only +!TP_DEHAZE_SATURATION;Saturation !TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Auto multi-zones !TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;Increase (multiply) the value of all chrominance sliders.\nThis curve lets you adjust the strength of chromatic noise reduction as a function of chromaticity, for instance to increase the action in areas of low saturation and to decrease it in those of high saturation. !TP_DIRPYRDENOISE_CHROMINANCE_METHODADVANCED_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. -!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the "Preview" method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. +!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the 'Preview' method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. !TP_DIRPYRDENOISE_CHROMINANCE_PMZ;Preview multi-zones !TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Displays the remaining noise levels of the part of the image visible in the preview after wavelet.\n\n>300 Very noisy\n100-300 Noisy\n50-100 A little noisy\n<50 Very low noise\n\nBeware, the values will differ between RGB and L*a*b* mode. The RGB values are less accurate because the RGB mode does not completely separate luminance and chrominance. !TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_INFO;Preview size=%1, Center: Px=%2 Py=%3 @@ -1973,7 +2766,7 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_DIRPYRDENOISE_MEDIAN_METHOD_CHROMINANCE;Chroma only !TP_DIRPYRDENOISE_MEDIAN_METHOD_LABEL;Median Filter !TP_DIRPYRDENOISE_MEDIAN_METHOD_LUMINANCE;Luminance only -!TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the "Luminance only" and "L*a*b*" methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the "RGB" mode, it will be performed at the very end of the noise reduction pipeline. +!TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the 'Luminance only' and 'L*a*b*' methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the 'RGB' mode, it will be performed at the very end of the noise reduction pipeline. !TP_DIRPYRDENOISE_MEDIAN_METHOD_WEIGHTED;Weighted L* (little) + a*b* (normal) !TP_DIRPYRDENOISE_MEDIAN_PASSES;Median iterations !TP_DIRPYRDENOISE_MEDIAN_PASSES_TOOLTIP;Applying three median filter iterations with a 3×3 window size often leads to better results than using one median filter iteration with a 7×7 window size. @@ -1986,34 +2779,92 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_DIRPYREQUALIZER_SKIN;Skin targetting/protection !TP_DIRPYREQUALIZER_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. !TP_DIRPYREQUALIZER_TOOLTIP;Attempts to reduce artifacts in the transitions between skin colors (hue, chroma, luma) and the rest of the image. -!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_DISTORTION_AUTO_TOOLTIP;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_EXPOS_BLACKPOINT_LABEL;Raw Black Points !TP_EXPOS_WHITEPOINT_LABEL;Raw White Points !TP_FILMNEGATIVE_BLUE;Blue ratio -!TP_FILMNEGATIVE_GREEN;Reference exponent (contrast) -!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. Set the white balance afterwards. +!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm +!TP_FILMNEGATIVE_COLORSPACE;Inversion color space: +!TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space +!TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. +!TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space +!TP_FILMNEGATIVE_GREEN;Reference exponent +!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green +!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. !TP_FILMNEGATIVE_LABEL;Film Negative +!TP_FILMNEGATIVE_OUT_LEVEL;Output level !TP_FILMNEGATIVE_PICK;Pick neutral spots !TP_FILMNEGATIVE_RED;Red ratio +!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. !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_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, value 0 is used. +!TP_HLREC_HLBLUR;Blur !TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure !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 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 available if the selected DCP has one. -!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_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_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 !TP_ICM_PROFILEINTENT;Rendering Intent +!TP_ICM_REDFRAME;Custom Primaries !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_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut !TP_ICM_WORKING_TRC;Tone response curve: +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 !TP_ICM_WORKING_TRC_CUSTOM;Custom !TP_ICM_WORKING_TRC_GAMMA;Gamma +!TP_ICM_WORKING_TRC_LIN;Linear g=1 !TP_ICM_WORKING_TRC_NONE;None !TP_ICM_WORKING_TRC_SLOPE;Slope +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 !TP_ICM_WORKING_TRC_TOOLTIP;Only for built-in profiles. !TP_LENSGEOM_LIN;Linear !TP_LENSGEOM_LOG;Logarithmic @@ -2022,22 +2873,831 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_LENSPROFILE_MODE_HEADER;Lens Profile !TP_LENSPROFILE_USE_GEOMETRIC;Geometric distortion !TP_LENSPROFILE_USE_HEADER;Correct +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ACTIVSPOT;Enable Spot +!TP_LOCALLAB_ADJ;Equalizer Color +!TP_LOCALLAB_AMOUNT;Amount +!TP_LOCALLAB_ARTIF;Shape detection +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOID;Avoid color shift +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALAN;ab-L balance (ΔE) +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALANH;C-H balance (ΔE) +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLCO;Chrominance only +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLINV;Inverse +!TP_LOCALLAB_BLLC;Luminance & Chrominance +!TP_LOCALLAB_BLLO;Luminance only +!TP_LOCALLAB_BLMED;Median +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNOI_EXP;Blur & Noise +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUFR;Blur/Grain & Denoise +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain +!TP_LOCALLAB_BLURCOL;Radius +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURDE;Blur shape detection +!TP_LOCALLAB_BLURLC;Luminance only +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +!TP_LOCALLAB_BUTTON_ADD;Add +!TP_LOCALLAB_BUTTON_DEL;Delete +!TP_LOCALLAB_BUTTON_DUPL;Duplicate +!TP_LOCALLAB_BUTTON_REN;Rename +!TP_LOCALLAB_BUTTON_VIS;Show/Hide +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +!TP_LOCALLAB_CAMMODE;CAM model +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CBDL;Contrast by Detail Levels +!TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. +!TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. +!TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. +!TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels +!TP_LOCALLAB_CENTER_X;Center X +!TP_LOCALLAB_CENTER_Y;Center Y +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMA;Chrominance +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACBDL;Chroma +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASKCOL;Chroma +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_CHRRT;Chroma +!TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIEC;Use Ciecam environment parameters +!TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +!TP_LOCALLAB_CIECOLORFRA;Color +!TP_LOCALLAB_CIECONTFRA;Contrast +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE;Change tool position +!TP_LOCALLAB_CIEMODE_COM;Default +!TP_LOCALLAB_CIEMODE_DR;Dynamic Range +!TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIEMODE_WAV;Wavelet +!TP_LOCALLAB_CIETOOLEXP;Curves +!TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIRCRADIUS;Spot size +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COFR;Color & Light +!TP_LOCALLAB_COLORDE;ΔE preview color - intensity +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +!TP_LOCALLAB_COLORSCOPE;Scope (color tools) +!TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +!TP_LOCALLAB_COLOR_CIE;Color curve +!TP_LOCALLAB_COLOR_TOOLNAME;Color & Light +!TP_LOCALLAB_COL_NAME;Name +!TP_LOCALLAB_COL_VIS;Status +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRAST;Contrast +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CONTTHR;Contrast Threshold +!TP_LOCALLAB_CONTWFRA;Local contrast +!TP_LOCALLAB_CSTHRESHOLD;Wavelet levels +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve +!TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DEHAFRA;Dehaze +!TP_LOCALLAB_DEHAZ;Strength +!TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. +!TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_EXP;Denoise +!TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. +!TP_LOCALLAB_DEPTH;Depth +!TP_LOCALLAB_DETAIL;Local contrast +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILSH;Details +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_DUPLSPOTNAME;Copy +!TP_LOCALLAB_EDGFRA;Edge sharpness +!TP_LOCALLAB_EDGSHOW;Show all tools +!TP_LOCALLAB_ELI;Ellipse +!TP_LOCALLAB_ENABLE_AFTER_MASK;Use Tone Mapping +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EPSBL;Detail +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EV_NVIS;Hide +!TP_LOCALLAB_EV_NVIS_ALL;Hide all +!TP_LOCALLAB_EV_VIS;Show +!TP_LOCALLAB_EV_VIS_ALL;Show all +!TP_LOCALLAB_EXCLUF;Excluding +!TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +!TP_LOCALLAB_EXCLUTYPE;Spot method +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXECLU;Excluding spot +!TP_LOCALLAB_EXFULL;Full image +!TP_LOCALLAB_EXNORM;Normal spot +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA;Chroma compensation +!TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. +!TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust color, lightness, contrast and correct small defects such as red-eye, sensor dust etc. +!TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ +!TP_LOCALLAB_EXPCOMPINV;Exposure compensation +!TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPCURV;Curves +!TP_LOCALLAB_EXPGRAD;Graduated Filter +!TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_EXPTOOL;Exposure Tools +!TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure +!TP_LOCALLAB_FATAMOUNT;Amount +!TP_LOCALLAB_FATANCHOR;Anchor +!TP_LOCALLAB_FATDETAIL;Detail +!TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). +!TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform +!TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform +!TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAM;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMFRA;Tone response curve (TRC) +!TP_LOCALLAB_GAMM;Gamma +!TP_LOCALLAB_GAMMASKCOL;Gamma +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMSH;Gamma +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADANG;Gradient angle +!TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. +!TP_LOCALLAB_GRADFRA;Graduated Filter Mask +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance +!TP_LOCALLAB_GRADSTR;Gradient strength +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRADSTRLUM;Luma gradient strength +!TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +!TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +!TP_LOCALLAB_GRIDONE;Color Toning +!TP_LOCALLAB_GRIDTWO;Direct +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER;Guided filter radius +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. +!TP_LOCALLAB_INVERS;Inverse +!TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_ISOGR;Distribution (ISO) +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLIGHT;Brightness +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSAT;Saturation +!TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABBLURM;Blur Mask +!TP_LOCALLAB_LABEL;Local Adjustments +!TP_LOCALLAB_LABGRID;Color correction grid +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV;Wavelet levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTNESS;Lightness +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LIGHTRETI;Lightness +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_NAME;Add tool to current spot... +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRAST;Local Contrast & Wavelets +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOG;Log Encoding +!TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments +!TP_LOCALLAB_LOG2FRA;Viewing Conditions +!TP_LOCALLAB_LOGAUTO;Automatic +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +!TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. +!TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGEXP;All tools +!TP_LOCALLAB_LOGFRA;Scene Conditions +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode). +!TP_LOCALLAB_LOGLIGHTL;Lightness (J) +!TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration. +!TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART;Overall strength +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LOG_TOOLNAME;Log Encoding +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMADARKEST;Darkest +!TP_LOCALLAB_LUMASK;Background color/luma mask +!TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). +!TP_LOCALLAB_LUMAWHITESEST;Lightest +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASK;Curves +!TP_LOCALLAB_MASK2;Contrast curve +!TP_LOCALLAB_MASKCOM;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDDECAY;Decay strength +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. +!TP_LOCALLAB_MASKRECOTHRES;Recovery threshold +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERCOL;Color +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOR;Color Dodge +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHI;Color Burn +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MODE_EXPERT;Advanced +!TP_LOCALLAB_MODE_NORMAL;Standard +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MRONE;None +!TP_LOCALLAB_MRTHR;Original Image +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NEIGH;Radius +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLDET;Detail recovery +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NLLUM;Strength +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NOISEMETH;Denoise +!TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. +!TP_LOCALLAB_NONENOISE;None +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_OFFS;Offset +!TP_LOCALLAB_OFFSETWAV;Offset +!TP_LOCALLAB_OPACOL;Opacity +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PASTELS2;Vibrance +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_PREVHIDE;Hide additional settings +!TP_LOCALLAB_PREVIEW;Preview ΔE +!TP_LOCALLAB_PREVSHOW;Show additional settings +!TP_LOCALLAB_PROXI;ΔE decay +!TP_LOCALLAB_QUAAGRES;Aggressive +!TP_LOCALLAB_QUACONSER;Conservative +!TP_LOCALLAB_QUALCURV_METHOD;Curve type +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS;Radius +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RECT;Rectangle +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name +!TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot +!TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESID;Residual Image +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RESIDHI;Highlights +!TP_LOCALLAB_RESIDHITHR;Highlights threshold +!TP_LOCALLAB_RESIDSHA;Shadows +!TP_LOCALLAB_RESIDSHATHR;Shadows threshold +!TP_LOCALLAB_RETI;Dehaze & Retinex +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex +!TP_LOCALLAB_REWEI;Reweighting iterates +!TP_LOCALLAB_RGB;RGB Tone Curve +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_ROW_NVIS;Not visible +!TP_LOCALLAB_ROW_VIS;Visible +!TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. +!TP_LOCALLAB_SATUR;Saturation +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSI;Scope +!TP_LOCALLAB_SENSIEXCLU;Scope +!TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +!TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +!TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. +!TP_LOCALLAB_SETTINGS;Settings +!TP_LOCALLAB_SH1;Shadows Highlights +!TP_LOCALLAB_SH2;Equalizer +!TP_LOCALLAB_SHADEX;Shadows +!TP_LOCALLAB_SHADEXCOMP;Shadow compression +!TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHAMASKCOL;Shadows +!TP_LOCALLAB_SHAPETYPE;RT-spot shape +!TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +!TP_LOCALLAB_SHARAMOUNT;Amount +!TP_LOCALLAB_SHARBLUR;Blur radius +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHARITER;Iterations +!TP_LOCALLAB_SHARP;Sharpening +!TP_LOCALLAB_SHARP_TOOLNAME;Sharpening +!TP_LOCALLAB_SHARRADIUS;Radius +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASK;Show mask +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise +!TP_LOCALLAB_SHOWMASKTYP2;Denoise +!TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWREF;Preview ΔE +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMAWAV;Attenuation response +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTM;Soft Light +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SOURCE_ABS;Absolute luminance +!TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_SPOTNAME;New Spot +!TP_LOCALLAB_STD;Standard +!TP_LOCALLAB_STR;Strength +!TP_LOCALLAB_STRBL;Strength +!TP_LOCALLAB_STREN;Compression strength +!TP_LOCALLAB_STRENG;Strength +!TP_LOCALLAB_STRENGR;Strength +!TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). +!TP_LOCALLAB_STRENGTH;Noise +!TP_LOCALLAB_STRGRID;Strength +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_TARGET_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM;Tone Mapping +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSIT;Transition Gradient +!TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY +!TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. +!TP_LOCALLAB_TRANSITVALUE;Transition value +!TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) +!TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WARM;Warm/Cool & Color artifacts +!TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the color temperature of the selected area warmer or cooler.\nIt can also reduce color artifacts in some cases. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAV;Local contrast +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVDEN;Luminance denoise +!TP_LOCALLAB_WAVE;Wavelets +!TP_LOCALLAB_WAVEDG;Local contrast +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK;Local contrast +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. !TP_PDSHARPENING_LABEL;Capture Sharpening +!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor +!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length +!TP_PERSPECTIVE_CAMERA_FRAME;Correction +!TP_PERSPECTIVE_CAMERA_PITCH;Vertical +!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_CAMERA_YAW;Horizontal +!TP_PERSPECTIVE_CONTROL_LINES;Control lines +!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +!TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. +!TP_PERSPECTIVE_METHOD;Method +!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based +!TP_PERSPECTIVE_METHOD_SIMPLE;Simple +!TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment +!TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +!TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +!TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +!TP_PERSPECTIVE_RECOVERY_FRAME;Recovery !TP_PREPROCESS_LINEDENOISE_DIRECTION;Direction !TP_PREPROCESS_LINEDENOISE_DIRECTION_BOTH;Both !TP_PREPROCESS_LINEDENOISE_DIRECTION_HORIZONTAL;Horizontal !TP_PREPROCESS_LINEDENOISE_DIRECTION_PDAF_LINES;Horizontal only on PDAF rows !TP_PREPROCESS_LINEDENOISE_DIRECTION_VERTICAL;Vertical !TP_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!TP_PREPROCWB_LABEL;Preprocess White Balance +!TP_PREPROCWB_MODE;Mode +!TP_PREPROCWB_MODE_AUTO;Auto +!TP_PREPROCWB_MODE_CAMERA;Camera !TP_PRSHARPENING_LABEL;Post-Resize Sharpening -!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the "Lanczos" resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. -!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if "Auto-correction" is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. +!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the 'Lanczos' resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. +!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if 'Auto-correction' is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. !TP_RAW_1PASSMEDIUM;1-pass (Markesteijn) !TP_RAW_2PASS;1-pass+fast !TP_RAW_3PASSBEST;3-pass (Markesteijn) !TP_RAW_4PASS;3-pass+fast +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear !TP_RAW_AMAZEVNG4;AMaZE+VNG4 !TP_RAW_BORDER;Border +!TP_RAW_DCBBILINEAR;DCB+Bilinear !TP_RAW_DCBVNG4;DCB+VNG4 !TP_RAW_DUALDEMOSAICAUTOCONTRAST;Auto threshold !TP_RAW_DUALDEMOSAICAUTOCONTRAST_TOOLTIP;If the checkbox is checked (recommended), RawTherapee calculates an optimum value based on flat regions in the image.\nIf there is no flat region in the image or the image is too noisy, the value will be set to 0.\nTo set the value manually, uncheck the checkbox first (reasonable values depend on the image). @@ -2045,6 +3705,8 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_RAW_IMAGENUM;Sub-image !TP_RAW_IMAGENUM_SN;SN mode !TP_RAW_IMAGENUM_TOOLTIP;Some raw files consist of several sub-images (Pentax/Sony Pixel Shift, Pentax 3-in-1 HDR, Canon Dual Pixel, Fuji EXR).\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_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTBLUR;Blur motion mask !TP_RAW_PIXELSHIFTDMETHOD;Demosaic method for motion !TP_RAW_PIXELSHIFTEPERISO;Sensitivity @@ -2055,7 +3717,7 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_RAW_PIXELSHIFTEQUALBRIGHT_TOOLTIP;Equalize the brightness of the frames to the brightness of the selected frame.\nIf there are overexposed areas in the frames select the brightest frame to avoid magenta color cast in overexposed areas or enable motion correction. !TP_RAW_PIXELSHIFTGREEN;Check green channel for motion !TP_RAW_PIXELSHIFTHOLEFILL;Fill holes in motion mask -!TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask +!TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask. !TP_RAW_PIXELSHIFTMEDIAN;Use median for moving parts !TP_RAW_PIXELSHIFTMEDIAN_TOOLTIP;Use median of all frames instead of selected frame for regions with motion.\nRemoves objects which are at different places in all frames.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTMM_AUTO;Automatic @@ -2070,22 +3732,27 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_RAW_PIXELSHIFTSIGMA;Blur radius !TP_RAW_PIXELSHIFTSIGMA_TOOLTIP;The default radius of 1.0 usually fits well for base ISO.\nIncrease the value for high ISO shots, 5.0 is a good starting point.\nWatch the motion mask while changing the value. !TP_RAW_PIXELSHIFTSMOOTH;Smooth transitions -!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether "Use LMMSE" is selected), or the median of all four frames if "Use median" is selected. -!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas +!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether 'Use LMMSE' is selected), or the median of all four frames if 'Use median' is selected. +!TP_RAW_RCDBILINEAR;RCD+Bilinear +!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas. !TP_RAW_XTRANS;X-Trans !TP_RAW_XTRANSFAST;Fast X-Trans +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge !TP_RETINEX_CONTEDIT_HSL;HSL histogram !TP_RETINEX_CONTEDIT_LAB;L*a*b* histogram !TP_RETINEX_CONTEDIT_LH;Hue !TP_RETINEX_CONTEDIT_MAP;Equalizer -!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the "Highlight" retinex method. +!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the 'Highlight' retinex method. !TP_RETINEX_CURVEEDITOR_MAP_TOOLTIP;This curve can be applied alone or with a Gaussian mask or wavelet mask.\nBeware of artifacts! !TP_RETINEX_EQUAL;Equalizer !TP_RETINEX_FREEGAMMA;Free gamma !TP_RETINEX_GAIN;Gain !TP_RETINEX_GAINOFFS;Gain and Offset (brightness) !TP_RETINEX_GAINTRANSMISSION;Gain transmission -!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplify or reduce the transmission map to achieve the desired luminance.\nThe x-axis is the transmission.\nThe y-axis is the gain. +!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Increase or reduce the transmission map to achieve the desired luminance. The x-axis is the transmission. The y-axis is the gain. !TP_RETINEX_GAMMA;Gamma !TP_RETINEX_GAMMA_FREE;Free !TP_RETINEX_GAMMA_HIGH;High @@ -2100,7 +3767,7 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_RETINEX_HIGH;High !TP_RETINEX_HIGHLIG;Highlight !TP_RETINEX_HIGHLIGHT;Highlight threshold -!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust "Neighboring pixels" and to increase the "White-point correction" in the Raw tab -> Raw White Points tool. +!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust 'Neighboring pixels' and to increase the 'White-point correction' in the Raw tab -> Raw White Points tool. !TP_RETINEX_HSLSPACE_LIN;HSL-Linear !TP_RETINEX_HSLSPACE_LOG;HSL-Logarithmic !TP_RETINEX_ITER;Iterations (Tone-mapping) @@ -2119,11 +3786,11 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_RETINEX_MEDIAN;Transmission median filter !TP_RETINEX_METHOD;Method !TP_RETINEX_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Equalize action.\nHigh = Reinforce high light.\nHighlights = Remove magenta in highlights. -!TP_RETINEX_MLABEL;Restored haze-free Min=%1 Max=%2 -!TP_RETINEX_MLABEL_TOOLTIP;Should be near min=0 max=32768\nRestored image with no mixture. +!TP_RETINEX_MLABEL;Restored data Min=%1 Max=%2 +!TP_RETINEX_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. !TP_RETINEX_NEIGHBOR;Radius !TP_RETINEX_NEUTRAL;Reset -!TP_RETINEX_NEUTRAL_TIP;Reset all sliders and curves to their default values. +!TP_RETINEX_NEUTRAL_TOOLTIP;Reset all sliders and curves to their default values. !TP_RETINEX_OFFSET;Offset (brightness) !TP_RETINEX_SCALES;Gaussian gradient !TP_RETINEX_SCALES_TOOLTIP;If slider at 0, all iterations are identical.\nIf > 0 Scale and radius are reduced when iterations increase, and conversely. @@ -2133,9 +3800,9 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_RETINEX_STRENGTH;Strength !TP_RETINEX_THRESHOLD;Threshold !TP_RETINEX_THRESHOLD_TOOLTIP;Limits in/out.\nIn = image source,\nOut = image gauss. -!TP_RETINEX_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sigma=%4 -!TP_RETINEX_TLABEL2;TM Tm=%1 TM=%2 -!TP_RETINEX_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nMean and Sigma.\nTm=Min TM=Max of transmission map. +!TP_RETINEX_TLABEL;TM Datas Min=%1 Max=%2 Mean=%3 Sigma=%4 +!TP_RETINEX_TLABEL2;TM Effective Tm=%1 TM=%2 +!TP_RETINEX_TLABEL_TOOLTIP;ransmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. !TP_RETINEX_TRANF;Transmission !TP_RETINEX_TRANSMISSION;Transmission map !TP_RETINEX_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positives values (max).\nOrdinate: amplification or reduction. @@ -2144,7 +3811,7 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_RETINEX_VARIANCE_TOOLTIP;Low variance increase local contrast and saturation, but can lead to artifacts. !TP_RETINEX_VIEW;Process !TP_RETINEX_VIEW_MASK;Mask -!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. +!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. !TP_RETINEX_VIEW_NONE;Standard !TP_RETINEX_VIEW_TRAN;Transmission - Auto !TP_RETINEX_VIEW_TRAN2;Transmission - Fixed @@ -2152,6 +3819,11 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_SHARPENING_BLUR;Blur radius !TP_SHARPENING_ITERCHECK;Auto limit iterations !TP_SHARPENING_RADIUS_BOOST;Corner radius boost +!TP_SPOT_COUNTLABEL;%1 point(s) +!TP_SPOT_DEFAULT_SIZE;Default spot size +!TP_SPOT_ENTRYCHANGED;Point changed +!TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its center then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. +!TP_SPOT_LABEL;Spot Removal !TP_WAVELET_1;Level 1 !TP_WAVELET_2;Level 2 !TP_WAVELET_3;Level 3 @@ -2161,22 +3833,28 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_WAVELET_7;Level 7 !TP_WAVELET_8;Level 8 !TP_WAVELET_9;Level 9 -!TP_WAVELET_APPLYTO;Apply To +!TP_WAVELET_APPLYTO;Apply to !TP_WAVELET_AVOID;Avoid color shift !TP_WAVELET_B0;Black -!TP_WAVELET_B1;Grey +!TP_WAVELET_B1;Gray !TP_WAVELET_B2;Residual !TP_WAVELET_BACKGROUND;Background !TP_WAVELET_BACUR;Curve !TP_WAVELET_BALANCE;Contrast balance d/v-h !TP_WAVELET_BALANCE_TOOLTIP;Alters the balance between the wavelet directions: vertical-horizontal and diagonal.\nIf contrast, chroma or residual tone mapping are activated, the effect due to balance is amplified. !TP_WAVELET_BALCHRO;Chroma balance +!TP_WAVELET_BALCHROM;Equalizer Color !TP_WAVELET_BALCHRO_TOOLTIP;If enabled, the 'Contrast balance' curve or slider also modifies chroma balance. +!TP_WAVELET_BALLUM;Denoise equalizer White-Black !TP_WAVELET_BANONE;None !TP_WAVELET_BASLI;Slider !TP_WAVELET_BATYPE;Contrast balance method -!TP_WAVELET_CBENAB;Toning and Color Balance -!TP_WAVELET_CB_TOOLTIP;For strong values product color-toning by combining it or not with levels decomposition 'toning'\nFor low values you can change the white balance of the background (sky, ...) without changing that of the front plane, generally more contrasted +!TP_WAVELET_BL;Blur levels +!TP_WAVELET_BLCURVE;Blur by levels +!TP_WAVELET_BLURFRAME;Blur +!TP_WAVELET_BLUWAV;Attenuation response +!TP_WAVELET_CBENAB;Toning and Color balance +!TP_WAVELET_CB_TOOLTIP;With high values you can create special effects, similar to those achieved with the Chroma Module, but focused on the residual image\nWith moderate values you can manually correct the white balance. !TP_WAVELET_CCURVE;Local contrast !TP_WAVELET_CH1;Whole chroma range !TP_WAVELET_CH2;Saturated/pastel @@ -2184,29 +3862,42 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_WAVELET_CHCU;Curve !TP_WAVELET_CHR;Chroma-contrast link strength !TP_WAVELET_CHRO;Saturated/pastel threshold +!TP_WAVELET_CHROFRAME;Denoise chrominance +!TP_WAVELET_CHROMAFRAME;Chroma +!TP_WAVELET_CHROMCO;Chrominance Coarse +!TP_WAVELET_CHROMFI;Chrominance Fine !TP_WAVELET_CHRO_TOOLTIP;Sets the wavelet level which will be the threshold between saturated and pastel colors.\n1-x: saturated\nx-9: pastel\n\nIf the value exceeds the amount of wavelet levels you are using then it will be ignored. -!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of "contrast levels" and "chroma-contrast link strength" +!TP_WAVELET_CHRWAV;Blur chroma +!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of 'contrast levels' and 'chroma-contrast link strength'. !TP_WAVELET_CHSL;Sliders !TP_WAVELET_CHTYPE;Chrominance method -!TP_WAVELET_COLORT;Opacity Red-Green +!TP_WAVELET_CLA;Clarity +!TP_WAVELET_CLARI;Sharp-mask and Clarity +!TP_WAVELET_COLORT;Opacity red-green !TP_WAVELET_COMPCONT;Contrast +!TP_WAVELET_COMPEXPERT;Advanced !TP_WAVELET_COMPGAMMA;Compression gamma !TP_WAVELET_COMPGAMMA_TOOLTIP;Adjusting the gamma of the residual image allows you to equilibrate the data and histogram. +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. +!TP_WAVELET_COMPNORMAL;Standard !TP_WAVELET_COMPTM;Tone mapping !TP_WAVELET_CONTEDIT;'After' contrast curve +!TP_WAVELET_CONTFRAME;Contrast - Compression !TP_WAVELET_CONTR;Gamut !TP_WAVELET_CONTRA;Contrast !TP_WAVELET_CONTRAST_MINUS;Contrast - !TP_WAVELET_CONTRAST_PLUS;Contrast + -!TP_WAVELET_CONTRA_TOOLTIP;Changes contrast of the residual image. +!TP_WAVELET_CONTRA_TOOLTIP;Changes the residual image contrast. !TP_WAVELET_CTYPE;Chrominance control +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. !TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;Modifies local contrast as a function of the original local contrast (abscissa).\nLow abscissa values represent small local contrast (real values about 10..20).\n50% abscissa represents average local contrast (real value about 100..300).\n66% abscissa represents standard deviation of local contrast (real value about 300..800).\n100% abscissa represents maximum local contrast (real value about 3000..8000). !TP_WAVELET_CURVEEDITOR_CH;Contrast levels=f(Hue) !TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Modifies each level's contrast as a function of hue.\nTake care not to overwrite changes made with the Gamut sub-tool's hue controls.\nThe curve will only have an effect when wavelet contrast level sliders are non-zero. !TP_WAVELET_CURVEEDITOR_CL;L -!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast luminance curve at the end of the wavelet treatment. +!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast-luminance curve at the end of the wavelet processing. !TP_WAVELET_CURVEEDITOR_HH;HH -!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image's hue as a function of hue. +!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image hue as a function of hue. !TP_WAVELET_DALL;All directions !TP_WAVELET_DAUB;Edge performance !TP_WAVELET_DAUB2;D2 - low @@ -2214,62 +3905,101 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_WAVELET_DAUB6;D6 - standard plus !TP_WAVELET_DAUB10;D10 - medium !TP_WAVELET_DAUB14;D14 - high -!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the firsts levels. However the quality is not strictly related to this coefficient and can vary with images and uses. +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the first levels. However the quality is not strictly related to this coefficient and can vary depending on image and use. +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENOISEHUE;Denoise hue equalizer +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_DIRFRAME;Directional contrast !TP_WAVELET_DONE;Vertical !TP_WAVELET_DTHR;Diagonal !TP_WAVELET_DTWO;Horizontal !TP_WAVELET_EDCU;Curve +!TP_WAVELET_EDEFFECT;Attenuation response +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. !TP_WAVELET_EDGCONT;Local contrast -!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+stdev and maxima. -!TP_WAVELET_EDGE;Edge Sharpness +!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+std. dev. and maxima. +!TP_WAVELET_EDGE;Edge sharpness !TP_WAVELET_EDGEAMPLI;Base amplification !TP_WAVELET_EDGEDETECT;Gradient sensitivity !TP_WAVELET_EDGEDETECTTHR;Threshold low (noise) -!TP_WAVELET_EDGEDETECTTHR2;Threshold high (detection) -!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This adjuster lets you target edge detection for example to avoid applying edge sharpness to fine details, such as noise in the sky. +!TP_WAVELET_EDGEDETECTTHR2;Edge enhancement +!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This slider sets a threshold below which finer details won't be considered as an edge. !TP_WAVELET_EDGEDETECT_TOOLTIP;Moving the slider to the right increases edge sensitivity. This affects local contrast, edge settings and noise. !TP_WAVELET_EDGESENSI;Edge sensitivity !TP_WAVELET_EDGREINF_TOOLTIP;Reinforce or reduce the action of the first level, do the opposite to the second level, and leave the rest unchanged. !TP_WAVELET_EDGTHRESH;Detail !TP_WAVELET_EDGTHRESH_TOOLTIP;Change the repartition between the first levels and the others. The higher the threshold the more the action is centered on the first levels. Be careful with negative values, they increase the action of high levels and can introduce artifacts. !TP_WAVELET_EDRAD;Radius -!TP_WAVELET_EDRAD_TOOLTIP;This radius adjustment is very different from those in other sharpening tools. Its value is compared to each level through a complex function. In this sense, a value of zero still has an effect. -!TP_WAVELET_EDSL;Threshold Sliders +!TP_WAVELET_EDRAD_TOOLTIP;This adjustment controls the local enhancement. A value of zero still has an effect. +!TP_WAVELET_EDSL;Threshold sliders !TP_WAVELET_EDTYPE;Local contrast method !TP_WAVELET_EDVAL;Strength !TP_WAVELET_FINAL;Final Touchup +!TP_WAVELET_FINCFRAME;Final local contrast !TP_WAVELET_FINEST;Finest -!TP_WAVELET_HIGHLIGHT;Highlight luminance range +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) +!TP_WAVELET_HIGHLIGHT;Finer levels luminance range !TP_WAVELET_HS1;Whole luminance range -!TP_WAVELET_HS2;Shadows/Highlights +!TP_WAVELET_HS2;Selective luminance range !TP_WAVELET_HUESKIN;Skin hue !TP_WAVELET_HUESKIN_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. -!TP_WAVELET_HUESKY;Sky hue +!TP_WAVELET_HUESKY;Hue range !TP_WAVELET_HUESKY_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. !TP_WAVELET_ITER;Delta balance levels !TP_WAVELET_ITER_TOOLTIP;Left: increase low levels and reduce high levels,\nRight: reduce low levels and increase high levels. -!TP_WAVELET_LABEL;Wavelet Levels +!TP_WAVELET_LABEL;Wavelet levels +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 !TP_WAVELET_LARGEST;Coarsest !TP_WAVELET_LEVCH;Chroma -!TP_WAVELET_LEVDIR_ALL;All levels in all directions -!TP_WAVELET_LEVDIR_INF;Below or equal the level +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVDIR_ALL;All levels, in all directions +!TP_WAVELET_LEVDIR_INF;Finer detail levels, including selected level !TP_WAVELET_LEVDIR_ONE;One level -!TP_WAVELET_LEVDIR_SUP;Above the level +!TP_WAVELET_LEVDIR_SUP;Coarser detail levels, excluding selected level +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 !TP_WAVELET_LEVELS;Wavelet levels -!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of detail levels the image is to be decomposed into. More levels require more RAM and require a longer processing time. +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of wavelet decomposition levels for the image.\nMore levels require more RAM and require a longer processing time. !TP_WAVELET_LEVF;Contrast +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold !TP_WAVELET_LEVLABEL;Preview maximum possible levels = %1 !TP_WAVELET_LEVONE;Level 2 !TP_WAVELET_LEVTHRE;Level 4 !TP_WAVELET_LEVTWO;Level 3 !TP_WAVELET_LEVZERO;Level 1 -!TP_WAVELET_LINKEDG;Link with Edge Sharpness' Strength +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_LINKEDG;Link to Edge Sharpness Strength !TP_WAVELET_LIPST;Enhanced algoritm -!TP_WAVELET_LOWLIGHT;Shadow luminance range +!TP_WAVELET_LOWLIGHT;Coarser levels luminance range +!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. !TP_WAVELET_MEDGREINF;First level !TP_WAVELET_MEDI;Reduce artifacts in blue sky !TP_WAVELET_MEDILEV;Edge detection !TP_WAVELET_MEDILEV_TOOLTIP;When you enable Edge Detection, it is recommanded:\n- to disabled low contrast levels to avoid artifacts,\n- to use high values of gradient sensitivity.\n\nYou can modulate the strength with 'refine' from Denoise and Refine. +!TP_WAVELET_MERGEC;Merge chroma +!TP_WAVELET_MERGEL;Merge luma +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise !TP_WAVELET_NEUTRAL;Neutral !TP_WAVELET_NOIS;Denoise !TP_WAVELET_NOISE;Denoise and Refine @@ -2278,40 +4008,73 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_WAVELET_NPNONE;None !TP_WAVELET_NPTYPE;Neighboring pixels !TP_WAVELET_NPTYPE_TOOLTIP;This algorithm uses the proximity of a pixel and eight of its neighbors. If less difference, edges are reinforced. -!TP_WAVELET_OPACITY;Opacity Blue-Yellow +!TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. +!TP_WAVELET_OLDSH;Algorithm using negatives values +!TP_WAVELET_OPACITY;Opacity blue-yellow !TP_WAVELET_OPACITYW;Contrast balance d/v-h curve -!TP_WAVELET_OPACITYWL;Final local contrast +!TP_WAVELET_OPACITYWL;Local contrast !TP_WAVELET_OPACITYWL_TOOLTIP;Modify the final local contrast at the end of the wavelet treatment.\n\nThe left side represents the smallest local contrast, progressing to the largest local contrast on the right. !TP_WAVELET_PASTEL;Pastel chroma !TP_WAVELET_PROC;Process +!TP_WAVELET_PROTAB;Protection +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_RADIUS;Radius shadows - highlight +!TP_WAVELET_RANGEAB;Range a and b % !TP_WAVELET_RE1;Reinforced !TP_WAVELET_RE2;Unchanged !TP_WAVELET_RE3;Reduced -!TP_WAVELET_RESCHRO;Chroma +!TP_WAVELET_RESBLUR;Blur luminance +!TP_WAVELET_RESBLURC;Blur chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. +!TP_WAVELET_RESCHRO;Strength !TP_WAVELET_RESCON;Shadows !TP_WAVELET_RESCONH;Highlights !TP_WAVELET_RESID;Residual Image !TP_WAVELET_SAT;Saturated chroma !TP_WAVELET_SETTINGS;Wavelet Settings +!TP_WAVELET_SHA;Sharp mask +!TP_WAVELET_SHFRAME;Shadows/Highlights +!TP_WAVELET_SHOWMASK;Show wavelet 'mask' +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_SIGMA;Attenuation response +!TP_WAVELET_SIGMAFIN;Attenuation response +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. !TP_WAVELET_SKIN;Skin targetting/protection !TP_WAVELET_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. -!TP_WAVELET_SKY;Sky targetting/protection -!TP_WAVELET_SKY_TOOLTIP;At -100 sky-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 sky-tones are protected while all other tones are affected. +!TP_WAVELET_SKY;Hue targetting/protection +!TP_WAVELET_SKY_TOOLTIP;Allows you to target or protect a range of hues.\nAt -100 selected hues are targetted.\nAt 0 all hues are treated equally.\nAt +100 selected hues are protected while all other hues are targetted. +!TP_WAVELET_SOFTRAD;Soft radius +!TP_WAVELET_STREND;Strength !TP_WAVELET_SUPE;Extra !TP_WAVELET_THR;Shadows threshold -!TP_WAVELET_THRESHOLD;Highlight levels -!TP_WAVELET_THRESHOLD2;Shadow levels -!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels between 9 and 9 minus the value will be affected by the shadow luminance range. Other levels will be fully treated. The highest level possible is limited by the highlight level value (9 minus highlight level value). -!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels beyond the chosen value will be affected by the highlight luminance range. Other levels will be fully treated. The chosen value here limits the highest possible value of the shadow levels. +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_THRESHOLD;Finer levels +!TP_WAVELET_THRESHOLD2;Coarser levels +!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels from the chosen value to the selected number of 'wavelet levels' will be affected by the Shadow luminance range. +!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels below and including the chosen value will be affected by the Highlight luminance range. !TP_WAVELET_THRH;Highlights threshold -!TP_WAVELET_TILESBIG;Big tiles +!TP_WAVELET_TILESBIG;Tiles !TP_WAVELET_TILESFULL;Full image !TP_WAVELET_TILESIZE;Tiling method -!TP_WAVELET_TILESLIT;Little tiles !TP_WAVELET_TILES_TOOLTIP;Processing the full image leads to better quality and is the recommended option, while using tiles is a fall-back solution for users with little RAM. Refer to RawPedia for memory requirements. +!TP_WAVELET_TMEDGS;Edge stopping +!TP_WAVELET_TMSCALE;Scale !TP_WAVELET_TMSTRENGTH;Compression strength -!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out. +!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. !TP_WAVELET_TMTYPE;Compression method !TP_WAVELET_TON;Toning +!TP_WAVELET_TONFRAME;Excluded colors +!TP_WAVELET_USH;None +!TP_WAVELET_USHARP;Clarity method +!TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. +!TP_WAVELET_WAVLOWTHR;Low contrast threshold +!TP_WAVELET_WAVOFFSET;Offset +!TP_WBALANCE_AUTOITCGREEN;Temperature correlation +!TP_WBALANCE_AUTOOLD;RGB grey +!TP_WBALANCE_AUTO_HEADER;Automatic +!TP_WBALANCE_STUDLABEL;Correlation factor: %1 +!TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. !TP_WBALANCE_TEMPBIAS;AWB temperature bias -!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias". +!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the 'auto white balance'\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by 'computedTemp + computedTemp * bias'. diff --git a/rtdata/languages/Serbian (Cyrilic Characters) b/rtdata/languages/Serbian (Cyrilic Characters) index 27da76acc..2c48f771b 100644 --- a/rtdata/languages/Serbian (Cyrilic Characters) +++ b/rtdata/languages/Serbian (Cyrilic Characters) @@ -171,13 +171,11 @@ HISTOGRAM_TOOLTIP_CHRO;Прикажи/сакриј хистограм хроми HISTOGRAM_TOOLTIP_G;Приказује зелени хистограм HISTOGRAM_TOOLTIP_L;Приказује ЦиеЛаб хитограм HISTOGRAM_TOOLTIP_R;Приказује црвени хистограм -HISTOGRAM_TOOLTIP_RAW;Приказује/скрива RAW хистограм HISTORY_CHANGED;Измењено HISTORY_CUSTOMCURVE;Произвољна крива HISTORY_FROMCLIPBOARD;Из оставе HISTORY_LABEL;Историјат HISTORY_MSG_1;Слика је учитана -HISTORY_MSG_2;Профил је учитан HISTORY_MSG_3;Измена профила HISTORY_MSG_4;Разгледање историјата HISTORY_MSG_5;Осветљеност @@ -191,9 +189,6 @@ HISTORY_MSG_12;Ауто експозиција HISTORY_MSG_13;Одсецање експозиције HISTORY_MSG_14;Светлина луминансе HISTORY_MSG_15;Контраст луминансе -HISTORY_MSG_16;Црна луминансе -HISTORY_MSG_17;Сабијање сенки л. -HISTORY_MSG_18;Сабијање светлог л. HISTORY_MSG_19;Крива луминансе HISTORY_MSG_20;Оштрење HISTORY_MSG_21;Полупречник оштрења @@ -219,10 +214,6 @@ HISTORY_MSG_40;Заленило боје HISTORY_MSG_41;Померање боје „А“ HISTORY_MSG_42;Померање боје „Б“ HISTORY_MSG_43;Уклањање светлосног шума -HISTORY_MSG_44;Радијус укл. светлосног шума -HISTORY_MSG_45;Толеранција ивице укл. с. шума -HISTORY_MSG_46;Уклањање колорног шума -HISTORY_MSG_47;Полупречник укл. колорног шума HISTORY_MSG_48;Толеранција ивице укл. к. шума HISTORY_MSG_49;Осетљивост ивице укл. к. шума HISTORY_MSG_50;Алат за сенке/светло @@ -230,7 +221,6 @@ HISTORY_MSG_51;Појачавање светлине HISTORY_MSG_52;Појачавање сенки HISTORY_MSG_53;Ширина тонова за светло HISTORY_MSG_54;Ширина тонова за сенке -HISTORY_MSG_55;Ликални контраст HISTORY_MSG_56;Полупречник сенки/светлог HISTORY_MSG_57;Груба ротација HISTORY_MSG_58;Хоризонтално извртање @@ -242,7 +232,6 @@ HISTORY_MSG_63;Ибор снимка HISTORY_MSG_64;Исеци фотографију HISTORY_MSG_65;Исправљање хр. аберација HISTORY_MSG_66;Чупање светла -HISTORY_MSG_67;Количина чупања светла HISTORY_MSG_68;Начин чупања светла HISTORY_MSG_69;Радни простор боја HISTORY_MSG_70;Излазни простор боја @@ -253,12 +242,10 @@ HISTORY_MSG_74;Промена величине HISTORY_MSG_75;Начин промене величине HISTORY_MSG_76;Exif метаподаци HISTORY_MSG_77;ИПТЦ метаподаци -HISTORY_MSG_78;Подаци за промени величине HISTORY_MSG_79;Ширина при промени величине HISTORY_MSG_80;Висина при промени величине HISTORY_MSG_81;Укључена промена величина HISTORY_MSG_82;Профил је измењен -HISTORY_MSG_83;Квалитетно светлост/сенке HISTORY_MSG_84;Исправљање перспективе HISTORY_MSG_85;Талоасни коефицијенти HISTORY_MSG_86;Таласно уједначење @@ -305,12 +292,6 @@ HISTORY_MSG_127;Сам изабери равно поље HISTORY_MSG_128;Полупречник равног поља HISTORY_MSG_129;Начин замућења равног поља HISTORY_MSG_130;Аутоматска дисторзија -HISTORY_MSG_131;Уклањање шума луминансе -HISTORY_MSG_132;Уклањање шума боје -HISTORY_MSG_133;Гама -HISTORY_MSG_134;Гама позиција -HISTORY_MSG_135;Гама слобода -HISTORY_MSG_136;Гама нагиб HISTORY_MSG_137;Ниво црне зелена 1 HISTORY_MSG_138;Ниво црне црвена HISTORY_MSG_139;Ниво црне плава @@ -419,7 +400,6 @@ HISTORY_MSG_246;CL крива HISTORY_MSG_247;LH крива HISTORY_MSG_248;HH крива HISTORY_MSG_249;CbDL - Праг -HISTORY_MSG_250;УШ - Побољшање HISTORY_MSG_251;ЦБ - Алгоритам HISTORY_NEWSNAPSHOT;Додај HISTORY_NEWSNAPSHOT_TOOLTIP;Пречица: Alt-s @@ -672,7 +652,7 @@ PROFILEPANEL_GLOBALPROFILES;Профили из програма PROFILEPANEL_LABEL;Профили обраде PROFILEPANEL_LOADDLGLABEL;Учитај профил за обраду... PROFILEPANEL_LOADPPASTE;Параметри за учитавање -PROFILEPANEL_MODE_TIP;Начин допуне профила који се користи за обраду.\n\nПритиснута дугмад: делимични профили се преводе у потпуне профиле, а недостајуће вредносоти се мењају подразумеваним вредностим.\n\nПуштена дугмад: профили ће бити примењени какви јесу, уз измени само оних вредности које садржи профил. +PROFILEPANEL_MODE_TOOLTIP;Начин допуне профила који се користи за обраду.\n\nПритиснута дугмад: делимични профили се преводе у потпуне профиле, а недостајуће вредносоти се мењају подразумеваним вредностим.\n\nПуштена дугмад: профили ће бити примењени какви јесу, уз измени само оних вредности које садржи профил. PROFILEPANEL_MYPROFILES;Моји профили PROFILEPANEL_PASTEPPASTE;Параметри за убацивање PROFILEPANEL_PCUSTOM;Произвољно @@ -828,7 +808,6 @@ TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Подешава било хрому, заси TP_COLORAPP_DATACIE;CIECAM02 излазни хистограм у кривуљама TP_COLORAPP_DATACIE_TOOLTIP;Када је омогућено, хистограми у CIECAM02 кривим приказују приближне вредности/опсеге за J или Q, и C, s или M након CIECAM02 подешавања.\nОвај избор не утиче на приказ у главној површи за хистограм.\n\nКада је искључено, хистограми у CIECAM02 кривим приказују Лаб вредности пре CIECAM02 подешавања. TP_COLORAPP_GAMUT;Контрола гамута (Лаб) -TP_COLORAPP_GAMUT_TOOLTIP;Омогућава контролу гамута у Лаб режиму. TP_COLORAPP_HUE;Нијанса (h) TP_COLORAPP_HUE_TOOLTIP;Нијанса (h) - угао између 0° и 360°. TP_COLORAPP_LABEL;CIECAM 2002 модел изгледа боја @@ -903,11 +882,11 @@ TP_EPD_REWEIGHTINGITERATES;Број поновних мерења TP_EPD_SCALE;Размера TP_EPD_STRENGTH;Јачина TP_EXPOSURE_AUTOLEVELS;Ауто-нивои -TP_EXPOSURE_AUTOLEVELS_TIP;Омогућава аутоматско одређивање нивоа, који подешава клизаче експозиције на основу податка о самој слици.\nУкључује чупање светлих делова уколико је неопходно. +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Омогућава аутоматско одређивање нивоа, који подешава клизаче експозиције на основу податка о самој слици.\nУкључује чупање светлих делова уколико је неопходно. TP_EXPOSURE_BLACKLEVEL;Црна TP_EXPOSURE_BRIGHTNESS;Осветљеност TP_EXPOSURE_CLIP;Одсеци -TP_EXPOSURE_CLIP_TIP;Део пиксела које ће бити одсечени применом аутоматских нивоа. +TP_EXPOSURE_CLIP_TOOLTIP;Део пиксела које ће бити одсечени применом аутоматских нивоа. TP_EXPOSURE_COMPRHIGHLIGHTS;Сабијање светлог TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Праг за чупање светлих делова TP_EXPOSURE_COMPRSHADOWS;Сабијање сенки @@ -1014,7 +993,7 @@ TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Светлост као функција ни TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Светлост као функција светлости L=f(L) TP_LABCURVE_LABEL;Лаб крива TP_LABCURVE_LCREDSK;Ограничи LC на црвену и боју коже -TP_LABCURVE_LCREDSK_TIP;Уколико је укључено, LC крива ће утицати само на црвену и боју коже.\nУ супротном се примењује на све тонове. +TP_LABCURVE_LCREDSK_TOOLTIP;Уколико је укључено, LC крива ће утицати само на црвену и боју коже.\nУ супротном се примењује на све тонове. TP_LABCURVE_RSTPROTECTION;Заштита црвене и боје коже TP_LABCURVE_RSTPRO_TOOLTIP;Може се користити са клизачем за Хроминансу и CC кривом. TP_LENSGEOM_AUTOCROP;Сам исеци @@ -1022,7 +1001,7 @@ TP_LENSGEOM_FILL;Сам попуни TP_LENSGEOM_LABEL;Објектив и геометрија TP_LENSPROFILE_LABEL;Профили за исправљање изобличења објектива TP_NEUTRAL;Неутрално -TP_NEUTRAL_TIP;Враћа клизаче експозиције на неутралне вредности.\nПримењује се на исте контроле као у Ауто нивои, без обзира на то да ли сте користили Ауто нивое или не. +TP_NEUTRAL_TOOLTIP;Враћа клизаче експозиције на неутралне вредности.\nПримењује се на исте контроле као у Ауто нивои, без обзира на то да ли сте користили Ауто нивое или не. TP_PCVIGNETTE_FEATHER;Умекшавање TP_PCVIGNETTE_FEATHER_TOOLTIP;Умекшавање:\n0 = само углове,\n50 = на половину од центра,\n100 = центар. TP_PCVIGNETTE_LABEL;Филтер вињетарења @@ -1079,7 +1058,7 @@ TP_RGBCURVES_RED;Ц TP_ROTATE_DEGREE;Степени: TP_ROTATE_LABEL;Ротација TP_ROTATE_SELECTLINE; Постави праву линију -TP_SAVEDIALOG_OK_TIP;Пречица: Ctrl-Enter +TP_SAVEDIALOG_OK_TOOLTIP;Пречица: Ctrl-Enter TP_SHADOWSHLIGHTS_HIGHLIGHTS;Светло TP_SHADOWSHLIGHTS_HLTONALW;Ширина тонова TP_SHADOWSHLIGHTS_LABEL;Сенке/Светло @@ -1202,7 +1181,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !DYNPROFILEEDITOR_DELETE;Delete !DYNPROFILEEDITOR_EDIT;Edit !DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule -!DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the "re:" prefix to enter\na regular expression. +!DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the 're:' prefix to enter\na regular expression. !DYNPROFILEEDITOR_IMGTYPE_ANY;Any !DYNPROFILEEDITOR_IMGTYPE_HDR;HDR !DYNPROFILEEDITOR_IMGTYPE_PS;Pixel Shift @@ -1220,9 +1199,9 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !EXPORT_BYPASS_EQUALIZER;Bypass Wavelet Levels !EXPORT_PIPELINE;Processing pipeline !EXPORT_USE_FAST_PIPELINE;Dedicated (full processing on resized image) -!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_FAST_PIPELINE_TOOLTIP;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_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. +!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply 'find' keywords. !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles !FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles !FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? @@ -1235,6 +1214,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !FILEBROWSER_POPUPCOLORLABEL3;Label: Green !FILEBROWSER_POPUPCOLORLABEL4;Label: Blue !FILEBROWSER_POPUPCOLORLABEL5;Label: Purple +!FILEBROWSER_POPUPINSPECT;Inspect !FILEBROWSER_POPUPOPENINEDITOR;Open in Editor !FILEBROWSER_POPUPRANK0;Unrank !FILEBROWSER_POPUPRANK1;Rank 1 * @@ -1257,13 +1237,24 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !GENERAL_APPLY;Apply !GENERAL_ASIMAGE;As Image !GENERAL_CURRENT;Current +!GENERAL_DELETE_ALL;Delete all +!GENERAL_EDIT;Edit !GENERAL_HELP;Help !GENERAL_OPEN;Open !GENERAL_RESET;Reset !GENERAL_SAVE_AS;Save as... !GENERAL_SLIDER;Slider !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_CROSSHAIR;Show/Hide indicator crosshair. !HISTOGRAM_TOOLTIP_MODE;Toggle between linear, log-linear and log-log scaling of the histogram. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform !HISTORY_MSG_173;NR - Detail recovery !HISTORY_MSG_203;NR - Color space !HISTORY_MSG_235;B&W - CM - Auto @@ -1290,8 +1281,6 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !HISTORY_MSG_271;CT - High - Blue !HISTORY_MSG_272;CT - Balance !HISTORY_MSG_273;CT - Color Balance SMH -!HISTORY_MSG_274;CT - Sat. Shadows -!HISTORY_MSG_275;CT - Sat. Highlights !HISTORY_MSG_276;CT - Opacity !HISTORY_MSG_277;--unused-- !HISTORY_MSG_278;CT - Preserve luminance @@ -1316,7 +1305,6 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !HISTORY_MSG_297;NR - Mode !HISTORY_MSG_298;Dead pixel filter !HISTORY_MSG_299;NR - Chrominance curve -!HISTORY_MSG_300;- !HISTORY_MSG_301;NR - Luma control !HISTORY_MSG_302;NR - Chroma method !HISTORY_MSG_303;NR - Chroma method @@ -1334,10 +1322,10 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !HISTORY_MSG_315;W - Residual - Contrast !HISTORY_MSG_316;W - Gamut - Skin tar/prot !HISTORY_MSG_317;W - Gamut - Skin hue -!HISTORY_MSG_318;W - Contrast - Highlight levels -!HISTORY_MSG_319;W - Contrast - Highlight range -!HISTORY_MSG_320;W - Contrast - Shadow range -!HISTORY_MSG_321;W - Contrast - Shadow levels +!HISTORY_MSG_318;W - Contrast - Finer levels +!HISTORY_MSG_319;W - Contrast - Finer range +!HISTORY_MSG_320;W - Contrast - Coarser range +!HISTORY_MSG_321;W - Contrast - Coarser levels !HISTORY_MSG_322;W - Gamut - Avoid color shift !HISTORY_MSG_323;W - ES - Local contrast !HISTORY_MSG_324;W - Chroma - Pastel @@ -1401,14 +1389,14 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !HISTORY_MSG_382;PRS RLD - Amount !HISTORY_MSG_383;PRS RLD - Damping !HISTORY_MSG_384;PRS RLD - Iterations -!HISTORY_MSG_385;W - Residual - Color Balance +!HISTORY_MSG_385;W - Residual - Color balance !HISTORY_MSG_386;W - Residual - CB green high !HISTORY_MSG_387;W - Residual - CB blue high !HISTORY_MSG_388;W - Residual - CB green mid !HISTORY_MSG_389;W - Residual - CB blue mid !HISTORY_MSG_390;W - Residual - CB green low !HISTORY_MSG_391;W - Residual - CB blue low -!HISTORY_MSG_392;W - Residual - Color Balance +!HISTORY_MSG_392;W - Residual - Color balance !HISTORY_MSG_393;DCP - Look table !HISTORY_MSG_394;DCP - Baseline exposure !HISTORY_MSG_395;DCP - Base table @@ -1425,7 +1413,6 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !HISTORY_MSG_406;W - ES - Neighboring pixels !HISTORY_MSG_407;Retinex - Method !HISTORY_MSG_408;Retinex - Radius -!HISTORY_MSG_409;Retinex - Contrast !HISTORY_MSG_410;Retinex - Offset !HISTORY_MSG_411;Retinex - Strength !HISTORY_MSG_412;Retinex - Gaussian gradient @@ -1441,7 +1428,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !HISTORY_MSG_422;Retinex - Gamma !HISTORY_MSG_423;Retinex - Gamma slope !HISTORY_MSG_424;Retinex - HL threshold -!HISTORY_MSG_425;Retinex - Log base +!HISTORY_MSG_425;--unused-- !HISTORY_MSG_426;Retinex - Hue equalizer !HISTORY_MSG_427;Output rendering intent !HISTORY_MSG_428;Monitor rendering intent @@ -1461,30 +1448,45 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !HISTORY_MSG_442;Retinex - Scale !HISTORY_MSG_443;Output black point compensation !HISTORY_MSG_444;WB - Temp bias -!HISTORY_MSG_445;Raw sub-image -!HISTORY_MSG_449;PS - ISO adaption -!HISTORY_MSG_452;PS - Show motion -!HISTORY_MSG_453;PS - Show mask only -!HISTORY_MSG_457;PS - Check red/blue -!HISTORY_MSG_462;PS - Check green -!HISTORY_MSG_464;PS - Blur motion mask -!HISTORY_MSG_465;PS - Blur radius -!HISTORY_MSG_468;PS - Fill holes -!HISTORY_MSG_469;PS - Median -!HISTORY_MSG_471;PS - Motion correction -!HISTORY_MSG_472;PS - Smooth transitions -!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_MSG_445;Raw Sub-Image +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_449;PS ISO adaption +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_452;PS Show motion +!HISTORY_MSG_453;PS Show mask only +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_457;PS Check red/blue +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_462;PS Check green +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_464;PS Blur motion mask +!HISTORY_MSG_465;PS Blur radius +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_468;PS Fill holes +!HISTORY_MSG_469;PS Median +!HISTORY_MSG_470;--unused-- +!HISTORY_MSG_471;PS Motion correction +!HISTORY_MSG_472;PS Smooth transitions +!HISTORY_MSG_474;PS Equalize +!HISTORY_MSG_475;PS Equalize channel +!HISTORY_MSG_476;CAL - VC - Temperature +!HISTORY_MSG_477;CAL - VC - Tint +!HISTORY_MSG_478;CAL - VC - Mean luminance +!HISTORY_MSG_479;CAL - VC - Adaptation +!HISTORY_MSG_480;CAL - VC - Auto adaptation +!HISTORY_MSG_481;CAL - SC - Temperature +!HISTORY_MSG_482;CAL - SC - Tint +!HISTORY_MSG_483;CAL - SC - Mean luminance +!HISTORY_MSG_484;CAL - SC - Auto mean luminance !HISTORY_MSG_485;Lens Correction !HISTORY_MSG_486;Lens Correction - Camera !HISTORY_MSG_487;Lens Correction - Lens @@ -1495,6 +1497,654 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !HISTORY_MSG_492;RGB Curves !HISTORY_MSG_493;L*a*b* Adjustments !HISTORY_MSG_494;Capture Sharpening +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_507;Local Spot center +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_516;Local - Color and light +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_527;Local - Color Inverse +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_542;Local - Vib avoid colorshift +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_591;Local - Avoid color shift +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_607;Local - Color Mask C +!HISTORY_MSG_608;Local - Color Mask L +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_611;Local - Color Mask H +!HISTORY_MSG_612;Local - Color Structure +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_615;Local - Blend color +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_618;Local - Use Color Mask +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_624;Local - Color correction grid +!HISTORY_MSG_625;Local - Color correction strength +!HISTORY_MSG_626;Local - Color correction Method +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_634;Local - radius color +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_650;Local - Color mask chroma +!HISTORY_MSG_651;Local - Color mask gamma +!HISTORY_MSG_652;Local - Color mask slope +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_656;Local - Color soft radius +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_760;Local - Color Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_770;Local - Color Mask contrast curve +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_779;Local - Color Mask local contrast curve +!HISTORY_MSG_780;Local - Color Mask shadows +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_783;Local - Color Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_799;Local - Color RGB ToneCurve +!HISTORY_MSG_800;Local - Color ToneCurve Method +!HISTORY_MSG_801;Local - Color ToneCurve Special +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_803;Local - Color Merge +!HISTORY_MSG_804;Local - Color mask Structure +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_806;Local - Color mask Structure as tool +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_808;Local - Color mask curve H(H) +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_821;Local - color grid background +!HISTORY_MSG_822;Local - color background merge +!HISTORY_MSG_823;Local - color background luminance +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_830;Local - Color gradient strength L +!HISTORY_MSG_831;Local - Color gradient angle +!HISTORY_MSG_832;Local - Color gradient strength C +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_834;Local - Color gradient strength H +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_894;Local - Color Preview dE +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_925;Local - Scope color tools +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_928;Local - Common color mask +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_996;Local - Color recovery threshold +!HISTORY_MSG_997;Local - Color threshold mask low +!HISTORY_MSG_998;Local - Color threshold mask high +!HISTORY_MSG_999;Local - Color decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1070;Local - CIECAM colorfullness +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1107;Local - CIECAM Color method +!HISTORY_MSG_1108;Local - CIECAM Color curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_BLSHAPE;Blur by level +!HISTORY_MSG_BLURCWAV;Blur chroma +!HISTORY_MSG_BLURWAV;Blur luminance +!HISTORY_MSG_BLUWAV;Attenuation response +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM !HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors !HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction !HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction @@ -1510,22 +2160,42 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation !HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask !HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity !HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth !HISTORY_MSG_DEHAZE_ENABLED;Haze Removal -!HISTORY_MSG_DEHAZE_LUMINANCE;Dehaze - Luminance only +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation !HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map !HISTORY_MSG_DEHAZE_STRENGTH;Dehaze - Strength !HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Dual demosaic - Auto threshold !HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Dual demosaic - Contrast threshold +!HISTORY_MSG_EDGEFFECT;Edge Attenuation response +!HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output +!HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space !HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negative +!HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input !HISTORY_MSG_FILMNEGATIVE_VALUES;Film negative values !HISTORY_MSG_HISTMATCHING;Auto-matched tone curve +!HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y !HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primaries !HISTORY_MSG_ICM_OUTPUT_TEMP;Output - ICC-v4 illuminant D !HISTORY_MSG_ICM_OUTPUT_TYPE;Output - Type -!HISTORY_MSG_ICM_WORKING_GAMMA;Working - Gamma -!HISTORY_MSG_ICM_WORKING_SLOPE;Working - Slope -!HISTORY_MSG_ICM_WORKING_TRC_METHOD;Working - TRC method +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_GAMMA;TRC - Gamma +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ICM_WORKING_SLOPE;TRC - Slope +!HISTORY_MSG_ICM_WORKING_TRC_METHOD;TRC method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant !HISTORY_MSG_LOCALCONTRAST_AMOUNT;Local Contrast - Amount !HISTORY_MSG_LOCALCONTRAST_DARKNESS;Local Contrast - Darkness !HISTORY_MSG_LOCALCONTRAST_ENABLED;Local Contrast @@ -1540,23 +2210,83 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iterations !HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius !HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average !HISTORY_MSG_PIXELSHIFT_DEMOSAIC;PS - Demosaic method for motion !HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;Line noise filter direction !HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode +!HISTORY_MSG_PROTAB;Protection !HISTORY_MSG_PRSHARPEN_CONTRAST;PRS - Contrast threshold +!HISTORY_MSG_RANGEAB;Range ab !HISTORY_MSG_RAWCACORR_AUTOIT;Raw CA Correction - Iterations !HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift !HISTORY_MSG_RAW_BORDER;Raw border !HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge !HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius !HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold !HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace +!HISTORY_MSG_SIGMACOL;Chroma Attenuation response +!HISTORY_MSG_SIGMADIR;Dir Attenuation response +!HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response +!HISTORY_MSG_SIGMATON;Toning Attenuation response !HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light !HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength +!HISTORY_MSG_SPOT;Spot removal +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. +!HISTORY_MSG_TEMPOUT;CAM02 automatic temperature +!HISTORY_MSG_THRESWAV;Balance threshold !HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor -!HISTORY_MSG_TRANS_Method;Geometry - Method +!HISTORY_MSG_TRANS_METHOD;Geometry - Method +!HISTORY_MSG_WAVBALCHROM;Equalizer chrominance +!HISTORY_MSG_WAVBALLUM;Equalizer luminance +!HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVCHROMCO;Chroma coarse +!HISTORY_MSG_WAVCHROMFI;Chroma fine +!HISTORY_MSG_WAVCLARI;Clarity +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVEDGS;Edge stopping +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVLOWTHR;Threshold low contrast +!HISTORY_MSG_WAVMERGEC;Merge C +!HISTORY_MSG_WAVMERGEL;Merge L +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVOFFSET;Offset +!HISTORY_MSG_WAVOLDSH;Old algorithm +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVRADIUS;Radius shadows-highlights +!HISTORY_MSG_WAVSCALE;Scale +!HISTORY_MSG_WAVSHOWMASK;Show wavelet mask +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSIGMA;Attenuation response +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSOFTRAD;Soft radius clarity +!HISTORY_MSG_WAVSOFTRADEND;Soft radius final +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!HISTORY_MSG_WAVUSHAMET;Clarity method !ICCPROFCREATOR_COPYRIGHT;Copyright: -!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0" +!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to 'RawTherapee, CC0'. !ICCPROFCREATOR_CUSTOM;Custom !ICCPROFCREATOR_DESCRIPTION;Description: !ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Append gamma and slope values to the description @@ -1568,11 +2298,12 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !ICCPROFCREATOR_ILL_50;D50 !ICCPROFCREATOR_ILL_55;D55 !ICCPROFCREATOR_ILL_60;D60 +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater !ICCPROFCREATOR_ILL_65;D65 !ICCPROFCREATOR_ILL_80;D80 !ICCPROFCREATOR_ILL_DEF;Default !ICCPROFCREATOR_ILL_INC;StdA 2856K -!ICCPROFCREATOR_ILL_TOOLTIP;You can only set the illuminant for ICC v4 profiles. +!ICCPROFCREATOR_ILL_TOOLTIP;You can set the illuminant for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIMARIES;Primaries: !ICCPROFCREATOR_PRIM_ACESP0;ACES AP0 !ICCPROFCREATOR_PRIM_ACESP1;ACES AP1 @@ -1582,6 +2313,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !ICCPROFCREATOR_PRIM_BLUX;Blue X !ICCPROFCREATOR_PRIM_BLUY;Blue Y !ICCPROFCREATOR_PRIM_BRUCE;BruceRGB +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 !ICCPROFCREATOR_PRIM_GREX;Green X !ICCPROFCREATOR_PRIM_GREY;Green Y !ICCPROFCREATOR_PRIM_PROPH;Prophoto @@ -1589,13 +2321,14 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !ICCPROFCREATOR_PRIM_REDX;Red X !ICCPROFCREATOR_PRIM_REDY;Red Y !ICCPROFCREATOR_PRIM_SRGB;sRGB -!ICCPROFCREATOR_PRIM_TOOLTIP;You can only set custom primaries for ICC v4 profiles. +!ICCPROFCREATOR_PRIM_TOOLTIP;You can set custom primaries for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIM_WIDEG;Widegamut !ICCPROFCREATOR_PROF_V2;ICC v2 !ICCPROFCREATOR_PROF_V4;ICC v4 !ICCPROFCREATOR_SAVEDIALOG_TITLE;Save ICC profile as... !ICCPROFCREATOR_SLOPE;Slope -!ICCPROFCREATOR_TRC_PRESET;Tone response curve: +!ICCPROFCREATOR_TRC_PRESET;Tone response curve +!INSPECTOR_WINDOW_TITLE;Inspector !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 @@ -1607,7 +2340,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !IPTCPANEL_CREATORJOBTITLEHINT;Enter the Job Title of the person listed in the Creator field. !IPTCPANEL_DATECREATEDHINT;Enter the Date the image was taken. !IPTCPANEL_DESCRIPTION;Description -!IPTCPANEL_DESCRIPTIONHINT;Enter a "caption" describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. +!IPTCPANEL_DESCRIPTIONHINT;Enter a 'caption' describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. !IPTCPANEL_DESCRIPTIONWRITER;Description writer !IPTCPANEL_DESCRIPTIONWRITERHINT;Enter the name of the person involved in writing, editing or correcting the description of the image. !IPTCPANEL_HEADLINEHINT;Enter a brief publishable synopsis or summary of the contents of the image. @@ -1629,6 +2362,8 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !MAIN_TAB_FAVORITES;Favorites !MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: Alt-u !MAIN_TAB_INSPECT; Inspect +!MAIN_TAB_LOCALLAB;Local +!MAIN_TAB_LOCALLAB_TOOLTIP;Shortcut: Alt-o !MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9 !MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%. !MONITOR_PROFILE_SYSTEM;System default @@ -1642,22 +2377,25 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !NAVIGATOR_R;R: !NAVIGATOR_S;S: !NAVIGATOR_V;V: -!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. -!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. -!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. +!OPTIONS_BUNDLED_MISSING;The bundled profile '%1' could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. +!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. +!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. !PARTIALPASTE_ADVANCEDGROUP;Advanced Settings !PARTIALPASTE_COLORTONING;Color toning !PARTIALPASTE_DEHAZE;Haze removal !PARTIALPASTE_EQUALIZER;Wavelet levels -!PARTIALPASTE_FILMNEGATIVE;Film Negative +!PARTIALPASTE_FILMNEGATIVE;Film negative !PARTIALPASTE_FILMSIMULATION;Film simulation !PARTIALPASTE_FLATFIELDCLIPCONTROL;Flat-field clip control !PARTIALPASTE_LOCALCONTRAST;Local contrast +!PARTIALPASTE_LOCALLAB;Local Adjustments +!PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings !PARTIALPASTE_METADATA;Metadata mode !PARTIALPASTE_METAGROUP;Metadata settings !PARTIALPASTE_PREPROCESS_DEADPIXFILT;Dead pixel filter !PARTIALPASTE_PREPROCESS_HOTPIXFILT;Hot pixel filter !PARTIALPASTE_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!PARTIALPASTE_PREPROCWB;Preprocess White Balance !PARTIALPASTE_PRSHARPENING;Post-resize sharpening !PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;CA avoid color shift !PARTIALPASTE_RAWCACORR_CAREDBLUE;CA red & blue @@ -1666,6 +2404,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !PARTIALPASTE_RAW_PIXELSHIFT;Pixel Shift !PARTIALPASTE_RETINEX;Retinex !PARTIALPASTE_SOFTLIGHT;Soft light +!PARTIALPASTE_SPOT;Spot removal !PARTIALPASTE_TM_FATTAL;Dynamic range compression !PREFERENCES_APPEARANCE;Appearance !PREFERENCES_APPEARANCE_COLORPICKERFONT;Color picker font @@ -1686,10 +2425,16 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !PREFERENCES_CHUNKSIZE_RAW_RCD;RCD demosaic !PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans demosaic !PREFERENCES_CHUNKSIZE_RGB;RGB processing +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts !PREFERENCES_CLUTSCACHE;HaldCLUT Cache !PREFERENCES_CLUTSCACHE_LABEL;Maximum number of cached CLUTs !PREFERENCES_CLUTSDIR;HaldCLUT directory !PREFERENCES_CMMBPC;Black point compensation +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic !PREFERENCES_CROP;Crop Editing !PREFERENCES_CROP_AUTO_FIT;Automatically zoom to fit the crop !PREFERENCES_CROP_GUIDES;Guides shown when not editing the crop @@ -1703,10 +2448,17 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !PREFERENCES_CURVEBBOXPOS_RIGHT;Right !PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EDITORCMDLINE;Custom command line +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Compact toolbars in File Browser !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_HISTOGRAM_TOOLTIP;If enabled, the working profile is used for rendering the main histogram and the Navigator panel, otherwise the gamma-corrected output profile is used. +!PREFERENCES_INSPECTORWINDOW;Open inspector in own window or fullscreen !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. @@ -1735,18 +2487,20 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !PREFERENCES_PRTINTENT;Rendering intent !PREFERENCES_PRTPROFILE;Color profile !PREFERENCES_REMEMBERZOOMPAN;Remember zoom % and pan offset -!PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in "Single Editor Tab Mode" and when "Demosaicing method used for the preview at <100% zoom" is set to "As in PP3". +!PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in 'Single Editor Tab Mode' and when 'Demosaicing method used for the preview at <100% zoom' is set to 'As in PP3'. !PREFERENCES_SAVE_TP_OPEN_NOW;Save tool collapsed/expanded state now !PREFERENCES_SERIALIZE_TIFF_READ;TIFF Read Settings !PREFERENCES_SERIALIZE_TIFF_READ_LABEL;Serialize reading of TIFF files !PREFERENCES_SERIALIZE_TIFF_READ_TOOLTIP;Enabling this option when working with folders containing uncompressed TIFF files can increase performance of thumbnail generation. !PREFERENCES_SHOWFILMSTRIPTOOLBAR;Show Filmstrip toolbar +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips !PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules !PREFERENCES_TAB_PERFORMANCE;Performance !PREFERENCES_THUMBNAIL_INSPECTOR_JPEG;Embedded JPEG preview !PREFERENCES_THUMBNAIL_INSPECTOR_MODE;Image to show !PREFERENCES_THUMBNAIL_INSPECTOR_RAW;Neutral raw rendering !PREFERENCES_THUMBNAIL_INSPECTOR_RAW_IF_NO_JPEG_FULLSIZE;Embedded JPEG if fullsize, neutral raw otherwise +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling !PROFILEPANEL_PDYNAMIC;Dynamic !PROGRESSBAR_DECODING;Decoding... !PROGRESSBAR_GREENEQUIL;Green equilibration... @@ -1770,8 +2524,15 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !SAVEDLG_FILEFORMAT_FLOAT; floating-point !SOFTPROOF_GAMUTCHECK_TOOLTIP;Highlight pixels with out-of-gamut colors with respect to:\n- the printer profile, if one is set and soft-proofing is enabled,\n- the output profile, if a printer profile is not set and soft-proofing is enabled,\n- the monitor profile, if soft-proofing is disabled. !SOFTPROOF_TOOLTIP;Soft-proofing simulates the appearance of the image:\n- when printed, if a printer profile is set in Preferences > Color Management,\n- when viewed on a display that uses the current output profile, if a printer profile is not set. +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry !THRESHOLDSELECTOR_BL;Bottom-left !TOOLBAR_TOOLTIP_COLORPICKER;Lockable Color Picker\n\nWhen the tool is active:\n- Add a picker: left-click.\n- Drag a picker: left-click and drag.\n- Delete a picker: right-click.\n- Delete all pickers: Ctrl+Shift+right-click.\n- Revert to hand tool: right-click outside any picker. +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. !TP_BWMIX_FILTER_TOOLTIP;The color filter simulates shots taken with a colored filter placed in front of the lens. Colored filters reduce the transmission of specific color ranges and therefore affect their lightness. E.g. a red filter darkens blue skies. !TP_BWMIX_FILTER_YELLOW;Yellow !TP_BWMIX_GAMMA;Gamma Correction @@ -1783,19 +2544,50 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !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_ABSOLUTELUMINANCE;Absolute luminance +!TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. !TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;When setting manually, values above 65 are recommended. -!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output] +!TP_COLORAPP_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_FREE;Free temp + tint + CAT02/16 +[output] +!TP_COLORAPP_GEN;Settings +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. +!TP_COLORAPP_IL41;D41 +!TP_COLORAPP_IL50;D50 +!TP_COLORAPP_IL55;D55 +!TP_COLORAPP_IL60;D60 +!TP_COLORAPP_IL65;D65 +!TP_COLORAPP_IL75;D75 +!TP_COLORAPP_ILA;Incandescent StdA 2856K +!TP_COLORAPP_ILFREE;Free +!TP_COLORAPP_ILLUM;Illuminant +!TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. !TP_COLORAPP_MEANLUMINANCE;Mean luminance (Yb%) +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. !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 set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_NEUTRAL_TOOLTIP;Reset all sliders checkbox and curves to their default values. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. +!TP_COLORAPP_SURROUNDSRC;Surround +!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. +!TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. !TP_COLORTONING_AB;o C/L !TP_COLORTONING_AUTOSAT;Automatic !TP_COLORTONING_BALANCE;Balance !TP_COLORTONING_BY;o C/L !TP_COLORTONING_CHROMAC;Opacity -!TP_COLORTONING_COLOR;Color -!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L) +!TP_COLORTONING_COLOR;Color: +!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L). !TP_COLORTONING_HIGHLIGHT;Highlights !TP_COLORTONING_HUE;Hue !TP_COLORTONING_LAB;L*a*b* blending @@ -1825,11 +2617,11 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_COLORTONING_LUMAMODE;Preserve luminance !TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved. !TP_COLORTONING_METHOD;Method -!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. +!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. !TP_COLORTONING_MIDTONES;Midtones !TP_COLORTONING_NEUTRAL;Reset sliders -!TP_COLORTONING_NEUTRAL_TIP;Reset all values (Shadows, Midtones, Highlights) to default. -!TP_COLORTONING_OPACITY;Opacity +!TP_COLORTONING_NEUTRAL_TOOLTIP;Reset all values (Shadows, Midtones, Highlights) to default. +!TP_COLORTONING_OPACITY;Opacity: !TP_COLORTONING_RGBCURVES;RGB - Curves !TP_COLORTONING_RGBSLIDERS;RGB - Sliders !TP_COLORTONING_SA;Saturation Protection @@ -1846,6 +2638,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_COLORTONING_TWOBY;Special a* and b* !TP_COLORTONING_TWOCOLOR_TOOLTIP;Standard chroma:\nLinear response, a* = b*.\n\nSpecial chroma:\nLinear response, a* = b*, but unbound - try under the diagonal.\n\nSpecial a* and b*:\nLinear response unbound with separate curves for a* and b*. Intended for special effects.\n\nSpecial chroma 2 colors:\nMore predictable. !TP_COLORTONING_TWOSTD;Standard chroma +!TP_CROP_GTCENTEREDSQUARE;Centered square !TP_CROP_GTHARMMEANS;Harmonic Means !TP_CROP_GTTRIANGLE1;Golden Triangles 1 !TP_CROP_GTTRIANGLE2;Golden Triangles 2 @@ -1854,7 +2647,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_CROP_SELECTCROP;Select !TP_DEHAZE_DEPTH;Depth !TP_DEHAZE_LABEL;Haze Removal -!TP_DEHAZE_LUMINANCE;Luminance only +!TP_DEHAZE_SATURATION;Saturation !TP_DEHAZE_SHOW_DEPTH_MAP;Show depth map !TP_DEHAZE_STRENGTH;Strength !TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Auto multi-zones @@ -1865,7 +2658,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_DIRPYRDENOISE_CHROMINANCE_MANUAL;Manual !TP_DIRPYRDENOISE_CHROMINANCE_METHOD;Method !TP_DIRPYRDENOISE_CHROMINANCE_METHODADVANCED_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. -!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the "Preview" method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. +!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the 'Preview' method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. !TP_DIRPYRDENOISE_CHROMINANCE_PMZ;Preview multi-zones !TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW;Preview !TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Displays the remaining noise levels of the part of the image visible in the preview after wavelet.\n\n>300 Very noisy\n100-300 Noisy\n50-100 A little noisy\n<50 Very low noise\n\nBeware, the values will differ between RGB and L*a*b* mode. The RGB values are less accurate because the RGB mode does not completely separate luminance and chrominance. @@ -1881,14 +2674,14 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_DIRPYRDENOISE_MAIN_MODE;Mode !TP_DIRPYRDENOISE_MAIN_MODE_AGGRESSIVE;Aggressive !TP_DIRPYRDENOISE_MAIN_MODE_CONSERVATIVE;Conservative -!TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;"Conservative" preserves low frequency chroma patterns, while "aggressive" obliterates them. +!TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;Conservative preserves low frequency chroma patterns, while aggressive obliterates them. !TP_DIRPYRDENOISE_MEDIAN_METHOD;Median method !TP_DIRPYRDENOISE_MEDIAN_METHOD_CHROMINANCE;Chroma only !TP_DIRPYRDENOISE_MEDIAN_METHOD_LAB;L*a*b* !TP_DIRPYRDENOISE_MEDIAN_METHOD_LABEL;Median Filter !TP_DIRPYRDENOISE_MEDIAN_METHOD_LUMINANCE;Luminance only !TP_DIRPYRDENOISE_MEDIAN_METHOD_RGB;RGB -!TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the "Luminance only" and "L*a*b*" methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the "RGB" mode, it will be performed at the very end of the noise reduction pipeline. +!TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the 'Luminance only' and 'L*a*b*' methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the 'RGB' mode, it will be performed at the very end of the noise reduction pipeline. !TP_DIRPYRDENOISE_MEDIAN_METHOD_WEIGHTED;Weighted L* (little) + a*b* (normal) !TP_DIRPYRDENOISE_MEDIAN_PASSES;Median iterations !TP_DIRPYRDENOISE_MEDIAN_PASSES_TOOLTIP;Applying three median filter iterations with a 3×3 window size often leads to better results than using one median filter iteration with a 7×7 window size. @@ -1908,7 +2701,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_DIRPYREQUALIZER_SKIN;Skin targetting/protection !TP_DIRPYREQUALIZER_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. !TP_DIRPYREQUALIZER_TOOLTIP;Attempts to reduce artifacts in the transitions between skin colors (hue, chroma, luma) and the rest of the image. -!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_DISTORTION_AUTO_TOOLTIP;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_EPD_GAMMA;Gamma !TP_EXPOSURE_CLAMPOOG;Clip out-of-gamut colors !TP_EXPOSURE_HISTMATCHING;Auto-Matched Tone Curve @@ -1918,17 +2711,28 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_EXPOS_BLACKPOINT_LABEL;Raw Black Points !TP_EXPOS_WHITEPOINT_LABEL;Raw White Points !TP_FILMNEGATIVE_BLUE;Blue ratio -!TP_FILMNEGATIVE_GREEN;Reference exponent (contrast) -!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. Set the white balance afterwards. +!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm +!TP_FILMNEGATIVE_COLORSPACE;Inversion color space: +!TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space +!TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. +!TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space +!TP_FILMNEGATIVE_GREEN;Reference exponent +!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green +!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. !TP_FILMNEGATIVE_LABEL;Film Negative +!TP_FILMNEGATIVE_OUT_LEVEL;Output level !TP_FILMNEGATIVE_PICK;Pick neutral spots !TP_FILMNEGATIVE_RED;Red ratio +!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. !TP_FILMSIMULATION_LABEL;Film Simulation !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_FILMSIMULATION_STRENGTH;Strength !TP_FILMSIMULATION_ZEROCLUTSFOUND;Set HaldCLUT directory in Preferences !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, value 0 is used. +!TP_HLREC_HLBLUR;Blur !TP_ICM_APPLYBASELINEEXPOSUREOFFSET;Baseline exposure !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 @@ -1936,17 +2740,64 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_ICM_APPLYLOOKTABLE;Look table !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 available 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_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. !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_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 !TP_ICM_PROFILEINTENT;Rendering Intent +!TP_ICM_REDFRAME;Custom Primaries !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_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut !TP_ICM_WORKING_TRC;Tone response curve: +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 !TP_ICM_WORKING_TRC_CUSTOM;Custom !TP_ICM_WORKING_TRC_GAMMA;Gamma +!TP_ICM_WORKING_TRC_LIN;Linear g=1 !TP_ICM_WORKING_TRC_NONE;None !TP_ICM_WORKING_TRC_SLOPE;Slope +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 !TP_ICM_WORKING_TRC_TOOLTIP;Only for built-in profiles. !TP_LENSGEOM_LIN;Linear !TP_LENSGEOM_LOG;Logarithmic @@ -1964,11 +2815,814 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_LOCALCONTRAST_LABEL;Local Contrast !TP_LOCALCONTRAST_LIGHTNESS;Lightness level !TP_LOCALCONTRAST_RADIUS;Radius +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ACTIVSPOT;Enable Spot +!TP_LOCALLAB_ADJ;Equalizer Color +!TP_LOCALLAB_AMOUNT;Amount +!TP_LOCALLAB_ARTIF;Shape detection +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOID;Avoid color shift +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALAN;ab-L balance (ΔE) +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALANH;C-H balance (ΔE) +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLCO;Chrominance only +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLINV;Inverse +!TP_LOCALLAB_BLLC;Luminance & Chrominance +!TP_LOCALLAB_BLLO;Luminance only +!TP_LOCALLAB_BLMED;Median +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNOI_EXP;Blur & Noise +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUFR;Blur/Grain & Denoise +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain +!TP_LOCALLAB_BLURCOL;Radius +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURDE;Blur shape detection +!TP_LOCALLAB_BLURLC;Luminance only +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +!TP_LOCALLAB_BUTTON_ADD;Add +!TP_LOCALLAB_BUTTON_DEL;Delete +!TP_LOCALLAB_BUTTON_DUPL;Duplicate +!TP_LOCALLAB_BUTTON_REN;Rename +!TP_LOCALLAB_BUTTON_VIS;Show/Hide +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +!TP_LOCALLAB_CAMMODE;CAM model +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CBDL;Contrast by Detail Levels +!TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. +!TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. +!TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. +!TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels +!TP_LOCALLAB_CENTER_X;Center X +!TP_LOCALLAB_CENTER_Y;Center Y +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMA;Chrominance +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACBDL;Chroma +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASKCOL;Chroma +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_CHRRT;Chroma +!TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIEC;Use Ciecam environment parameters +!TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +!TP_LOCALLAB_CIECOLORFRA;Color +!TP_LOCALLAB_CIECONTFRA;Contrast +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE;Change tool position +!TP_LOCALLAB_CIEMODE_COM;Default +!TP_LOCALLAB_CIEMODE_DR;Dynamic Range +!TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIEMODE_WAV;Wavelet +!TP_LOCALLAB_CIETOOLEXP;Curves +!TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIRCRADIUS;Spot size +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COFR;Color & Light +!TP_LOCALLAB_COLORDE;ΔE preview color - intensity +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +!TP_LOCALLAB_COLORSCOPE;Scope (color tools) +!TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +!TP_LOCALLAB_COLOR_CIE;Color curve +!TP_LOCALLAB_COLOR_TOOLNAME;Color & Light +!TP_LOCALLAB_COL_NAME;Name +!TP_LOCALLAB_COL_VIS;Status +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRAST;Contrast +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CONTTHR;Contrast Threshold +!TP_LOCALLAB_CONTWFRA;Local contrast +!TP_LOCALLAB_CSTHRESHOLD;Wavelet levels +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve +!TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DEHAFRA;Dehaze +!TP_LOCALLAB_DEHAZ;Strength +!TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. +!TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_EXP;Denoise +!TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. +!TP_LOCALLAB_DEPTH;Depth +!TP_LOCALLAB_DETAIL;Local contrast +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILSH;Details +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_DUPLSPOTNAME;Copy +!TP_LOCALLAB_EDGFRA;Edge sharpness +!TP_LOCALLAB_EDGSHOW;Show all tools +!TP_LOCALLAB_ELI;Ellipse +!TP_LOCALLAB_ENABLE_AFTER_MASK;Use Tone Mapping +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EPSBL;Detail +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EV_NVIS;Hide +!TP_LOCALLAB_EV_NVIS_ALL;Hide all +!TP_LOCALLAB_EV_VIS;Show +!TP_LOCALLAB_EV_VIS_ALL;Show all +!TP_LOCALLAB_EXCLUF;Excluding +!TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +!TP_LOCALLAB_EXCLUTYPE;Spot method +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXECLU;Excluding spot +!TP_LOCALLAB_EXFULL;Full image +!TP_LOCALLAB_EXNORM;Normal spot +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA;Chroma compensation +!TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. +!TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust color, lightness, contrast and correct small defects such as red-eye, sensor dust etc. +!TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ +!TP_LOCALLAB_EXPCOMPINV;Exposure compensation +!TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPCURV;Curves +!TP_LOCALLAB_EXPGRAD;Graduated Filter +!TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_EXPTOOL;Exposure Tools +!TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure +!TP_LOCALLAB_FATAMOUNT;Amount +!TP_LOCALLAB_FATANCHOR;Anchor +!TP_LOCALLAB_FATDETAIL;Detail +!TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). +!TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform +!TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform +!TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAM;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMFRA;Tone response curve (TRC) +!TP_LOCALLAB_GAMM;Gamma +!TP_LOCALLAB_GAMMASKCOL;Gamma +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMSH;Gamma +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADANG;Gradient angle +!TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. +!TP_LOCALLAB_GRADFRA;Graduated Filter Mask +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance +!TP_LOCALLAB_GRADSTR;Gradient strength +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRADSTRLUM;Luma gradient strength +!TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +!TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +!TP_LOCALLAB_GRIDONE;Color Toning +!TP_LOCALLAB_GRIDTWO;Direct +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER;Guided filter radius +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. +!TP_LOCALLAB_INVERS;Inverse +!TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_ISOGR;Distribution (ISO) +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLIGHT;Brightness +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSAT;Saturation +!TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABBLURM;Blur Mask +!TP_LOCALLAB_LABEL;Local Adjustments +!TP_LOCALLAB_LABGRID;Color correction grid +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV;Wavelet levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTNESS;Lightness +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LIGHTRETI;Lightness +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_NAME;Add tool to current spot... +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRAST;Local Contrast & Wavelets +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOG;Log Encoding +!TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments +!TP_LOCALLAB_LOG2FRA;Viewing Conditions +!TP_LOCALLAB_LOGAUTO;Automatic +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +!TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. +!TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGEXP;All tools +!TP_LOCALLAB_LOGFRA;Scene Conditions +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode). +!TP_LOCALLAB_LOGLIGHTL;Lightness (J) +!TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration. +!TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART;Overall strength +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LOG_TOOLNAME;Log Encoding +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMADARKEST;Darkest +!TP_LOCALLAB_LUMASK;Background color/luma mask +!TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). +!TP_LOCALLAB_LUMAWHITESEST;Lightest +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASK;Curves +!TP_LOCALLAB_MASK2;Contrast curve +!TP_LOCALLAB_MASKCOM;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDDECAY;Decay strength +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. +!TP_LOCALLAB_MASKRECOTHRES;Recovery threshold +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERCOL;Color +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOR;Color Dodge +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHI;Color Burn +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MODE_EXPERT;Advanced +!TP_LOCALLAB_MODE_NORMAL;Standard +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MRONE;None +!TP_LOCALLAB_MRTHR;Original Image +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NEIGH;Radius +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLDET;Detail recovery +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NLLUM;Strength +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NOISEMETH;Denoise +!TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. +!TP_LOCALLAB_NONENOISE;None +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_OFFS;Offset +!TP_LOCALLAB_OFFSETWAV;Offset +!TP_LOCALLAB_OPACOL;Opacity +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PASTELS2;Vibrance +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_PREVHIDE;Hide additional settings +!TP_LOCALLAB_PREVIEW;Preview ΔE +!TP_LOCALLAB_PREVSHOW;Show additional settings +!TP_LOCALLAB_PROXI;ΔE decay +!TP_LOCALLAB_QUAAGRES;Aggressive +!TP_LOCALLAB_QUACONSER;Conservative +!TP_LOCALLAB_QUALCURV_METHOD;Curve type +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS;Radius +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RECT;Rectangle +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name +!TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot +!TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESID;Residual Image +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RESIDHI;Highlights +!TP_LOCALLAB_RESIDHITHR;Highlights threshold +!TP_LOCALLAB_RESIDSHA;Shadows +!TP_LOCALLAB_RESIDSHATHR;Shadows threshold +!TP_LOCALLAB_RETI;Dehaze & Retinex +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex +!TP_LOCALLAB_REWEI;Reweighting iterates +!TP_LOCALLAB_RGB;RGB Tone Curve +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_ROW_NVIS;Not visible +!TP_LOCALLAB_ROW_VIS;Visible +!TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. +!TP_LOCALLAB_SATUR;Saturation +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSI;Scope +!TP_LOCALLAB_SENSIEXCLU;Scope +!TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +!TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +!TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. +!TP_LOCALLAB_SETTINGS;Settings +!TP_LOCALLAB_SH1;Shadows Highlights +!TP_LOCALLAB_SH2;Equalizer +!TP_LOCALLAB_SHADEX;Shadows +!TP_LOCALLAB_SHADEXCOMP;Shadow compression +!TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHAMASKCOL;Shadows +!TP_LOCALLAB_SHAPETYPE;RT-spot shape +!TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +!TP_LOCALLAB_SHARAMOUNT;Amount +!TP_LOCALLAB_SHARBLUR;Blur radius +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHARITER;Iterations +!TP_LOCALLAB_SHARP;Sharpening +!TP_LOCALLAB_SHARP_TOOLNAME;Sharpening +!TP_LOCALLAB_SHARRADIUS;Radius +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASK;Show mask +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise +!TP_LOCALLAB_SHOWMASKTYP2;Denoise +!TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWREF;Preview ΔE +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMAWAV;Attenuation response +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTM;Soft Light +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SOURCE_ABS;Absolute luminance +!TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_SPOTNAME;New Spot +!TP_LOCALLAB_STD;Standard +!TP_LOCALLAB_STR;Strength +!TP_LOCALLAB_STRBL;Strength +!TP_LOCALLAB_STREN;Compression strength +!TP_LOCALLAB_STRENG;Strength +!TP_LOCALLAB_STRENGR;Strength +!TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). +!TP_LOCALLAB_STRENGTH;Noise +!TP_LOCALLAB_STRGRID;Strength +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_TARGET_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM;Tone Mapping +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSIT;Transition Gradient +!TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY +!TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. +!TP_LOCALLAB_TRANSITVALUE;Transition value +!TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) +!TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WARM;Warm/Cool & Color artifacts +!TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the color temperature of the selected area warmer or cooler.\nIt can also reduce color artifacts in some cases. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAV;Local contrast +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVDEN;Luminance denoise +!TP_LOCALLAB_WAVE;Wavelets +!TP_LOCALLAB_WAVEDG;Local contrast +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK;Local contrast +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. !TP_METADATA_EDIT;Apply modifications !TP_METADATA_MODE;Metadata copy mode !TP_METADATA_STRIP;Strip all metadata !TP_METADATA_TUNNEL;Copy unchanged !TP_PDSHARPENING_LABEL;Capture Sharpening +!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor +!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length +!TP_PERSPECTIVE_CAMERA_FRAME;Correction +!TP_PERSPECTIVE_CAMERA_PITCH;Vertical +!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_CAMERA_YAW;Horizontal +!TP_PERSPECTIVE_CONTROL_LINES;Control lines +!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +!TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. +!TP_PERSPECTIVE_METHOD;Method +!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based +!TP_PERSPECTIVE_METHOD_SIMPLE;Simple +!TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment +!TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +!TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +!TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +!TP_PERSPECTIVE_RECOVERY_FRAME;Recovery !TP_PREPROCESS_DEADPIXFILT;Dead pixel filter !TP_PREPROCESS_DEADPIXFILT_TOOLTIP;Tries to suppress dead pixels. !TP_PREPROCESS_HOTPIXFILT;Hot pixel filter @@ -1979,10 +3633,14 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_PREPROCESS_LINEDENOISE_DIRECTION_PDAF_LINES;Horizontal only on PDAF rows !TP_PREPROCESS_LINEDENOISE_DIRECTION_VERTICAL;Vertical !TP_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!TP_PREPROCWB_LABEL;Preprocess White Balance +!TP_PREPROCWB_MODE;Mode +!TP_PREPROCWB_MODE_AUTO;Auto +!TP_PREPROCWB_MODE_CAMERA;Camera !TP_PRSHARPENING_LABEL;Post-Resize Sharpening -!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the "Lanczos" resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. +!TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the 'Lanczos' resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. !TP_RAWCACORR_AUTOIT;Iterations -!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if "Auto-correction" is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. +!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if 'Auto-correction' is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. !TP_RAWCACORR_AVOIDCOLORSHIFT;Avoid color shift !TP_RAWEXPOS_BLACK_0;Green 1 (lead) !TP_RAWEXPOS_BLACK_1;Red @@ -1998,9 +3656,11 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_RAW_4PASS;3-pass+fast !TP_RAW_AHD;AHD !TP_RAW_AMAZE;AMaZE +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear !TP_RAW_AMAZEVNG4;AMaZE+VNG4 !TP_RAW_BORDER;Border !TP_RAW_DCB;DCB +!TP_RAW_DCBBILINEAR;DCB+Bilinear !TP_RAW_DCBVNG4;DCB+VNG4 !TP_RAW_DUALDEMOSAICAUTOCONTRAST;Auto threshold !TP_RAW_DUALDEMOSAICAUTOCONTRAST_TOOLTIP;If the checkbox is checked (recommended), RawTherapee calculates an optimum value based on flat regions in the image.\nIf there is no flat region in the image or the image is too noisy, the value will be set to 0.\nTo set the value manually, uncheck the checkbox first (reasonable values depend on the image). @@ -2018,6 +3678,8 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_RAW_MONO;Mono !TP_RAW_NONE;None (Shows sensor pattern) !TP_RAW_PIXELSHIFT;Pixel Shift +!TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTBLUR;Blur motion mask !TP_RAW_PIXELSHIFTDMETHOD;Demosaic method for motion !TP_RAW_PIXELSHIFTEPERISO;Sensitivity @@ -2028,7 +3690,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_RAW_PIXELSHIFTEQUALBRIGHT_TOOLTIP;Equalize the brightness of the frames to the brightness of the selected frame.\nIf there are overexposed areas in the frames select the brightest frame to avoid magenta color cast in overexposed areas or enable motion correction. !TP_RAW_PIXELSHIFTGREEN;Check green channel for motion !TP_RAW_PIXELSHIFTHOLEFILL;Fill holes in motion mask -!TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask +!TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask. !TP_RAW_PIXELSHIFTMEDIAN;Use median for moving parts !TP_RAW_PIXELSHIFTMEDIAN_TOOLTIP;Use median of all frames instead of selected frame for regions with motion.\nRemoves objects which are at different places in all frames.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTMM_AUTO;Automatic @@ -2043,16 +3705,21 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_RAW_PIXELSHIFTSIGMA;Blur radius !TP_RAW_PIXELSHIFTSIGMA_TOOLTIP;The default radius of 1.0 usually fits well for base ISO.\nIncrease the value for high ISO shots, 5.0 is a good starting point.\nWatch the motion mask while changing the value. !TP_RAW_PIXELSHIFTSMOOTH;Smooth transitions -!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether "Use LMMSE" is selected), or the median of all four frames if "Use median" is selected. +!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether 'Use LMMSE' is selected), or the median of all four frames if 'Use median' is selected. !TP_RAW_RCD;RCD +!TP_RAW_RCDBILINEAR;RCD+Bilinear !TP_RAW_RCDVNG4;RCD+VNG4 !TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix -!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas +!TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas. !TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix !TP_RAW_VNG4;VNG4 !TP_RAW_XTRANS;X-Trans !TP_RAW_XTRANSFAST;Fast X-Trans !TP_RESIZE_ALLOW_UPSCALING;Allow Upscaling +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge !TP_RETINEX_CONTEDIT_HSL;HSL histogram !TP_RETINEX_CONTEDIT_LAB;L*a*b* histogram !TP_RETINEX_CONTEDIT_LH;Hue @@ -2060,7 +3727,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_RETINEX_CURVEEDITOR_CD;L=f(L) !TP_RETINEX_CURVEEDITOR_CD_TOOLTIP;Luminance according to luminance L=f(L)\nCorrect raw data to reduce halos and artifacts. !TP_RETINEX_CURVEEDITOR_LH;Strength=f(H) -!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the "Highlight" retinex method. +!TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the 'Highlight' retinex method. !TP_RETINEX_CURVEEDITOR_MAP;L=f(L) !TP_RETINEX_CURVEEDITOR_MAP_TOOLTIP;This curve can be applied alone or with a Gaussian mask or wavelet mask.\nBeware of artifacts! !TP_RETINEX_EQUAL;Equalizer @@ -2068,7 +3735,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_RETINEX_GAIN;Gain !TP_RETINEX_GAINOFFS;Gain and Offset (brightness) !TP_RETINEX_GAINTRANSMISSION;Gain transmission -!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplify or reduce the transmission map to achieve the desired luminance.\nThe x-axis is the transmission.\nThe y-axis is the gain. +!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Increase or reduce the transmission map to achieve the desired luminance. The x-axis is the transmission. The y-axis is the gain. !TP_RETINEX_GAMMA;Gamma !TP_RETINEX_GAMMA_FREE;Free !TP_RETINEX_GAMMA_HIGH;High @@ -2083,7 +3750,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_RETINEX_HIGH;High !TP_RETINEX_HIGHLIG;Highlight !TP_RETINEX_HIGHLIGHT;Highlight threshold -!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust "Neighboring pixels" and to increase the "White-point correction" in the Raw tab -> Raw White Points tool. +!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust 'Neighboring pixels' and to increase the 'White-point correction' in the Raw tab -> Raw White Points tool. !TP_RETINEX_HSLSPACE_LIN;HSL-Linear !TP_RETINEX_HSLSPACE_LOG;HSL-Logarithmic !TP_RETINEX_ITER;Iterations (Tone-mapping) @@ -2102,11 +3769,11 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_RETINEX_MEDIAN;Transmission median filter !TP_RETINEX_METHOD;Method !TP_RETINEX_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Equalize action.\nHigh = Reinforce high light.\nHighlights = Remove magenta in highlights. -!TP_RETINEX_MLABEL;Restored haze-free Min=%1 Max=%2 -!TP_RETINEX_MLABEL_TOOLTIP;Should be near min=0 max=32768\nRestored image with no mixture. +!TP_RETINEX_MLABEL;Restored data Min=%1 Max=%2 +!TP_RETINEX_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. !TP_RETINEX_NEIGHBOR;Radius !TP_RETINEX_NEUTRAL;Reset -!TP_RETINEX_NEUTRAL_TIP;Reset all sliders and curves to their default values. +!TP_RETINEX_NEUTRAL_TOOLTIP;Reset all sliders and curves to their default values. !TP_RETINEX_OFFSET;Offset (brightness) !TP_RETINEX_SCALES;Gaussian gradient !TP_RETINEX_SCALES_TOOLTIP;If slider at 0, all iterations are identical.\nIf > 0 Scale and radius are reduced when iterations increase, and conversely. @@ -2116,9 +3783,9 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_RETINEX_STRENGTH;Strength !TP_RETINEX_THRESHOLD;Threshold !TP_RETINEX_THRESHOLD_TOOLTIP;Limits in/out.\nIn = image source,\nOut = image gauss. -!TP_RETINEX_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sigma=%4 -!TP_RETINEX_TLABEL2;TM Tm=%1 TM=%2 -!TP_RETINEX_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nMean and Sigma.\nTm=Min TM=Max of transmission map. +!TP_RETINEX_TLABEL;TM Datas Min=%1 Max=%2 Mean=%3 Sigma=%4 +!TP_RETINEX_TLABEL2;TM Effective Tm=%1 TM=%2 +!TP_RETINEX_TLABEL_TOOLTIP;ransmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. !TP_RETINEX_TRANF;Transmission !TP_RETINEX_TRANSMISSION;Transmission map !TP_RETINEX_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positives values (max).\nOrdinate: amplification or reduction. @@ -2127,7 +3794,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_RETINEX_VARIANCE_TOOLTIP;Low variance increase local contrast and saturation, but can lead to artifacts. !TP_RETINEX_VIEW;Process !TP_RETINEX_VIEW_MASK;Mask -!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. +!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. !TP_RETINEX_VIEW_NONE;Standard !TP_RETINEX_VIEW_TRAN;Transmission - Auto !TP_RETINEX_VIEW_TRAN2;Transmission - Fixed @@ -2139,6 +3806,11 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_SHARPENMICRO_CONTRAST;Contrast threshold !TP_SOFTLIGHT_LABEL;Soft Light !TP_SOFTLIGHT_STRENGTH;Strength +!TP_SPOT_COUNTLABEL;%1 point(s) +!TP_SPOT_DEFAULT_SIZE;Default spot size +!TP_SPOT_ENTRYCHANGED;Point changed +!TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its center then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. +!TP_SPOT_LABEL;Spot Removal !TP_TM_FATTAL_AMOUNT;Amount !TP_TM_FATTAL_ANCHOR;Anchor !TP_TM_FATTAL_LABEL;Dynamic Range Compression @@ -2152,22 +3824,28 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_WAVELET_7;Level 7 !TP_WAVELET_8;Level 8 !TP_WAVELET_9;Level 9 -!TP_WAVELET_APPLYTO;Apply To +!TP_WAVELET_APPLYTO;Apply to !TP_WAVELET_AVOID;Avoid color shift !TP_WAVELET_B0;Black -!TP_WAVELET_B1;Grey +!TP_WAVELET_B1;Gray !TP_WAVELET_B2;Residual !TP_WAVELET_BACKGROUND;Background !TP_WAVELET_BACUR;Curve !TP_WAVELET_BALANCE;Contrast balance d/v-h !TP_WAVELET_BALANCE_TOOLTIP;Alters the balance between the wavelet directions: vertical-horizontal and diagonal.\nIf contrast, chroma or residual tone mapping are activated, the effect due to balance is amplified. !TP_WAVELET_BALCHRO;Chroma balance +!TP_WAVELET_BALCHROM;Equalizer Color !TP_WAVELET_BALCHRO_TOOLTIP;If enabled, the 'Contrast balance' curve or slider also modifies chroma balance. +!TP_WAVELET_BALLUM;Denoise equalizer White-Black !TP_WAVELET_BANONE;None !TP_WAVELET_BASLI;Slider !TP_WAVELET_BATYPE;Contrast balance method -!TP_WAVELET_CBENAB;Toning and Color Balance -!TP_WAVELET_CB_TOOLTIP;For strong values product color-toning by combining it or not with levels decomposition 'toning'\nFor low values you can change the white balance of the background (sky, ...) without changing that of the front plane, generally more contrasted +!TP_WAVELET_BL;Blur levels +!TP_WAVELET_BLCURVE;Blur by levels +!TP_WAVELET_BLURFRAME;Blur +!TP_WAVELET_BLUWAV;Attenuation response +!TP_WAVELET_CBENAB;Toning and Color balance +!TP_WAVELET_CB_TOOLTIP;With high values you can create special effects, similar to those achieved with the Chroma Module, but focused on the residual image\nWith moderate values you can manually correct the white balance. !TP_WAVELET_CCURVE;Local contrast !TP_WAVELET_CH1;Whole chroma range !TP_WAVELET_CH2;Saturated/pastel @@ -2175,29 +3853,42 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_WAVELET_CHCU;Curve !TP_WAVELET_CHR;Chroma-contrast link strength !TP_WAVELET_CHRO;Saturated/pastel threshold +!TP_WAVELET_CHROFRAME;Denoise chrominance +!TP_WAVELET_CHROMAFRAME;Chroma +!TP_WAVELET_CHROMCO;Chrominance Coarse +!TP_WAVELET_CHROMFI;Chrominance Fine !TP_WAVELET_CHRO_TOOLTIP;Sets the wavelet level which will be the threshold between saturated and pastel colors.\n1-x: saturated\nx-9: pastel\n\nIf the value exceeds the amount of wavelet levels you are using then it will be ignored. -!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of "contrast levels" and "chroma-contrast link strength" +!TP_WAVELET_CHRWAV;Blur chroma +!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of 'contrast levels' and 'chroma-contrast link strength'. !TP_WAVELET_CHSL;Sliders !TP_WAVELET_CHTYPE;Chrominance method -!TP_WAVELET_COLORT;Opacity Red-Green +!TP_WAVELET_CLA;Clarity +!TP_WAVELET_CLARI;Sharp-mask and Clarity +!TP_WAVELET_COLORT;Opacity red-green !TP_WAVELET_COMPCONT;Contrast +!TP_WAVELET_COMPEXPERT;Advanced !TP_WAVELET_COMPGAMMA;Compression gamma !TP_WAVELET_COMPGAMMA_TOOLTIP;Adjusting the gamma of the residual image allows you to equilibrate the data and histogram. +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. +!TP_WAVELET_COMPNORMAL;Standard !TP_WAVELET_COMPTM;Tone mapping !TP_WAVELET_CONTEDIT;'After' contrast curve +!TP_WAVELET_CONTFRAME;Contrast - Compression !TP_WAVELET_CONTR;Gamut !TP_WAVELET_CONTRA;Contrast !TP_WAVELET_CONTRAST_MINUS;Contrast - !TP_WAVELET_CONTRAST_PLUS;Contrast + -!TP_WAVELET_CONTRA_TOOLTIP;Changes contrast of the residual image. +!TP_WAVELET_CONTRA_TOOLTIP;Changes the residual image contrast. !TP_WAVELET_CTYPE;Chrominance control +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. !TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;Modifies local contrast as a function of the original local contrast (abscissa).\nLow abscissa values represent small local contrast (real values about 10..20).\n50% abscissa represents average local contrast (real value about 100..300).\n66% abscissa represents standard deviation of local contrast (real value about 300..800).\n100% abscissa represents maximum local contrast (real value about 3000..8000). !TP_WAVELET_CURVEEDITOR_CH;Contrast levels=f(Hue) !TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Modifies each level's contrast as a function of hue.\nTake care not to overwrite changes made with the Gamut sub-tool's hue controls.\nThe curve will only have an effect when wavelet contrast level sliders are non-zero. !TP_WAVELET_CURVEEDITOR_CL;L -!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast luminance curve at the end of the wavelet treatment. +!TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast-luminance curve at the end of the wavelet processing. !TP_WAVELET_CURVEEDITOR_HH;HH -!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image's hue as a function of hue. +!TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image hue as a function of hue. !TP_WAVELET_DALL;All directions !TP_WAVELET_DAUB;Edge performance !TP_WAVELET_DAUB2;D2 - low @@ -2205,62 +3896,101 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_WAVELET_DAUB6;D6 - standard plus !TP_WAVELET_DAUB10;D10 - medium !TP_WAVELET_DAUB14;D14 - high -!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the firsts levels. However the quality is not strictly related to this coefficient and can vary with images and uses. +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the first levels. However the quality is not strictly related to this coefficient and can vary depending on image and use. +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENOISEHUE;Denoise hue equalizer +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_DIRFRAME;Directional contrast !TP_WAVELET_DONE;Vertical !TP_WAVELET_DTHR;Diagonal !TP_WAVELET_DTWO;Horizontal !TP_WAVELET_EDCU;Curve +!TP_WAVELET_EDEFFECT;Attenuation response +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. !TP_WAVELET_EDGCONT;Local contrast -!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+stdev and maxima. -!TP_WAVELET_EDGE;Edge Sharpness +!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+std. dev. and maxima. +!TP_WAVELET_EDGE;Edge sharpness !TP_WAVELET_EDGEAMPLI;Base amplification !TP_WAVELET_EDGEDETECT;Gradient sensitivity !TP_WAVELET_EDGEDETECTTHR;Threshold low (noise) -!TP_WAVELET_EDGEDETECTTHR2;Threshold high (detection) -!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This adjuster lets you target edge detection for example to avoid applying edge sharpness to fine details, such as noise in the sky. +!TP_WAVELET_EDGEDETECTTHR2;Edge enhancement +!TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This slider sets a threshold below which finer details won't be considered as an edge. !TP_WAVELET_EDGEDETECT_TOOLTIP;Moving the slider to the right increases edge sensitivity. This affects local contrast, edge settings and noise. !TP_WAVELET_EDGESENSI;Edge sensitivity !TP_WAVELET_EDGREINF_TOOLTIP;Reinforce or reduce the action of the first level, do the opposite to the second level, and leave the rest unchanged. !TP_WAVELET_EDGTHRESH;Detail !TP_WAVELET_EDGTHRESH_TOOLTIP;Change the repartition between the first levels and the others. The higher the threshold the more the action is centered on the first levels. Be careful with negative values, they increase the action of high levels and can introduce artifacts. !TP_WAVELET_EDRAD;Radius -!TP_WAVELET_EDRAD_TOOLTIP;This radius adjustment is very different from those in other sharpening tools. Its value is compared to each level through a complex function. In this sense, a value of zero still has an effect. -!TP_WAVELET_EDSL;Threshold Sliders +!TP_WAVELET_EDRAD_TOOLTIP;This adjustment controls the local enhancement. A value of zero still has an effect. +!TP_WAVELET_EDSL;Threshold sliders !TP_WAVELET_EDTYPE;Local contrast method !TP_WAVELET_EDVAL;Strength !TP_WAVELET_FINAL;Final Touchup +!TP_WAVELET_FINCFRAME;Final local contrast !TP_WAVELET_FINEST;Finest -!TP_WAVELET_HIGHLIGHT;Highlight luminance range +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) +!TP_WAVELET_HIGHLIGHT;Finer levels luminance range !TP_WAVELET_HS1;Whole luminance range -!TP_WAVELET_HS2;Shadows/Highlights +!TP_WAVELET_HS2;Selective luminance range !TP_WAVELET_HUESKIN;Skin hue !TP_WAVELET_HUESKIN_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. -!TP_WAVELET_HUESKY;Sky hue +!TP_WAVELET_HUESKY;Hue range !TP_WAVELET_HUESKY_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. !TP_WAVELET_ITER;Delta balance levels !TP_WAVELET_ITER_TOOLTIP;Left: increase low levels and reduce high levels,\nRight: reduce low levels and increase high levels. -!TP_WAVELET_LABEL;Wavelet Levels +!TP_WAVELET_LABEL;Wavelet levels +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 !TP_WAVELET_LARGEST;Coarsest !TP_WAVELET_LEVCH;Chroma -!TP_WAVELET_LEVDIR_ALL;All levels in all directions -!TP_WAVELET_LEVDIR_INF;Below or equal the level +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVDIR_ALL;All levels, in all directions +!TP_WAVELET_LEVDIR_INF;Finer detail levels, including selected level !TP_WAVELET_LEVDIR_ONE;One level -!TP_WAVELET_LEVDIR_SUP;Above the level +!TP_WAVELET_LEVDIR_SUP;Coarser detail levels, excluding selected level +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 !TP_WAVELET_LEVELS;Wavelet levels -!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of detail levels the image is to be decomposed into. More levels require more RAM and require a longer processing time. +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of wavelet decomposition levels for the image.\nMore levels require more RAM and require a longer processing time. !TP_WAVELET_LEVF;Contrast +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold !TP_WAVELET_LEVLABEL;Preview maximum possible levels = %1 !TP_WAVELET_LEVONE;Level 2 !TP_WAVELET_LEVTHRE;Level 4 !TP_WAVELET_LEVTWO;Level 3 !TP_WAVELET_LEVZERO;Level 1 -!TP_WAVELET_LINKEDG;Link with Edge Sharpness' Strength +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_LINKEDG;Link to Edge Sharpness Strength !TP_WAVELET_LIPST;Enhanced algoritm -!TP_WAVELET_LOWLIGHT;Shadow luminance range +!TP_WAVELET_LOWLIGHT;Coarser levels luminance range +!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. !TP_WAVELET_MEDGREINF;First level !TP_WAVELET_MEDI;Reduce artifacts in blue sky !TP_WAVELET_MEDILEV;Edge detection !TP_WAVELET_MEDILEV_TOOLTIP;When you enable Edge Detection, it is recommanded:\n- to disabled low contrast levels to avoid artifacts,\n- to use high values of gradient sensitivity.\n\nYou can modulate the strength with 'refine' from Denoise and Refine. +!TP_WAVELET_MERGEC;Merge chroma +!TP_WAVELET_MERGEL;Merge luma +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise !TP_WAVELET_NEUTRAL;Neutral !TP_WAVELET_NOIS;Denoise !TP_WAVELET_NOISE;Denoise and Refine @@ -2269,44 +3999,77 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !TP_WAVELET_NPNONE;None !TP_WAVELET_NPTYPE;Neighboring pixels !TP_WAVELET_NPTYPE_TOOLTIP;This algorithm uses the proximity of a pixel and eight of its neighbors. If less difference, edges are reinforced. -!TP_WAVELET_OPACITY;Opacity Blue-Yellow +!TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. +!TP_WAVELET_OLDSH;Algorithm using negatives values +!TP_WAVELET_OPACITY;Opacity blue-yellow !TP_WAVELET_OPACITYW;Contrast balance d/v-h curve -!TP_WAVELET_OPACITYWL;Final local contrast +!TP_WAVELET_OPACITYWL;Local contrast !TP_WAVELET_OPACITYWL_TOOLTIP;Modify the final local contrast at the end of the wavelet treatment.\n\nThe left side represents the smallest local contrast, progressing to the largest local contrast on the right. !TP_WAVELET_PASTEL;Pastel chroma !TP_WAVELET_PROC;Process +!TP_WAVELET_PROTAB;Protection +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_RADIUS;Radius shadows - highlight +!TP_WAVELET_RANGEAB;Range a and b % !TP_WAVELET_RE1;Reinforced !TP_WAVELET_RE2;Unchanged !TP_WAVELET_RE3;Reduced -!TP_WAVELET_RESCHRO;Chroma +!TP_WAVELET_RESBLUR;Blur luminance +!TP_WAVELET_RESBLURC;Blur chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. +!TP_WAVELET_RESCHRO;Strength !TP_WAVELET_RESCON;Shadows !TP_WAVELET_RESCONH;Highlights !TP_WAVELET_RESID;Residual Image !TP_WAVELET_SAT;Saturated chroma !TP_WAVELET_SETTINGS;Wavelet Settings +!TP_WAVELET_SHA;Sharp mask +!TP_WAVELET_SHFRAME;Shadows/Highlights +!TP_WAVELET_SHOWMASK;Show wavelet 'mask' +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_SIGMA;Attenuation response +!TP_WAVELET_SIGMAFIN;Attenuation response +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. !TP_WAVELET_SKIN;Skin targetting/protection !TP_WAVELET_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. -!TP_WAVELET_SKY;Sky targetting/protection -!TP_WAVELET_SKY_TOOLTIP;At -100 sky-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 sky-tones are protected while all other tones are affected. -!TP_WAVELET_STREN;Strength +!TP_WAVELET_SKY;Hue targetting/protection +!TP_WAVELET_SKY_TOOLTIP;Allows you to target or protect a range of hues.\nAt -100 selected hues are targetted.\nAt 0 all hues are treated equally.\nAt +100 selected hues are protected while all other hues are targetted. +!TP_WAVELET_SOFTRAD;Soft radius +!TP_WAVELET_STREN;Refine +!TP_WAVELET_STREND;Strength !TP_WAVELET_STRENGTH;Strength !TP_WAVELET_SUPE;Extra !TP_WAVELET_THR;Shadows threshold -!TP_WAVELET_THRESHOLD;Highlight levels -!TP_WAVELET_THRESHOLD2;Shadow levels -!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels between 9 and 9 minus the value will be affected by the shadow luminance range. Other levels will be fully treated. The highest level possible is limited by the highlight level value (9 minus highlight level value). -!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels beyond the chosen value will be affected by the highlight luminance range. Other levels will be fully treated. The chosen value here limits the highest possible value of the shadow levels. +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_THRESHOLD;Finer levels +!TP_WAVELET_THRESHOLD2;Coarser levels +!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels from the chosen value to the selected number of 'wavelet levels' will be affected by the Shadow luminance range. +!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels below and including the chosen value will be affected by the Highlight luminance range. !TP_WAVELET_THRH;Highlights threshold -!TP_WAVELET_TILESBIG;Big tiles +!TP_WAVELET_TILESBIG;Tiles !TP_WAVELET_TILESFULL;Full image !TP_WAVELET_TILESIZE;Tiling method -!TP_WAVELET_TILESLIT;Little tiles !TP_WAVELET_TILES_TOOLTIP;Processing the full image leads to better quality and is the recommended option, while using tiles is a fall-back solution for users with little RAM. Refer to RawPedia for memory requirements. +!TP_WAVELET_TMEDGS;Edge stopping +!TP_WAVELET_TMSCALE;Scale !TP_WAVELET_TMSTRENGTH;Compression strength -!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out. +!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. !TP_WAVELET_TMTYPE;Compression method !TP_WAVELET_TON;Toning +!TP_WAVELET_TONFRAME;Excluded colors +!TP_WAVELET_USH;None +!TP_WAVELET_USHARP;Clarity method +!TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. +!TP_WAVELET_WAVLOWTHR;Low contrast threshold +!TP_WAVELET_WAVOFFSET;Offset +!TP_WBALANCE_AUTOITCGREEN;Temperature correlation +!TP_WBALANCE_AUTOOLD;RGB grey +!TP_WBALANCE_AUTO_HEADER;Automatic !TP_WBALANCE_PICKER;Pick +!TP_WBALANCE_STUDLABEL;Correlation factor: %1 +!TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. !TP_WBALANCE_TEMPBIAS;AWB temperature bias -!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias". +!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the 'auto white balance'\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by 'computedTemp + computedTemp * bias'. !ZOOMPANEL_ZOOMFITCROPSCREEN;Fit crop to screen\nShortcut: f diff --git a/rtdata/languages/Slovenian b/rtdata/languages/Slovenian index 73c1bd2d1..f3d71c543 100644 --- a/rtdata/languages/Slovenian +++ b/rtdata/languages/Slovenian @@ -101,7 +101,7 @@ EXPORT_PIPELINE;Vrstni red obdelav EXPORT_PUTTOQUEUEFAST; Vstavi v čakalno vrsto za hiter izvoz EXPORT_RAW_DMETHOD;Demosaic method EXPORT_USE_FAST_PIPELINE;Namenska (polna obdelava na sliki spremenjene velikosti) -EXPORT_USE_FAST_PIPELINE_TIP;Uporabite namenski tok obdelav za hitri izvoz za primer, kjer je hitrost pomembnejša od kakovosti. Sprememba velikosti slike se izvede čimprej namesto na koncu kot pri običajnem toku obdelav. Delovanje je bistveno hitrejše a bodite pripravljeni na pojav artefaktov in splošno znužanje kakovosti izdelanih slik. +EXPORT_USE_FAST_PIPELINE_TOOLTIP;Uporabite namenski tok obdelav za hitri izvoz za primer, kjer je hitrost pomembnejša od kakovosti. Sprememba velikosti slike se izvede čimprej namesto na koncu kot pri običajnem toku obdelav. Delovanje je bistveno hitrejše a bodite pripravljeni na pojav artefaktov in splošno znužanje kakovosti izdelanih slik. EXPORT_USE_NORMAL_PIPELINE;Standardno (preskoči nekatere korake, spremeni velikost na koncu) EXTPROGTARGET_1;surovo EXTPROGTARGET_2;čakalna vrsta-obdelano @@ -123,9 +123,6 @@ FILEBROWSER_DELETEDIALOG_ALL;Ali ste prepričani, da želite trajno izbri FILEBROWSER_DELETEDIALOG_HEADER;Potrditev izbrisa datoteke: FILEBROWSER_DELETEDIALOG_SELECTED;Ali ste prepričani, da želite trajno izbrisati izbrane datoteke %1? FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Ali ste prepričani, da želite trajno izbrisati izbrane datoteke %1, vključno z obdelano različico iz čakalne vrste? -FILEBROWSER_DELETEDLGLABEL;Potrditev brisanja datoteke -FILEBROWSER_DELETEDLGMSG;Ali ste prepričani, da želite brisati izbrane %1 datoteke? -FILEBROWSER_DELETEDLGMSGINCLPROC;Ali ste prepričani, da želite brisati izbrane %1 datoteke vključno z verzijo v čakalni vrsti za obdelavo? FILEBROWSER_EMPTYTRASH;Izprazni smetnjak FILEBROWSER_EMPTYTRASHHINT;Nepreklicno briši datoteke v smetnjaku. FILEBROWSER_EXTPROGMENU;Odpri z @@ -247,13 +244,11 @@ HISTOGRAM_TOOLTIP_G;Prikaži/Skrij histogram za zeleno. HISTOGRAM_TOOLTIP_L;Prikaži/Skrij histogram CIELab svetlosti. HISTOGRAM_TOOLTIP_MODE;Preklopi med linearno, log-linearno in log-log merilom histograma. HISTOGRAM_TOOLTIP_R;Prikaži/Skrij histogram za rdečo. -HISTOGRAM_TOOLTIP_RAW;Prikaži/Skrij surovi histogram. HISTORY_CHANGED;Spremenjeno HISTORY_CUSTOMCURVE;Prilagojena krivulja HISTORY_FROMCLIPBOARD;Iz odložišča HISTORY_LABEL;Zgodovina HISTORY_MSG_1;Slika naložena -HISTORY_MSG_2;PP3 naložena HISTORY_MSG_3;PP3 spremenjena HISTORY_MSG_4;Brskanje po zgodovini HISTORY_MSG_5;Ekspozicija - Osvetljenost @@ -267,9 +262,6 @@ HISTORY_MSG_12;Ekspozicija - Avtomatski nivoji HISTORY_MSG_13;Ekspozicija - Klip HISTORY_MSG_14;L*a*b* - Osvetljenost HISTORY_MSG_15;L*a*b* - Kontrast -HISTORY_MSG_16;- -HISTORY_MSG_17;- -HISTORY_MSG_18;- HISTORY_MSG_19;L*a*b* - krivulja L* HISTORY_MSG_20;Ostrenje HISTORY_MSG_21;USM - Radij @@ -295,10 +287,6 @@ HISTORY_MSG_40;WB - Odtenek HISTORY_MSG_41;Ekspozicija - način krivulje odtenkov 1 HISTORY_MSG_42;Ekspozicija - krivulja odtenkov 2 HISTORY_MSG_43;Ekspozicija - način krivulje odtenkov 2 -HISTORY_MSG_44;Lum. radij odstranjevanja šuma -HISTORY_MSG_45;Lum. toleranca roba odstranjevanja šuma -HISTORY_MSG_46;Odstranjevanje barvnega šuma -HISTORY_MSG_47;Zmešaj ICC bleščave z matriko HISTORY_MSG_48;DCP - Krivulja tonov HISTORY_MSG_49;DCP osvetljava HISTORY_MSG_50;Sence/bleščave @@ -306,7 +294,6 @@ HISTORY_MSG_51;S/H - Bleščave HISTORY_MSG_52;S/H - Sence HISTORY_MSG_53;S/H - Tonska širina bleščav HISTORY_MSG_54;S/H - Tonska širina senc -HISTORY_MSG_55;S/H - Lokalni kontrast HISTORY_MSG_56;S/H - Radij HISTORY_MSG_57;Groba rotacija HISTORY_MSG_58;Horizontalni preobrat @@ -318,7 +305,6 @@ HISTORY_MSG_63;Izbran posnetek stanja HISTORY_MSG_64;Izrez HISTORY_MSG_65;CA popravki HISTORY_MSG_66;Ekspozicija - Rekonstrukcija bleščav -HISTORY_MSG_67;Ekspozicija - HLR količina HISTORY_MSG_68;Ekspozicija - HLR metoda HISTORY_MSG_69;Delovni barvni prostor HISTORY_MSG_70;Izhodni barvni prostor @@ -329,12 +315,10 @@ HISTORY_MSG_74;Sprememba velikosti - Merilo HISTORY_MSG_75;Spremeba velikosti - Metoda HISTORY_MSG_76;Exif metapodatki HISTORY_MSG_77;IPTC metapodatki -HISTORY_MSG_78;- HISTORY_MSG_79;Sprememba velikosti - Širina HISTORY_MSG_80;Sprememba velikosti - Višina HISTORY_MSG_81;Spremeni velikost HISTORY_MSG_82;Profil spremenjen -HISTORY_MSG_83;S/H - maska ostrenja HISTORY_MSG_84;Popravek perspektive HISTORY_MSG_85;Popravek objektiva - datoteka LCP HISTORY_MSG_86;RGB krivulje - Način svetilnosti @@ -381,12 +365,6 @@ HISTORY_MSG_127;Flat-field - Avto-selekcija HISTORY_MSG_128;Flat-field - Radij zameglevanja HISTORY_MSG_129;Flat-field - Tip zameglevanja HISTORY_MSG_130;Avtomatski popravek popačenja -HISTORY_MSG_131;Zmanjšanje šuma - Luma -HISTORY_MSG_132;Zmanjšanje šuma - Barvitost -HISTORY_MSG_133;Gama izhoda -HISTORY_MSG_134;Svobodni gama -HISTORY_MSG_135;Svobodni gama -HISTORY_MSG_136;Strmina proste game HISTORY_MSG_137;Nivo črnine - Zelena 1 HISTORY_MSG_138;Nivo črnine - Rdeča HISTORY_MSG_139;Nivo črnine - Modra @@ -499,7 +477,6 @@ HISTORY_MSG_246;L*a*b* - CL krivulja HISTORY_MSG_247;L*a*b* - LH krivulja HISTORY_MSG_248;L*a*b* - HH krivulja HISTORY_MSG_249;CbDL - Prag -HISTORY_MSG_250;NR - Izboljšano HISTORY_MSG_251;B&W - Algoritem HISTORY_MSG_252;CbDL - Skin tar/prot HISTORY_MSG_253;CbDL - Reduciraj artefakte @@ -523,8 +500,6 @@ HISTORY_MSG_270;CT - Svetle - Zelena HISTORY_MSG_271;CT - Svetle - Modra HISTORY_MSG_272;CT - Uravnoteži HISTORY_MSG_273;CT - Uravnoteženost barv SMH -HISTORY_MSG_274;CT - Nasičenost senc -HISTORY_MSG_275;CT - Nasičenost svetlih delov HISTORY_MSG_276;CT - Neprosojnost HISTORY_MSG_277;--neuporabljeno-- HISTORY_MSG_278;CT - Ohrani svetlost @@ -549,7 +524,6 @@ HISTORY_MSG_296;NR - Krivulja svetlosti HISTORY_MSG_297;NR - Način HISTORY_MSG_298;Filter mrtvih pikslov HISTORY_MSG_299;NR - Krivulja svetlosti -HISTORY_MSG_300;- HISTORY_MSG_301;NR - Kontrola lume HISTORY_MSG_302;NR - Metoda barvitosti HISTORY_MSG_303;NR - Metoda barvitosti @@ -658,7 +632,6 @@ HISTORY_MSG_405;W - Odstranjevanje šuma - Nivo 4 HISTORY_MSG_406;W - ES - Sosednji piksli HISTORY_MSG_407;Retinex - Metoda HISTORY_MSG_408;Retinex - Radij -HISTORY_MSG_409;Retinex - Kontrast HISTORY_MSG_410;Retinex - Odmik HISTORY_MSG_411;Retinex - Moč HISTORY_MSG_412;Retinex - Gaussov gradient @@ -706,7 +679,6 @@ HISTORY_MSG_468;PS - Zapolni luknje HISTORY_MSG_469;PS - Mediana HISTORY_MSG_471;PS - Popravek gibanja HISTORY_MSG_472;PS - Gladki prehodi -HISTORY_MSG_473;PS - Uporabi LMMSE HISTORY_MSG_474;PS - Izenači HISTORY_MSG_475;PS - Izenači kanal HISTORY_MSG_476;CAM02 - Začasno ven @@ -745,7 +717,6 @@ HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - prikaz maske regije HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - strmina regije HISTORY_MSG_DEHAZE_DEPTH;Odstranjevanje zamegljenosti - Globina HISTORY_MSG_DEHAZE_ENABLED;Odstranjevanje zamegljenosti -HISTORY_MSG_DEHAZE_LUMINANCE;Odstranjevanje zamegljenosti - samo svetlost HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Odstranjevanje zamegljenosti - Prikaži globino mape HISTORY_MSG_DEHAZE_STRENGTH;Odstranjevanje zamegljenosti - Moč HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Dualno odstranjevanje mozaičnosti - Avtomatski prag @@ -769,7 +740,6 @@ HISTORY_MSG_MICROCONTRAST_CONTRAST;Mikrokontrast - Prag kontrasta HISTORY_MSG_PDSHARPEN_AUTO_CONTRAST;CS - Avtomatski prag HISTORY_MSG_PDSHARPEN_AUTO_RADIUS;CS - Avtomatski radij HISTORY_MSG_PDSHARPEN_CONTRAST;CS - Prag kontrasta -HISTORY_MSG_PDSHARPEN_GAMMA;CS - Gama HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iteracije HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radij HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Povečanje polmera vogala @@ -783,7 +753,6 @@ HISTORY_MSG_RAW_BORDER;Surova meja HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Dovoli povečevanje HISTORY_MSG_SHARPENING_BLUR;Ostrenje - Zamegli radij HISTORY_MSG_SHARPENING_CONTRAST;Ostrenje - Prag kontrasta -HISTORY_MSG_SHARPENING_GAMMA;Ostrenje - Gama HISTORY_MSG_SH_COLORSPACE;S/H - Barvni prostor HISTORY_MSG_SOFTLIGHT_ENABLED;Mehka svetloba HISTORY_MSG_SOFTLIGHT_STRENGTH;Mehka svetloba - Moč @@ -1228,7 +1197,7 @@ PROFILEPANEL_GLOBALPROFILES;Skupni profili PROFILEPANEL_LABEL;Profili za obdelovanje PROFILEPANEL_LOADDLGLABEL;Naloži parametre obdelovanja... PROFILEPANEL_LOADPPASTE;Parametri za nalaganje -PROFILEPANEL_MODE_TIP;Vnosni način profila za obdelovanje.\n\nPritisnjen gumb: delni profili bodo spremenjeni v polne profile; manjkajoče vrednosti bodo zamenjale fiksne privzete vrednosti.\n\nSproščen gumb: profili bodo uporabljeni kakršni so, zamenjajo se samo vnesene vrednosti. +PROFILEPANEL_MODE_TOOLTIP;Vnosni način profila za obdelovanje.\n\nPritisnjen gumb: delni profili bodo spremenjeni v polne profile; manjkajoče vrednosti bodo zamenjale fiksne privzete vrednosti.\n\nSproščen gumb: profili bodo uporabljeni kakršni so, zamenjajo se samo vnesene vrednosti. PROFILEPANEL_MYPROFILES;Moji profili PROFILEPANEL_PASTEPPASTE;Parameteri za lepljenje PROFILEPANEL_PCUSTOM;Po meri @@ -1422,7 +1391,6 @@ TP_COLORAPP_DATACIE;CIECAM02 izhodni histogrami v krivuljah TP_COLORAPP_DATACIE_TOOLTIP;Kadar je aktivirano so histogrami, CIECAM02 krivulje prikazujejo približne vrednosti oz. intervale z J ali Q, in C, s ali M po prilagoditvah CIECAM02.\nTa izbira ne vpliva na glavni pano histogramov.\n\nKadar je deaktiviran, histogrami v CIECAM02 krivuljah kažejo vrednosti L*a*b* pred prilagoditvami CIECAM02. TP_COLORAPP_FREE;Prosta temp+zelena + CAT02 + [output] TP_COLORAPP_GAMUT;Lontrola barvega obsega (L*a*b*) -TP_COLORAPP_GAMUT_TOOLTIP;Dovoli kontrolo barvnega obsega v L*a*b* načinu. TP_COLORAPP_HUE;Odtenek (h) TP_COLORAPP_HUE_TOOLTIP;Odtenek (h) - kot med 0° in 360°. TP_COLORAPP_LABEL;CIE Prikaz barv Model 2002 @@ -1435,7 +1403,7 @@ TP_COLORAPP_MEANLUMINANCE;Povprečna svetlost (Yb%) TP_COLORAPP_MODEL;WP Model TP_COLORAPP_MODEL_TOOLTIP;Model bele točke.\n\nWB [RT] + [output]: za sceno se uporabi RT-jevo ravnotežje beline, CIECAM02 je nastavljen na D50, nastavitev beline izhodne naprave je nastavljena v Pogojih gledanja.\n\nWB [RT+CAT02] + [output]: RT-jevo ravnotežje beline uporablja CAT02, ravnotežje beline izhodne naprave pa je nastavljeno v Pogojih gledanja.\n\nProsta temp+zelena + CAT02 + [output]: temp in zeleno določi uporabnik, ravnotežje beline izhodne naprave pa je nastavljeno v Pogojih gledanja. TP_COLORAPP_NEUTRAL;Ponastavi -TP_COLORAPP_NEUTRAL_TIP;Ponastavi vse potrditvena polja in krivulje na njihove privzete vrednosti +TP_COLORAPP_NEUTRAL_TOOLTIP;Ponastavi vse potrditvena polja in krivulje na njihove privzete vrednosti TP_COLORAPP_RSTPRO;Varovanje rdečih in kožnih tonov TP_COLORAPP_RSTPRO_TOOLTIP;Varovanje rdečih in kožnih tonov ima vpliv tako na drsnike kot na krivulje. TP_COLORAPP_SURROUND;Obkroži @@ -1497,7 +1465,7 @@ TP_COLORTONING_METHOD;Metoda TP_COLORTONING_METHOD_TOOLTIP;"L*a*b* mešanje", "RGB drsniki" in "RGB krivulje" uporabljajo interpolirno mešanje barv.\n"Uravnoteženje barv (Sence/Srednji toni/Bleščave)" and "Nasičenje 2 barv" uporabljajo neposredne barve.\n\nČrno-belo orodje lahko uporabimo pri katerikoli metodi barvega toniranja. TP_COLORTONING_MIDTONES;Srednji toni TP_COLORTONING_NEUTRAL;Ponastavi drsnike -TP_COLORTONING_NEUTRAL_TIP;Ponastavi vse vrednosti (Sence, Srednji toni, Bleščave) na prizeto vrednost. +TP_COLORTONING_NEUTRAL_TOOLTIP;Ponastavi vse vrednosti (Sence, Srednji toni, Bleščave) na prizeto vrednost. TP_COLORTONING_OPACITY;Neprosojnost TP_COLORTONING_RGBCURVES;RGB - Krivulje TP_COLORTONING_RGBSLIDERS;RGB - Drsniki @@ -1541,7 +1509,6 @@ TP_DEFRINGE_RADIUS;Radij TP_DEFRINGE_THRESHOLD;Prag TP_DEHAZE_DEPTH;Globina TP_DEHAZE_LABEL;Odstranjevanje zamegljenosti -TP_DEHAZE_LUMINANCE;Samo svetlost TP_DEHAZE_SHOW_DEPTH_MAP;Prikaži karto globin TP_DEHAZE_STRENGTH;Moč TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Avto multi-cone @@ -1613,7 +1580,7 @@ TP_DIRPYREQUALIZER_SKIN_TOOLTIP;Pri -100 so ciljani toni kože.\nPri 0 so vsi to TP_DIRPYREQUALIZER_THRESHOLD;Prag TP_DIRPYREQUALIZER_TOOLTIP;Poskusi zmanjšati artefakte pri spremembi barve kože (odtenek, barvitost, luma) in preostankom slike. TP_DISTORTION_AMOUNT;Količina -TP_DISTORTION_AUTO_TIP;Avtomatsko popravi popačitve objektiva pri surovih slikah s primerjavo z vgrajeno sliko JPEG, če obstaja in so popravki objektiva izvedeni v fotoaparatu. +TP_DISTORTION_AUTO_TOOLTIP;Avtomatsko popravi popačitve objektiva pri surovih slikah s primerjavo z vgrajeno sliko JPEG, če obstaja in so popravki objektiva izvedeni v fotoaparatu. TP_DISTORTION_LABEL;Popravek popačenja TP_EPD_EDGESTOPPING;Zaustavljanje roba TP_EPD_GAMMA;Gama @@ -1622,12 +1589,12 @@ TP_EPD_REWEIGHTINGITERATES;Ponovno tehtanje ponovitev TP_EPD_SCALE;Merilo TP_EPD_STRENGTH;Moč TP_EXPOSURE_AUTOLEVELS;Avto nivoji -TP_EXPOSURE_AUTOLEVELS_TIP;Preklaplja izvajanje avto nivojev z vrednostmi izračunani iz analize slike.\nOmogoča rekonstrukcijo bleščav, če je potrebna. +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Preklaplja izvajanje avto nivojev z vrednostmi izračunani iz analize slike.\nOmogoča rekonstrukcijo bleščav, če je potrebna. TP_EXPOSURE_BLACKLEVEL;Črna TP_EXPOSURE_BRIGHTNESS;Svetlost TP_EXPOSURE_CLAMPOOG;Posnetek barv izven obsega TP_EXPOSURE_CLIP;Posnetek % -TP_EXPOSURE_CLIP_TIP;Delež pikslov, ki naj bodo posneti v operaciji avto nivoji. +TP_EXPOSURE_CLIP_TOOLTIP;Delež pikslov, ki naj bodo posneti v operaciji avto nivoji. TP_EXPOSURE_COMPRHIGHLIGHTS;Stiskanje bleščav TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Prag stiskanja bleščav TP_EXPOSURE_COMPRSHADOWS;Stiskanje senc @@ -1770,7 +1737,7 @@ TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Svetlost glede na odtenek L=f(H) TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Svetlost glede na svetlost L=f(L) TP_LABCURVE_LABEL;Prilagoditve L*a*b* TP_LABCURVE_LCREDSK;Omeji LC na rdečo in kožne barve -TP_LABCURVE_LCREDSK_TIP;Če je aktivna, krivulja LC vpliva samo na rdečo in kožne barve.\nČe je onemogočen, se nanaša na vse tone. +TP_LABCURVE_LCREDSK_TOOLTIP;Če je aktivna, krivulja LC vpliva samo na rdečo in kožne barve.\nČe je onemogočen, se nanaša na vse tone. TP_LABCURVE_RSTPROTECTION;Zaščita rdeče in kožnih barv TP_LABCURVE_RSTPRO_TOOLTIP;Deluje na drsniku kromatičnost in krivulji CC. TP_LENSGEOM_AUTOCROP;Avtomatska obrezava @@ -1796,7 +1763,7 @@ TP_METADATA_MODE;Način kopiranja metapodatkov TP_METADATA_STRIP;Odstrani vse metapodatke TP_METADATA_TUNNEL;Kopiraj nespremenjeno TP_NEUTRAL;Ponastavi -TP_NEUTRAL_TIP;Ponastavi drsnike ekspozicije v nevtralno stanje.\nUporablja enake parametre kot pri Avtomatskih nivojih, ne glede na to ali so uporabljeni ali ne.. +TP_NEUTRAL_TOOLTIP;Ponastavi drsnike ekspozicije v nevtralno stanje.\nUporablja enake parametre kot pri Avtomatskih nivojih, ne glede na to ali so uporabljeni ali ne.. TP_PCVIGNETTE_FEATHER;Pero TP_PCVIGNETTE_FEATHER_TOOLTIP;Perje:\n0 = samo vogali,\n50 = na polovici do centra,\n100 = v centru. TP_PCVIGNETTE_LABEL;Filter vinjetiranja @@ -1981,7 +1948,7 @@ TP_RETINEX_MLABEL;Obnovi brez meglic Min=%1 Max=%2 TP_RETINEX_MLABEL_TOOLTIP;Mora biti blizu min=0 max=32768\nObnovljena slika brez mešanja. TP_RETINEX_NEIGHBOR;Radij TP_RETINEX_NEUTRAL;Ponastavi -TP_RETINEX_NEUTRAL_TIP;Ponastavi vse drsnike in klrivulje na njihove privzete vrednosti. +TP_RETINEX_NEUTRAL_TOOLTIP;Ponastavi vse drsnike in klrivulje na njihove privzete vrednosti. TP_RETINEX_OFFSET;Odmik (svetlost) TP_RETINEX_SCALES;Gaussov gradient TP_RETINEX_SCALES_TOOLTIP;Če je drsnik na 0, so vse iteracije identične.\nČe je > 0 merilo in radij pojemata pri vsaki iteraciji in obratno. @@ -2017,7 +1984,7 @@ TP_RGBCURVES_RED;R TP_ROTATE_DEGREE;Stopnja TP_ROTATE_LABEL;Zavrti TP_ROTATE_SELECTLINE;Izberi ravno črto -TP_SAVEDIALOG_OK_TIP;Bližnjica: Ctrl-Enter +TP_SAVEDIALOG_OK_TOOLTIP;Bližnjica: Ctrl-Enter TP_SHADOWSHLIGHTS_HIGHLIGHTS;Bleščave TP_SHADOWSHLIGHTS_HLTONALW;Tonska širina bleščav TP_SHADOWSHLIGHTS_LABEL;Sence/bleščave @@ -2033,7 +2000,6 @@ TP_SHARPENING_BLUR;Radij zamegljevanja TP_SHARPENING_CONTRAST;Prag kontrasta TP_SHARPENING_EDRADIUS;Radij TP_SHARPENING_EDTOLERANCE;Toleranca robov -TP_SHARPENING_GAMMA;Gama TP_SHARPENING_HALOCONTROL;Kontrola odbojev TP_SHARPENING_HCAMOUNT;Količina TP_SHARPENING_LABEL;Ostrenje @@ -2239,7 +2205,6 @@ TP_WAVELET_THRH;Prag bleščav TP_WAVELET_TILESBIG;Velike krpe TP_WAVELET_TILESFULL;Celotna slika TP_WAVELET_TILESIZE;Metoda pokrivanja -TP_WAVELET_TILESLIT;Majhne krpe TP_WAVELET_TILES_TOOLTIP;Obdelava celotne slike zagotavlja boljšo kakovost in jo priporočamo, medtem ko je uporaba krp rezervna možnost za uporabnike z malo RAMa. Poglejte v RawPedio za potrebe po pomnilniku. TP_WAVELET_TMSTRENGTH;Compression strength TP_WAVELET_TMSTRENGTH_TOOLTIP;Upravlja z močjo tonske preslikave ali stiskanja kontrasta preostanka slike. Kadar je vrednost različna od 0, potem sta drsnika za moč in gamo posivela in onemogočena. @@ -2306,9 +2271,1801 @@ ZOOMPANEL_ZOOMOUT;Zoom Out\nBližnjica: - ! Untranslated keys follow; remove the ! prefix after an entry is translated. !!!!!!!!!!!!!!!!!!!!!!!!! +!FILEBROWSER_POPUPINSPECT;Inspect +!GENERAL_DELETE_ALL;Delete all +!GENERAL_EDIT;Edit !GENERAL_HELP;Help +!HISTOGRAM_TOOLTIP_CROSSHAIR;Show/Hide indicator crosshair. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_470;--unused-- +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_507;Local Spot center +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_516;Local - Color and light +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_527;Local - Color Inverse +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_542;Local - Vib avoid colorshift +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_591;Local - Avoid color shift +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_607;Local - Color Mask C +!HISTORY_MSG_608;Local - Color Mask L +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_611;Local - Color Mask H +!HISTORY_MSG_612;Local - Color Structure +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_615;Local - Blend color +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_618;Local - Use Color Mask +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_624;Local - Color correction grid +!HISTORY_MSG_625;Local - Color correction strength +!HISTORY_MSG_626;Local - Color correction Method +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_634;Local - radius color +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_650;Local - Color mask chroma +!HISTORY_MSG_651;Local - Color mask gamma +!HISTORY_MSG_652;Local - Color mask slope +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_656;Local - Color soft radius +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_760;Local - Color Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_770;Local - Color Mask contrast curve +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_779;Local - Color Mask local contrast curve +!HISTORY_MSG_780;Local - Color Mask shadows +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_783;Local - Color Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_799;Local - Color RGB ToneCurve +!HISTORY_MSG_800;Local - Color ToneCurve Method +!HISTORY_MSG_801;Local - Color ToneCurve Special +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_803;Local - Color Merge +!HISTORY_MSG_804;Local - Color mask Structure +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_806;Local - Color mask Structure as tool +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_808;Local - Color mask curve H(H) +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_821;Local - color grid background +!HISTORY_MSG_822;Local - color background merge +!HISTORY_MSG_823;Local - color background luminance +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_830;Local - Color gradient strength L +!HISTORY_MSG_831;Local - Color gradient angle +!HISTORY_MSG_832;Local - Color gradient strength C +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_834;Local - Color gradient strength H +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_894;Local - Color Preview dE +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_925;Local - Scope color tools +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_928;Local - Common color mask +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_996;Local - Color recovery threshold +!HISTORY_MSG_997;Local - Color threshold mask low +!HISTORY_MSG_998;Local - Color threshold mask high +!HISTORY_MSG_999;Local - Color decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1070;Local - CIECAM colorfullness +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1107;Local - CIECAM Color method +!HISTORY_MSG_1108;Local - CIECAM Color curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_BLSHAPE;Blur by level +!HISTORY_MSG_BLURCWAV;Blur chroma +!HISTORY_MSG_BLURWAV;Blur luminance +!HISTORY_MSG_BLUWAV;Attenuation response +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation +!HISTORY_MSG_EDGEFFECT;Edge Attenuation response +!HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output +!HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space +!HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input +!HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant !HISTORY_MSG_PDSHARPEN_CHECKITER;CS - Auto limit iterations -!HISTORY_MSG_TRANS_Method;Geometry - Method +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average +!HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode +!HISTORY_MSG_PROTAB;Protection +!HISTORY_MSG_RANGEAB;Range ab +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge +!HISTORY_MSG_SIGMACOL;Chroma Attenuation response +!HISTORY_MSG_SIGMADIR;Dir Attenuation response +!HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response +!HISTORY_MSG_SIGMATON;Toning Attenuation response +!HISTORY_MSG_SPOT;Spot removal +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. +!HISTORY_MSG_TEMPOUT;CAM02 automatic temperature +!HISTORY_MSG_THRESWAV;Balance threshold +!HISTORY_MSG_TRANS_METHOD;Geometry - Method +!HISTORY_MSG_WAVBALCHROM;Equalizer chrominance +!HISTORY_MSG_WAVBALLUM;Equalizer luminance +!HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVCHROMCO;Chroma coarse +!HISTORY_MSG_WAVCHROMFI;Chroma fine +!HISTORY_MSG_WAVCLARI;Clarity +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVEDGS;Edge stopping +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVLOWTHR;Threshold low contrast +!HISTORY_MSG_WAVMERGEC;Merge C +!HISTORY_MSG_WAVMERGEL;Merge L +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVOFFSET;Offset +!HISTORY_MSG_WAVOLDSH;Old algorithm +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVRADIUS;Radius shadows-highlights +!HISTORY_MSG_WAVSCALE;Scale +!HISTORY_MSG_WAVSHOWMASK;Show wavelet mask +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSIGMA;Attenuation response +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSOFTRAD;Soft radius clarity +!HISTORY_MSG_WAVSOFTRADEND;Soft radius final +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!HISTORY_MSG_WAVUSHAMET;Clarity method +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 +!INSPECTOR_WINDOW_TITLE;Inspector +!MAIN_TAB_LOCALLAB;Local +!MAIN_TAB_LOCALLAB_TOOLTIP;Shortcut: Alt-o +!PARTIALPASTE_LOCALLAB;Local Adjustments +!PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings +!PARTIALPASTE_PREPROCWB;Preprocess White Balance +!PARTIALPASTE_SPOT;Spot removal +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output +!PREFERENCES_INSPECTORWINDOW;Open inspector in own window or fullscreen +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. +!TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. +!TP_COLORAPP_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_GEN;Settings +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. +!TP_COLORAPP_IL41;D41 +!TP_COLORAPP_IL50;D50 +!TP_COLORAPP_IL55;D55 +!TP_COLORAPP_IL60;D60 +!TP_COLORAPP_IL65;D65 +!TP_COLORAPP_IL75;D75 +!TP_COLORAPP_ILA;Incandescent StdA 2856K +!TP_COLORAPP_ILFREE;Free +!TP_COLORAPP_ILLUM;Illuminant +!TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. +!TP_COLORAPP_SURROUNDSRC;Surround +!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. +!TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_CROP_GTCENTEREDSQUARE;Centered square +!TP_DEHAZE_SATURATION;Saturation +!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm +!TP_FILMNEGATIVE_COLORSPACE;Inversion color space: +!TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space +!TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. +!TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space +!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green +!TP_FILMNEGATIVE_OUT_LEVEL;Output level +!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. +!TP_HLREC_HLBLUR;Blur +!TP_ICM_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 +!TP_ICM_REDFRAME;Custom Primaries +!TP_ICM_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 +!TP_ICM_WORKING_TRC_LIN;Linear g=1 +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 !TP_LENSGEOM_LIN;Linear !TP_LENSGEOM_LOG;Logarithmic +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ACTIVSPOT;Enable Spot +!TP_LOCALLAB_ADJ;Equalizer Color +!TP_LOCALLAB_AMOUNT;Amount +!TP_LOCALLAB_ARTIF;Shape detection +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOID;Avoid color shift +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALAN;ab-L balance (ΔE) +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALANH;C-H balance (ΔE) +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLCO;Chrominance only +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLINV;Inverse +!TP_LOCALLAB_BLLC;Luminance & Chrominance +!TP_LOCALLAB_BLLO;Luminance only +!TP_LOCALLAB_BLMED;Median +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNOI_EXP;Blur & Noise +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUFR;Blur/Grain & Denoise +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain +!TP_LOCALLAB_BLURCOL;Radius +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURDE;Blur shape detection +!TP_LOCALLAB_BLURLC;Luminance only +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +!TP_LOCALLAB_BUTTON_ADD;Add +!TP_LOCALLAB_BUTTON_DEL;Delete +!TP_LOCALLAB_BUTTON_DUPL;Duplicate +!TP_LOCALLAB_BUTTON_REN;Rename +!TP_LOCALLAB_BUTTON_VIS;Show/Hide +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +!TP_LOCALLAB_CAMMODE;CAM model +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CBDL;Contrast by Detail Levels +!TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. +!TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. +!TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. +!TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels +!TP_LOCALLAB_CENTER_X;Center X +!TP_LOCALLAB_CENTER_Y;Center Y +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMA;Chrominance +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACBDL;Chroma +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASKCOL;Chroma +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_CHRRT;Chroma +!TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIEC;Use Ciecam environment parameters +!TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +!TP_LOCALLAB_CIECOLORFRA;Color +!TP_LOCALLAB_CIECONTFRA;Contrast +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE;Change tool position +!TP_LOCALLAB_CIEMODE_COM;Default +!TP_LOCALLAB_CIEMODE_DR;Dynamic Range +!TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIEMODE_WAV;Wavelet +!TP_LOCALLAB_CIETOOLEXP;Curves +!TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIRCRADIUS;Spot size +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COFR;Color & Light +!TP_LOCALLAB_COLORDE;ΔE preview color - intensity +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +!TP_LOCALLAB_COLORSCOPE;Scope (color tools) +!TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +!TP_LOCALLAB_COLOR_CIE;Color curve +!TP_LOCALLAB_COLOR_TOOLNAME;Color & Light +!TP_LOCALLAB_COL_NAME;Name +!TP_LOCALLAB_COL_VIS;Status +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRAST;Contrast +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CONTTHR;Contrast Threshold +!TP_LOCALLAB_CONTWFRA;Local contrast +!TP_LOCALLAB_CSTHRESHOLD;Wavelet levels +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve +!TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DEHAFRA;Dehaze +!TP_LOCALLAB_DEHAZ;Strength +!TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. +!TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_EXP;Denoise +!TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. +!TP_LOCALLAB_DEPTH;Depth +!TP_LOCALLAB_DETAIL;Local contrast +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILSH;Details +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_DUPLSPOTNAME;Copy +!TP_LOCALLAB_EDGFRA;Edge sharpness +!TP_LOCALLAB_EDGSHOW;Show all tools +!TP_LOCALLAB_ELI;Ellipse +!TP_LOCALLAB_ENABLE_AFTER_MASK;Use Tone Mapping +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EPSBL;Detail +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EV_NVIS;Hide +!TP_LOCALLAB_EV_NVIS_ALL;Hide all +!TP_LOCALLAB_EV_VIS;Show +!TP_LOCALLAB_EV_VIS_ALL;Show all +!TP_LOCALLAB_EXCLUF;Excluding +!TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +!TP_LOCALLAB_EXCLUTYPE;Spot method +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXECLU;Excluding spot +!TP_LOCALLAB_EXFULL;Full image +!TP_LOCALLAB_EXNORM;Normal spot +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA;Chroma compensation +!TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. +!TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust color, lightness, contrast and correct small defects such as red-eye, sensor dust etc. +!TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ +!TP_LOCALLAB_EXPCOMPINV;Exposure compensation +!TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPCURV;Curves +!TP_LOCALLAB_EXPGRAD;Graduated Filter +!TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_EXPTOOL;Exposure Tools +!TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure +!TP_LOCALLAB_FATAMOUNT;Amount +!TP_LOCALLAB_FATANCHOR;Anchor +!TP_LOCALLAB_FATDETAIL;Detail +!TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). +!TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform +!TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform +!TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAM;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMFRA;Tone response curve (TRC) +!TP_LOCALLAB_GAMM;Gamma +!TP_LOCALLAB_GAMMASKCOL;Gamma +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMSH;Gamma +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADANG;Gradient angle +!TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. +!TP_LOCALLAB_GRADFRA;Graduated Filter Mask +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance +!TP_LOCALLAB_GRADSTR;Gradient strength +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRADSTRLUM;Luma gradient strength +!TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +!TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +!TP_LOCALLAB_GRIDONE;Color Toning +!TP_LOCALLAB_GRIDTWO;Direct +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER;Guided filter radius +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. +!TP_LOCALLAB_INVERS;Inverse +!TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_ISOGR;Distribution (ISO) +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLIGHT;Brightness +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSAT;Saturation +!TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABBLURM;Blur Mask +!TP_LOCALLAB_LABEL;Local Adjustments +!TP_LOCALLAB_LABGRID;Color correction grid +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV;Wavelet levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTNESS;Lightness +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LIGHTRETI;Lightness +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_NAME;Add tool to current spot... +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRAST;Local Contrast & Wavelets +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOG;Log Encoding +!TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments +!TP_LOCALLAB_LOG2FRA;Viewing Conditions +!TP_LOCALLAB_LOGAUTO;Automatic +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +!TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. +!TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGEXP;All tools +!TP_LOCALLAB_LOGFRA;Scene Conditions +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode). +!TP_LOCALLAB_LOGLIGHTL;Lightness (J) +!TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration. +!TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART;Overall strength +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LOG_TOOLNAME;Log Encoding +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMADARKEST;Darkest +!TP_LOCALLAB_LUMASK;Background color/luma mask +!TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). +!TP_LOCALLAB_LUMAWHITESEST;Lightest +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASK;Curves +!TP_LOCALLAB_MASK2;Contrast curve +!TP_LOCALLAB_MASKCOM;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDDECAY;Decay strength +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. +!TP_LOCALLAB_MASKRECOTHRES;Recovery threshold +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERCOL;Color +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOR;Color Dodge +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHI;Color Burn +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MODE_EXPERT;Advanced +!TP_LOCALLAB_MODE_NORMAL;Standard +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MRONE;None +!TP_LOCALLAB_MRTHR;Original Image +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NEIGH;Radius +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLDET;Detail recovery +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NLLUM;Strength +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NOISEMETH;Denoise +!TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. +!TP_LOCALLAB_NONENOISE;None +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_OFFS;Offset +!TP_LOCALLAB_OFFSETWAV;Offset +!TP_LOCALLAB_OPACOL;Opacity +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PASTELS2;Vibrance +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_PREVHIDE;Hide additional settings +!TP_LOCALLAB_PREVIEW;Preview ΔE +!TP_LOCALLAB_PREVSHOW;Show additional settings +!TP_LOCALLAB_PROXI;ΔE decay +!TP_LOCALLAB_QUAAGRES;Aggressive +!TP_LOCALLAB_QUACONSER;Conservative +!TP_LOCALLAB_QUALCURV_METHOD;Curve type +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS;Radius +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RECT;Rectangle +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name +!TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot +!TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESID;Residual Image +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RESIDHI;Highlights +!TP_LOCALLAB_RESIDHITHR;Highlights threshold +!TP_LOCALLAB_RESIDSHA;Shadows +!TP_LOCALLAB_RESIDSHATHR;Shadows threshold +!TP_LOCALLAB_RETI;Dehaze & Retinex +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex +!TP_LOCALLAB_REWEI;Reweighting iterates +!TP_LOCALLAB_RGB;RGB Tone Curve +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_ROW_NVIS;Not visible +!TP_LOCALLAB_ROW_VIS;Visible +!TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. +!TP_LOCALLAB_SATUR;Saturation +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSI;Scope +!TP_LOCALLAB_SENSIEXCLU;Scope +!TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +!TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +!TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. +!TP_LOCALLAB_SETTINGS;Settings +!TP_LOCALLAB_SH1;Shadows Highlights +!TP_LOCALLAB_SH2;Equalizer +!TP_LOCALLAB_SHADEX;Shadows +!TP_LOCALLAB_SHADEXCOMP;Shadow compression +!TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHAMASKCOL;Shadows +!TP_LOCALLAB_SHAPETYPE;RT-spot shape +!TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +!TP_LOCALLAB_SHARAMOUNT;Amount +!TP_LOCALLAB_SHARBLUR;Blur radius +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHARITER;Iterations +!TP_LOCALLAB_SHARP;Sharpening +!TP_LOCALLAB_SHARP_TOOLNAME;Sharpening +!TP_LOCALLAB_SHARRADIUS;Radius +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASK;Show mask +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise +!TP_LOCALLAB_SHOWMASKTYP2;Denoise +!TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWREF;Preview ΔE +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMAWAV;Attenuation response +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTM;Soft Light +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SOURCE_ABS;Absolute luminance +!TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_SPOTNAME;New Spot +!TP_LOCALLAB_STD;Standard +!TP_LOCALLAB_STR;Strength +!TP_LOCALLAB_STRBL;Strength +!TP_LOCALLAB_STREN;Compression strength +!TP_LOCALLAB_STRENG;Strength +!TP_LOCALLAB_STRENGR;Strength +!TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). +!TP_LOCALLAB_STRENGTH;Noise +!TP_LOCALLAB_STRGRID;Strength +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_TARGET_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM;Tone Mapping +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSIT;Transition Gradient +!TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY +!TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. +!TP_LOCALLAB_TRANSITVALUE;Transition value +!TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) +!TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WARM;Warm/Cool & Color artifacts +!TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the color temperature of the selected area warmer or cooler.\nIt can also reduce color artifacts in some cases. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAV;Local contrast +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVDEN;Luminance denoise +!TP_LOCALLAB_WAVE;Wavelets +!TP_LOCALLAB_WAVEDG;Local contrast +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK;Local contrast +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. +!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor +!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length +!TP_PERSPECTIVE_CAMERA_FRAME;Correction +!TP_PERSPECTIVE_CAMERA_PITCH;Vertical +!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_CAMERA_YAW;Horizontal +!TP_PERSPECTIVE_CONTROL_LINES;Control lines +!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +!TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. +!TP_PERSPECTIVE_METHOD;Method +!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based +!TP_PERSPECTIVE_METHOD_SIMPLE;Simple +!TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment +!TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +!TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +!TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +!TP_PERSPECTIVE_RECOVERY_FRAME;Recovery +!TP_PREPROCWB_LABEL;Preprocess White Balance +!TP_PREPROCWB_MODE;Mode +!TP_PREPROCWB_MODE_AUTO;Auto +!TP_PREPROCWB_MODE_CAMERA;Camera +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear +!TP_RAW_DCBBILINEAR;DCB+Bilinear +!TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. +!TP_RAW_RCDBILINEAR;RCD+Bilinear +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge !TP_SHARPENING_ITERCHECK;Auto limit iterations +!TP_SPOT_COUNTLABEL;%1 point(s) +!TP_SPOT_DEFAULT_SIZE;Default spot size +!TP_SPOT_ENTRYCHANGED;Point changed +!TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its center then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. +!TP_SPOT_LABEL;Spot Removal +!TP_WAVELET_BALCHROM;Equalizer Color +!TP_WAVELET_BALLUM;Denoise equalizer White-Black +!TP_WAVELET_BL;Blur levels +!TP_WAVELET_BLCURVE;Blur by levels +!TP_WAVELET_BLURFRAME;Blur +!TP_WAVELET_BLUWAV;Attenuation response +!TP_WAVELET_CHROFRAME;Denoise chrominance +!TP_WAVELET_CHROMAFRAME;Chroma +!TP_WAVELET_CHROMCO;Chrominance Coarse +!TP_WAVELET_CHROMFI;Chrominance Fine +!TP_WAVELET_CHRWAV;Blur chroma +!TP_WAVELET_CLA;Clarity +!TP_WAVELET_CLARI;Sharp-mask and Clarity +!TP_WAVELET_COMPEXPERT;Advanced +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. +!TP_WAVELET_COMPNORMAL;Standard +!TP_WAVELET_CONTFRAME;Contrast - Compression +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENOISEHUE;Denoise hue equalizer +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_DIRFRAME;Directional contrast +!TP_WAVELET_EDEFFECT;Attenuation response +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. +!TP_WAVELET_FINCFRAME;Final local contrast +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. +!TP_WAVELET_MERGEC;Merge chroma +!TP_WAVELET_MERGEL;Merge luma +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise +!TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. +!TP_WAVELET_OLDSH;Algorithm using negatives values +!TP_WAVELET_PROTAB;Protection +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_RADIUS;Radius shadows - highlight +!TP_WAVELET_RANGEAB;Range a and b % +!TP_WAVELET_RESBLUR;Blur luminance +!TP_WAVELET_RESBLURC;Blur chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. +!TP_WAVELET_SHA;Sharp mask +!TP_WAVELET_SHFRAME;Shadows/Highlights +!TP_WAVELET_SHOWMASK;Show wavelet 'mask' +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_SIGMA;Attenuation response +!TP_WAVELET_SIGMAFIN;Attenuation response +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_WAVELET_SOFTRAD;Soft radius +!TP_WAVELET_STREND;Strength +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_TMEDGS;Edge stopping +!TP_WAVELET_TMSCALE;Scale +!TP_WAVELET_TONFRAME;Excluded colors +!TP_WAVELET_USH;None +!TP_WAVELET_USHARP;Clarity method +!TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. +!TP_WAVELET_WAVLOWTHR;Low contrast threshold +!TP_WAVELET_WAVOFFSET;Offset +!TP_WBALANCE_AUTOITCGREEN;Temperature correlation +!TP_WBALANCE_AUTOOLD;RGB grey +!TP_WBALANCE_AUTO_HEADER;Automatic +!TP_WBALANCE_STUDLABEL;Correlation factor: %1 +!TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. diff --git a/rtdata/languages/Swedish b/rtdata/languages/Swedish index f54b4de30..de612ad73 100644 --- a/rtdata/languages/Swedish +++ b/rtdata/languages/Swedish @@ -204,13 +204,11 @@ HISTOGRAM_TOOLTIP_CHRO;Visa/Dölj kromananshistogrammet HISTOGRAM_TOOLTIP_G;Visa/dölj grönt histogram HISTOGRAM_TOOLTIP_L;Visa/dölj CIELAB histogram för luminans HISTOGRAM_TOOLTIP_R;Visa/dölj rött histogram -HISTOGRAM_TOOLTIP_RAW;Visa/dölj råbildens histogram HISTORY_CHANGED;Ändrad HISTORY_CUSTOMCURVE;Egen kurva HISTORY_FROMCLIPBOARD;Från klippbordet HISTORY_LABEL;Historia HISTORY_MSG_1;Fotot laddades -HISTORY_MSG_2;Profil laddad HISTORY_MSG_3;Profil ändrad HISTORY_MSG_4;Historia-bläddrande HISTORY_MSG_5;Ljusstyrka @@ -224,9 +222,6 @@ HISTORY_MSG_12;Autonivåer HISTORY_MSG_13;Exponeringsmarkering HISTORY_MSG_14;Lab - Ljushet HISTORY_MSG_15;Lab - Kontrast -HISTORY_MSG_16;Svart luminans -HISTORY_MSG_17;Luminans högdagerkompr. -HISTORY_MSG_18;Luminans skuggkompr. HISTORY_MSG_19;'L'-kurva HISTORY_MSG_20;Skärpning HISTORY_MSG_21;USM - Radie @@ -252,10 +247,6 @@ HISTORY_MSG_40;VB - Färgton HISTORY_MSG_41;Tonkurva läge 1 HISTORY_MSG_42;Tonkurva 2 HISTORY_MSG_43;Tonkurva läge 2 -HISTORY_MSG_44;Brusreduceringsradie -HISTORY_MSG_45;Kanttolerans för lum.brusreducering -HISTORY_MSG_46;Färgbrusreducering -HISTORY_MSG_47;Mixa högdagrar med matris HISTORY_MSG_48;Använd tonkurvan i DCP HISTORY_MSG_49;DCP ljuskälla HISTORY_MSG_50;Skuggor/Högdagrar @@ -263,7 +254,6 @@ HISTORY_MSG_51;S/H - Högdagrar HISTORY_MSG_52;S/H - Skuggor HISTORY_MSG_53;S/H - Högdagertonvidd HISTORY_MSG_54;S/H - Skuggtonvidd -HISTORY_MSG_55;S/H - Lokal kontrast HISTORY_MSG_56;S/H - Radie HISTORY_MSG_57;Enkel rotering HISTORY_MSG_58;Vänd horisontellt @@ -275,7 +265,6 @@ HISTORY_MSG_63;Bokmärke valt HISTORY_MSG_64;Beskär HISTORY_MSG_65;Korrigera kromatiska abberationer HISTORY_MSG_66;Högdageråterställning -HISTORY_MSG_67;Mängd på högdageråterställning HISTORY_MSG_68;Metod för högdageråterställning HISTORY_MSG_69;Färgrymd HISTORY_MSG_70;Utmatningsfärgrymd @@ -286,12 +275,10 @@ HISTORY_MSG_74;Ändra storleksskala HISTORY_MSG_75;Metod för ändring av storlek HISTORY_MSG_76;Exif Metadata HISTORY_MSG_77;IPTC Metadata -HISTORY_MSG_78;Data som ska ändra storlek HISTORY_MSG_79;Storleksändring, bredd HISTORY_MSG_80;Storleksändring, höjd HISTORY_MSG_81;Storleksändring HISTORY_MSG_82;Profilen ändrades -HISTORY_MSG_83;S/H - Skarp mask HISTORY_MSG_84;Korrigering av perspektiv HISTORY_MSG_85;LCP HISTORY_MSG_86;RGB-kurvor - Luminansläge @@ -338,12 +325,6 @@ HISTORY_MSG_127;Automatiskt val av plattfält HISTORY_MSG_128;Oskärperadie för plattfält HISTORY_MSG_129;Oskärpetyp hos plattfältet HISTORY_MSG_130;Autodistorion -HISTORY_MSG_131;Brusreducering, luminans -HISTORY_MSG_132;Brusreducering, kroma -HISTORY_MSG_133;Utmatningsgamma -HISTORY_MSG_134;Obunden gamma -HISTORY_MSG_135;Obunden gamma -HISTORY_MSG_136;Gammalutning HISTORY_MSG_137;Svartpunktsnivå grön 1 HISTORY_MSG_138;Svartpunktsnivå röd HISTORY_MSG_139;Svartpunktsnivå blå @@ -452,7 +433,6 @@ HISTORY_MSG_246;'CL'-kurva HISTORY_MSG_247;'LH'-kurva HISTORY_MSG_248;'HH'-kurva HISTORY_MSG_249;Kontrast genom detaljnivåer -HISTORY_MSG_250;Brusreduceringsförbättring HISTORY_MSG_251;B&W - Algoritm HISTORY_MSG_252;CbDL Hudtoner HISTORY_MSG_253;CbDL Reducera artefakter @@ -473,8 +453,6 @@ HISTORY_MSG_269;CT - Hög - Röd HISTORY_MSG_270;CT - Hög - Grön HISTORY_MSG_271;CT - Hög - Blå HISTORY_MSG_272;CT - Balans -HISTORY_MSG_274;CT - Mättnad skuggor -HISTORY_MSG_275;CT - Mättnad i högdagrar HISTORY_MSG_276;CT - Opacitet HISTORY_MSG_277;--unused-- HISTORY_MSG_278;CT - Bevara luminans @@ -496,7 +474,6 @@ HISTORY_MSG_295;Filmsimulering - Film HISTORY_MSG_296;NR - Luminanskurva HISTORY_MSG_298;Filter för döda pixlar HISTORY_MSG_299;NR - Krominanskurva -HISTORY_MSG_300;- HISTORY_MSG_301;NR - Luminanskontroll HISTORY_MSG_302;NR - Chroma-metod HISTORY_MSG_303;NR - Chroma-metod @@ -588,7 +565,6 @@ HISTORY_MSG_404;W - ES - Basförstärkning HISTORY_MSG_405;W - Brusred. - Nivå 4 HISTORY_MSG_407;Retinex - Metod HISTORY_MSG_408;Retinex - Radie -HISTORY_MSG_409;Retinex - Kontrast HISTORY_MSG_410;Retinex - Kompensation HISTORY_MSG_411;Retinex - Styrka HISTORY_MSG_413;Retinex - Kontrast @@ -917,7 +893,7 @@ PROFILEPANEL_GLOBALPROFILES;Förinstallerade profiler PROFILEPANEL_LABEL;Efterbehandlingsprofiler PROFILEPANEL_LOADDLGLABEL;Ladda efterbehandlingsparametrar... PROFILEPANEL_LOADPPASTE;Parametrar att ladda -PROFILEPANEL_MODE_TIP;Ifyllnadsläge för profil.\n\nKnappen nedtryckt: partiell profil konverteras till full profil; de saknade värdena kommer att fyllas i mha standardvärden.\n\nKnapp släppt: Profilen kommer att appliceras som den är, och förändrar bara de värden som den själv innehåller. +PROFILEPANEL_MODE_TOOLTIP;Ifyllnadsläge för profil.\n\nKnappen nedtryckt: partiell profil konverteras till full profil; de saknade värdena kommer att fyllas i mha standardvärden.\n\nKnapp släppt: Profilen kommer att appliceras som den är, och förändrar bara de värden som den själv innehåller. PROFILEPANEL_MYPROFILES;Mina profiler PROFILEPANEL_PASTEPPASTE;Parametrar att klistra in PROFILEPANEL_PCUSTOM;Egen @@ -1082,7 +1058,6 @@ TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Justera antingen kroma, mättnad eller colorful TP_COLORAPP_DATACIE;Resultat av CIECAM02-histogram i kurvor TP_COLORAPP_DATACIE_TOOLTIP;När detta är aktiverat, visar CIECAM02-histogram ungefärliga värden/intervall för J eller Q, och C, s eller M efter justeringar i CIECAM02.\nDet här valet påverkar inte huvudhistogrammet.\n\nNär detta är avaktiverat, visar histogrammet för CIECAM02-kurvor Lab-värden innan justeringar av CIECAM02 TP_COLORAPP_GAMUT;Kontroll av tonomfång (Lab) -TP_COLORAPP_GAMUT_TOOLTIP;Tillåt kontroll av tonomfång i Lab-läge TP_COLORAPP_HUE;Nyans(h) TP_COLORAPP_HUE_TOOLTIP;Nyans h) - vinkel mellan 0° och 360° TP_COLORAPP_LABEL;CIE Color Appearance Model 2002 @@ -1129,7 +1104,7 @@ TP_COLORTONING_LUMAMODE_TOOLTIP;Om aktiverad så kommer luminansen för varje pi TP_COLORTONING_METHOD;Metod TP_COLORTONING_MIDTONES;Mellantoner TP_COLORTONING_NEUTRAL;Återställ reglage -TP_COLORTONING_NEUTRAL_TIP;Återställ alla värden (skuggor, mellantoner, högdagrar) till standardvärdena. +TP_COLORTONING_NEUTRAL_TOOLTIP;Återställ alla värden (skuggor, mellantoner, högdagrar) till standardvärdena. TP_COLORTONING_OPACITY;Opacitet TP_COLORTONING_RGBCURVES;RGB - Kurvor TP_COLORTONING_RGBSLIDERS;RGB - Reglage @@ -1230,11 +1205,11 @@ TP_EPD_REWEIGHTINGITERATES;Återviktade iterationer TP_EPD_SCALE;Skala TP_EPD_STRENGTH;Styrka TP_EXPOSURE_AUTOLEVELS;Autonivåer -TP_EXPOSURE_AUTOLEVELS_TIP;Slå av/på autonivåer för att automatiskt beräkna och använda värden baserat på bildanalys\nAktiverar högdageråterställning om nödvändigt +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Slå av/på autonivåer för att automatiskt beräkna och använda värden baserat på bildanalys\nAktiverar högdageråterställning om nödvändigt TP_EXPOSURE_BLACKLEVEL;Svärta TP_EXPOSURE_BRIGHTNESS;Ljushet TP_EXPOSURE_CLIP;Klippnivå % -TP_EXPOSURE_CLIP_TIP;Andelen pixlar som ska klippas när autonivåer används. +TP_EXPOSURE_CLIP_TOOLTIP;Andelen pixlar som ska klippas när autonivåer används. TP_EXPOSURE_COMPRHIGHLIGHTS;Högdageråterställning TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Högdageråterställning, tröskelvärde TP_EXPOSURE_COMPRSHADOWS;Skuggåterställning @@ -1356,7 +1331,7 @@ TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminans enligt nyans L=f(H) TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminans enligt luminans L=f(L) TP_LABCURVE_LABEL;Labjusteringar TP_LABCURVE_LCREDSK;Begränsa LC till röda färger och hudtoner -TP_LABCURVE_LCREDSK_TIP;Om aktiverad så påverkar LC-kurvan enbart röda färger och hudtoner.\nOm ej aktiverad så appliceras den till alla färger och toner. +TP_LABCURVE_LCREDSK_TOOLTIP;Om aktiverad så påverkar LC-kurvan enbart röda färger och hudtoner.\nOm ej aktiverad så appliceras den till alla färger och toner. TP_LABCURVE_RSTPROTECTION;Skydda röda färger och hudtoner TP_LABCURVE_RSTPRO_TOOLTIP;Kan användas med kromareglaget och CC-kurvan TP_LENSGEOM_AUTOCROP;Autobeskärning @@ -1364,7 +1339,7 @@ TP_LENSGEOM_FILL;Fyll automatiskt TP_LENSGEOM_LABEL;Geometrisk- och distorsionskorrigering TP_LENSPROFILE_LABEL;Objektivkorrigeringsprofil TP_NEUTRAL;Återställ -TP_NEUTRAL_TIP;Återställ exponeringsreglagen till neutrala värden.\nGäller för samma reglage som autonivåer, oavsett om du använder autonivåer eller ej +TP_NEUTRAL_TOOLTIP;Återställ exponeringsreglagen till neutrala värden.\nGäller för samma reglage som autonivåer, oavsett om du använder autonivåer eller ej TP_PCVIGNETTE_FEATHER;Fjäder TP_PCVIGNETTE_FEATHER_TOOLTIP;Fjäder: 0=enbart kanter, 50=halvvägs till mitten, 100=i mitten TP_PCVIGNETTE_LABEL;Vinjetteringsfilter @@ -1467,7 +1442,7 @@ TP_RETINEX_MAP_NONE;Ingen TP_RETINEX_METHOD;Metod TP_RETINEX_NEIGHBOR;Radie TP_RETINEX_NEUTRAL;Återställ -TP_RETINEX_NEUTRAL_TIP;Återställer alla reglage och kurvor till sina ursprungliga värden. +TP_RETINEX_NEUTRAL_TOOLTIP;Återställer alla reglage och kurvor till sina ursprungliga värden. TP_RETINEX_OFFSET;Kompensation (ljushet) TP_RETINEX_SCALES;Gaussisk gradient TP_RETINEX_SCALES_TOOLTIP;Om reglaget är på 0 så kommer alla iterationer att vara lika.\nOm > 0 så kommer skalan och radien reduceras när iterationerna ökar och omvänt. @@ -1497,7 +1472,7 @@ TP_RGBCURVES_RED;R TP_ROTATE_DEGREE;Grader TP_ROTATE_LABEL;Rotera TP_ROTATE_SELECTLINE;Välj rak linje -TP_SAVEDIALOG_OK_TIP;Kortkommando: Ctrl-Enter +TP_SAVEDIALOG_OK_TOOLTIP;Kortkommando: Ctrl-Enter TP_SHADOWSHLIGHTS_HIGHLIGHTS;Högdager TP_SHADOWSHLIGHTS_HLTONALW;Tonvidd (Högdagrar) TP_SHADOWSHLIGHTS_LABEL;Skugg- och högdageråterställning @@ -1673,7 +1648,6 @@ TP_WAVELET_THRH;Högdagertröskel TP_WAVELET_TILESBIG;Stora tiles TP_WAVELET_TILESFULL;Hela bilden TP_WAVELET_TILESIZE;Metod för tiling -TP_WAVELET_TILESLIT;SMå tiles TP_WAVELET_TMSTRENGTH;Komprimeringsstyrka TP_WAVELET_TMTYPE;Komprimeringsmetod TP_WBALANCE_AUTO;Auto @@ -1743,7 +1717,7 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !DYNPROFILEEDITOR_DELETE;Delete !DYNPROFILEEDITOR_EDIT;Edit !DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule -!DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the "re:" prefix to enter\na regular expression. +!DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the 're:' prefix to enter\na regular expression. !DYNPROFILEEDITOR_IMGTYPE_ANY;Any !DYNPROFILEEDITOR_IMGTYPE_HDR;HDR !DYNPROFILEEDITOR_IMGTYPE_PS;Pixel Shift @@ -1758,26 +1732,38 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !EXPORT_BYPASS;Processing steps to bypass !EXPORT_PIPELINE;Processing pipeline !EXPORT_USE_FAST_PIPELINE;Dedicated (full processing on resized image) -!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_FAST_PIPELINE_TOOLTIP;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_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. +!FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply 'find' keywords. !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles !FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles !FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? !FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? !FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? !FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPINSPECT;Inspect !FILEBROWSER_POPUPREMOVE;Delete permanently !FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version !FILEBROWSER_RESETDEFAULTPROFILE;Reset to default !FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !GENERAL_CURRENT;Current +!GENERAL_DELETE_ALL;Delete all +!GENERAL_EDIT;Edit !GENERAL_HELP;Help !GENERAL_RESET;Reset !GENERAL_SAVE_AS;Save as... !GENERAL_SLIDER;Slider !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_CROSSHAIR;Show/Hide indicator crosshair. !HISTOGRAM_TOOLTIP_MODE;Toggle between linear, log-linear and log-log scaling of the histogram. +!HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. +!HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram +!HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM_RAW;Raw Histogram +!HISTOGRAM_TOOLTIP_TYPE_PARADE;RGB Parade +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HC;Hue-Chroma Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_VECTORSCOPE_HS;Hue-Saturation Vectorscope +!HISTOGRAM_TOOLTIP_TYPE_WAVEFORM;Waveform !HISTORY_MSG_173;NR - Detail recovery !HISTORY_MSG_203;NR - Color space !HISTORY_MSG_235;B&W - CM - Auto @@ -1795,7 +1781,7 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !HISTORY_MSG_330;W - Toning - Opacity BY !HISTORY_MSG_344;W - Meth chroma sl/cur !HISTORY_MSG_353;W - ES - Gradient sensitivity -!HISTORY_MSG_392;W - Residual - Color Balance +!HISTORY_MSG_392;W - Residual - Color balance !HISTORY_MSG_393;DCP - Look table !HISTORY_MSG_396;W - Contrast sub-tool !HISTORY_MSG_397;W - Chroma sub-tool @@ -1806,34 +1792,49 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !HISTORY_MSG_402;W - Denoise sub-tool !HISTORY_MSG_406;W - ES - Neighboring pixels !HISTORY_MSG_412;Retinex - Gaussian gradient -!HISTORY_MSG_425;Retinex - Log base +!HISTORY_MSG_425;--unused-- !HISTORY_MSG_427;Output rendering intent !HISTORY_MSG_428;Monitor rendering intent !HISTORY_MSG_444;WB - Temp bias -!HISTORY_MSG_445;Raw sub-image -!HISTORY_MSG_449;PS - ISO adaption -!HISTORY_MSG_452;PS - Show motion -!HISTORY_MSG_453;PS - Show mask only -!HISTORY_MSG_457;PS - Check red/blue -!HISTORY_MSG_462;PS - Check green -!HISTORY_MSG_464;PS - Blur motion mask -!HISTORY_MSG_465;PS - Blur radius -!HISTORY_MSG_468;PS - Fill holes -!HISTORY_MSG_469;PS - Median -!HISTORY_MSG_471;PS - Motion correction -!HISTORY_MSG_472;PS - Smooth transitions -!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_MSG_445;Raw Sub-Image +!HISTORY_MSG_446;--unused-- +!HISTORY_MSG_447;--unused-- +!HISTORY_MSG_448;--unused-- +!HISTORY_MSG_449;PS ISO adaption +!HISTORY_MSG_450;--unused-- +!HISTORY_MSG_451;--unused-- +!HISTORY_MSG_452;PS Show motion +!HISTORY_MSG_453;PS Show mask only +!HISTORY_MSG_454;--unused-- +!HISTORY_MSG_455;--unused-- +!HISTORY_MSG_456;--unused-- +!HISTORY_MSG_457;PS Check red/blue +!HISTORY_MSG_458;--unused-- +!HISTORY_MSG_459;--unused-- +!HISTORY_MSG_460;--unused-- +!HISTORY_MSG_461;--unused-- +!HISTORY_MSG_462;PS Check green +!HISTORY_MSG_463;--unused-- +!HISTORY_MSG_464;PS Blur motion mask +!HISTORY_MSG_465;PS Blur radius +!HISTORY_MSG_466;--unused-- +!HISTORY_MSG_467;--unused-- +!HISTORY_MSG_468;PS Fill holes +!HISTORY_MSG_469;PS Median +!HISTORY_MSG_470;--unused-- +!HISTORY_MSG_471;PS Motion correction +!HISTORY_MSG_472;PS Smooth transitions +!HISTORY_MSG_474;PS Equalize +!HISTORY_MSG_475;PS Equalize channel +!HISTORY_MSG_476;CAL - VC - Temperature +!HISTORY_MSG_477;CAL - VC - Tint +!HISTORY_MSG_478;CAL - VC - Mean luminance +!HISTORY_MSG_479;CAL - VC - Adaptation +!HISTORY_MSG_480;CAL - VC - Auto adaptation +!HISTORY_MSG_481;CAL - SC - Temperature +!HISTORY_MSG_482;CAL - SC - Tint +!HISTORY_MSG_483;CAL - SC - Mean luminance +!HISTORY_MSG_484;CAL - SC - Auto mean luminance !HISTORY_MSG_485;Lens Correction !HISTORY_MSG_486;Lens Correction - Camera !HISTORY_MSG_487;Lens Correction - Lens @@ -1844,6 +1845,654 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !HISTORY_MSG_492;RGB Curves !HISTORY_MSG_493;L*a*b* Adjustments !HISTORY_MSG_494;Capture Sharpening +!HISTORY_MSG_496;Local Spot deleted +!HISTORY_MSG_497;Local Spot selected +!HISTORY_MSG_498;Local Spot name +!HISTORY_MSG_499;Local Spot visibility +!HISTORY_MSG_500;Local Spot shape +!HISTORY_MSG_501;Local Spot method +!HISTORY_MSG_502;Local Spot shape method +!HISTORY_MSG_503;Local Spot locX +!HISTORY_MSG_504;Local Spot locXL +!HISTORY_MSG_505;Local Spot locY +!HISTORY_MSG_506;Local Spot locYT +!HISTORY_MSG_507;Local Spot center +!HISTORY_MSG_508;Local Spot circrad +!HISTORY_MSG_509;Local Spot quality method +!HISTORY_MSG_510;Local Spot transition +!HISTORY_MSG_511;Local Spot thresh +!HISTORY_MSG_512;Local Spot ΔE decay +!HISTORY_MSG_513;Local Spot scope +!HISTORY_MSG_514;Local Spot structure +!HISTORY_MSG_515;Local Adjustments +!HISTORY_MSG_516;Local - Color and light +!HISTORY_MSG_517;Local - Enable super +!HISTORY_MSG_518;Local - Lightness +!HISTORY_MSG_519;Local - Contrast +!HISTORY_MSG_520;Local - Chrominance +!HISTORY_MSG_521;Local - Scope +!HISTORY_MSG_522;Local - curve method +!HISTORY_MSG_523;Local - LL Curve +!HISTORY_MSG_524;Local - CC curve +!HISTORY_MSG_525;Local - LH Curve +!HISTORY_MSG_526;Local - H curve +!HISTORY_MSG_527;Local - Color Inverse +!HISTORY_MSG_528;Local - Exposure +!HISTORY_MSG_529;Local - Exp Compensation +!HISTORY_MSG_530;Local - Exp Hlcompr +!HISTORY_MSG_531;Local - Exp hlcomprthresh +!HISTORY_MSG_532;Local - Exp black +!HISTORY_MSG_533;Local - Exp Shcompr +!HISTORY_MSG_534;Local - Warm Cool +!HISTORY_MSG_535;Local - Exp Scope +!HISTORY_MSG_536;Local - Exp Contrast curve +!HISTORY_MSG_537;Local - Vibrance +!HISTORY_MSG_538;Local - Vib Saturated +!HISTORY_MSG_539;Local - Vib Pastel +!HISTORY_MSG_540;Local - Vib Threshold +!HISTORY_MSG_541;Local - Vib Protect skin tones +!HISTORY_MSG_542;Local - Vib avoid colorshift +!HISTORY_MSG_543;Local - Vib link +!HISTORY_MSG_544;Local - Vib Scope +!HISTORY_MSG_545;Local - Vib H curve +!HISTORY_MSG_546;Local - Blur and noise +!HISTORY_MSG_547;Local - Radius +!HISTORY_MSG_548;Local - Noise +!HISTORY_MSG_549;Local - Blur scope +!HISTORY_MSG_550;Local - Blur method +!HISTORY_MSG_551;Local - Blur Luminance only +!HISTORY_MSG_552;Local - Tone mapping +!HISTORY_MSG_553;Local - TM compression strength +!HISTORY_MSG_554;Local - TM gamma +!HISTORY_MSG_555;Local - TM edge stopping +!HISTORY_MSG_556;Local - TM scale +!HISTORY_MSG_557;Local - TM Reweighting +!HISTORY_MSG_558;Local - TM scope +!HISTORY_MSG_559;Local - Retinex +!HISTORY_MSG_560;Local - Retinex method +!HISTORY_MSG_561;Local - Retinex strength +!HISTORY_MSG_562;Local - Retinex chroma +!HISTORY_MSG_563;Local - Retinex radius +!HISTORY_MSG_564;Local - Retinex contrast +!HISTORY_MSG_565;Local - scope +!HISTORY_MSG_566;Local - Retinex Gain curve +!HISTORY_MSG_567;Local - Retinex Inverse +!HISTORY_MSG_568;Local - Sharpening +!HISTORY_MSG_569;Local - Sh Radius +!HISTORY_MSG_570;Local - Sh Amount +!HISTORY_MSG_571;Local - Sh Damping +!HISTORY_MSG_572;Local - Sh Iterations +!HISTORY_MSG_573;Local - Sh Scope +!HISTORY_MSG_574;Local - Sh Inverse +!HISTORY_MSG_575;Local - CBDL +!HISTORY_MSG_576;Local - cbdl mult +!HISTORY_MSG_577;Local - cbdl chroma +!HISTORY_MSG_578;Local - cbdl threshold +!HISTORY_MSG_579;Local - cbdl scope +!HISTORY_MSG_580;--unused-- +!HISTORY_MSG_581;Local - deNoise lum f 1 +!HISTORY_MSG_582;Local - deNoise lum c +!HISTORY_MSG_583;Local - deNoise lum detail +!HISTORY_MSG_584;Local - deNoise equalizer White-Black +!HISTORY_MSG_585;Local - deNoise chro f +!HISTORY_MSG_586;Local - deNoise chro c +!HISTORY_MSG_587;Local - deNoise chro detail +!HISTORY_MSG_588;Local - deNoise equalizer Blue-Red +!HISTORY_MSG_589;Local - deNoise bilateral +!HISTORY_MSG_590;Local - deNoise Scope +!HISTORY_MSG_591;Local - Avoid color shift +!HISTORY_MSG_592;Local - Sh Contrast +!HISTORY_MSG_593;Local - Local contrast +!HISTORY_MSG_594;Local - Local contrast radius +!HISTORY_MSG_595;Local - Local contrast amount +!HISTORY_MSG_596;Local - Local contrast darkness +!HISTORY_MSG_597;Local - Local contrast lightness +!HISTORY_MSG_598;Local - Local contrast scope +!HISTORY_MSG_599;Local - Retinex dehaze +!HISTORY_MSG_600;Local - Soft Light enable +!HISTORY_MSG_601;Local - Soft Light strength +!HISTORY_MSG_602;Local - Soft Light scope +!HISTORY_MSG_603;Local - Sh Blur radius +!HISTORY_MSG_605;Local - Mask preview choice +!HISTORY_MSG_606;Local Spot selected +!HISTORY_MSG_607;Local - Color Mask C +!HISTORY_MSG_608;Local - Color Mask L +!HISTORY_MSG_609;Local - Exp Mask C +!HISTORY_MSG_610;Local - Exp Mask L +!HISTORY_MSG_611;Local - Color Mask H +!HISTORY_MSG_612;Local - Color Structure +!HISTORY_MSG_613;Local - Exp Structure +!HISTORY_MSG_614;Local - Exp Mask H +!HISTORY_MSG_615;Local - Blend color +!HISTORY_MSG_616;Local - Blend Exp +!HISTORY_MSG_617;Local - Blur Exp +!HISTORY_MSG_618;Local - Use Color Mask +!HISTORY_MSG_619;Local - Use Exp Mask +!HISTORY_MSG_620;Local - Blur col +!HISTORY_MSG_621;Local - Exp inverse +!HISTORY_MSG_622;Local - Exclude structure +!HISTORY_MSG_623;Local - Exp Chroma compensation +!HISTORY_MSG_624;Local - Color correction grid +!HISTORY_MSG_625;Local - Color correction strength +!HISTORY_MSG_626;Local - Color correction Method +!HISTORY_MSG_627;Local - Shadow Highlight +!HISTORY_MSG_628;Local - SH Highlight +!HISTORY_MSG_629;Local - SH H tonalwidth +!HISTORY_MSG_630;Local - SH Shadows +!HISTORY_MSG_631;Local - SH S tonalwidth +!HISTORY_MSG_632;Local - SH radius +!HISTORY_MSG_633;Local - SH Scope +!HISTORY_MSG_634;Local - radius color +!HISTORY_MSG_635;Local - radius Exp +!HISTORY_MSG_636;Local - Tool added +!HISTORY_MSG_637;Local - SH Mask C +!HISTORY_MSG_638;Local - SH Mask L +!HISTORY_MSG_639;Local - SH Mask H +!HISTORY_MSG_640;Local - SH blend +!HISTORY_MSG_641;Local - Use SH mask +!HISTORY_MSG_642;Local - radius SH +!HISTORY_MSG_643;Local - Blur SH +!HISTORY_MSG_644;Local - inverse SH +!HISTORY_MSG_645;Local - balance ΔE ab-L +!HISTORY_MSG_646;Local - Exp mask chroma +!HISTORY_MSG_647;Local - Exp mask gamma +!HISTORY_MSG_648;Local - Exp mask slope +!HISTORY_MSG_649;Local - Exp soft radius +!HISTORY_MSG_650;Local - Color mask chroma +!HISTORY_MSG_651;Local - Color mask gamma +!HISTORY_MSG_652;Local - Color mask slope +!HISTORY_MSG_653;Local - SH mask chroma +!HISTORY_MSG_654;Local - SH mask gamma +!HISTORY_MSG_655;Local - SH mask slope +!HISTORY_MSG_656;Local - Color soft radius +!HISTORY_MSG_657;Local - Retinex Reduce artifacts +!HISTORY_MSG_658;Local - CBDL soft radius +!HISTORY_MSG_659;Local Spot transition-decay +!HISTORY_MSG_660;Local - cbdl clarity +!HISTORY_MSG_661;Local - cbdl contrast residual +!HISTORY_MSG_662;Local - deNoise lum f 0 +!HISTORY_MSG_663;Local - deNoise lum f 2 +!HISTORY_MSG_664;--unused-- +!HISTORY_MSG_665;Local - cbdl mask Blend +!HISTORY_MSG_666;Local - cbdl mask radius +!HISTORY_MSG_667;Local - cbdl mask chroma +!HISTORY_MSG_668;Local - cbdl mask gamma +!HISTORY_MSG_669;Local - cbdl mask slope +!HISTORY_MSG_670;Local - cbdl mask C +!HISTORY_MSG_671;Local - cbdl mask L +!HISTORY_MSG_672;Local - cbdl mask CL +!HISTORY_MSG_673;Local - Use cbdl mask +!HISTORY_MSG_674;Local - Tool removed +!HISTORY_MSG_675;Local - TM soft radius +!HISTORY_MSG_676;Local Spot transition-differentiation +!HISTORY_MSG_677;Local - TM amount +!HISTORY_MSG_678;Local - TM saturation +!HISTORY_MSG_679;Local - Retinex mask C +!HISTORY_MSG_680;Local - Retinex mask L +!HISTORY_MSG_681;Local - Retinex mask CL +!HISTORY_MSG_682;Local - Retinex mask +!HISTORY_MSG_683;Local - Retinex mask Blend +!HISTORY_MSG_684;Local - Retinex mask radius +!HISTORY_MSG_685;Local - Retinex mask chroma +!HISTORY_MSG_686;Local - Retinex mask gamma +!HISTORY_MSG_687;Local - Retinex mask slope +!HISTORY_MSG_688;Local - Tool removed +!HISTORY_MSG_689;Local - Retinex mask transmission map +!HISTORY_MSG_690;Local - Retinex scale +!HISTORY_MSG_691;Local - Retinex darkness +!HISTORY_MSG_692;Local - Retinex lightness +!HISTORY_MSG_693;Local - Retinex threshold +!HISTORY_MSG_694;Local - Retinex Laplacian threshold +!HISTORY_MSG_695;Local - Soft method +!HISTORY_MSG_696;Local - Retinex Normalize +!HISTORY_MSG_697;Local - TM Normalize +!HISTORY_MSG_698;Local - Local contrast Fast Fourier +!HISTORY_MSG_699;Local - Retinex Fast Fourier +!HISTORY_MSG_701;Local - Exp Shadows +!HISTORY_MSG_702;Local - Exp Method +!HISTORY_MSG_703;Local - Exp Laplacian threshold +!HISTORY_MSG_704;Local - Exp PDE balance +!HISTORY_MSG_705;Local - Exp linearity +!HISTORY_MSG_706;Local - TM mask C +!HISTORY_MSG_707;Local - TM mask L +!HISTORY_MSG_708;Local - TM mask CL +!HISTORY_MSG_709;Local - use TM mask +!HISTORY_MSG_710;Local - TM mask Blend +!HISTORY_MSG_711;Local - TM mask radius +!HISTORY_MSG_712;Local - TM mask chroma +!HISTORY_MSG_713;Local - TM mask gamma +!HISTORY_MSG_714;Local - TM mask slope +!HISTORY_MSG_716;Local - Local method +!HISTORY_MSG_717;Local - Local contrast +!HISTORY_MSG_718;Local - Local contrast levels +!HISTORY_MSG_719;Local - Local contrast residual L +!HISTORY_MSG_720;Local - Blur mask C +!HISTORY_MSG_721;Local - Blur mask L +!HISTORY_MSG_722;Local - Blur mask CL +!HISTORY_MSG_723;Local - use Blur mask +!HISTORY_MSG_725;Local - Blur mask Blend +!HISTORY_MSG_726;Local - Blur mask radius +!HISTORY_MSG_727;Local - Blur mask chroma +!HISTORY_MSG_728;Local - Blur mask gamma +!HISTORY_MSG_729;Local - Blur mask slope +!HISTORY_MSG_730;Local - Blur method +!HISTORY_MSG_731;Local - median method +!HISTORY_MSG_732;Local - median iterations +!HISTORY_MSG_733;Local - soft radius +!HISTORY_MSG_734;Local - detail +!HISTORY_MSG_738;Local - Local contrast Merge L +!HISTORY_MSG_739;Local - Local contrast Soft radius +!HISTORY_MSG_740;Local - Local contrast Merge C +!HISTORY_MSG_741;Local - Local contrast Residual C +!HISTORY_MSG_742;Local - Exp Laplacian gamma +!HISTORY_MSG_743;Local - Exp Fattal Amount +!HISTORY_MSG_744;Local - Exp Fattal Detail +!HISTORY_MSG_745;Local - Exp Fattal Offset +!HISTORY_MSG_746;Local - Exp Fattal Sigma +!HISTORY_MSG_747;Local Spot created +!HISTORY_MSG_748;Local - Exp Denoise +!HISTORY_MSG_749;Local - Reti Depth +!HISTORY_MSG_750;Local - Reti Mode log - lin +!HISTORY_MSG_751;Local - Reti Dehaze saturation +!HISTORY_MSG_752;Local - Reti Offset +!HISTORY_MSG_753;Local - Reti Transmission map +!HISTORY_MSG_754;Local - Reti Clip +!HISTORY_MSG_755;Local - TM use tm mask +!HISTORY_MSG_756;Local - Exp use algo exposure mask +!HISTORY_MSG_757;Local - Exp Laplacian mask +!HISTORY_MSG_758;Local - Reti Laplacian mask +!HISTORY_MSG_759;Local - Exp Laplacian mask +!HISTORY_MSG_760;Local - Color Laplacian mask +!HISTORY_MSG_761;Local - SH Laplacian mask +!HISTORY_MSG_762;Local - cbdl Laplacian mask +!HISTORY_MSG_763;Local - Blur Laplacian mask +!HISTORY_MSG_764;Local - Solve PDE Laplacian mask +!HISTORY_MSG_765;Local - deNoise Detail threshold +!HISTORY_MSG_766;Local - Blur Fast Fourier +!HISTORY_MSG_767;Local - Grain Iso +!HISTORY_MSG_768;Local - Grain Strength +!HISTORY_MSG_769;Local - Grain Scale +!HISTORY_MSG_770;Local - Color Mask contrast curve +!HISTORY_MSG_771;Local - Exp Mask contrast curve +!HISTORY_MSG_772;Local - SH Mask contrast curve +!HISTORY_MSG_773;Local - TM Mask contrast curve +!HISTORY_MSG_774;Local - Reti Mask contrast curve +!HISTORY_MSG_775;Local - CBDL Mask contrast curve +!HISTORY_MSG_776;Local - Blur Denoise Mask contrast curve +!HISTORY_MSG_777;Local - Blur Mask local contrast curve +!HISTORY_MSG_778;Local - Mask highlights +!HISTORY_MSG_779;Local - Color Mask local contrast curve +!HISTORY_MSG_780;Local - Color Mask shadows +!HISTORY_MSG_781;Local - Contrast Mask Wavelet level +!HISTORY_MSG_782;Local - Blur Denoise Mask Wavelet levels +!HISTORY_MSG_783;Local - Color Wavelet levels +!HISTORY_MSG_784;Local - Mask ΔE +!HISTORY_MSG_785;Local - Mask Scope ΔE +!HISTORY_MSG_786;Local - SH method +!HISTORY_MSG_787;Local - Equalizer multiplier +!HISTORY_MSG_788;Local - Equalizer detail +!HISTORY_MSG_789;Local - SH mask amount +!HISTORY_MSG_790;Local - SH mask anchor +!HISTORY_MSG_791;Local - Mask Short L curves +!HISTORY_MSG_792;Local - Mask Luminance Background +!HISTORY_MSG_793;Local - SH TRC gamma +!HISTORY_MSG_794;Local - SH TRC slope +!HISTORY_MSG_795;Local - Mask save restore image +!HISTORY_MSG_796;Local - Recursive references +!HISTORY_MSG_797;Local - Merge Original method +!HISTORY_MSG_798;Local - Opacity +!HISTORY_MSG_799;Local - Color RGB ToneCurve +!HISTORY_MSG_800;Local - Color ToneCurve Method +!HISTORY_MSG_801;Local - Color ToneCurve Special +!HISTORY_MSG_802;Local - Contrast threshold +!HISTORY_MSG_803;Local - Color Merge +!HISTORY_MSG_804;Local - Color mask Structure +!HISTORY_MSG_805;Local - Blur Noise mask Structure +!HISTORY_MSG_806;Local - Color mask Structure as tool +!HISTORY_MSG_807;Local - Blur Noise mask Structure as tool +!HISTORY_MSG_808;Local - Color mask curve H(H) +!HISTORY_MSG_809;Local - Vib mask curve C(C) +!HISTORY_MSG_810;Local - Vib mask curve L(L) +!HISTORY_MSG_811;Local - Vib mask curve LC(H) +!HISTORY_MSG_813;Local - Use Vib mask +!HISTORY_MSG_814;Local - Vib mask Blend +!HISTORY_MSG_815;Local - Vib mask radius +!HISTORY_MSG_816;Local - Vib mask chroma +!HISTORY_MSG_817;Local - Vib mask gamma +!HISTORY_MSG_818;Local - Vib mask slope +!HISTORY_MSG_819;Local - Vib mask laplacian +!HISTORY_MSG_820;Local - Vib mask contrast curve +!HISTORY_MSG_821;Local - color grid background +!HISTORY_MSG_822;Local - color background merge +!HISTORY_MSG_823;Local - color background luminance +!HISTORY_MSG_824;Local - Exp gradient mask strength +!HISTORY_MSG_825;Local - Exp gradient mask angle +!HISTORY_MSG_826;Local - Exp gradient strength +!HISTORY_MSG_827;Local - Exp gradient angle +!HISTORY_MSG_828;Local - SH gradient strength +!HISTORY_MSG_829;Local - SH gradient angle +!HISTORY_MSG_830;Local - Color gradient strength L +!HISTORY_MSG_831;Local - Color gradient angle +!HISTORY_MSG_832;Local - Color gradient strength C +!HISTORY_MSG_833;Local - Gradient feather +!HISTORY_MSG_834;Local - Color gradient strength H +!HISTORY_MSG_835;Local - Vib gradient strength L +!HISTORY_MSG_836;Local - Vib gradient angle +!HISTORY_MSG_837;Local - Vib gradient strength C +!HISTORY_MSG_838;Local - Vib gradient strength H +!HISTORY_MSG_839;Local - Software complexity +!HISTORY_MSG_840;Local - CL Curve +!HISTORY_MSG_841;Local - LC curve +!HISTORY_MSG_842;Local - Blur mask Radius +!HISTORY_MSG_843;Local - Blur mask Contrast Threshold +!HISTORY_MSG_844;Local - Blur mask FFTW +!HISTORY_MSG_845;Local - Log encoding +!HISTORY_MSG_846;Local - Log encoding auto +!HISTORY_MSG_847;Local - Log encoding Source +!HISTORY_MSG_849;Local - Log encoding Source auto +!HISTORY_MSG_850;Local - Log encoding B_Ev +!HISTORY_MSG_851;Local - Log encoding W_Ev +!HISTORY_MSG_852;Local - Log encoding Target +!HISTORY_MSG_853;Local - Log encodind loc contrast +!HISTORY_MSG_854;Local - Log encodind Scope +!HISTORY_MSG_855;Local - Log encoding Whole image +!HISTORY_MSG_856;Local - Log encoding Shadows range +!HISTORY_MSG_857;Local - Wavelet blur residual +!HISTORY_MSG_858;Local - Wavelet blur luminance only +!HISTORY_MSG_859;Local - Wavelet max blur +!HISTORY_MSG_860;Local - Wavelet blur levels +!HISTORY_MSG_861;Local - Wavelet contrast levels +!HISTORY_MSG_862;Local - Wavelet contrast attenuation +!HISTORY_MSG_863;Local - Wavelet merge original image +!HISTORY_MSG_864;Local - Wavelet dir contrast attenuation +!HISTORY_MSG_865;Local - Wavelet dir contrast delta +!HISTORY_MSG_866;Local - Wavelet dir compression +!HISTORY_MSG_868;Local - Balance ΔE C-H +!HISTORY_MSG_869;Local - Denoise by level +!HISTORY_MSG_870;Local - Wavelet mask curve H +!HISTORY_MSG_871;Local - Wavelet mask curve C +!HISTORY_MSG_872;Local - Wavelet mask curve L +!HISTORY_MSG_873;Local - Wavelet mask +!HISTORY_MSG_875;Local - Wavelet mask blend +!HISTORY_MSG_876;Local - Wavelet mask smooth +!HISTORY_MSG_877;Local - Wavelet mask chroma +!HISTORY_MSG_878;Local - Wavelet mask contrast curve +!HISTORY_MSG_879;Local - Wavelet contrast chroma +!HISTORY_MSG_880;Local - Wavelet blur chroma +!HISTORY_MSG_881;Local - Wavelet contrast offset +!HISTORY_MSG_882;Local - Wavelet blur +!HISTORY_MSG_883;Local - Wavelet contrast by level +!HISTORY_MSG_884;Local - Wavelet dir contrast +!HISTORY_MSG_885;Local - Wavelet tone mapping +!HISTORY_MSG_886;Local - Wavelet tone mapping compress +!HISTORY_MSG_887;Local - Wavelet tone mapping compress residual +!HISTORY_MSG_888;Local - Contrast Wavelet Balance Threshold +!HISTORY_MSG_889;Local - Contrast Wavelet Graduated Strength +!HISTORY_MSG_890;Local - Contrast Wavelet Graduated angle +!HISTORY_MSG_891;Local - Contrast Wavelet Graduated +!HISTORY_MSG_892;Local - Log Encoding Graduated Strength +!HISTORY_MSG_893;Local - Log Encoding Graduated angle +!HISTORY_MSG_894;Local - Color Preview dE +!HISTORY_MSG_897;Local - Contrast Wavelet ES strength +!HISTORY_MSG_898;Local - Contrast Wavelet ES radius +!HISTORY_MSG_899;Local - Contrast Wavelet ES detail +!HISTORY_MSG_900;Local - Contrast Wavelet ES gradient +!HISTORY_MSG_901;Local - Contrast Wavelet ES threshold low +!HISTORY_MSG_902;Local - Contrast Wavelet ES threshold high +!HISTORY_MSG_903;Local - Contrast Wavelet ES local contrast +!HISTORY_MSG_904;Local - Contrast Wavelet ES first level +!HISTORY_MSG_905;Local - Contrast Wavelet Edge Sharpness +!HISTORY_MSG_906;Local - Contrast Wavelet ES sensitivity +!HISTORY_MSG_907;Local - Contrast Wavelet ES amplification +!HISTORY_MSG_908;Local - Contrast Wavelet ES neighboring +!HISTORY_MSG_909;Local - Contrast Wavelet ES show +!HISTORY_MSG_910;Local - Wavelet Edge performance +!HISTORY_MSG_911;Local - Blur Chroma Luma +!HISTORY_MSG_912;Local - Blur Guide filter strength +!HISTORY_MSG_913;Local - Contrast Wavelet Sigma DR +!HISTORY_MSG_914;Local - Blur Wavelet Sigma BL +!HISTORY_MSG_915;Local - Edge Wavelet Sigma ED +!HISTORY_MSG_916;Local - Residual wavelet shadows +!HISTORY_MSG_917;Local - Residual wavelet shadows threshold +!HISTORY_MSG_918;Local - Residual wavelet highlights +!HISTORY_MSG_919;Local - Residual wavelet highlights threshold +!HISTORY_MSG_920;Local - Wavelet sigma LC +!HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 +!HISTORY_MSG_922;Local - changes In Black and White +!HISTORY_MSG_923;Local - Tool complexity mode +!HISTORY_MSG_924;--unused-- +!HISTORY_MSG_925;Local - Scope color tools +!HISTORY_MSG_926;Local - Show mask type +!HISTORY_MSG_927;Local - Shadow +!HISTORY_MSG_928;Local - Common color mask +!HISTORY_MSG_929;Local - Mask common scope +!HISTORY_MSG_930;Local - Mask Common blend luma +!HISTORY_MSG_931;Local - Mask Common enable +!HISTORY_MSG_932;Local - Mask Common radius soft +!HISTORY_MSG_933;Local - Mask Common laplacian +!HISTORY_MSG_934;Local - Mask Common chroma +!HISTORY_MSG_935;Local - Mask Common gamma +!HISTORY_MSG_936;Local - Mask Common slope +!HISTORY_MSG_937;Local - Mask Common curve C(C) +!HISTORY_MSG_938;Local - Mask Common curve L(L) +!HISTORY_MSG_939;Local - Mask Common curve LC(H) +!HISTORY_MSG_940;Local - Mask Common structure as tool +!HISTORY_MSG_941;Local - Mask Common structure strength +!HISTORY_MSG_942;Local - Mask Common H(H) curve +!HISTORY_MSG_943;Local - Mask Common FFT +!HISTORY_MSG_944;Local - Mask Common Blur radius +!HISTORY_MSG_945;Local - Mask Common contrast threshold +!HISTORY_MSG_946;Local - Mask Common shadows +!HISTORY_MSG_947;Local - Mask Common Contrast curve +!HISTORY_MSG_948;Local - Mask Common Wavelet curve +!HISTORY_MSG_949;Local - Mask Common Threshold levels +!HISTORY_MSG_950;Local - Mask Common GF strength +!HISTORY_MSG_951;Local - Mask Common GF angle +!HISTORY_MSG_952;Local - Mask Common soft radius +!HISTORY_MSG_953;Local - Mask Common blend chroma +!HISTORY_MSG_954;Local - Show-hide tools +!HISTORY_MSG_955;Local - Enable Spot +!HISTORY_MSG_956;Local - CH Curve +!HISTORY_MSG_957;Local - Denoise mode +!HISTORY_MSG_958;Local - Show/hide settings +!HISTORY_MSG_959;Local - Inverse blur +!HISTORY_MSG_960;Local - Log encoding - cat16 +!HISTORY_MSG_961;Local - Log encoding Ciecam +!HISTORY_MSG_962;Local - Log encoding Absolute luminance source +!HISTORY_MSG_963;Local - Log encoding Absolute luminance target +!HISTORY_MSG_964;Local - Log encoding Surround +!HISTORY_MSG_965;Local - Log encoding Saturation s +!HISTORY_MSG_966;Local - Log encoding Contrast J +!HISTORY_MSG_967;Local - Log encoding Mask curve C +!HISTORY_MSG_968;Local - Log encoding Mask curve L +!HISTORY_MSG_969;Local - Log encoding Mask curve H +!HISTORY_MSG_970;Local - Log encoding Mask enable +!HISTORY_MSG_971;Local - Log encoding Mask blend +!HISTORY_MSG_972;Local - Log encoding Mask radius +!HISTORY_MSG_973;Local - Log encoding Mask chroma +!HISTORY_MSG_974;Local - Log encoding Mask contrast +!HISTORY_MSG_975;Local - Log encoding Lightness J +!HISTORY_MSG_977;Local - Log encoding Contrast Q +!HISTORY_MSG_978;Local - Log encoding Sursource +!HISTORY_MSG_979;Local - Log encoding Brightness Q +!HISTORY_MSG_980;Local - Log encoding Colorfulness M +!HISTORY_MSG_981;Local - Log encoding Strength +!HISTORY_MSG_982;Local - Equalizer hue +!HISTORY_MSG_983;Local - denoise threshold mask high +!HISTORY_MSG_984;Local - denoise threshold mask low +!HISTORY_MSG_985;Local - denoise Laplacian +!HISTORY_MSG_986;Local - denoise reinforce +!HISTORY_MSG_987;Local - GF recovery threshold +!HISTORY_MSG_988;Local - GF threshold mask low +!HISTORY_MSG_989;Local - GF threshold mask high +!HISTORY_MSG_990;Local - Denoise recovery threshold +!HISTORY_MSG_991;Local - Denoise threshold mask low +!HISTORY_MSG_992;Local - Denoise threshold mask high +!HISTORY_MSG_993;Local - Denoise Inverse algo +!HISTORY_MSG_994;Local - GF Inverse algo +!HISTORY_MSG_995;Local - Denoise decay +!HISTORY_MSG_996;Local - Color recovery threshold +!HISTORY_MSG_997;Local - Color threshold mask low +!HISTORY_MSG_998;Local - Color threshold mask high +!HISTORY_MSG_999;Local - Color decay +!HISTORY_MSG_1000;Local - Denoise luminance gray +!HISTORY_MSG_1001;Local - Log recovery threshold +!HISTORY_MSG_1002;Local - Log threshold mask low +!HISTORY_MSG_1003;Local - Log threshold mask high +!HISTORY_MSG_1004;Local - Log decay +!HISTORY_MSG_1005;Local - Exp recovery threshold +!HISTORY_MSG_1006;Local - Exp threshold mask low +!HISTORY_MSG_1007;Local - Exp threshold mask high +!HISTORY_MSG_1008;Local - Exp decay +!HISTORY_MSG_1009;Local - SH recovery threshold +!HISTORY_MSG_1010;Local - SH threshold mask low +!HISTORY_MSG_1011;Local - SH threshold mask high +!HISTORY_MSG_1012;Local - SH decay +!HISTORY_MSG_1013;Local - vib recovery threshold +!HISTORY_MSG_1014;Local - vib threshold mask low +!HISTORY_MSG_1015;Local - vib threshold mask high +!HISTORY_MSG_1016;Local - vib decay +!HISTORY_MSG_1017;Local - lc recovery threshold +!HISTORY_MSG_1018;Local - lc threshold mask low +!HISTORY_MSG_1019;Local - lc threshold mask high +!HISTORY_MSG_1020;Local - lc decay +!HISTORY_MSG_1021;Local - Denoise chrominance gray +!HISTORY_MSG_1022;Local - TM recovery threshold +!HISTORY_MSG_1023;Local - TM threshold mask low +!HISTORY_MSG_1024;Local - TM threshold mask high +!HISTORY_MSG_1025;Local - TM decay +!HISTORY_MSG_1026;Local - cbdl recovery threshold +!HISTORY_MSG_1027;Local - cbdl threshold mask low +!HISTORY_MSG_1028;Local - cbdl threshold mask high +!HISTORY_MSG_1029;Local - cbdl decay +!HISTORY_MSG_1030;Local - reti recovery threshold +!HISTORY_MSG_1031;Local - reti threshold mask low +!HISTORY_MSG_1032;Local - reti threshold mask high +!HISTORY_MSG_1033;Local - reti decay +!HISTORY_MSG_1034;Local - Nlmeans - strength +!HISTORY_MSG_1035;Local - Nlmeans - detail +!HISTORY_MSG_1036;Local - Nlmeans - patch +!HISTORY_MSG_1037;Local - Nlmeans - radius +!HISTORY_MSG_1038;Local - Nlmeans - gamma +!HISTORY_MSG_1039;Local - Grain - gamma +!HISTORY_MSG_1040;Local - Spot - soft radius +!HISTORY_MSG_1041;Local - Spot - Munsell +!HISTORY_MSG_1042;Local - Log encoding - threshold +!HISTORY_MSG_1043;Local - Exp - normalize +!HISTORY_MSG_1044;Local - Local contrast strength +!HISTORY_MSG_1045;Local - Color and Light strength +!HISTORY_MSG_1046;Local - Denoise strength +!HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +!HISTORY_MSG_1048;Local - DR and Exposure strength +!HISTORY_MSG_1049;Local - TM strength +!HISTORY_MSG_1050;Local - Log encoding chroma +!HISTORY_MSG_1051;Local - Residual wavelet gamma +!HISTORY_MSG_1052;Local - Residual wavelet slope +!HISTORY_MSG_1053;Local - Denoise gamma +!HISTORY_MSG_1054;Local - Wavelet gamma +!HISTORY_MSG_1055;Local - Color and Light gamma +!HISTORY_MSG_1056;Local - DR and Exposure gamma +!HISTORY_MSG_1057;Local - CIECAM Enabled +!HISTORY_MSG_1058;Local - CIECAM Overall strength +!HISTORY_MSG_1059;Local - CIECAM Autogray +!HISTORY_MSG_1060;Local - CIECAM Mean luminance source +!HISTORY_MSG_1061;Local - CIECAM Source absolute +!HISTORY_MSG_1062;Local - CIECAM Surround Source +!HISTORY_MSG_1063;Local - CIECAM Saturation +!HISTORY_MSG_1064;Local - CIECAM Chroma +!HISTORY_MSG_1065;Local - CIECAM lightness J +!HISTORY_MSG_1066;Local - CIECAM brightness +!HISTORY_MSG_1067;Local - CIECAM Contrast J +!HISTORY_MSG_1068;Local - CIECAM threshold +!HISTORY_MSG_1069;Local - CIECAM contrast Q +!HISTORY_MSG_1070;Local - CIECAM colorfullness +!HISTORY_MSG_1071;Local - CIECAM Absolute luminance +!HISTORY_MSG_1072;Local - CIECAM Mean luminance +!HISTORY_MSG_1073;Local - CIECAM Cat16 +!HISTORY_MSG_1074;Local - CIECAM Local contrast +!HISTORY_MSG_1075;Local - CIECAM Surround viewing +!HISTORY_MSG_1076;Local - CIECAM Scope +!HISTORY_MSG_1077;Local - CIECAM Mode +!HISTORY_MSG_1078;Local - Red and skin protection +!HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +!HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +!HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +!HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +!HISTORY_MSG_1083;Local - CIECAM Hue +!HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +!HISTORY_MSG_1085;Local - Jz lightness +!HISTORY_MSG_1086;Local - Jz contrast +!HISTORY_MSG_1087;Local - Jz chroma +!HISTORY_MSG_1088;Local - Jz hue +!HISTORY_MSG_1089;Local - Jz Sigmoid strength +!HISTORY_MSG_1090;Local - Jz Sigmoid threshold +!HISTORY_MSG_1091;Local - Jz Sigmoid blend +!HISTORY_MSG_1092;Local - Jz adaptation +!HISTORY_MSG_1093;Local - CAM model +!HISTORY_MSG_1094;Local - Jz highligths +!HISTORY_MSG_1095;Local - Jz highligths thr +!HISTORY_MSG_1096;Local - Jz shadows +!HISTORY_MSG_1097;Local - Jz shadows thr +!HISTORY_MSG_1098;Local - Jz radius SH +!HISTORY_MSG_1099;Local - Cz(Hz) Curve +!HISTORY_MSG_1100;Local - Jz reference 100 +!HISTORY_MSG_1101;Local - Jz PQ remap +!HISTORY_MSG_1102;Local - Jz(Hz) Curve +!HISTORY_MSG_1103;Local - Vibrance gamma +!HISTORY_MSG_1104;Local - Sharp gamma +!HISTORY_MSG_1105;Local - CIECAM Tone method +!HISTORY_MSG_1106;Local - CIECAM Tone curve +!HISTORY_MSG_1107;Local - CIECAM Color method +!HISTORY_MSG_1108;Local - CIECAM Color curve +!HISTORY_MSG_1109;Local - Jz(Jz) curve +!HISTORY_MSG_1110;Local - Cz(Cz) curve +!HISTORY_MSG_1111;Local - Cz(Jz) curve +!HISTORY_MSG_1112;Local - forcejz +!HISTORY_MSG_1113;Local - HDR PQ +!HISTORY_MSG_1114;Local - Cie mask enable +!HISTORY_MSG_1115;Local - Cie mask curve C +!HISTORY_MSG_1116;Local - Cie mask curve L +!HISTORY_MSG_1117;Local - Cie mask curve H +!HISTORY_MSG_1118;Local - Cie mask blend +!HISTORY_MSG_1119;Local - Cie mask radius +!HISTORY_MSG_1120;Local - Cie mask chroma +!HISTORY_MSG_1121;Local - Cie mask contrast curve +!HISTORY_MSG_1122;Local - Cie mask recovery threshold +!HISTORY_MSG_1123;Local - Cie mask recovery dark +!HISTORY_MSG_1124;Local - Cie mask recovery light +!HISTORY_MSG_1125;Local - Cie mask recovery decay +!HISTORY_MSG_1126;Local - Cie mask laplacian +!HISTORY_MSG_1127;Local - Cie mask gamma +!HISTORY_MSG_1128;Local - Cie mask slope +!HISTORY_MSG_1129;Local - Cie Relative luminance +!HISTORY_MSG_1130;Local - Cie Saturation Jz +!HISTORY_MSG_1131;Local - Mask denoise chroma +!HISTORY_MSG_1132;Local - Cie Wav sigma Jz +!HISTORY_MSG_1133;Local - Cie Wav level Jz +!HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +!HISTORY_MSG_1135;Local - Cie Wav clarity Jz +!HISTORY_MSG_1136;Local - Cie Wav clarity Cz +!HISTORY_MSG_1137;Local - Cie Wav clarity Soft +!HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +!HISTORY_MSG_1139;Local - Jz soft Curves H +!HISTORY_MSG_1140;Local - Jz Threshold chroma +!HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +!HISTORY_MSG_1142;Local - strength soft +!HISTORY_MSG_1143;Local - Jz blackev +!HISTORY_MSG_1144;Local - Jz whiteev +!HISTORY_MSG_1145;Local - Jz Log encoding +!HISTORY_MSG_1146;Local - Jz Log encoding target gray +!HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +!HISTORY_MSG_1148;Local - Jz Sigmoid +!HISTORY_MSG_1149;Local - Q Sigmoid +!HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q +!HISTORY_MSG_BLSHAPE;Blur by level +!HISTORY_MSG_BLURCWAV;Blur chroma +!HISTORY_MSG_BLURWAV;Blur luminance +!HISTORY_MSG_BLUWAV;Attenuation response +!HISTORY_MSG_CATCAT;CAL - Settings - Mode +!HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +!HISTORY_MSG_CATMODEL;CAL - Settings - CAM !HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors !HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction !HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction @@ -1859,22 +2508,42 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !HISTORY_MSG_COLORTONING_LABREGION_SATURATION;CT - Saturation !HISTORY_MSG_COLORTONING_LABREGION_SHOWMASK;CT - region show mask !HISTORY_MSG_COLORTONING_LABREGION_SLOPE;CT - region slope +!HISTORY_MSG_COMPLEX;Wavelet complexity +!HISTORY_MSG_COMPLEXRETI;Retinex complexity !HISTORY_MSG_DEHAZE_DEPTH;Dehaze - Depth !HISTORY_MSG_DEHAZE_ENABLED;Haze Removal -!HISTORY_MSG_DEHAZE_LUMINANCE;Dehaze - Luminance only +!HISTORY_MSG_DEHAZE_SATURATION;Dehaze - Saturation !HISTORY_MSG_DEHAZE_SHOW_DEPTH_MAP;Dehaze - Show depth map !HISTORY_MSG_DEHAZE_STRENGTH;Dehaze - Strength !HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Dual demosaic - Auto threshold !HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Dual demosaic - Contrast threshold +!HISTORY_MSG_EDGEFFECT;Edge Attenuation response +!HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output +!HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space !HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negative +!HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input !HISTORY_MSG_FILMNEGATIVE_VALUES;Film negative values !HISTORY_MSG_HISTMATCHING;Auto-matched tone curve +!HISTORY_MSG_HLBL;Color propagation - blur +!HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +!HISTORY_MSG_ICM_AINTENT;Abstract profile intent +!HISTORY_MSG_ICM_BLUX;Primaries Blue X +!HISTORY_MSG_ICM_BLUY;Primaries Blue Y +!HISTORY_MSG_ICM_FBW;Black and White +!HISTORY_MSG_ICM_GREX;Primaries Green X +!HISTORY_MSG_ICM_GREY;Primaries Green Y !HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primaries !HISTORY_MSG_ICM_OUTPUT_TEMP;Output - ICC-v4 illuminant D !HISTORY_MSG_ICM_OUTPUT_TYPE;Output - Type -!HISTORY_MSG_ICM_WORKING_GAMMA;Working - Gamma -!HISTORY_MSG_ICM_WORKING_SLOPE;Working - Slope -!HISTORY_MSG_ICM_WORKING_TRC_METHOD;Working - TRC method +!HISTORY_MSG_ICM_PRESER;Preserve neutral +!HISTORY_MSG_ICM_REDX;Primaries Red X +!HISTORY_MSG_ICM_REDY;Primaries Red Y +!HISTORY_MSG_ICM_WORKING_GAMMA;TRC - Gamma +!HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +!HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +!HISTORY_MSG_ICM_WORKING_SLOPE;TRC - Slope +!HISTORY_MSG_ICM_WORKING_TRC_METHOD;TRC method +!HISTORY_MSG_ILLUM;CAL - SC - Illuminant !HISTORY_MSG_LOCALCONTRAST_AMOUNT;Local Contrast - Amount !HISTORY_MSG_LOCALCONTRAST_DARKNESS;Local Contrast - Darkness !HISTORY_MSG_LOCALCONTRAST_ENABLED;Local Contrast @@ -1889,23 +2558,83 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !HISTORY_MSG_PDSHARPEN_ITERATIONS;CS - Iterations !HISTORY_MSG_PDSHARPEN_RADIUS;CS - Radius !HISTORY_MSG_PDSHARPEN_RADIUS_BOOST;CS - Corner radius boost +!HISTORY_MSG_PERSP_CAM_ANGLE;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_FL;Perspective - Camera +!HISTORY_MSG_PERSP_CAM_SHIFT;Perspective - Camera +!HISTORY_MSG_PERSP_CTRL_LINE;Perspective - Control lines +!HISTORY_MSG_PERSP_METHOD;Perspective - Method +!HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery +!HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation +!HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +!HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average !HISTORY_MSG_PIXELSHIFT_DEMOSAIC;PS - Demosaic method for motion !HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;Line noise filter direction !HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!HISTORY_MSG_PREPROCWB_MODE;Preprocess WB Mode +!HISTORY_MSG_PROTAB;Protection !HISTORY_MSG_PRSHARPEN_CONTRAST;PRS - Contrast threshold +!HISTORY_MSG_RANGEAB;Range ab !HISTORY_MSG_RAWCACORR_AUTOIT;Raw CA Correction - Iterations !HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift !HISTORY_MSG_RAW_BORDER;Raw border !HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling +!HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +!HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge !HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius !HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold !HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace +!HISTORY_MSG_SIGMACOL;Chroma Attenuation response +!HISTORY_MSG_SIGMADIR;Dir Attenuation response +!HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response +!HISTORY_MSG_SIGMATON;Toning Attenuation response !HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light !HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength +!HISTORY_MSG_SPOT;Spot removal +!HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. +!HISTORY_MSG_TEMPOUT;CAM02 automatic temperature +!HISTORY_MSG_THRESWAV;Balance threshold !HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor -!HISTORY_MSG_TRANS_Method;Geometry - Method +!HISTORY_MSG_TRANS_METHOD;Geometry - Method +!HISTORY_MSG_WAVBALCHROM;Equalizer chrominance +!HISTORY_MSG_WAVBALLUM;Equalizer luminance +!HISTORY_MSG_WAVBL;Blur levels +!HISTORY_MSG_WAVCHR;Blur levels - blur chroma +!HISTORY_MSG_WAVCHROMCO;Chroma coarse +!HISTORY_MSG_WAVCHROMFI;Chroma fine +!HISTORY_MSG_WAVCLARI;Clarity +!HISTORY_MSG_WAVDENLH;Level 5 +!HISTORY_MSG_WAVDENOISE;Local contrast +!HISTORY_MSG_WAVDENOISEH;High levels Local contrast +!HISTORY_MSG_WAVDETEND;Details soft +!HISTORY_MSG_WAVEDGS;Edge stopping +!HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer +!HISTORY_MSG_WAVHUE;Equalizer hue +!HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors +!HISTORY_MSG_WAVLEVDEN;High level local contrast +!HISTORY_MSG_WAVLEVELSIGM;Denoise - radius +!HISTORY_MSG_WAVLEVSIGM;Radius +!HISTORY_MSG_WAVLIMDEN;Interaction 56 14 +!HISTORY_MSG_WAVLOWTHR;Threshold low contrast +!HISTORY_MSG_WAVMERGEC;Merge C +!HISTORY_MSG_WAVMERGEL;Merge L +!HISTORY_MSG_WAVMIXMET;Reference local contrast +!HISTORY_MSG_WAVOFFSET;Offset +!HISTORY_MSG_WAVOLDSH;Old algorithm +!HISTORY_MSG_WAVQUAMET;Denoise mode +!HISTORY_MSG_WAVRADIUS;Radius shadows-highlights +!HISTORY_MSG_WAVSCALE;Scale +!HISTORY_MSG_WAVSHOWMASK;Show wavelet mask +!HISTORY_MSG_WAVSIGM;Sigma +!HISTORY_MSG_WAVSIGMA;Attenuation response +!HISTORY_MSG_WAVSLIMET;Method +!HISTORY_MSG_WAVSOFTRAD;Soft radius clarity +!HISTORY_MSG_WAVSOFTRADEND;Soft radius final +!HISTORY_MSG_WAVSTREND;Strength soft +!HISTORY_MSG_WAVTHRDEN;Threshold local contrast +!HISTORY_MSG_WAVTHREND;Threshold local contrast +!HISTORY_MSG_WAVUSHAMET;Clarity method !ICCPROFCREATOR_COPYRIGHT;Copyright: -!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0" +!ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to 'RawTherapee, CC0'. !ICCPROFCREATOR_CUSTOM;Custom !ICCPROFCREATOR_DESCRIPTION;Description: !ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Append gamma and slope values to the description @@ -1917,11 +2646,12 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !ICCPROFCREATOR_ILL_50;D50 !ICCPROFCREATOR_ILL_55;D55 !ICCPROFCREATOR_ILL_60;D60 +!ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater !ICCPROFCREATOR_ILL_65;D65 !ICCPROFCREATOR_ILL_80;D80 !ICCPROFCREATOR_ILL_DEF;Default !ICCPROFCREATOR_ILL_INC;StdA 2856K -!ICCPROFCREATOR_ILL_TOOLTIP;You can only set the illuminant for ICC v4 profiles. +!ICCPROFCREATOR_ILL_TOOLTIP;You can set the illuminant for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIMARIES;Primaries: !ICCPROFCREATOR_PRIM_ACESP0;ACES AP0 !ICCPROFCREATOR_PRIM_ACESP1;ACES AP1 @@ -1931,6 +2661,7 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !ICCPROFCREATOR_PRIM_BLUX;Blue X !ICCPROFCREATOR_PRIM_BLUY;Blue Y !ICCPROFCREATOR_PRIM_BRUCE;BruceRGB +!ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 !ICCPROFCREATOR_PRIM_GREX;Green X !ICCPROFCREATOR_PRIM_GREY;Green Y !ICCPROFCREATOR_PRIM_PROPH;Prophoto @@ -1938,13 +2669,14 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !ICCPROFCREATOR_PRIM_REDX;Red X !ICCPROFCREATOR_PRIM_REDY;Red Y !ICCPROFCREATOR_PRIM_SRGB;sRGB -!ICCPROFCREATOR_PRIM_TOOLTIP;You can only set custom primaries for ICC v4 profiles. +!ICCPROFCREATOR_PRIM_TOOLTIP;You can set custom primaries for ICC v4 profiles and also for ICC v2 profiles. !ICCPROFCREATOR_PRIM_WIDEG;Widegamut !ICCPROFCREATOR_PROF_V2;ICC v2 !ICCPROFCREATOR_PROF_V4;ICC v4 !ICCPROFCREATOR_SAVEDIALOG_TITLE;Save ICC profile as... !ICCPROFCREATOR_SLOPE;Slope -!ICCPROFCREATOR_TRC_PRESET;Tone response curve: +!ICCPROFCREATOR_TRC_PRESET;Tone response curve +!INSPECTOR_WINDOW_TITLE;Inspector !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 @@ -1956,7 +2688,7 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !IPTCPANEL_CREATORJOBTITLEHINT;Enter the Job Title of the person listed in the Creator field. !IPTCPANEL_DATECREATEDHINT;Enter the Date the image was taken. !IPTCPANEL_DESCRIPTION;Description -!IPTCPANEL_DESCRIPTIONHINT;Enter a "caption" describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. +!IPTCPANEL_DESCRIPTIONHINT;Enter a 'caption' describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. !IPTCPANEL_DESCRIPTIONWRITER;Description writer !IPTCPANEL_DESCRIPTIONWRITERHINT;Enter the name of the person involved in writing, editing or correcting the description of the image. !IPTCPANEL_HEADLINEHINT;Enter a brief publishable synopsis or summary of the contents of the image. @@ -1977,25 +2709,31 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-a !MAIN_TAB_FAVORITES;Favorites !MAIN_TAB_FAVORITES_TOOLTIP;Shortcut: Alt-u +!MAIN_TAB_LOCALLAB;Local +!MAIN_TAB_LOCALLAB_TOOLTIP;Shortcut: Alt-o !MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: middle grey\nShortcut: 9 !MAIN_TOOLTIP_PREVIEWSHARPMASK;Preview the sharpening contrast mask.\nShortcut: p\n\nOnly works when sharpening is enabled and zoom >= 100%. -!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. -!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. -!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. +!OPTIONS_BUNDLED_MISSING;The bundled profile '%1' could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. +!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. +!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. !PARTIALPASTE_ADVANCEDGROUP;Advanced Settings !PARTIALPASTE_COLORTONING;Color toning !PARTIALPASTE_DEHAZE;Haze removal -!PARTIALPASTE_FILMNEGATIVE;Film Negative +!PARTIALPASTE_FILMNEGATIVE;Film negative !PARTIALPASTE_FLATFIELDCLIPCONTROL;Flat-field clip control !PARTIALPASTE_LOCALCONTRAST;Local contrast +!PARTIALPASTE_LOCALLAB;Local Adjustments +!PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings !PARTIALPASTE_METADATA;Metadata mode !PARTIALPASTE_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!PARTIALPASTE_PREPROCWB;Preprocess White Balance !PARTIALPASTE_RAWCACORR_AVOIDCOLORSHIFT;CA avoid color shift !PARTIALPASTE_RAWCACORR_CAREDBLUE;CA red & blue !PARTIALPASTE_RAW_BORDER;Raw border !PARTIALPASTE_RAW_IMAGENUM;Sub-image !PARTIALPASTE_RAW_PIXELSHIFT;Pixel Shift !PARTIALPASTE_SOFTLIGHT;Soft light +!PARTIALPASTE_SPOT;Spot removal !PARTIALPASTE_TM_FATTAL;Dynamic range compression !PREFERENCES_APPEARANCE;Appearance !PREFERENCES_APPEARANCE_COLORPICKERFONT;Color picker font @@ -2015,7 +2753,13 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !PREFERENCES_CHUNKSIZE_RAW_RCD;RCD demosaic !PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans demosaic !PREFERENCES_CHUNKSIZE_RGB;RGB processing +!PREFERENCES_CIE;Ciecam +!PREFERENCES_CIEARTIF;Avoid artifacts !PREFERENCES_CMMBPC;Black point compensation +!PREFERENCES_COMPLEXITYLOC;Default complexity for Local Adjustments +!PREFERENCES_COMPLEXITY_EXP;Advanced +!PREFERENCES_COMPLEXITY_NORM;Standard +!PREFERENCES_COMPLEXITY_SIMP;Basic !PREFERENCES_CROP;Crop Editing !PREFERENCES_CROP_AUTO_FIT;Automatically zoom to fit the crop !PREFERENCES_CROP_GUIDES;Guides shown when not editing the crop @@ -2024,7 +2768,14 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !PREFERENCES_CROP_GUIDES_NONE;None !PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EDITORCMDLINE;Custom command line +!PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +!PREFERENCES_EXTEDITOR_DIR;Output directory +!PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +!PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +!PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +!PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Compact toolbars in File Browser +!PREFERENCES_INSPECTORWINDOW;Open inspector in own window or fullscreen !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_MONINTENT;Default rendering intent @@ -2042,12 +2793,14 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !PREFERENCES_PRTPROFILE;Color profile !PREFERENCES_SAVE_TP_OPEN_NOW;Save tool collapsed/expanded state now !PREFERENCES_SERIALIZE_TIFF_READ;TIFF Read Settings +!PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips !PREFERENCES_TAB_DYNAMICPROFILE;Dynamic Profile Rules !PREFERENCES_TAB_PERFORMANCE;Performance !PREFERENCES_THUMBNAIL_INSPECTOR_JPEG;Embedded JPEG preview !PREFERENCES_THUMBNAIL_INSPECTOR_MODE;Image to show !PREFERENCES_THUMBNAIL_INSPECTOR_RAW;Neutral raw rendering !PREFERENCES_THUMBNAIL_INSPECTOR_RAW_IF_NO_JPEG_FULLSIZE;Embedded JPEG if fullsize, neutral raw otherwise +!PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling !PROFILEPANEL_PDYNAMIC;Dynamic !PROGRESSBAR_DECODING;Decoding... !PROGRESSBAR_GREENEQUIL;Green equilibration... @@ -2071,17 +2824,55 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !SAVEDLG_FILEFORMAT_FLOAT; floating-point !SOFTPROOF_GAMUTCHECK_TOOLTIP;Highlight pixels with out-of-gamut colors with respect to:\n- the printer profile, if one is set and soft-proofing is enabled,\n- the output profile, if a printer profile is not set and soft-proofing is enabled,\n- the monitor profile, if soft-proofing is disabled. !SOFTPROOF_TOOLTIP;Soft-proofing simulates the appearance of the image:\n- when printed, if a printer profile is set in Preferences > Color Management,\n- when viewed on a display that uses the current output profile, if a printer profile is not set. +!TC_PRIM_BLUX;Bx +!TC_PRIM_BLUY;By +!TC_PRIM_GREX;Gx +!TC_PRIM_GREY;Gy +!TC_PRIM_REDX;Rx +!TC_PRIM_REDY;Ry +!TOOLBAR_TOOLTIP_PERSPECTIVE;Perspective Correction\n\nEdit control lines to correct perspective distortion. Click this button again to apply correction. !TP_BWMIX_MIXC;Channel Mixer !TP_BWMIX_NEUTRAL;Reset !TP_CBDL_METHOD;Process located !TP_COLORAPP_ABSOLUTELUMINANCE;Absolute luminance +!TP_COLORAPP_ADAPSCEN_TOOLTIP;Corresponds to the luminance in candelas per m2 at the time of shooting, calculated automatically from the exif data. !TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;When setting manually, values above 65 are recommended. -!TP_COLORAPP_FREE;Free temp+green + CAT02 + [output] +!TP_COLORAPP_CATCLASSIC;Classic +!TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +!TP_COLORAPP_CATMOD;Mode +!TP_COLORAPP_CATSYMGEN;Automatic Symmetric +!TP_COLORAPP_CATSYMSPE;Mixed +!TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +!TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). +!TP_COLORAPP_FREE;Free temp + tint + CAT02/16 +[output] +!TP_COLORAPP_GEN;Settings +!TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. +!TP_COLORAPP_IL41;D41 +!TP_COLORAPP_IL50;D50 +!TP_COLORAPP_IL55;D55 +!TP_COLORAPP_IL60;D60 +!TP_COLORAPP_IL65;D65 +!TP_COLORAPP_IL75;D75 +!TP_COLORAPP_ILA;Incandescent StdA 2856K +!TP_COLORAPP_ILFREE;Free +!TP_COLORAPP_ILLUM;Illuminant +!TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. !TP_COLORAPP_MEANLUMINANCE;Mean luminance (Yb%) +!TP_COLORAPP_MOD02;CAM02 +!TP_COLORAPP_MOD16;CAM16 +!TP_COLORAPP_MODELCAT;CAM +!TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. !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 set Tint=1.\n\nA temp=2856\nD50 temp=5003\nD55 temp=5503\nD65 temp=6504\nD75 temp=7504 -!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L) +!TP_COLORAPP_NEUTRAL_TOOLTIP;Reset all sliders checkbox and curves to their default values. +!TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. +!TP_COLORAPP_SURROUNDSRC;Surround +!TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. +!TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 +!TP_COLORAPP_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. +!TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +!TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L). !TP_COLORTONING_LABEL;Color Toning !TP_COLORTONING_LABGRID;L*a*b* color correction grid !TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4 @@ -2104,52 +2895,111 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !TP_COLORTONING_LABREGION_SATURATION;Saturation !TP_COLORTONING_LABREGION_SHOWMASK;Show mask !TP_COLORTONING_LABREGION_SLOPE;Slope -!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. +!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. !TP_COLORTONING_TWOCOLOR_TOOLTIP;Standard chroma:\nLinear response, a* = b*.\n\nSpecial chroma:\nLinear response, a* = b*, but unbound - try under the diagonal.\n\nSpecial a* and b*:\nLinear response unbound with separate curves for a* and b*. Intended for special effects.\n\nSpecial chroma 2 colors:\nMore predictable. +!TP_CROP_GTCENTEREDSQUARE;Centered square !TP_CROP_PPI;PPI !TP_CROP_RESETCROP;Reset !TP_CROP_SELECTCROP;Select !TP_DEHAZE_DEPTH;Depth !TP_DEHAZE_LABEL;Haze Removal -!TP_DEHAZE_LUMINANCE;Luminance only +!TP_DEHAZE_SATURATION;Saturation !TP_DEHAZE_SHOW_DEPTH_MAP;Show depth map !TP_DEHAZE_STRENGTH;Strength !TP_DIRPYRDENOISE_CHROMINANCE_AMZ;Auto multi-zones !TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;Increase (multiply) the value of all chrominance sliders.\nThis curve lets you adjust the strength of chromatic noise reduction as a function of chromaticity, for instance to increase the action in areas of low saturation and to decrease it in those of high saturation. -!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the "Preview" method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. +!TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the 'Preview' method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. !TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Displays the remaining noise levels of the part of the image visible in the preview after wavelet.\n\n>300 Very noisy\n100-300 Noisy\n50-100 A little noisy\n<50 Very low noise\n\nBeware, the values will differ between RGB and L*a*b* mode. The RGB values are less accurate because the RGB mode does not completely separate luminance and chrominance. !TP_DIRPYRDENOISE_LABEL;Noise Reduction -!TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;"Conservative" preserves low frequency chroma patterns, while "aggressive" obliterates them. +!TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;Conservative preserves low frequency chroma patterns, while aggressive obliterates them. !TP_DIRPYRDENOISE_MEDIAN_METHOD;Median method !TP_DIRPYRDENOISE_MEDIAN_METHOD_LABEL;Median Filter -!TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the "Luminance only" and "L*a*b*" methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the "RGB" mode, it will be performed at the very end of the noise reduction pipeline. +!TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the 'Luminance only' and 'L*a*b*' methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the 'RGB' mode, it will be performed at the very end of the noise reduction pipeline. !TP_DIRPYRDENOISE_MEDIAN_PASSES;Median iterations !TP_DIRPYRDENOISE_MEDIAN_PASSES_TOOLTIP;Applying three median filter iterations with a 3×3 window size often leads to better results than using one median filter iteration with a 7×7 window size. !TP_DIRPYRDENOISE_MEDIAN_TYPE;Median type !TP_DIRPYRDENOISE_MEDIAN_TYPE_TOOLTIP;Apply a median filter of the desired window size. The larger the window's size, the longer it takes.\n\n3×3 soft: treats 5 pixels in a 3×3 pixel window.\n3×3: treats 9 pixels in a 3×3 pixel window.\n5×5 soft: treats 13 pixels in a 5×5 pixel window.\n5×5: treats 25 pixels in a 5×5 pixel window.\n7×7: treats 49 pixels in a 7×7 pixel window.\n9×9: treats 81 pixels in a 9×9 pixel window.\n\nSometimes it is possible to achieve higher quality running several iterations with a smaller window size than one iteration with a larger one. !TP_DIRPYREQUALIZER_HUESKIN_TOOLTIP;This pyramid is for the upper part, so far as the algorithm at its maximum efficiency.\nTo the lower part, the transition zones.\nIf you need to move the area significantly to the left or right - or if there are artifacts: the white balance is incorrect\nYou can slightly reduce the zone to prevent the rest of the image is affected. -!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_DISTORTION_AUTO_TOOLTIP;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_EXPOSURE_CLAMPOOG;Clip out-of-gamut colors !TP_EXPOSURE_HISTMATCHING;Auto-Matched Tone Curve !TP_EXPOSURE_HISTMATCHING_TOOLTIP;Automatically adjust sliders and curves (except exposure compensation) to match the look of the embedded JPEG thumbnail. !TP_FILMNEGATIVE_BLUE;Blue ratio -!TP_FILMNEGATIVE_GREEN;Reference exponent (contrast) -!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. Set the white balance afterwards. +!TP_FILMNEGATIVE_BLUEBALANCE;Cool/Warm +!TP_FILMNEGATIVE_COLORSPACE;Inversion color space: +!TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space +!TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. +!TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space +!TP_FILMNEGATIVE_GREEN;Reference exponent +!TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green +!TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. !TP_FILMNEGATIVE_LABEL;Film Negative +!TP_FILMNEGATIVE_OUT_LEVEL;Output level !TP_FILMNEGATIVE_PICK;Pick neutral spots !TP_FILMNEGATIVE_RED;Red ratio +!TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +!TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +!TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. !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, value 0 is used. +!TP_HLREC_HLBLUR;Blur !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_FBW;Black-and-White +!TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. +!TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +!TP_ICM_NEUTRAL;Reset +!TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +!TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +!TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +!TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +!TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 !TP_ICM_PROFILEINTENT;Rendering Intent +!TP_ICM_REDFRAME;Custom Primaries !TP_ICM_SAVEREFERENCE;Save Reference Image +!TP_ICM_TRCFRAME;Abstract Profile +!TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +!TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. +!TP_ICM_WORKING_CIEDIAG;CIE xy diagram +!TP_ICM_WORKING_ILLU;Illuminant +!TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +!TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +!TP_ICM_WORKING_ILLU_D41;D41 +!TP_ICM_WORKING_ILLU_D50;D50 +!TP_ICM_WORKING_ILLU_D55;D55 +!TP_ICM_WORKING_ILLU_D60;D60 +!TP_ICM_WORKING_ILLU_D65;D65 +!TP_ICM_WORKING_ILLU_D80;D80 +!TP_ICM_WORKING_ILLU_D120;D120 +!TP_ICM_WORKING_ILLU_NONE;Default +!TP_ICM_WORKING_ILLU_STDA;stdA 2875K +!TP_ICM_WORKING_PRESER;Preserves Pastel tones +!TP_ICM_WORKING_PRIM;Destination primaries +!TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +!TP_ICM_WORKING_PRIM_AC0;ACESp0 +!TP_ICM_WORKING_PRIM_ACE;ACESp1 +!TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +!TP_ICM_WORKING_PRIM_BET;Beta RGB +!TP_ICM_WORKING_PRIM_BRU;BruceRGB +!TP_ICM_WORKING_PRIM_BST;BestRGB +!TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +!TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +!TP_ICM_WORKING_PRIM_NONE;Default +!TP_ICM_WORKING_PRIM_PROP;ProPhoto +!TP_ICM_WORKING_PRIM_REC;Rec2020 +!TP_ICM_WORKING_PRIM_SRGB;sRGB +!TP_ICM_WORKING_PRIM_WID;WideGamut !TP_ICM_WORKING_TRC;Tone response curve: +!TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +!TP_ICM_WORKING_TRC_22;Adobe g=2.2 +!TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 !TP_ICM_WORKING_TRC_CUSTOM;Custom !TP_ICM_WORKING_TRC_GAMMA;Gamma +!TP_ICM_WORKING_TRC_LIN;Linear g=1 !TP_ICM_WORKING_TRC_NONE;None !TP_ICM_WORKING_TRC_SLOPE;Slope +!TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 !TP_ICM_WORKING_TRC_TOOLTIP;Only for built-in profiles. !TP_LENSGEOM_LIN;Linear !TP_LENSGEOM_LOG;Logarithmic @@ -2167,19 +3017,826 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !TP_LOCALCONTRAST_LABEL;Local Contrast !TP_LOCALCONTRAST_LIGHTNESS;Lightness level !TP_LOCALCONTRAST_RADIUS;Radius +!TP_LOCALLAB_ACTIV;Luminance only +!TP_LOCALLAB_ACTIVSPOT;Enable Spot +!TP_LOCALLAB_ADJ;Equalizer Color +!TP_LOCALLAB_AMOUNT;Amount +!TP_LOCALLAB_ARTIF;Shape detection +!TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. +!TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +!TP_LOCALLAB_AUTOGRAYCIE;Auto +!TP_LOCALLAB_AVOID;Avoid color shift +!TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDMUN;Munsell correction only +!TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +!TP_LOCALLAB_AVOIDRAD;Soft radius +!TP_LOCALLAB_BALAN;ab-L balance (ΔE) +!TP_LOCALLAB_BALANEXP;Laplacian balance +!TP_LOCALLAB_BALANH;C-H balance (ΔE) +!TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. +!TP_LOCALLAB_BASELOG;Shadows range (logarithm base) +!TP_LOCALLAB_BILATERAL;Bilateral filter +!TP_LOCALLAB_BLACK_EV;Black Ev +!TP_LOCALLAB_BLCO;Chrominance only +!TP_LOCALLAB_BLENDMASKCOL;Blend +!TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask +!TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask +!TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +!TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. +!TP_LOCALLAB_BLGUID;Guided Filter +!TP_LOCALLAB_BLINV;Inverse +!TP_LOCALLAB_BLLC;Luminance & Chrominance +!TP_LOCALLAB_BLLO;Luminance only +!TP_LOCALLAB_BLMED;Median +!TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. +!TP_LOCALLAB_BLNOI_EXP;Blur & Noise +!TP_LOCALLAB_BLNORM;Normal +!TP_LOCALLAB_BLUFR;Blur/Grain & Denoise +!TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. +!TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain +!TP_LOCALLAB_BLURCOL;Radius +!TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. +!TP_LOCALLAB_BLURDE;Blur shape detection +!TP_LOCALLAB_BLURLC;Luminance only +!TP_LOCALLAB_BLURLEVELFRA;Blur levels +!TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. +!TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). +!TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise +!TP_LOCALLAB_BLWH;All changes forced in Black-and-White +!TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. +!TP_LOCALLAB_BUTTON_ADD;Add +!TP_LOCALLAB_BUTTON_DEL;Delete +!TP_LOCALLAB_BUTTON_DUPL;Duplicate +!TP_LOCALLAB_BUTTON_REN;Rename +!TP_LOCALLAB_BUTTON_VIS;Show/Hide +!TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +!TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +!TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +!TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +!TP_LOCALLAB_CAMMODE;CAM model +!TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +!TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz +!TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 +!TP_LOCALLAB_CBDL;Contrast by Detail Levels +!TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. +!TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. +!TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. +!TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels +!TP_LOCALLAB_CENTER_X;Center X +!TP_LOCALLAB_CENTER_Y;Center Y +!TP_LOCALLAB_CH;CL - LC +!TP_LOCALLAB_CHROMA;Chrominance +!TP_LOCALLAB_CHROMABLU;Chroma levels +!TP_LOCALLAB_CHROMABLU_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMACBDL;Chroma +!TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the luma settings.\nValues under 1 reduce the effect. Values greater than 1 increase the effect. +!TP_LOCALLAB_CHROMALEV;Chroma levels +!TP_LOCALLAB_CHROMASKCOL;Chroma +!TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +!TP_LOCALLAB_CHROML;Chroma (C) +!TP_LOCALLAB_CHRRT;Chroma +!TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIEC;Use Ciecam environment parameters +!TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +!TP_LOCALLAB_CIECOLORFRA;Color +!TP_LOCALLAB_CIECONTFRA;Contrast +!TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +!TP_LOCALLAB_CIELIGHTFRA;Lighting +!TP_LOCALLAB_CIEMODE;Change tool position +!TP_LOCALLAB_CIEMODE_COM;Default +!TP_LOCALLAB_CIEMODE_DR;Dynamic Range +!TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +!TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +!TP_LOCALLAB_CIEMODE_WAV;Wavelet +!TP_LOCALLAB_CIETOOLEXP;Curves +!TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz) +!TP_LOCALLAB_CIRCRADIUS;Spot size +!TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. +!TP_LOCALLAB_CLARICRES;Merge chroma +!TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +!TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. +!TP_LOCALLAB_CLARILRES;Merge luma +!TP_LOCALLAB_CLARISOFT;Soft radius +!TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +!TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. +!TP_LOCALLAB_CLARITYML;Clarity +!TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. +!TP_LOCALLAB_CLIPTM;Clip restored data (gain) +!TP_LOCALLAB_COFR;Color & Light +!TP_LOCALLAB_COLORDE;ΔE preview color - intensity +!TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +!TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. +!TP_LOCALLAB_COLORSCOPE;Scope (color tools) +!TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +!TP_LOCALLAB_COLOR_CIE;Color curve +!TP_LOCALLAB_COLOR_TOOLNAME;Color & Light +!TP_LOCALLAB_COL_NAME;Name +!TP_LOCALLAB_COL_VIS;Status +!TP_LOCALLAB_COMPFRA;Directional contrast +!TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping +!TP_LOCALLAB_CONTCOL;Contrast threshold +!TP_LOCALLAB_CONTFRA;Contrast by level +!TP_LOCALLAB_CONTRAST;Contrast +!TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. +!TP_LOCALLAB_CONTRESID;Contrast +!TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. +!TP_LOCALLAB_CONTTHR;Contrast Threshold +!TP_LOCALLAB_CONTWFRA;Local contrast +!TP_LOCALLAB_CSTHRESHOLD;Wavelet levels +!TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection +!TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' +!TP_LOCALLAB_CURVCURR;Normal +!TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. +!TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. +!TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve +!TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. +!TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. +!TP_LOCALLAB_CURVES_CIE;Tone curve +!TP_LOCALLAB_CURVNONE;Disable curves +!TP_LOCALLAB_DARKRETI;Darkness +!TP_LOCALLAB_DEHAFRA;Dehaze +!TP_LOCALLAB_DEHAZ;Strength +!TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. +!TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. +!TP_LOCALLAB_DELTAD;Delta balance +!TP_LOCALLAB_DELTAEC;ΔE Image mask +!TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask +!TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +!TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +!TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +!TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +!TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +!TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. +!TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). +!TP_LOCALLAB_DENOIMASK;Denoise chroma mask +!TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +!TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. +!TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. +!TP_LOCALLAB_DENOI_EXP;Denoise +!TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. +!TP_LOCALLAB_DEPTH;Depth +!TP_LOCALLAB_DETAIL;Local contrast +!TP_LOCALLAB_DETAILFRA;Edge detection - DCT +!TP_LOCALLAB_DETAILSH;Details +!TP_LOCALLAB_DETAILTHR;Luma-chro detail threshold +!TP_LOCALLAB_DIVGR;Gamma +!TP_LOCALLAB_DUPLSPOTNAME;Copy +!TP_LOCALLAB_EDGFRA;Edge sharpness +!TP_LOCALLAB_EDGSHOW;Show all tools +!TP_LOCALLAB_ELI;Ellipse +!TP_LOCALLAB_ENABLE_AFTER_MASK;Use Tone Mapping +!TP_LOCALLAB_ENABLE_MASK;Enable mask +!TP_LOCALLAB_ENABLE_MASKAFT;Use all algorithms Exposure +!TP_LOCALLAB_ENARETIMASKTMAP_TOOLTIP;If enabled the Mask uses Restored Data after Transmission Map instead of Original data. +!TP_LOCALLAB_ENH;Enhanced +!TP_LOCALLAB_ENHDEN;Enhanced + chroma denoise +!TP_LOCALLAB_EPSBL;Detail +!TP_LOCALLAB_EQUIL;Normalize luminance +!TP_LOCALLAB_EQUILTM_TOOLTIP;Reconstruct luminance so that the mean and variance of the output image are identical to those of the original. +!TP_LOCALLAB_ESTOP;Edge stopping +!TP_LOCALLAB_EV_DUPL;Copy of +!TP_LOCALLAB_EV_NVIS;Hide +!TP_LOCALLAB_EV_NVIS_ALL;Hide all +!TP_LOCALLAB_EV_VIS;Show +!TP_LOCALLAB_EV_VIS_ALL;Show all +!TP_LOCALLAB_EXCLUF;Excluding +!TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +!TP_LOCALLAB_EXCLUTYPE;Spot method +!TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +!TP_LOCALLAB_EXECLU;Excluding spot +!TP_LOCALLAB_EXFULL;Full image +!TP_LOCALLAB_EXNORM;Normal spot +!TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). +!TP_LOCALLAB_EXPCHROMA;Chroma compensation +!TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. +!TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust color, lightness, contrast and correct small defects such as red-eye, sensor dust etc. +!TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ +!TP_LOCALLAB_EXPCOMPINV;Exposure compensation +!TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +!TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +!TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +!TP_LOCALLAB_EXPCURV;Curves +!TP_LOCALLAB_EXPGRAD;Graduated Filter +!TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +!TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +!TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +!TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. +!TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. +!TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). +!TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. +!TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure +!TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +!TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools +!TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. +!TP_LOCALLAB_EXPTOOL;Exposure Tools +!TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure +!TP_LOCALLAB_FATAMOUNT;Amount +!TP_LOCALLAB_FATANCHOR;Anchor +!TP_LOCALLAB_FATDETAIL;Detail +!TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ +!TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. +!TP_LOCALLAB_FATLEVEL;Sigma +!TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ +!TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. +!TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) +!TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ +!TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). +!TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform +!TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform +!TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image +!TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. +!TP_LOCALLAB_GAM;Gamma +!TP_LOCALLAB_GAMC;Gamma +!TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_GAMFRA;Tone response curve (TRC) +!TP_LOCALLAB_GAMM;Gamma +!TP_LOCALLAB_GAMMASKCOL;Gamma +!TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_GAMSH;Gamma +!TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) +!TP_LOCALLAB_GRADANG;Gradient angle +!TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. +!TP_LOCALLAB_GRADFRA;Graduated Filter Mask +!TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. +!TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance +!TP_LOCALLAB_GRADSTR;Gradient strength +!TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. +!TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength +!TP_LOCALLAB_GRADSTRHUE;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength +!TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. +!TP_LOCALLAB_GRADSTRLUM;Luma gradient strength +!TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +!TP_LOCALLAB_GRAINFRA2;Coarseness +!TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. +!TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) +!TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +!TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. +!TP_LOCALLAB_GRIDONE;Color Toning +!TP_LOCALLAB_GRIDTWO;Direct +!TP_LOCALLAB_GUIDBL;Soft radius +!TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allows you to reduce artifacts or blur the image. +!TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. +!TP_LOCALLAB_GUIDFILTER;Guided filter radius +!TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. +!TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. +!TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. +!TP_LOCALLAB_HIGHMASKCOL;Highlights +!TP_LOCALLAB_HLH;H +!TP_LOCALLAB_HUECIE;Hue +!TP_LOCALLAB_IND;Independent (mouse) +!TP_LOCALLAB_INDSL;Independent (mouse + sliders) +!TP_LOCALLAB_INVBL;Inverse +!TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. +!TP_LOCALLAB_INVERS;Inverse +!TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. +!TP_LOCALLAB_INVMASK;Inverse algorithm +!TP_LOCALLAB_ISOGR;Distribution (ISO) +!TP_LOCALLAB_JAB;Uses Black Ev & White Ev +!TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +!TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +!TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +!TP_LOCALLAB_JZADAP;PU adaptation +!TP_LOCALLAB_JZCH;Chroma +!TP_LOCALLAB_JZCHROM;Chroma +!TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +!TP_LOCALLAB_JZCLARILRES;Merge Jz +!TP_LOCALLAB_JZCONT;Contrast +!TP_LOCALLAB_JZFORCE;Force max Jz to 1 +!TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +!TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +!TP_LOCALLAB_JZHFRA;Curves Hz +!TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +!TP_LOCALLAB_JZHUECIE;Hue Rotation +!TP_LOCALLAB_JZLIGHT;Brightness +!TP_LOCALLAB_JZLOG;Log encoding Jz +!TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +!TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +!TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +!TP_LOCALLAB_JZPQFRA;Jz remapping +!TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +!TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +!TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +!TP_LOCALLAB_JZQTOJ;Relative luminance +!TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +!TP_LOCALLAB_JZSAT;Saturation +!TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +!TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +!TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +!TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +!TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +!TP_LOCALLAB_JZWAVEXP;Wavelet Jz +!TP_LOCALLAB_LABBLURM;Blur Mask +!TP_LOCALLAB_LABEL;Local Adjustments +!TP_LOCALLAB_LABGRID;Color correction grid +!TP_LOCALLAB_LABGRIDMERG;Background +!TP_LOCALLAB_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_LOCALLAB_LABSTRUM;Structure Mask +!TP_LOCALLAB_LAPLACC;ΔØ Mask Laplacian solve PDE +!TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE +!TP_LOCALLAB_LAPLACEXP;Laplacian threshold +!TP_LOCALLAB_LAPMASKCOL;Laplacian threshold +!TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. +!TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +!TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. +!TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. +!TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets +!TP_LOCALLAB_LEVELBLUR;Maximum blur levels +!TP_LOCALLAB_LEVELWAV;Wavelet levels +!TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. +!TP_LOCALLAB_LEVFRA;Levels +!TP_LOCALLAB_LIGHTNESS;Lightness +!TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. +!TP_LOCALLAB_LIGHTRETI;Lightness +!TP_LOCALLAB_LINEAR;Linearity +!TP_LOCALLAB_LIST_NAME;Add tool to current spot... +!TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. +!TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). +!TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. +!TP_LOCALLAB_LOCCONT;Unsharp Mask +!TP_LOCALLAB_LOC_CONTRAST;Local Contrast & Wavelets +!TP_LOCALLAB_LOC_CONTRASTPYR;Pyramid 1: +!TP_LOCALLAB_LOC_CONTRASTPYR2;Pyramid 2: +!TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast +!TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur +!TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) +!TP_LOCALLAB_LOG;Log Encoding +!TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments +!TP_LOCALLAB_LOG2FRA;Viewing Conditions +!TP_LOCALLAB_LOGAUTO;Automatic +!TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +!TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +!TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +!TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. +!TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +!TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +!TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. +!TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) +!TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. +!TP_LOCALLAB_LOGCONQL;Contrast (Q) +!TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +!TP_LOCALLAB_LOGCONTL;Contrast (J) +!TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. +!TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. +!TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. +!TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. +!TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. +!TP_LOCALLAB_LOGEXP;All tools +!TP_LOCALLAB_LOGFRA;Scene Conditions +!TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +!TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode). +!TP_LOCALLAB_LOGLIGHTL;Lightness (J) +!TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration. +!TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) +!TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. +!TP_LOCALLAB_LOGLIN;Logarithm mode +!TP_LOCALLAB_LOGPFRA;Relative Exposure Levels +!TP_LOCALLAB_LOGREPART;Overall strength +!TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. +!TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. +!TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. +!TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +!TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. +!TP_LOCALLAB_LOG_TOOLNAME;Log Encoding +!TP_LOCALLAB_LUM;LL - CC +!TP_LOCALLAB_LUMADARKEST;Darkest +!TP_LOCALLAB_LUMASK;Background color/luma mask +!TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). +!TP_LOCALLAB_LUMAWHITESEST;Lightest +!TP_LOCALLAB_LUMFRA;L*a*b* standard +!TP_LOCALLAB_MASFRAME;Mask and Merge +!TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +!TP_LOCALLAB_MASK;Curves +!TP_LOCALLAB_MASK2;Contrast curve +!TP_LOCALLAB_MASKCOM;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask +!TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. +!TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. +!TP_LOCALLAB_MASKDDECAY;Decay strength +!TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. +!TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. +!TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +!TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +!TP_LOCALLAB_MASKH;Hue curve +!TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLCTHR;Light area luminance threshold +!TP_LOCALLAB_MASKLCTHR2;Light area luma threshold +!TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold +!TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold +!TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise +!TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise +!TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +!TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +!TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +!TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. +!TP_LOCALLAB_MASKRECOTHRES;Recovery threshold +!TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +!TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +!TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +!TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +!TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +!TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +!TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +!TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +!TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +!TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +!TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. +!TP_LOCALLAB_MEDIAN;Median Low +!TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. +!TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. +!TP_LOCALLAB_MEDNONE;None +!TP_LOCALLAB_MERCOL;Color +!TP_LOCALLAB_MERDCOL;Merge background (ΔE) +!TP_LOCALLAB_MERELE;Lighten only +!TP_LOCALLAB_MERFIV;Addition +!TP_LOCALLAB_MERFOR;Color Dodge +!TP_LOCALLAB_MERFOU;Multiply +!TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background +!TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure +!TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +!TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). +!TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. +!TP_LOCALLAB_MERHEI;Overlay +!TP_LOCALLAB_MERHUE;Hue +!TP_LOCALLAB_MERLUCOL;Luminance +!TP_LOCALLAB_MERLUM;Luminosity +!TP_LOCALLAB_MERNIN;Screen +!TP_LOCALLAB_MERONE;Normal +!TP_LOCALLAB_MERSAT;Saturation +!TP_LOCALLAB_MERSEV;Soft Light (legacy) +!TP_LOCALLAB_MERSEV0;Soft Light Illusion +!TP_LOCALLAB_MERSEV1;Soft Light W3C +!TP_LOCALLAB_MERSEV2;Hard Light +!TP_LOCALLAB_MERSIX;Divide +!TP_LOCALLAB_MERTEN;Darken only +!TP_LOCALLAB_MERTHI;Color Burn +!TP_LOCALLAB_MERTHR;Difference +!TP_LOCALLAB_MERTWE;Exclusion +!TP_LOCALLAB_MERTWO;Subtract +!TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. +!TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 +!TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. +!TP_LOCALLAB_MODE_EXPERT;Advanced +!TP_LOCALLAB_MODE_NORMAL;Standard +!TP_LOCALLAB_MODE_SIMPLE;Basic +!TP_LOCALLAB_MRFIV;Background +!TP_LOCALLAB_MRFOU;Previous Spot +!TP_LOCALLAB_MRONE;None +!TP_LOCALLAB_MRTHR;Original Image +!TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. +!TP_LOCALLAB_NEIGH;Radius +!TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. +!TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. +!TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. +!TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +!TP_LOCALLAB_NLDET;Detail recovery +!TP_LOCALLAB_NLFRA;Non-local Means - Luminance +!TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. +!TP_LOCALLAB_NLGAM;Gamma +!TP_LOCALLAB_NLLUM;Strength +!TP_LOCALLAB_NLPAT;Maximum patch size +!TP_LOCALLAB_NLRAD;Maximum radius size +!TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) +!TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. +!TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery +!TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) +!TP_LOCALLAB_NOISEGAM;Gamma +!TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. +!TP_LOCALLAB_NOISELEQUAL;Equalizer white-black +!TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) +!TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery +!TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) +!TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) +!TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) +!TP_LOCALLAB_NOISEMETH;Denoise +!TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. +!TP_LOCALLAB_NONENOISE;None +!TP_LOCALLAB_NUL_TOOLTIP;. +!TP_LOCALLAB_OFFS;Offset +!TP_LOCALLAB_OFFSETWAV;Offset +!TP_LOCALLAB_OPACOL;Opacity +!TP_LOCALLAB_ORIGLC;Merge only with original image +!TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +!TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. +!TP_LOCALLAB_PASTELS2;Vibrance +!TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression +!TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ +!TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. +!TP_LOCALLAB_PREVHIDE;Hide additional settings +!TP_LOCALLAB_PREVIEW;Preview ΔE +!TP_LOCALLAB_PREVSHOW;Show additional settings +!TP_LOCALLAB_PROXI;ΔE decay +!TP_LOCALLAB_QUAAGRES;Aggressive +!TP_LOCALLAB_QUACONSER;Conservative +!TP_LOCALLAB_QUALCURV_METHOD;Curve type +!TP_LOCALLAB_QUAL_METHOD;Global quality +!TP_LOCALLAB_QUANONEALL;Off +!TP_LOCALLAB_QUANONEWAV;Non-local means only +!TP_LOCALLAB_RADIUS;Radius +!TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. +!TP_LOCALLAB_RADMASKCOL;Smooth radius +!TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). +!TP_LOCALLAB_RECT;Rectangle +!TP_LOCALLAB_RECURS;Recursive references +!TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. +!TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name +!TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot +!TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +!TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +!TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +!TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +!TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +!TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. +!TP_LOCALLAB_RESID;Residual Image +!TP_LOCALLAB_RESIDBLUR;Blur residual image +!TP_LOCALLAB_RESIDCHRO;Residual image Chroma +!TP_LOCALLAB_RESIDCOMP;Compress residual image +!TP_LOCALLAB_RESIDCONT;Residual image Contrast +!TP_LOCALLAB_RESIDHI;Highlights +!TP_LOCALLAB_RESIDHITHR;Highlights threshold +!TP_LOCALLAB_RESIDSHA;Shadows +!TP_LOCALLAB_RESIDSHATHR;Shadows threshold +!TP_LOCALLAB_RETI;Dehaze & Retinex +!TP_LOCALLAB_RETIFRA;Retinex +!TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). +!TP_LOCALLAB_RETIM;Original Retinex +!TP_LOCALLAB_RETITOOLFRA;Retinex Tools +!TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +!TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. +!TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. +!TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. +!TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. +!TP_LOCALLAB_RET_TOOLNAME;Dehaze & Retinex +!TP_LOCALLAB_REWEI;Reweighting iterates +!TP_LOCALLAB_RGB;RGB Tone Curve +!TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. +!TP_LOCALLAB_ROW_NVIS;Not visible +!TP_LOCALLAB_ROW_VIS;Visible +!TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. +!TP_LOCALLAB_SATUR;Saturation +!TP_LOCALLAB_SATURV;Saturation (s) +!TP_LOCALLAB_SCALEGR;Scale +!TP_LOCALLAB_SCALERETI;Scale +!TP_LOCALLAB_SCALTM;Scale +!TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) +!TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. +!TP_LOCALLAB_SENSI;Scope +!TP_LOCALLAB_SENSIEXCLU;Scope +!TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +!TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +!TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. +!TP_LOCALLAB_SETTINGS;Settings +!TP_LOCALLAB_SH1;Shadows Highlights +!TP_LOCALLAB_SH2;Equalizer +!TP_LOCALLAB_SHADEX;Shadows +!TP_LOCALLAB_SHADEXCOMP;Shadow compression +!TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. +!TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. +!TP_LOCALLAB_SHAMASKCOL;Shadows +!TP_LOCALLAB_SHAPETYPE;RT-spot shape +!TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +!TP_LOCALLAB_SHARAMOUNT;Amount +!TP_LOCALLAB_SHARBLUR;Blur radius +!TP_LOCALLAB_SHARDAMPING;Damping +!TP_LOCALLAB_SHARFRAME;Modifications +!TP_LOCALLAB_SHARITER;Iterations +!TP_LOCALLAB_SHARP;Sharpening +!TP_LOCALLAB_SHARP_TOOLNAME;Sharpening +!TP_LOCALLAB_SHARRADIUS;Radius +!TP_LOCALLAB_SHORTC;Short Curves 'L' Mask +!TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. +!TP_LOCALLAB_SHOWC;Mask and modifications +!TP_LOCALLAB_SHOWC1;Merge file +!TP_LOCALLAB_SHOWCB;Mask and modifications +!TP_LOCALLAB_SHOWDCT;Show Fourier (ƒ) process +!TP_LOCALLAB_SHOWE;Mask and modifications +!TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) +!TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) +!TP_LOCALLAB_SHOWLC;Mask and modifications +!TP_LOCALLAB_SHOWMASK;Show mask +!TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +!TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. +!TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise +!TP_LOCALLAB_SHOWMASKTYP2;Denoise +!TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +!TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. +!TP_LOCALLAB_SHOWMNONE;Show modified image +!TP_LOCALLAB_SHOWMODIF;Show modified areas without mask +!TP_LOCALLAB_SHOWMODIF2;Show modified areas +!TP_LOCALLAB_SHOWMODIFMASK;Show modified areas with mask +!TP_LOCALLAB_SHOWNORMAL;No luminance normalization +!TP_LOCALLAB_SHOWPLUS;Mask and modifications (Blur & Denoise) +!TP_LOCALLAB_SHOWPOISSON;Poisson (pde ƒ) +!TP_LOCALLAB_SHOWR;Mask and modifications +!TP_LOCALLAB_SHOWREF;Preview ΔE +!TP_LOCALLAB_SHOWS;Mask and modifications +!TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) +!TP_LOCALLAB_SHOWT;Mask and modifications +!TP_LOCALLAB_SHOWVI;Mask and modifications +!TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC +!TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). +!TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +!TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +!TP_LOCALLAB_SIGJZFRA;Sigmoid Jz +!TP_LOCALLAB_SIGMAWAV;Attenuation response +!TP_LOCALLAB_SIGMOIDBL;Blend +!TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +!TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +!TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +!TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. +!TP_LOCALLAB_SLOMASKCOL;Slope +!TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. +!TP_LOCALLAB_SLOSH;Slope +!TP_LOCALLAB_SOFT;Soft Light & Original Retinex +!TP_LOCALLAB_SOFTM;Soft Light +!TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global adjustment). Carry out dodge and burn using the original Retinex algorithm. +!TP_LOCALLAB_SOFTRADIUSCOL;Soft radius +!TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. +!TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts +!TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex +!TP_LOCALLAB_SOURCE_ABS;Absolute luminance +!TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_SPECCASE;Specific cases +!TP_LOCALLAB_SPECIAL;Special use of RGB curves +!TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +!TP_LOCALLAB_SPOTNAME;New Spot +!TP_LOCALLAB_STD;Standard +!TP_LOCALLAB_STR;Strength +!TP_LOCALLAB_STRBL;Strength +!TP_LOCALLAB_STREN;Compression strength +!TP_LOCALLAB_STRENG;Strength +!TP_LOCALLAB_STRENGR;Strength +!TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). +!TP_LOCALLAB_STRENGTH;Noise +!TP_LOCALLAB_STRGRID;Strength +!TP_LOCALLAB_STRUC;Structure +!TP_LOCALLAB_STRUCCOL;Spot structure +!TP_LOCALLAB_STRUCCOL1;Spot structure +!TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. +!TP_LOCALLAB_STRUMASKCOL;Structure mask strength +!TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). +!TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! +!TP_LOCALLAB_STYPE;Shape method +!TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. +!TP_LOCALLAB_SYM;Symmetrical (mouse) +!TP_LOCALLAB_SYMSL;Symmetrical (mouse + sliders) +!TP_LOCALLAB_TARGET_GRAY;Mean luminance (Yb%) +!TP_LOCALLAB_THRES;Threshold structure +!TP_LOCALLAB_THRESDELTAE;ΔE scope threshold +!TP_LOCALLAB_THRESRETI;Threshold +!TP_LOCALLAB_THRESWAV;Balance threshold +!TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 +!TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. +!TP_LOCALLAB_TM;Tone Mapping +!TP_LOCALLAB_TM_MASK;Use transmission map +!TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. +!TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. +!TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. +!TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. +!TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. +!TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping +!TP_LOCALLAB_TOOLCOL;Structure mask as tool +!TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. +!TP_LOCALLAB_TOOLMASK;Mask Tools +!TP_LOCALLAB_TOOLMASK_2;Wavelets +!TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +!TP_LOCALLAB_TRANSIT;Transition Gradient +!TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY +!TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. +!TP_LOCALLAB_TRANSITVALUE;Transition value +!TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) +!TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +!TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. +!TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain +!TP_LOCALLAB_TRANSMISSIONMAP;Transmission map +!TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. +!TP_LOCALLAB_USEMASK;Laplacian +!TP_LOCALLAB_VART;Variance (contrast) +!TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool +!TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. +!TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool +!TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. +!TP_LOCALLAB_WARM;Warm/Cool & Color artifacts +!TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the color temperature of the selected area warmer or cooler.\nIt can also reduce color artifacts in some cases. +!TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). +!TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. +!TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. +!TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +!TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +!TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +!TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. +!TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. +!TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. +!TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. +!TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. +!TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. +!TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. +!TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. +!TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. +!TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +!TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. +!TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. +!TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. +!TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. +!TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. +!TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. +!TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. +!TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. +!TP_LOCALLAB_WAV;Local contrast +!TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, as well as the residual image. +!TP_LOCALLAB_WAVCOMP;Compression by level +!TP_LOCALLAB_WAVCOMPRE;Compression by level +!TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. +!TP_LOCALLAB_WAVCON;Contrast by level +!TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. +!TP_LOCALLAB_WAVDEN;Luminance denoise +!TP_LOCALLAB_WAVE;Wavelets +!TP_LOCALLAB_WAVEDG;Local contrast +!TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. +!TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +!TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. +!TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. +!TP_LOCALLAB_WAVLEV;Blur by level +!TP_LOCALLAB_WAVMASK;Local contrast +!TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). +!TP_LOCALLAB_WEDIANHI;Median Hi +!TP_LOCALLAB_WHITE_EV;White Ev +!TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +!TP_LOCALLAB_ZCAMTHRES;Retrieve high datas +!TP_LOCAL_HEIGHT;Bottom +!TP_LOCAL_HEIGHT_T;Top +!TP_LOCAL_WIDTH;Right +!TP_LOCAL_WIDTH_L;Left +!TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. !TP_METADATA_EDIT;Apply modifications !TP_METADATA_MODE;Metadata copy mode !TP_METADATA_STRIP;Strip all metadata !TP_METADATA_TUNNEL;Copy unchanged !TP_PDSHARPENING_LABEL;Capture Sharpening +!TP_PERSPECTIVE_CAMERA_CROP_FACTOR;Crop factor +!TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH;Focal length +!TP_PERSPECTIVE_CAMERA_FRAME;Correction +!TP_PERSPECTIVE_CAMERA_PITCH;Vertical +!TP_PERSPECTIVE_CAMERA_ROLL;Rotation +!TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_CAMERA_YAW;Horizontal +!TP_PERSPECTIVE_CONTROL_LINES;Control lines +!TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +!TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. +!TP_PERSPECTIVE_METHOD;Method +!TP_PERSPECTIVE_METHOD_CAMERA_BASED;Camera-based +!TP_PERSPECTIVE_METHOD_SIMPLE;Simple +!TP_PERSPECTIVE_POST_CORRECTION_ADJUSTMENT_FRAME;Post-correction adjustment +!TP_PERSPECTIVE_PROJECTION_PITCH;Vertical +!TP_PERSPECTIVE_PROJECTION_ROTATE;Rotation +!TP_PERSPECTIVE_PROJECTION_SHIFT_HORIZONTAL;Horizontal shift +!TP_PERSPECTIVE_PROJECTION_SHIFT_VERTICAL;Vertical shift +!TP_PERSPECTIVE_PROJECTION_YAW;Horizontal +!TP_PERSPECTIVE_RECOVERY_FRAME;Recovery !TP_PREPROCESS_LINEDENOISE_DIRECTION;Direction !TP_PREPROCESS_LINEDENOISE_DIRECTION_BOTH;Both !TP_PREPROCESS_LINEDENOISE_DIRECTION_HORIZONTAL;Horizontal !TP_PREPROCESS_LINEDENOISE_DIRECTION_PDAF_LINES;Horizontal only on PDAF rows !TP_PREPROCESS_LINEDENOISE_DIRECTION_VERTICAL;Vertical !TP_PREPROCESS_PDAFLINESFILTER;PDAF lines filter +!TP_PREPROCWB_LABEL;Preprocess White Balance +!TP_PREPROCWB_MODE;Mode +!TP_PREPROCWB_MODE_AUTO;Auto +!TP_PREPROCWB_MODE_CAMERA;Camera !TP_RAWCACORR_AUTOIT;Iterations -!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if "Auto-correction" is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. +!TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if 'Auto-correction' is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. !TP_RAWCACORR_AVOIDCOLORSHIFT;Avoid color shift !TP_RAW_1PASSMEDIUM;1-pass (Markesteijn) !TP_RAW_2PASS;1-pass+fast @@ -2187,9 +3844,11 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !TP_RAW_4PASS;3-pass+fast !TP_RAW_AHD;AHD !TP_RAW_AMAZE;AMaZE +!TP_RAW_AMAZEBILINEAR;AMaZE+Bilinear !TP_RAW_AMAZEVNG4;AMaZE+VNG4 !TP_RAW_BORDER;Border !TP_RAW_DCB;DCB +!TP_RAW_DCBBILINEAR;DCB+Bilinear !TP_RAW_DCBVNG4;DCB+VNG4 !TP_RAW_DUALDEMOSAICAUTOCONTRAST;Auto threshold !TP_RAW_DUALDEMOSAICAUTOCONTRAST_TOOLTIP;If the checkbox is checked (recommended), RawTherapee calculates an optimum value based on flat regions in the image.\nIf there is no flat region in the image or the image is too noisy, the value will be set to 0.\nTo set the value manually, uncheck the checkbox first (reasonable values depend on the image). @@ -2205,6 +3864,8 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !TP_RAW_MONO;Mono !TP_RAW_NONE;None (Shows sensor pattern) !TP_RAW_PIXELSHIFT;Pixel Shift +!TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +!TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTBLUR;Blur motion mask !TP_RAW_PIXELSHIFTDMETHOD;Demosaic method for motion !TP_RAW_PIXELSHIFTEPERISO;Sensitivity @@ -2215,7 +3876,7 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !TP_RAW_PIXELSHIFTEQUALBRIGHT_TOOLTIP;Equalize the brightness of the frames to the brightness of the selected frame.\nIf there are overexposed areas in the frames select the brightest frame to avoid magenta color cast in overexposed areas or enable motion correction. !TP_RAW_PIXELSHIFTGREEN;Check green channel for motion !TP_RAW_PIXELSHIFTHOLEFILL;Fill holes in motion mask -!TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask +!TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask. !TP_RAW_PIXELSHIFTMEDIAN;Use median for moving parts !TP_RAW_PIXELSHIFTMEDIAN_TOOLTIP;Use median of all frames instead of selected frame for regions with motion.\nRemoves objects which are at different places in all frames.\nGives motion effect on slow moving (overlapping) objects. !TP_RAW_PIXELSHIFTMM_AUTO;Automatic @@ -2230,19 +3891,24 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !TP_RAW_PIXELSHIFTSIGMA;Blur radius !TP_RAW_PIXELSHIFTSIGMA_TOOLTIP;The default radius of 1.0 usually fits well for base ISO.\nIncrease the value for high ISO shots, 5.0 is a good starting point.\nWatch the motion mask while changing the value. !TP_RAW_PIXELSHIFTSMOOTH;Smooth transitions -!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether "Use LMMSE" is selected), or the median of all four frames if "Use median" is selected. +!TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether 'Use LMMSE' is selected), or the median of all four frames if 'Use median' is selected. !TP_RAW_RCD;RCD +!TP_RAW_RCDBILINEAR;RCD+Bilinear !TP_RAW_RCDVNG4;RCD+VNG4 !TP_RAW_VNG4;VNG4 !TP_RAW_XTRANS;X-Trans !TP_RAW_XTRANSFAST;Fast X-Trans !TP_RESIZE_ALLOW_UPSCALING;Allow Upscaling +!TP_RESIZE_LE;Long Edge: +!TP_RESIZE_LONG;Long Edge +!TP_RESIZE_SE;Short Edge: +!TP_RESIZE_SHORT;Short Edge !TP_RETINEX_CONTEDIT_MAP;Equalizer !TP_RETINEX_CURVEEDITOR_CD_TOOLTIP;Luminance according to luminance L=f(L)\nCorrect raw data to reduce halos and artifacts. !TP_RETINEX_CURVEEDITOR_MAP_TOOLTIP;This curve can be applied alone or with a Gaussian mask or wavelet mask.\nBeware of artifacts! -!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Amplify or reduce the transmission map to achieve the desired luminance.\nThe x-axis is the transmission.\nThe y-axis is the gain. +!TP_RETINEX_GAINTRANSMISSION_TOOLTIP;Increase or reduce the transmission map to achieve the desired luminance. The x-axis is the transmission. The y-axis is the gain. !TP_RETINEX_GAMMA_TOOLTIP;Restore tones by applying gamma before and after Retinex. Different from Retinex curves or others curves (Lab, Exposure, etc.). -!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust "Neighboring pixels" and to increase the "White-point correction" in the Raw tab -> Raw White Points tool. +!TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust 'Neighboring pixels' and to increase the 'White-point correction' in the Raw tab -> Raw White Points tool. !TP_RETINEX_LABEL_MASK;Mask !TP_RETINEX_MAP;Method !TP_RETINEX_MAP_GAUS;Gaussian mask @@ -2251,14 +3917,14 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !TP_RETINEX_MAP_METHOD_TOOLTIP;Use the mask generated by the Gaussian function above (Radius, Method) to reduce halos and artifacts.\n\nCurve only: apply a diagonal contrast curve on the mask.\nBeware of artifacts!\n\nGaussian mask: generate and use a Gaussian blur of the original mask.\nQuick.\n\nSharp mask: generate and use a wavelet on the original mask.\nSlow. !TP_RETINEX_MEDIAN;Transmission median filter !TP_RETINEX_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Equalize action.\nHigh = Reinforce high light.\nHighlights = Remove magenta in highlights. -!TP_RETINEX_MLABEL;Restored haze-free Min=%1 Max=%2 -!TP_RETINEX_MLABEL_TOOLTIP;Should be near min=0 max=32768\nRestored image with no mixture. +!TP_RETINEX_MLABEL;Restored data Min=%1 Max=%2 +!TP_RETINEX_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. !TP_RETINEX_THRESHOLD_TOOLTIP;Limits in/out.\nIn = image source,\nOut = image gauss. -!TP_RETINEX_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nMean and Sigma.\nTm=Min TM=Max of transmission map. +!TP_RETINEX_TLABEL_TOOLTIP;ransmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. !TP_RETINEX_TRANSMISSION;Transmission map !TP_RETINEX_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positives values (max).\nOrdinate: amplification or reduction. !TP_RETINEX_VIEW_MASK;Mask -!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. +!TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. !TP_SHARPENING_BLUR;Blur radius !TP_SHARPENING_CONTRAST;Contrast threshold !TP_SHARPENING_ITERCHECK;Auto limit iterations @@ -2266,48 +3932,145 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !TP_SHARPENMICRO_CONTRAST;Contrast threshold !TP_SOFTLIGHT_LABEL;Soft Light !TP_SOFTLIGHT_STRENGTH;Strength +!TP_SPOT_COUNTLABEL;%1 point(s) +!TP_SPOT_DEFAULT_SIZE;Default spot size +!TP_SPOT_ENTRYCHANGED;Point changed +!TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its center then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. +!TP_SPOT_LABEL;Spot Removal !TP_TM_FATTAL_AMOUNT;Amount !TP_TM_FATTAL_ANCHOR;Anchor !TP_TM_FATTAL_LABEL;Dynamic Range Compression !TP_TM_FATTAL_THRESHOLD;Detail -!TP_WAVELET_CBENAB;Toning and Color Balance -!TP_WAVELET_CB_TOOLTIP;For strong values product color-toning by combining it or not with levels decomposition 'toning'\nFor low values you can change the white balance of the background (sky, ...) without changing that of the front plane, generally more contrasted +!TP_WAVELET_BALCHROM;Equalizer Color +!TP_WAVELET_BALLUM;Denoise equalizer White-Black +!TP_WAVELET_BL;Blur levels +!TP_WAVELET_BLCURVE;Blur by levels +!TP_WAVELET_BLURFRAME;Blur +!TP_WAVELET_BLUWAV;Attenuation response +!TP_WAVELET_CBENAB;Toning and Color balance +!TP_WAVELET_CB_TOOLTIP;With high values you can create special effects, similar to those achieved with the Chroma Module, but focused on the residual image\nWith moderate values you can manually correct the white balance. +!TP_WAVELET_CHROFRAME;Denoise chrominance +!TP_WAVELET_CHROMAFRAME;Chroma +!TP_WAVELET_CHROMCO;Chrominance Coarse +!TP_WAVELET_CHROMFI;Chrominance Fine !TP_WAVELET_CHRO_TOOLTIP;Sets the wavelet level which will be the threshold between saturated and pastel colors.\n1-x: saturated\nx-9: pastel\n\nIf the value exceeds the amount of wavelet levels you are using then it will be ignored. -!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of "contrast levels" and "chroma-contrast link strength" +!TP_WAVELET_CHRWAV;Blur chroma +!TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of 'contrast levels' and 'chroma-contrast link strength'. +!TP_WAVELET_CLA;Clarity +!TP_WAVELET_CLARI;Sharp-mask and Clarity +!TP_WAVELET_COMPEXPERT;Advanced +!TP_WAVELET_COMPLEXLAB;Complexity +!TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. +!TP_WAVELET_COMPNORMAL;Standard +!TP_WAVELET_CONTFRAME;Contrast - Compression +!TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. !TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;Modifies local contrast as a function of the original local contrast (abscissa).\nLow abscissa values represent small local contrast (real values about 10..20).\n50% abscissa represents average local contrast (real value about 100..300).\n66% abscissa represents standard deviation of local contrast (real value about 300..800).\n100% abscissa represents maximum local contrast (real value about 3000..8000). !TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Modifies each level's contrast as a function of hue.\nTake care not to overwrite changes made with the Gamut sub-tool's hue controls.\nThe curve will only have an effect when wavelet contrast level sliders are non-zero. -!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the firsts levels. However the quality is not strictly related to this coefficient and can vary with images and uses. -!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+stdev and maxima. +!TP_WAVELET_DAUBLOCAL;Wavelet Edge performance +!TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the first levels. However the quality is not strictly related to this coefficient and can vary depending on image and use. +!TP_WAVELET_DEN5THR;Guided threshold +!TP_WAVELET_DENCURV;Curve +!TP_WAVELET_DENL;Correction structure +!TP_WAVELET_DENLH;Guided threshold levels 1-4 +!TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. +!TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. +!TP_WAVELET_DENOISE;Guide curve based on Local contrast +!TP_WAVELET_DENOISEGUID;Guided threshold based on hue +!TP_WAVELET_DENOISEH;High levels Curve Local contrast +!TP_WAVELET_DENOISEHUE;Denoise hue equalizer +!TP_WAVELET_DENQUA;Mode +!TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. +!TP_WAVELET_DENSLI;Slider +!TP_WAVELET_DENSLILAB;Method +!TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +!TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. +!TP_WAVELET_DETEND;Details +!TP_WAVELET_DIRFRAME;Directional contrast +!TP_WAVELET_EDEFFECT;Attenuation response +!TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. +!TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+std. dev. and maxima. !TP_WAVELET_EDGEDETECTTHR;Threshold low (noise) -!TP_WAVELET_EDGEDETECTTHR2;Threshold high (detection) +!TP_WAVELET_EDGEDETECTTHR2;Edge enhancement !TP_WAVELET_EDGREINF_TOOLTIP;Reinforce or reduce the action of the first level, do the opposite to the second level, and leave the rest unchanged. !TP_WAVELET_EDGTHRESH_TOOLTIP;Change the repartition between the first levels and the others. The higher the threshold the more the action is centered on the first levels. Be careful with negative values, they increase the action of high levels and can introduce artifacts. -!TP_WAVELET_EDRAD_TOOLTIP;This radius adjustment is very different from those in other sharpening tools. Its value is compared to each level through a complex function. In this sense, a value of zero still has an effect. -!TP_WAVELET_HIGHLIGHT;Highlight luminance range +!TP_WAVELET_EDRAD_TOOLTIP;This adjustment controls the local enhancement. A value of zero still has an effect. +!TP_WAVELET_FINCFRAME;Final local contrast +!TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. +!TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) +!TP_WAVELET_HIGHLIGHT;Finer levels luminance range !TP_WAVELET_HS1;Whole luminance range !TP_WAVELET_HUESKIN_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. !TP_WAVELET_HUESKY_TOOLTIP;The bottom points set the beginning of the transition zone, and the upper points the end of it, where the effect is at its maximum.\n\nIf you need to move the area significantly, or if there are artifacts, then the white balance is incorrect. !TP_WAVELET_ITER;Delta balance levels !TP_WAVELET_ITER_TOOLTIP;Left: increase low levels and reduce high levels,\nRight: reduce low levels and increase high levels. -!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of detail levels the image is to be decomposed into. More levels require more RAM and require a longer processing time. +!TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 +!TP_WAVELET_LEVDEN;Level 5-6 denoise +!TP_WAVELET_LEVELHIGH;Radius 5-6 +!TP_WAVELET_LEVELLOW;Radius 1-4 +!TP_WAVELET_LEVELSIGM;Radius +!TP_WAVELET_LEVELS_TOOLTIP;Choose the number of wavelet decomposition levels for the image.\nMore levels require more RAM and require a longer processing time. +!TP_WAVELET_LEVFOUR;Level 5-6 denoise and guided threshold !TP_WAVELET_LEVLABEL;Preview maximum possible levels = %1 -!TP_WAVELET_LINKEDG;Link with Edge Sharpness' Strength -!TP_WAVELET_LOWLIGHT;Shadow luminance range +!TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 +!TP_WAVELET_LINKEDG;Link to Edge Sharpness Strength +!TP_WAVELET_LOWLIGHT;Coarser levels luminance range +!TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. !TP_WAVELET_MEDILEV_TOOLTIP;When you enable Edge Detection, it is recommanded:\n- to disabled low contrast levels to avoid artifacts,\n- to use high values of gradient sensitivity.\n\nYou can modulate the strength with 'refine' from Denoise and Refine. +!TP_WAVELET_MERGEC;Merge chroma +!TP_WAVELET_MERGEL;Merge luma +!TP_WAVELET_MIXCONTRAST;Reference +!TP_WAVELET_MIXDENOISE;Denoise +!TP_WAVELET_MIXMIX;Mixed 50% noise - 50% denoise +!TP_WAVELET_MIXMIX70;Mixed 30% noise - 70% denoise +!TP_WAVELET_MIXNOISE;Noise !TP_WAVELET_NPTYPE_TOOLTIP;This algorithm uses the proximity of a pixel and eight of its neighbors. If less difference, edges are reinforced. -!TP_WAVELET_OPACITY;Opacity Blue-Yellow +!TP_WAVELET_OFFSET_TOOLTIP;Offset modifies the balance between low contrast and high contrast details.\nHigh values will amplify contrast changes to the higher contrast details, whereas low values will amplify contrast changes to low contrast details.\nBy using a low Attenuation response value you can select which contrast values will be enhanced. +!TP_WAVELET_OLDSH;Algorithm using negatives values +!TP_WAVELET_OPACITY;Opacity blue-yellow !TP_WAVELET_OPACITYW;Contrast balance d/v-h curve !TP_WAVELET_OPACITYWL_TOOLTIP;Modify the final local contrast at the end of the wavelet treatment.\n\nThe left side represents the smallest local contrast, progressing to the largest local contrast on the right. !TP_WAVELET_PASTEL;Pastel chroma +!TP_WAVELET_PROTAB;Protection +!TP_WAVELET_QUAAGRES;Aggressive +!TP_WAVELET_QUACONSER;Conservative +!TP_WAVELET_RADIUS;Radius shadows - highlight +!TP_WAVELET_RANGEAB;Range a and b % +!TP_WAVELET_RESBLUR;Blur luminance +!TP_WAVELET_RESBLURC;Blur chroma +!TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. +!TP_WAVELET_SHA;Sharp mask +!TP_WAVELET_SHFRAME;Shadows/Highlights +!TP_WAVELET_SHOWMASK;Show wavelet 'mask' +!TP_WAVELET_SIGM;Radius +!TP_WAVELET_SIGMA;Attenuation response +!TP_WAVELET_SIGMAFIN;Attenuation response +!TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. !TP_WAVELET_SKIN;Skin targetting/protection !TP_WAVELET_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. -!TP_WAVELET_SKY;Sky targetting/protection -!TP_WAVELET_SKY_TOOLTIP;At -100 sky-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 sky-tones are protected while all other tones are affected. -!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels between 9 and 9 minus the value will be affected by the shadow luminance range. Other levels will be fully treated. The highest level possible is limited by the highlight level value (9 minus highlight level value). -!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels beyond the chosen value will be affected by the highlight luminance range. Other levels will be fully treated. The chosen value here limits the highest possible value of the shadow levels. +!TP_WAVELET_SKY;Hue targetting/protection +!TP_WAVELET_SKY_TOOLTIP;Allows you to target or protect a range of hues.\nAt -100 selected hues are targetted.\nAt 0 all hues are treated equally.\nAt +100 selected hues are protected while all other hues are targetted. +!TP_WAVELET_SOFTRAD;Soft radius +!TP_WAVELET_STREND;Strength +!TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise reduction as a function of local contrast. The denoise will be applied to uniform low local-contrast areas. Areas with detail (higher local contrast) will be preserved. +!TP_WAVELET_THREND;Local contrast threshold +!TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels from the chosen value to the selected number of 'wavelet levels' will be affected by the Shadow luminance range. +!TP_WAVELET_THRESHOLD_TOOLTIP;Only levels below and including the chosen value will be affected by the Highlight luminance range. !TP_WAVELET_TILES_TOOLTIP;Processing the full image leads to better quality and is the recommended option, while using tiles is a fall-back solution for users with little RAM. Refer to RawPedia for memory requirements. -!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. When the value is different from 0, the Strength and Gamma sliders of the Tone Mapping tool in the Exposure tab will become grayed out. +!TP_WAVELET_TMEDGS;Edge stopping +!TP_WAVELET_TMSCALE;Scale +!TP_WAVELET_TMSTRENGTH_TOOLTIP;Control the strength of tone mapping or contrast compression of the residual image. !TP_WAVELET_TON;Toning +!TP_WAVELET_TONFRAME;Excluded colors +!TP_WAVELET_USH;None +!TP_WAVELET_USHARP;Clarity method +!TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. +!TP_WAVELET_WAVLOWTHR;Low contrast threshold +!TP_WAVELET_WAVOFFSET;Offset +!TP_WBALANCE_AUTOITCGREEN;Temperature correlation +!TP_WBALANCE_AUTOOLD;RGB grey +!TP_WBALANCE_AUTO_HEADER;Automatic !TP_WBALANCE_PICKER;Pick +!TP_WBALANCE_STUDLABEL;Correlation factor: %1 +!TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. !TP_WBALANCE_TEMPBIAS;AWB temperature bias -!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias". +!TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the 'auto white balance'\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by 'computedTemp + computedTemp * bias'. diff --git a/rtdata/languages/default b/rtdata/languages/default index a0b25e0b6..8ff9f25c4 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -39,7 +39,7 @@ DONT_SHOW_AGAIN;Don't show this message again. DYNPROFILEEDITOR_DELETE;Delete DYNPROFILEEDITOR_EDIT;Edit DYNPROFILEEDITOR_EDIT_RULE;Edit Dynamic Profile Rule -DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the "re:" prefix to enter\na regular expression. +DYNPROFILEEDITOR_ENTRY_TOOLTIP;The matching is case insensitive.\nUse the 're:' prefix to enter\na regular expression. DYNPROFILEEDITOR_IMGTYPE_ANY;Any DYNPROFILEEDITOR_IMGTYPE_HDR;HDR DYNPROFILEEDITOR_IMGTYPE_PS;Pixel Shift @@ -62,6 +62,7 @@ EXIFFILTER_IMAGETYPE;Image type EXIFFILTER_ISO;ISO EXIFFILTER_LENS;Lens EXIFFILTER_METADATAFILTER;Enable metadata filters +EXIFFILTER_PATH;File path EXIFFILTER_SHUTTER;Shutter EXIFPANEL_ACTIVATE_ALL_HINT;Select all tags EXIFPANEL_ACTIVATE_NONE_HINT;Unselect all tags @@ -103,10 +104,10 @@ EXPORT_INSTRUCTIONS;Fast Export options provide overrides to bypass time and res EXPORT_MAXHEIGHT;Maximum height: EXPORT_MAXWIDTH;Maximum width: EXPORT_PIPELINE;Processing pipeline -EXPORT_PUTTOQUEUEFAST; Put to queue for fast export +EXPORT_PUTTOQUEUEFAST;Put to queue for fast export EXPORT_RAW_DMETHOD;Demosaic method EXPORT_USE_FAST_PIPELINE;Dedicated (full processing on resized image) -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_FAST_PIPELINE_TOOLTIP;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) EXTPROGTARGET_1;raw EXTPROGTARGET_2;queue-processed @@ -114,7 +115,7 @@ FILEBROWSER_APPLYPROFILE;Apply FILEBROWSER_APPLYPROFILE_PARTIAL;Apply - partial FILEBROWSER_AUTODARKFRAME;Auto dark-frame FILEBROWSER_AUTOFLATFIELD;Auto flat-field -FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. +FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply 'find' keywords. FILEBROWSER_BROWSEPATHHINT;Type a path to navigate to.\n\nKeyboard shortcuts:\nCtrl-o to focus to the path text box.\nEnter / Ctrl-Enter to browse there;\nEsc to clear changes.\nShift-Esc to remove focus.\n\nPath shortcuts:\n~ - user's home directory.\n! - user's pictures directory FILEBROWSER_CACHE;Cache FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles @@ -168,6 +169,7 @@ FILEBROWSER_POPUPREMOVE;Delete permanently FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version FILEBROWSER_POPUPRENAME;Rename FILEBROWSER_POPUPSELECTALL;Select all +FILEBROWSER_POPUPSORTBY;Sort Files FILEBROWSER_POPUPTRASH;Move to trash FILEBROWSER_POPUPUNRANK;Unrank FILEBROWSER_POPUPUNTRASH;Remove from trash @@ -211,6 +213,7 @@ FILEBROWSER_ZOOMOUTHINT;Decrease thumbnail size.\n\nShortcuts:\n- - Multi FILECHOOSER_FILTER_ANY;All files FILECHOOSER_FILTER_COLPROF;Color profiles (*.icc) FILECHOOSER_FILTER_CURVE;Curve files +FILECHOOSER_FILTER_EXECUTABLE;Executable files FILECHOOSER_FILTER_LCP;Lens correction profiles FILECHOOSER_FILTER_PP;Processing profiles FILECHOOSER_FILTER_SAME;Same format as current photo @@ -238,6 +241,7 @@ GENERAL_NO;No GENERAL_NONE;None GENERAL_OK;OK GENERAL_OPEN;Open +GENERAL_OTHER;Other GENERAL_PORTRAIT;Portrait GENERAL_RESET;Reset GENERAL_SAVE;Save @@ -254,7 +258,6 @@ HISTOGRAM_TOOLTIP_G;Show/Hide green histogram. HISTOGRAM_TOOLTIP_L;Show/Hide CIELab luminance histogram. HISTOGRAM_TOOLTIP_MODE;Toggle between linear, log-linear and log-log scaling of the histogram. HISTOGRAM_TOOLTIP_R;Show/Hide red histogram. -HISTOGRAM_TOOLTIP_RAW;Show/Hide raw histogram. HISTOGRAM_TOOLTIP_SHOW_OPTIONS;Toggle visibility of the scope option buttons. HISTOGRAM_TOOLTIP_TRACE_BRIGHTNESS;Adjust scope brightness. HISTOGRAM_TOOLTIP_TYPE_HISTOGRAM;Histogram @@ -268,7 +271,6 @@ HISTORY_CUSTOMCURVE;Custom curve HISTORY_FROMCLIPBOARD;From clipboard HISTORY_LABEL;History HISTORY_MSG_1;Photo loaded -HISTORY_MSG_2;PP3 loaded HISTORY_MSG_3;PP3 changed HISTORY_MSG_4;History browsing HISTORY_MSG_5;Exposure - Lightness @@ -282,9 +284,6 @@ HISTORY_MSG_12;Exposure - Auto levels HISTORY_MSG_13;Exposure - Clip HISTORY_MSG_14;L*a*b* - Lightness HISTORY_MSG_15;L*a*b* - Contrast -HISTORY_MSG_16;- -HISTORY_MSG_17;- -HISTORY_MSG_18;- HISTORY_MSG_19;L*a*b* - L* curve HISTORY_MSG_20;Sharpening HISTORY_MSG_21;USM - Radius @@ -310,10 +309,6 @@ HISTORY_MSG_40;WB - Tint HISTORY_MSG_41;Exposure - Tone curve 1 mode HISTORY_MSG_42;Exposure - Tone curve 2 HISTORY_MSG_43;Exposure - Tone curve 2 mode -HISTORY_MSG_44;Lum. denoising radius -HISTORY_MSG_45;Lum. denoising edge tolerance -HISTORY_MSG_46;Color denoising -HISTORY_MSG_47;Blend ICC highlights with matrix HISTORY_MSG_48;DCP - Tone curve HISTORY_MSG_49;DCP illuminant HISTORY_MSG_50;Shadows/Highlights @@ -321,7 +316,6 @@ HISTORY_MSG_51;S/H - Highlights HISTORY_MSG_52;S/H - Shadows HISTORY_MSG_53;S/H - Highlights tonal width HISTORY_MSG_54;S/H - Shadows tonal width -HISTORY_MSG_55;S/H - Local contrast HISTORY_MSG_56;S/H - Radius HISTORY_MSG_57;Coarse rotation HISTORY_MSG_58;Horizontal flipping @@ -333,7 +327,6 @@ HISTORY_MSG_63;Snapshot selected HISTORY_MSG_64;Crop HISTORY_MSG_65;CA correction HISTORY_MSG_66;Exposure - Highlight reconstruction -HISTORY_MSG_67;Exposure - HLR amount HISTORY_MSG_68;Exposure - HLR method HISTORY_MSG_69;Working color space HISTORY_MSG_70;Output color space @@ -344,12 +337,10 @@ HISTORY_MSG_74;Resize - Scale HISTORY_MSG_75;Resize - Method HISTORY_MSG_76;Exif metadata HISTORY_MSG_77;IPTC metadata -HISTORY_MSG_78;- HISTORY_MSG_79;Resize - Width HISTORY_MSG_80;Resize - Height HISTORY_MSG_81;Resize HISTORY_MSG_82;Profile changed -HISTORY_MSG_83;S/H - Sharp mask HISTORY_MSG_84;Perspective correction HISTORY_MSG_85;Lens Correction - LCP file HISTORY_MSG_86;RGB Curves - Luminosity mode @@ -396,12 +387,6 @@ HISTORY_MSG_127;Flat-Field - Auto-selection HISTORY_MSG_128;Flat-Field - Blur radius HISTORY_MSG_129;Flat-Field - Blur type HISTORY_MSG_130;Auto distortion correction -HISTORY_MSG_131;NR - Luma -HISTORY_MSG_132;NR - Chroma -HISTORY_MSG_133;Output gamma -HISTORY_MSG_134;Free gamma -HISTORY_MSG_135;Free gamma -HISTORY_MSG_136;Free gamma slope HISTORY_MSG_137;Black level - Green 1 HISTORY_MSG_138;Black level - Red HISTORY_MSG_139;Black level - Blue @@ -439,39 +424,39 @@ HISTORY_MSG_170;Vibrance - HH curve HISTORY_MSG_171;L*a*b* - LC curve HISTORY_MSG_172;L*a*b* - Restrict LC HISTORY_MSG_173;NR - Detail recovery -HISTORY_MSG_174;CIECAM02/16 -HISTORY_MSG_175;CAM02/16 - CAT02/16 adaptation -HISTORY_MSG_176;CAM02/16 - Viewing surround -HISTORY_MSG_177;CAM02/16 - Scene luminosity -HISTORY_MSG_178;CAM02/16 - Viewing luminosity -HISTORY_MSG_179;CAM02/16 - White-point model -HISTORY_MSG_180;CAM02/16 - Lightness (J) -HISTORY_MSG_181;CAM02/16 - Chroma (C) -HISTORY_MSG_182;CAM02/16 - Automatic CAT02/16 -HISTORY_MSG_183;CAM02/16 - Contrast (J) -HISTORY_MSG_184;CAM02/16 - Scene surround -HISTORY_MSG_185;CAM02/16 - Gamut control -HISTORY_MSG_186;CAM02/16 - Algorithm -HISTORY_MSG_187;CAM02/16 - Red/skin prot. -HISTORY_MSG_188;CAM02/16 - Brightness (Q) -HISTORY_MSG_189;CAM02/16 - Contrast (Q) -HISTORY_MSG_190;CAM02/16 - Saturation (S) -HISTORY_MSG_191;CAM02/16 - Colorfulness (M) -HISTORY_MSG_192;CAM02/16 - Hue (h) -HISTORY_MSG_193;CAM02/16 - Tone curve 1 -HISTORY_MSG_194;CAM02/16 - Tone curve 2 -HISTORY_MSG_195;CAM02/16 - Tone curve 1 -HISTORY_MSG_196;CAM02/16 - Tone curve 2 -HISTORY_MSG_197;CAM02/16 - Color curve -HISTORY_MSG_198;CAM02/16 - Color curve -HISTORY_MSG_199;CAM02/16 - Output histograms -HISTORY_MSG_200;CAM02/16 - Tone mapping +HISTORY_MSG_174;Color Appearance & Lighting +HISTORY_MSG_175;CAL - SC - Adaptation +HISTORY_MSG_176;CAL - VC - Surround +HISTORY_MSG_177;CAL - SC - Absolute luminance +HISTORY_MSG_178;CAL - VC - Absolute luminance +HISTORY_MSG_179;CAL - SC - WP model +HISTORY_MSG_180;CAL - IA - Lightness (J) +HISTORY_MSG_181;CAL - IA - Chroma (C) +HISTORY_MSG_182;CAL - SC - Auto adaptation +HISTORY_MSG_183;CAL - IA - Contrast (J) +HISTORY_MSG_184;CAL - SC - Surround +HISTORY_MSG_185;CAL - Gamut control +HISTORY_MSG_186;CAL - IA - Algorithm +HISTORY_MSG_187;CAL - IA - Red/skin protection +HISTORY_MSG_188;CAL - IA - Brightness (Q) +HISTORY_MSG_189;CAL - IA - Contrast (Q) +HISTORY_MSG_190;CAL - IA - Saturation (S) +HISTORY_MSG_191;CAL - IA - Colorfulness (M) +HISTORY_MSG_192;CAL - IA - Hue (h) +HISTORY_MSG_193;CAL - IA - Tone curve 1 +HISTORY_MSG_194;CAL - IA - Tone curve 2 +HISTORY_MSG_195;CAL - IA - Tone curve 1 mode +HISTORY_MSG_196;CAL - IA - Tone curve 2 mode +HISTORY_MSG_197;CAL - IA - Color curve +HISTORY_MSG_198;CAL - IA - Color curve mode +HISTORY_MSG_199;CAL - IA - Use CAM output for histograms +HISTORY_MSG_200;CAL - IA - Use CAM for tone mapping HISTORY_MSG_201;NR - Chrominance - R&G HISTORY_MSG_202;NR - Chrominance - B&Y HISTORY_MSG_203;NR - Color space HISTORY_MSG_204;LMMSE enhancement steps -HISTORY_MSG_205;CAT02/16 - Hot/bad pixel filter -HISTORY_MSG_206;CAT02/16 - Auto scene luminosity +HISTORY_MSG_205;CAL - Hot/bad pixel filter +HISTORY_MSG_206;CAL - SC - Auto absolute luminance HISTORY_MSG_207;Defringe - Hue curve HISTORY_MSG_208;WB - B/R equalizer HISTORY_MSG_210;GF - Angle @@ -514,7 +499,6 @@ HISTORY_MSG_246;L*a*b* - CL curve HISTORY_MSG_247;L*a*b* - LH curve HISTORY_MSG_248;L*a*b* - HH curve HISTORY_MSG_249;CbDL - Threshold -HISTORY_MSG_250;NR - Enhanced HISTORY_MSG_251;B&W - Algorithm HISTORY_MSG_252;CbDL - Skin tar/prot HISTORY_MSG_253;CbDL - Reduce artifacts @@ -538,8 +522,6 @@ HISTORY_MSG_270;CT - High - Green HISTORY_MSG_271;CT - High - Blue HISTORY_MSG_272;CT - Balance HISTORY_MSG_273;CT - Color Balance SMH -HISTORY_MSG_274;CT - Sat. Shadows -HISTORY_MSG_275;CT - Sat. Highlights HISTORY_MSG_276;CT - Opacity HISTORY_MSG_277;--unused-- HISTORY_MSG_278;CT - Preserve luminance @@ -564,7 +546,6 @@ HISTORY_MSG_296;NR - Luminance curve HISTORY_MSG_297;NR - Mode HISTORY_MSG_298;Dead pixel filter HISTORY_MSG_299;NR - Chrominance curve -HISTORY_MSG_300;- HISTORY_MSG_301;NR - Luma control HISTORY_MSG_302;NR - Chroma method HISTORY_MSG_303;NR - Chroma method @@ -673,7 +654,6 @@ HISTORY_MSG_405;W - Denoise - Level 4 HISTORY_MSG_406;W - ES - Neighboring pixels HISTORY_MSG_407;Retinex - Method HISTORY_MSG_408;Retinex - Radius -HISTORY_MSG_409;Retinex - Contrast HISTORY_MSG_410;Retinex - Offset HISTORY_MSG_411;Retinex - Strength HISTORY_MSG_412;Retinex - Gaussian gradient @@ -689,7 +669,7 @@ HISTORY_MSG_421;Retinex - Gamma HISTORY_MSG_422;Retinex - Gamma HISTORY_MSG_423;Retinex - Gamma slope HISTORY_MSG_424;Retinex - HL threshold -HISTORY_MSG_425;Retinex - Log base +HISTORY_MSG_425;--unused-- HISTORY_MSG_426;Retinex - Hue equalizer HISTORY_MSG_427;Output rendering intent HISTORY_MSG_428;Monitor rendering intent @@ -710,45 +690,44 @@ HISTORY_MSG_442;Retinex - Scale HISTORY_MSG_443;Output black point compensation HISTORY_MSG_444;WB - Temp bias HISTORY_MSG_445;Raw Sub-Image -HISTORY_MSG_446;EvPixelShiftMotion -HISTORY_MSG_447;EvPixelShiftMotionCorrection -HISTORY_MSG_448;EvPixelShiftStddevFactorGreen +HISTORY_MSG_446;--unused-- +HISTORY_MSG_447;--unused-- +HISTORY_MSG_448;--unused-- HISTORY_MSG_449;PS ISO adaption -HISTORY_MSG_450;EvPixelShiftNreadIso -HISTORY_MSG_451;EvPixelShiftPrnu +HISTORY_MSG_450;--unused-- +HISTORY_MSG_451;--unused-- HISTORY_MSG_452;PS Show motion HISTORY_MSG_453;PS Show mask only -HISTORY_MSG_454;EvPixelShiftAutomatic -HISTORY_MSG_455;EvPixelShiftNonGreenHorizontal -HISTORY_MSG_456;EvPixelShiftNonGreenVertical +HISTORY_MSG_454;--unused-- +HISTORY_MSG_455;--unused-- +HISTORY_MSG_456;--unused-- HISTORY_MSG_457;PS Check red/blue -HISTORY_MSG_458;EvPixelShiftStddevFactorRed -HISTORY_MSG_459;EvPixelShiftStddevFactorBlue -HISTORY_MSG_460;EvPixelShiftGreenAmaze -HISTORY_MSG_461;EvPixelShiftNonGreenAmaze +HISTORY_MSG_458;--unused-- +HISTORY_MSG_459;--unused-- +HISTORY_MSG_460;--unused-- +HISTORY_MSG_461;--unused-- HISTORY_MSG_462;PS Check green -HISTORY_MSG_463;EvPixelShiftRedBlueWeight +HISTORY_MSG_463;--unused-- HISTORY_MSG_464;PS Blur motion mask HISTORY_MSG_465;PS Blur radius -HISTORY_MSG_466;EvPixelShiftSum -HISTORY_MSG_467;EvPixelShiftExp0 +HISTORY_MSG_466;--unused-- +HISTORY_MSG_467;--unused-- HISTORY_MSG_468;PS Fill holes HISTORY_MSG_469;PS Median -HISTORY_MSG_470;EvPixelShiftMedian3 +HISTORY_MSG_470;--unused-- HISTORY_MSG_471;PS Motion correction HISTORY_MSG_472;PS Smooth transitions -HISTORY_MSG_473;PS Use lmmse HISTORY_MSG_474;PS Equalize HISTORY_MSG_475;PS Equalize channel -HISTORY_MSG_476;CAM02/16 - Temp out -HISTORY_MSG_477;CAM02/16 - Green out -HISTORY_MSG_478;CAM02/16 - Yb out -HISTORY_MSG_479;CAM02/16 - CAT02/16 adaptation out -HISTORY_MSG_480;CAM02/16 - Automatic CAT02/16 out -HISTORY_MSG_481;CAM02/16 - Temp scene -HISTORY_MSG_482;CAM02/16 - Green scene -HISTORY_MSG_483;CAM02/16 - Yb scene -HISTORY_MSG_484;CAM02/16 - Auto Yb scene +HISTORY_MSG_476;CAL - VC - Temperature +HISTORY_MSG_477;CAL - VC - Tint +HISTORY_MSG_478;CAL - VC - Mean luminance +HISTORY_MSG_479;CAL - VC - Adaptation +HISTORY_MSG_480;CAL - VC - Auto adaptation +HISTORY_MSG_481;CAL - SC - Temperature +HISTORY_MSG_482;CAL - SC - Tint +HISTORY_MSG_483;CAL - SC - Mean luminance +HISTORY_MSG_484;CAL - SC - Auto mean luminance HISTORY_MSG_485;Lens Correction HISTORY_MSG_486;Lens Correction - Camera HISTORY_MSG_487;Lens Correction - Lens @@ -775,7 +754,7 @@ HISTORY_MSG_508;Local Spot circrad HISTORY_MSG_509;Local Spot quality method HISTORY_MSG_510;Local Spot transition HISTORY_MSG_511;Local Spot thresh -HISTORY_MSG_512;Local Spot ΔE -decay +HISTORY_MSG_512;Local Spot ΔE decay HISTORY_MSG_513;Local Spot scope HISTORY_MSG_514;Local Spot structure HISTORY_MSG_515;Local Adjustments @@ -843,7 +822,7 @@ HISTORY_MSG_576;Local - cbdl mult HISTORY_MSG_577;Local - cbdl chroma HISTORY_MSG_578;Local - cbdl threshold HISTORY_MSG_579;Local - cbdl scope -HISTORY_MSG_580;Local - Denoise +HISTORY_MSG_580;--unused-- HISTORY_MSG_581;Local - deNoise lum f 1 HISTORY_MSG_582;Local - deNoise lum c HISTORY_MSG_583;Local - deNoise lum detail @@ -926,7 +905,7 @@ HISTORY_MSG_660;Local - cbdl clarity HISTORY_MSG_661;Local - cbdl contrast residual HISTORY_MSG_662;Local - deNoise lum f 0 HISTORY_MSG_663;Local - deNoise lum f 2 -HISTORY_MSG_664;Local - cbdl Blur +HISTORY_MSG_664;--unused-- HISTORY_MSG_665;Local - cbdl mask Blend HISTORY_MSG_666;Local - cbdl mask radius HISTORY_MSG_667;Local - cbdl mask chroma @@ -1097,8 +1076,9 @@ HISTORY_MSG_838;Local - Vib gradient strength H HISTORY_MSG_839;Local - Software complexity HISTORY_MSG_840;Local - CL Curve HISTORY_MSG_841;Local - LC curve -HISTORY_MSG_842;Local - Contrast Threshold -HISTORY_MSG_843;Local - Radius +HISTORY_MSG_842;Local - Blur mask Radius +HISTORY_MSG_843;Local - Blur mask Contrast Threshold +HISTORY_MSG_844;Local - Blur mask FFTW HISTORY_MSG_845;Local - Log encoding HISTORY_MSG_846;Local - Log encoding auto HISTORY_MSG_847;Local - Log encoding Source @@ -1120,6 +1100,7 @@ HISTORY_MSG_863;Local - Wavelet merge original image HISTORY_MSG_864;Local - Wavelet dir contrast attenuation HISTORY_MSG_865;Local - Wavelet dir contrast delta HISTORY_MSG_866;Local - Wavelet dir compression +HISTORY_MSG_868;Local - Balance ΔE C-H HISTORY_MSG_869;Local - Denoise by level HISTORY_MSG_870;Local - Wavelet mask curve H HISTORY_MSG_871;Local - Wavelet mask curve C @@ -1172,7 +1153,7 @@ HISTORY_MSG_920;Local - Wavelet sigma LC HISTORY_MSG_921;Local - Wavelet Graduated sigma LC2 HISTORY_MSG_922;Local - changes In Black and White HISTORY_MSG_923;Local - Tool complexity mode -HISTORY_MSG_924;Local - Tool complexity mode +HISTORY_MSG_924;--unused-- HISTORY_MSG_925;Local - Scope color tools HISTORY_MSG_926;Local - Show mask type HISTORY_MSG_927;Local - Shadow @@ -1210,25 +1191,25 @@ HISTORY_MSG_958;Local - Show/hide settings HISTORY_MSG_959;Local - Inverse blur HISTORY_MSG_960;Local - Log encoding - cat16 HISTORY_MSG_961;Local - Log encoding Ciecam -HISTORY_MSG_962;Local - Log encoding Absolute luminance source -HISTORY_MSG_963;Local - Log encoding Absolute luminance target -HISTORY_MSG_964;Local - Log encoding Surround -HISTORY_MSG_965;Local - Log encoding Saturation s -HISTORY_MSG_966;Local - Log encoding Contrast J -HISTORY_MSG_967;Local - Log encoding Mask curve C -HISTORY_MSG_968;Local - Log encoding Mask curve L -HISTORY_MSG_969;Local - Log encoding Mask curve H -HISTORY_MSG_970;Local - Log encoding Mask enable -HISTORY_MSG_971;Local - Log encoding Mask blend -HISTORY_MSG_972;Local - Log encoding Mask radius -HISTORY_MSG_973;Local - Log encoding Mask chroma -HISTORY_MSG_974;Local - Log encoding Mask contrast -HISTORY_MSG_975;Local - Log encoding Lightness J -HISTORY_MSG_977;Local - Log encoding Contrast Q -HISTORY_MSG_978;Local - Log encoding Sursource -HISTORY_MSG_979;Local - Log encoding Brightness Q -HISTORY_MSG_980;Local - Log encoding Colorfulness M -HISTORY_MSG_981;Local - Log encoding Strength +HISTORY_MSG_962;Local - Log encoding Absolute luminance source +HISTORY_MSG_963;Local - Log encoding Absolute luminance target +HISTORY_MSG_964;Local - Log encoding Surround +HISTORY_MSG_965;Local - Log encoding Saturation s +HISTORY_MSG_966;Local - Log encoding Contrast J +HISTORY_MSG_967;Local - Log encoding Mask curve C +HISTORY_MSG_968;Local - Log encoding Mask curve L +HISTORY_MSG_969;Local - Log encoding Mask curve H +HISTORY_MSG_970;Local - Log encoding Mask enable +HISTORY_MSG_971;Local - Log encoding Mask blend +HISTORY_MSG_972;Local - Log encoding Mask radius +HISTORY_MSG_973;Local - Log encoding Mask chroma +HISTORY_MSG_974;Local - Log encoding Mask contrast +HISTORY_MSG_975;Local - Log encoding Lightness J +HISTORY_MSG_977;Local - Log encoding Contrast Q +HISTORY_MSG_978;Local - Log encoding Sursource +HISTORY_MSG_979;Local - Log encoding Brightness Q +HISTORY_MSG_980;Local - Log encoding Colorfulness M +HISTORY_MSG_981;Local - Log encoding Strength HISTORY_MSG_982;Local - Equalizer hue HISTORY_MSG_983;Local - denoise threshold mask high HISTORY_MSG_984;Local - denoise threshold mask low @@ -1291,14 +1272,120 @@ HISTORY_MSG_1040;Local - Spot - soft radius HISTORY_MSG_1041;Local - Spot - Munsell HISTORY_MSG_1042;Local - Log encoding - threshold HISTORY_MSG_1043;Local - Exp - normalize +HISTORY_MSG_1044;Local - Local contrast strength +HISTORY_MSG_1045;Local - Color and Light strength +HISTORY_MSG_1046;Local - Denoise strength +HISTORY_MSG_1047;Local - SH and Tone Equalizer strength +HISTORY_MSG_1048;Local - DR and Exposure strength +HISTORY_MSG_1049;Local - TM strength +HISTORY_MSG_1050;Local - Log encoding chroma +HISTORY_MSG_1051;Local - Residual wavelet gamma +HISTORY_MSG_1052;Local - Residual wavelet slope +HISTORY_MSG_1053;Local - Denoise gamma +HISTORY_MSG_1054;Local - Wavelet gamma +HISTORY_MSG_1055;Local - Color and Light gamma +HISTORY_MSG_1056;Local - DR and Exposure gamma +HISTORY_MSG_1057;Local - CIECAM Enabled +HISTORY_MSG_1058;Local - CIECAM Overall strength +HISTORY_MSG_1059;Local - CIECAM Autogray +HISTORY_MSG_1060;Local - CIECAM Mean luminance source +HISTORY_MSG_1061;Local - CIECAM Source absolute +HISTORY_MSG_1062;Local - CIECAM Surround Source +HISTORY_MSG_1063;Local - CIECAM Saturation +HISTORY_MSG_1064;Local - CIECAM Chroma +HISTORY_MSG_1065;Local - CIECAM lightness J +HISTORY_MSG_1066;Local - CIECAM brightness +HISTORY_MSG_1067;Local - CIECAM Contrast J +HISTORY_MSG_1068;Local - CIECAM threshold +HISTORY_MSG_1069;Local - CIECAM contrast Q +HISTORY_MSG_1070;Local - CIECAM colorfullness +HISTORY_MSG_1071;Local - CIECAM Absolute luminance +HISTORY_MSG_1072;Local - CIECAM Mean luminance +HISTORY_MSG_1073;Local - CIECAM Cat16 +HISTORY_MSG_1074;Local - CIECAM Local contrast +HISTORY_MSG_1075;Local - CIECAM Surround viewing +HISTORY_MSG_1076;Local - CIECAM Scope +HISTORY_MSG_1077;Local - CIECAM Mode +HISTORY_MSG_1078;Local - Red and skin protection +HISTORY_MSG_1079;Local - CIECAM Sigmoid strength J +HISTORY_MSG_1080;Local - CIECAM Sigmoid threshold +HISTORY_MSG_1081;Local - CIECAM Sigmoid blend +HISTORY_MSG_1082;Local - CIECAM Sigmoid Q BlackEv WhiteEv +HISTORY_MSG_1083;Local - CIECAM Hue +HISTORY_MSG_1084;Local - Uses Black Ev - White Ev +HISTORY_MSG_1085;Local - Jz lightness +HISTORY_MSG_1086;Local - Jz contrast +HISTORY_MSG_1087;Local - Jz chroma +HISTORY_MSG_1088;Local - Jz hue +HISTORY_MSG_1089;Local - Jz Sigmoid strength +HISTORY_MSG_1090;Local - Jz Sigmoid threshold +HISTORY_MSG_1091;Local - Jz Sigmoid blend +HISTORY_MSG_1092;Local - Jz adaptation +HISTORY_MSG_1093;Local - CAM model +HISTORY_MSG_1094;Local - Jz highligths +HISTORY_MSG_1095;Local - Jz highligths thr +HISTORY_MSG_1096;Local - Jz shadows +HISTORY_MSG_1097;Local - Jz shadows thr +HISTORY_MSG_1098;Local - Jz radius SH +HISTORY_MSG_1099;Local - Cz(Hz) Curve +HISTORY_MSG_1100;Local - Jz reference 100 +HISTORY_MSG_1101;Local - Jz PQ remap +HISTORY_MSG_1102;Local - Jz(Hz) Curve +HISTORY_MSG_1103;Local - Vibrance gamma +HISTORY_MSG_1104;Local - Sharp gamma +HISTORY_MSG_1105;Local - CIECAM Tone method +HISTORY_MSG_1106;Local - CIECAM Tone curve +HISTORY_MSG_1107;Local - CIECAM Color method +HISTORY_MSG_1108;Local - CIECAM Color curve +HISTORY_MSG_1109;Local - Jz(Jz) curve +HISTORY_MSG_1110;Local - Cz(Cz) curve +HISTORY_MSG_1111;Local - Cz(Jz) curve +HISTORY_MSG_1112;Local - forcejz +HISTORY_MSG_1113;Local - HDR PQ +HISTORY_MSG_1114;Local - Cie mask enable +HISTORY_MSG_1115;Local - Cie mask curve C +HISTORY_MSG_1116;Local - Cie mask curve L +HISTORY_MSG_1117;Local - Cie mask curve H +HISTORY_MSG_1118;Local - Cie mask blend +HISTORY_MSG_1119;Local - Cie mask radius +HISTORY_MSG_1120;Local - Cie mask chroma +HISTORY_MSG_1121;Local - Cie mask contrast curve +HISTORY_MSG_1122;Local - Cie mask recovery threshold +HISTORY_MSG_1123;Local - Cie mask recovery dark +HISTORY_MSG_1124;Local - Cie mask recovery light +HISTORY_MSG_1125;Local - Cie mask recovery decay +HISTORY_MSG_1126;Local - Cie mask laplacian +HISTORY_MSG_1127;Local - Cie mask gamma +HISTORY_MSG_1128;Local - Cie mask slope +HISTORY_MSG_1129;Local - Cie Relative luminance +HISTORY_MSG_1130;Local - Cie Saturation Jz +HISTORY_MSG_1131;Local - Mask denoise chroma +HISTORY_MSG_1132;Local - Cie Wav sigma Jz +HISTORY_MSG_1133;Local - Cie Wav level Jz +HISTORY_MSG_1134;Local - Cie Wav local contrast Jz +HISTORY_MSG_1135;Local - Cie Wav clarity Jz +HISTORY_MSG_1136;Local - Cie Wav clarity Cz +HISTORY_MSG_1137;Local - Cie Wav clarity Soft +HISTORY_MSG_1138;Local - Local - Hz(Hz) Curve +HISTORY_MSG_1139;Local - Jz soft Curves H +HISTORY_MSG_1140;Local - Jz Threshold chroma +HISTORY_MSG_1141;Local - chroma curve Jz(Hz) +HISTORY_MSG_1142;Local - strength soft +HISTORY_MSG_1143;Local - Jz blackev +HISTORY_MSG_1144;Local - Jz whiteev +HISTORY_MSG_1145;Local - Jz Log encoding +HISTORY_MSG_1146;Local - Jz Log encoding target gray +HISTORY_MSG_1147;Local - Jz BlackEv WhiteEv +HISTORY_MSG_1148;Local - Jz Sigmoid +HISTORY_MSG_1149;Local - Q Sigmoid +HISTORY_MSG_1150;Local - Log encoding Q instead Sigmoid Q HISTORY_MSG_BLSHAPE;Blur by level HISTORY_MSG_BLURCWAV;Blur chroma HISTORY_MSG_BLURWAV;Blur luminance HISTORY_MSG_BLUWAV;Attenuation response -HISTORY_MSG_CATCAT;Cat02/16 mode -HISTORY_MSG_CAT02PRESET;Cat02/16 automatic preset -HISTORY_MSG_CATCOMPLEX;Ciecam complexity -HISTORY_MSG_CATMODEL;CAM Model +HISTORY_MSG_CATCAT;CAL - Settings - Mode +HISTORY_MSG_CATCOMPLEX;CAL - Settings - Complexity +HISTORY_MSG_CATMODEL;CAL - Settings - CAM HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction @@ -1324,25 +1411,41 @@ HISTORY_MSG_DEHAZE_STRENGTH;Dehaze - Strength HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST;Dual demosaic - Auto threshold HISTORY_MSG_DUALDEMOSAIC_CONTRAST;Dual demosaic - Contrast threshold HISTORY_MSG_EDGEFFECT;Edge Attenuation response +HISTORY_MSG_FF_FROMMETADATA;Flat-Field - From Metadata HISTORY_MSG_FILMNEGATIVE_BALANCE;FN - Reference output HISTORY_MSG_FILMNEGATIVE_COLORSPACE;Film negative color space HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negative HISTORY_MSG_FILMNEGATIVE_REF_SPOT;FN - Reference input HISTORY_MSG_FILMNEGATIVE_VALUES;Film negative values +HISTORY_MSG_GAMUTMUNSEL;Gamut-Munsell HISTORY_MSG_HISTMATCHING;Auto-matched tone curve HISTORY_MSG_HLBL;Color propagation - blur +HISTORY_MSG_ICL_LABGRIDCIEXY;Cie xy +HISTORY_MSG_ICM_AINTENT;Abstract profile intent +HISTORY_MSG_ICM_BLUX;Primaries Blue X +HISTORY_MSG_ICM_BLUY;Primaries Blue Y +HISTORY_MSG_ICM_FBW;Black and White +HISTORY_MSG_ICM_GAMUT;Gamut control +HISTORY_MSG_ICM_GREX;Primaries Green X +HISTORY_MSG_ICM_GREY;Primaries Green Y HISTORY_MSG_ICM_OUTPUT_PRIMARIES;Output - Primaries HISTORY_MSG_ICM_OUTPUT_TEMP;Output - ICC-v4 illuminant D HISTORY_MSG_ICM_OUTPUT_TYPE;Output - Type -HISTORY_MSG_ICM_WORKING_GAMMA;Working - Gamma -HISTORY_MSG_ICM_WORKING_SLOPE;Working - Slope -HISTORY_MSG_ICM_WORKING_TRC_METHOD;Working - TRC method -HISTORY_MSG_ILLUM;Illuminant +HISTORY_MSG_ICM_PRESER;Preserve neutral +HISTORY_MSG_ICM_REDX;Primaries Red X +HISTORY_MSG_ICM_REDY;Primaries Red Y +HISTORY_MSG_ICM_WORKING_GAMMA;TRC - Gamma +HISTORY_MSG_ICM_WORKING_ILLUM_METHOD;Illuminant method +HISTORY_MSG_ICM_WORKING_PRIM_METHOD;Primaries method +HISTORY_MSG_ICM_WORKING_SLOPE;TRC - Slope +HISTORY_MSG_ICM_WORKING_TRC_METHOD;TRC method +HISTORY_MSG_ILLUM;CAL - SC - Illuminant HISTORY_MSG_LOCALCONTRAST_AMOUNT;Local Contrast - Amount HISTORY_MSG_LOCALCONTRAST_DARKNESS;Local Contrast - Darkness HISTORY_MSG_LOCALCONTRAST_ENABLED;Local Contrast HISTORY_MSG_LOCALCONTRAST_LIGHTNESS;Local Contrast - Lightness HISTORY_MSG_LOCALCONTRAST_RADIUS;Local Contrast - Radius +HISTORY_MSG_LOCAL_GAMUTMUNSEL;Local - Gamut-Munsell HISTORY_MSG_METADATA_MODE;Metadata copy mode HISTORY_MSG_MICROCONTRAST_CONTRAST;Microcontrast - Contrast threshold HISTORY_MSG_PDSHARPEN_AUTO_CONTRAST;CS - Auto threshold @@ -1360,6 +1463,7 @@ HISTORY_MSG_PERSP_METHOD;Perspective - Method HISTORY_MSG_PERSP_PROJ_ANGLE;Perspective - Recovery HISTORY_MSG_PERSP_PROJ_ROTATE;Perspective - PCA rotation HISTORY_MSG_PERSP_PROJ_SHIFT;Perspective - PCA +HISTORY_MSG_PIXELSHIFT_AVERAGE;PS - Average HISTORY_MSG_PIXELSHIFT_DEMOSAIC;PS - Demosaic method for motion HISTORY_MSG_PREPROCESS_LINEDENOISE_DIRECTION;Line noise filter direction HISTORY_MSG_PREPROCESS_PDAFLINESFILTER;PDAF lines filter @@ -1371,6 +1475,8 @@ HISTORY_MSG_RAWCACORR_AUTOIT;Raw CA Correction - Iterations HISTORY_MSG_RAWCACORR_COLORSHIFT;Raw CA Correction - Avoid color shift HISTORY_MSG_RAW_BORDER;Raw border HISTORY_MSG_RESIZE_ALLOWUPSCALING;Resize - Allow upscaling +HISTORY_MSG_RESIZE_LONGEDGE;Resize - Long Edge +HISTORY_MSG_RESIZE_SHORTEDGE;Resize - Short Edge HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius HISTORY_MSG_SHARPENING_CONTRAST;Sharpening - Contrast threshold HISTORY_MSG_SH_COLORSPACE;S/H - Colorspace @@ -1380,25 +1486,29 @@ HISTORY_MSG_SIGMAFIN;Final contrast Attenuation response HISTORY_MSG_SIGMATON;Toning Attenuation response HISTORY_MSG_SOFTLIGHT_ENABLED;Soft light HISTORY_MSG_SOFTLIGHT_STRENGTH;Soft light - Strength +HISTORY_MSG_SPOT;Spot removal +HISTORY_MSG_SPOT_ENTRY;Spot removal - Point modif. HISTORY_MSG_TEMPOUT;CAM02 automatic temperature HISTORY_MSG_THRESWAV;Balance threshold HISTORY_MSG_TM_FATTAL_ANCHOR;DRC - Anchor -HISTORY_MSG_TRANS_Method;Geometry - Method +HISTORY_MSG_TRANS_METHOD;Geometry - Method HISTORY_MSG_WAVBALCHROM;Equalizer chrominance HISTORY_MSG_WAVBALLUM;Equalizer luminance HISTORY_MSG_WAVBL;Blur levels +HISTORY_MSG_WAVCHR;Blur levels - blur chroma HISTORY_MSG_WAVCHROMCO;Chroma coarse HISTORY_MSG_WAVCHROMFI;Chroma fine HISTORY_MSG_WAVCLARI;Clarity HISTORY_MSG_WAVDENLH;Level 5 -HISTORY_MSG_WAVDENMET;Local equalizer HISTORY_MSG_WAVDENOISE;Local contrast HISTORY_MSG_WAVDENOISEH;High levels Local contrast HISTORY_MSG_WAVDETEND;Details soft HISTORY_MSG_WAVEDGS;Edge stopping HISTORY_MSG_WAVGUIDH;Local contrast-Hue equalizer HISTORY_MSG_WAVHUE;Equalizer hue +HISTORY_MSG_WAVLABGRID_VALUE;Toning - exclude colors HISTORY_MSG_WAVLEVDEN;High level local contrast +HISTORY_MSG_WAVLEVELSIGM;Denoise - radius HISTORY_MSG_WAVLEVSIGM;Radius HISTORY_MSG_WAVLIMDEN;Interaction 56 14 HISTORY_MSG_WAVLOWTHR;Threshold low contrast @@ -1425,7 +1535,7 @@ HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s HISTORY_SNAPSHOT;Snapshot HISTORY_SNAPSHOTS;Snapshots ICCPROFCREATOR_COPYRIGHT;Copyright: -ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to "RawTherapee, CC0" +ICCPROFCREATOR_COPYRIGHT_RESET_TOOLTIP;Reset to the default copyright, granted to 'RawTherapee, CC0'. ICCPROFCREATOR_CUSTOM;Custom ICCPROFCREATOR_DESCRIPTION;Description: ICCPROFCREATOR_DESCRIPTION_ADDPARAM;Append gamma and slope values to the description @@ -1437,6 +1547,7 @@ ICCPROFCREATOR_ILL_41;D41 ICCPROFCREATOR_ILL_50;D50 ICCPROFCREATOR_ILL_55;D55 ICCPROFCREATOR_ILL_60;D60 +ICCPROFCREATOR_ILL_63;D63 : DCI-P3 Theater ICCPROFCREATOR_ILL_65;D65 ICCPROFCREATOR_ILL_80;D80 ICCPROFCREATOR_ILL_DEF;Default @@ -1451,6 +1562,7 @@ ICCPROFCREATOR_PRIM_BETA;BetaRGB ICCPROFCREATOR_PRIM_BLUX;Blue X ICCPROFCREATOR_PRIM_BLUY;Blue Y ICCPROFCREATOR_PRIM_BRUCE;BruceRGB +ICCPROFCREATOR_PRIM_DCIP3;DCI-P3 ICCPROFCREATOR_PRIM_GREX;Green X ICCPROFCREATOR_PRIM_GREY;Green Y ICCPROFCREATOR_PRIM_PROPH;Prophoto @@ -1465,6 +1577,7 @@ ICCPROFCREATOR_PROF_V4;ICC v4 ICCPROFCREATOR_SAVEDIALOG_TITLE;Save ICC profile as... ICCPROFCREATOR_SLOPE;Slope ICCPROFCREATOR_TRC_PRESET;Tone response curve +INSPECTOR_WINDOW_TITLE;Inspector IPTCPANEL_CATEGORY;Category IPTCPANEL_CATEGORYHINT;Identifies the subject of the image in the opinion of the provider. IPTCPANEL_CITY;City @@ -1483,7 +1596,7 @@ IPTCPANEL_CREDITHINT;Enter who should be credited when this image is published. IPTCPANEL_DATECREATED;Date created IPTCPANEL_DATECREATEDHINT;Enter the Date the image was taken. IPTCPANEL_DESCRIPTION;Description -IPTCPANEL_DESCRIPTIONHINT;Enter a "caption" describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. +IPTCPANEL_DESCRIPTIONHINT;Enter a 'caption' describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image. IPTCPANEL_DESCRIPTIONWRITER;Description writer IPTCPANEL_DESCRIPTIONWRITERHINT;Enter the name of the person involved in writing, editing or correcting the description of the image. IPTCPANEL_EMBEDDED;Embedded @@ -1516,7 +1629,7 @@ MAIN_BUTTON_PREFERENCES;Preferences MAIN_BUTTON_PUTTOQUEUE_TOOLTIP;Put current image to processing queue.\nShortcut: Ctrl+b MAIN_BUTTON_SAVE_TOOLTIP;Save current image.\nShortcut: Ctrl+s\nSave current profile (.pp3).\nShortcut: Ctrl+Shift+s MAIN_BUTTON_SENDTOEDITOR;Edit image in external editor -MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;Edit current image in external editor.\nShortcut: Ctrl+e +MAIN_BUTTON_SENDTOEDITOR_TOOLTIP;Edit current image in external editor.\nShortcut: Ctrl+e\nCurrent editor: MAIN_BUTTON_SHOWHIDESIDEPANELS_TOOLTIP;Show/hide all side panels.\nShortcut: m MAIN_BUTTON_UNFULLSCREEN;Exit fullscreen MAIN_FRAME_EDITOR;Editor @@ -1542,7 +1655,7 @@ MAIN_MSG_PATHDOESNTEXIST;The path\n\n%1\n\ndoes not exist. Please set a c MAIN_MSG_QOVERWRITE;Do you want to overwrite it? MAIN_MSG_SETPATHFIRST;You first have to set a target path in Preferences in order to use this function! MAIN_MSG_TOOMANYOPENEDITORS;Too many open editors.\nPlease close an editor to continue. -MAIN_MSG_WRITEFAILED;Failed to write\n"%1"\n\nMake sure that the folder exists and that you have write permission to it. +MAIN_MSG_WRITEFAILED;Failed to write\n'%1'\n\nMake sure that the folder exists and that you have write permission to it. MAIN_TAB_ADVANCED;Advanced MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-a MAIN_TAB_COLOR;Color @@ -1600,16 +1713,16 @@ NAVIGATOR_S;S: NAVIGATOR_V;V: NAVIGATOR_XY_FULL;Width: %1, Height: %2 NAVIGATOR_XY_NA;x: --, y: -- -OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. -OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. -OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead. +OPTIONS_BUNDLED_MISSING;The bundled profile '%1' could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead. +OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. +OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n'%1' will be used instead. PARTIALPASTE_ADVANCEDGROUP;Advanced Settings PARTIALPASTE_BASICGROUP;Basic Settings PARTIALPASTE_CACORRECTION;Chromatic aberration correction PARTIALPASTE_CHANNELMIXER;Channel mixer PARTIALPASTE_CHANNELMIXERBW;Black-and-white PARTIALPASTE_COARSETRANS;Coarse rotation/flipping -PARTIALPASTE_COLORAPP;CIECAM02/16 +PARTIALPASTE_COLORAPP;Color Appearance & Lighting PARTIALPASTE_COLORGROUP;Color Related Settings PARTIALPASTE_COLORTONING;Color toning PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto-fill @@ -1632,6 +1745,7 @@ PARTIALPASTE_EXPOSURE;Exposure PARTIALPASTE_FILMNEGATIVE;Film negative PARTIALPASTE_FILMSIMULATION;Film simulation PARTIALPASTE_FLATFIELDAUTOSELECT;Flat-field auto-selection +PARTIALPASTE_FLATFIELDFROMMETADATA;Flat-field from Metadata PARTIALPASTE_FLATFIELDBLURRADIUS;Flat-field blur radius PARTIALPASTE_FLATFIELDBLURTYPE;Flat-field blur type PARTIALPASTE_FLATFIELDCLIPCONTROL;Flat-field clip control @@ -1647,7 +1761,6 @@ PARTIALPASTE_LENSPROFILE;Profiled lens correction PARTIALPASTE_LOCALCONTRAST;Local contrast PARTIALPASTE_LOCALLAB;Local Adjustments PARTIALPASTE_LOCALLABGROUP;Local Adjustments Settings -PARTIALPASTE_LOCGROUP;Local PARTIALPASTE_METADATA;Metadata mode PARTIALPASTE_METAGROUP;Metadata settings PARTIALPASTE_PCVIGNETTE;Vignette filter @@ -1682,6 +1795,7 @@ PARTIALPASTE_SHARPENEDGE;Edges PARTIALPASTE_SHARPENING;Sharpening (USM/RL) PARTIALPASTE_SHARPENMICRO;Microcontrast PARTIALPASTE_SOFTLIGHT;Soft light +PARTIALPASTE_SPOT;Spot removal PARTIALPASTE_TM_FATTAL;Dynamic range compression PARTIALPASTE_VIBRANCE;Vibrance PARTIALPASTE_VIGNETTING;Vignetting correction @@ -1717,6 +1831,8 @@ PREFERENCES_CHUNKSIZE_RAW_CA;Raw CA correction PREFERENCES_CHUNKSIZE_RAW_RCD;RCD demosaic PREFERENCES_CHUNKSIZE_RAW_XT;Xtrans demosaic PREFERENCES_CHUNKSIZE_RGB;RGB processing +PREFERENCES_CIE;Ciecam +PREFERENCES_CIEARTIF;Avoid artifacts PREFERENCES_CLIPPINGIND;Clipping Indication PREFERENCES_CLUTSCACHE;HaldCLUT Cache PREFERENCES_CLUTSCACHE_LABEL;Maximum number of cached CLUTs @@ -1738,7 +1854,7 @@ PREFERENCES_CURVEBBOXPOS_BELOW;Below PREFERENCES_CURVEBBOXPOS_LEFT;Left PREFERENCES_CURVEBBOXPOS_RIGHT;Right PREFERENCES_CUSTPROFBUILD;Custom Processing Profile Builder -PREFERENCES_CUSTPROFBUILDHINT;Executable (or script) file called when a new initial processing profile should be generated for an image.\n\nThe path of the communication file (*.ini style, a.k.a. "Keyfile") is added as a command line parameter. It contains various parameters required for the scripts and image Exif to allow a rules-based processing profile generation.\n\nWARNING: You are responsible for using double quotes where necessary if you're using paths containing spaces. +PREFERENCES_CUSTPROFBUILDHINT;Executable (or script) file called when a new initial processing profile should be generated for an image.\n\nThe path of the communication file (*.ini style, a.k.a. 'Keyfile') is added as a command line parameter. It contains various parameters required for the scripts and image Exif to allow a rules-based processing profile generation.\n\nWARNING: You are responsible for using double quotes where necessary if you're using paths containing spaces. PREFERENCES_CUSTPROFBUILDKEYFORMAT;Keys format PREFERENCES_CUSTPROFBUILDKEYFORMAT_NAME;Name PREFERENCES_CUSTPROFBUILDKEYFORMAT_TID;TagID @@ -1757,7 +1873,17 @@ PREFERENCES_DIRSELECTDLG;Select Image Directory at Startup... PREFERENCES_DIRSOFTWARE;Installation directory PREFERENCES_EDITORCMDLINE;Custom command line PREFERENCES_EDITORLAYOUT;Editor layout +PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE;Bypass output profile +PREFERENCES_EXTEDITOR_DIR;Output directory +PREFERENCES_EXTEDITOR_DIR_CURRENT;Same as input image +PREFERENCES_EXTEDITOR_DIR_CUSTOM;Custom +PREFERENCES_EXTEDITOR_DIR_TEMP;OS temp dir +PREFERENCES_EXTEDITOR_FLOAT32;32-bit float TIFF output PREFERENCES_EXTERNALEDITOR;External Editor +PREFERENCES_EXTERNALEDITOR_CHANGE;Change Application +PREFERENCES_EXTERNALEDITOR_CHANGE_FILE;Change Executable +PREFERENCES_EXTERNALEDITOR_COLUMN_NAME;Name +PREFERENCES_EXTERNALEDITOR_COLUMN_COMMAND;Command PREFERENCES_FBROWSEROPTS;File Browser / Thumbnail Options PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Compact toolbars in File Browser PREFERENCES_FLATFIELDFOUND;Found @@ -1786,11 +1912,11 @@ PREFERENCES_INTERNALTHUMBIFUNTOUCHED;Show embedded JPEG thumbnail if raw is uned PREFERENCES_LANG;Language PREFERENCES_LANGAUTODETECT;Use system language PREFERENCES_MAXRECENTFOLDERS;Maximum number of recent folders -PREFERENCES_MENUGROUPEXTPROGS;Group "Open with" -PREFERENCES_MENUGROUPFILEOPERATIONS;Group "File operations" -PREFERENCES_MENUGROUPLABEL;Group "Color label" -PREFERENCES_MENUGROUPPROFILEOPERATIONS;Group "Processing profile operations" -PREFERENCES_MENUGROUPRANK;Group "Rank" +PREFERENCES_MENUGROUPEXTPROGS;Group 'Open with' +PREFERENCES_MENUGROUPFILEOPERATIONS;Group 'File operations' +PREFERENCES_MENUGROUPLABEL;Group 'Color label' +PREFERENCES_MENUGROUPPROFILEOPERATIONS;Group 'Processing profile operations' +PREFERENCES_MENUGROUPRANK;Group 'Rank' PREFERENCES_MENUOPTIONS;Context Menu Options PREFERENCES_METADATA;Metadata PREFERENCES_METADATA_SYNC;Metadata synchronization with XMP sidecars @@ -1837,7 +1963,7 @@ PREFERENCES_PRTINTENT;Rendering intent PREFERENCES_PRTPROFILE;Color profile PREFERENCES_PSPATH;Adobe Photoshop installation directory PREFERENCES_REMEMBERZOOMPAN;Remember zoom % and pan offset -PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in "Single Editor Tab Mode" and when "Demosaicing method used for the preview at <100% zoom" is set to "As in PP3". +PREFERENCES_REMEMBERZOOMPAN_TOOLTIP;Remember the zoom % and pan offset of the current image when opening a new image.\n\nThis option only works in 'Single Editor Tab Mode' and when 'Demosaicing method used for the preview at <100% zoom' is set to 'As in PP3'. PREFERENCES_SAVE_TP_OPEN_NOW;Save tool collapsed/expanded state now PREFERENCES_SELECTLANG;Select language PREFERENCES_SERIALIZE_TIFF_READ;TIFF Read Settings @@ -1852,7 +1978,7 @@ PREFERENCES_SHOWTOOLTIP;Show Local Adjustments advice tooltips PREFERENCES_SHTHRESHOLD;Threshold for clipped shadows PREFERENCES_SINGLETAB;Single Editor Tab Mode PREFERENCES_SINGLETABVERTAB;Single Editor Tab Mode, Vertical Tabs -PREFERENCES_SND_HELP;Enter a full file path to set a sound, or leave blank for no sound.\nFor system sounds on Windows use "SystemDefault", "SystemAsterisk" etc., and on Linux use "complete", "window-attention" etc. +PREFERENCES_SND_HELP;Enter a full file path to set a sound, or leave blank for no sound.\nFor system sounds on Windows use 'SystemDefault', 'SystemAsterisk' etc., and on Linux use 'complete', 'window-attention' etc. PREFERENCES_SND_LNGEDITPROCDONE;Editor processing done PREFERENCES_SND_QUEUEDONE;Queue processing done PREFERENCES_SND_THRESHOLDSECS;After seconds @@ -1874,14 +2000,14 @@ PREFERENCES_USEBUNDLEDPROFILES;Use bundled profiles PREFERENCES_WORKFLOW;Layout PREFERENCES_XMP_SIDECAR_MODE;XMP sidecar style PREFERENCES_XMP_SIDECAR_MODE_STD;Standard (FILENAME.xmp for FILENAME.ext) -PREFERENCES_XMP_SIDECAR_MODE_EXT;Darktable-like (FILENAME.ext.xmp for FILENAME.ext) +PREFERENCES_XMP_SIDECAR_MODE_EXT;darktable-like (FILENAME.ext.xmp for FILENAME.ext) PREFERENCES_ZOOMONSCROLL;Zoom images by scrolling PROFILEPANEL_COPYPPASTE;Parameters to copy PROFILEPANEL_GLOBALPROFILES;Bundled profiles PROFILEPANEL_LABEL;Processing Profiles PROFILEPANEL_LOADDLGLABEL;Load Processing Parameters... PROFILEPANEL_LOADPPASTE;Parameters to load -PROFILEPANEL_MODE_TIP;Processing profile fill mode.\n\nButton pressed: partial profiles will be converted to full profiles; the missing values will be replaced with hard-coded defaults.\n\nButton released: profiles will be applied as they are, altering only those values which they contain. +PROFILEPANEL_MODE_TOOLTIP;Processing profile fill mode.\n\nButton pressed: partial profiles will be converted to full profiles; the missing values will be replaced with hard-coded defaults.\n\nButton released: profiles will be applied as they are, altering only those values which they contain. PROFILEPANEL_MYPROFILES;My profiles PROFILEPANEL_PASTEPPASTE;Parameters to paste PROFILEPANEL_PCUSTOM;Custom @@ -1957,6 +2083,19 @@ SAVEDLG_WARNFILENAME;File will be named SHCSELECTOR_TOOLTIP;Click right mouse button to reset the position of those 3 sliders. SOFTPROOF_GAMUTCHECK_TOOLTIP;Highlight pixels with out-of-gamut colors with respect to:\n- the printer profile, if one is set and soft-proofing is enabled,\n- the output profile, if a printer profile is not set and soft-proofing is enabled,\n- the monitor profile, if soft-proofing is disabled. SOFTPROOF_TOOLTIP;Soft-proofing simulates the appearance of the image:\n- when printed, if a printer profile is set in Preferences > Color Management,\n- when viewed on a display that uses the current output profile, if a printer profile is not set. +SORT_ASCENDING;Ascending +SORT_BY_NAME;By Name +SORT_BY_DATE;By Date +SORT_BY_EXIF;By EXIF +SORT_BY_RANK;By Rank +SORT_BY_LABEL;By Color Label +SORT_DESCENDING;Descending +TC_PRIM_BLUX;Bx +TC_PRIM_BLUY;By +TC_PRIM_GREX;Gx +TC_PRIM_GREY;Gy +TC_PRIM_REDX;Rx +TC_PRIM_REDY;Ry THRESHOLDSELECTOR_B;Bottom THRESHOLDSELECTOR_BL;Bottom-left THRESHOLDSELECTOR_BR;Bottom-right @@ -2004,7 +2143,7 @@ TP_BWMIX_MET_LUMEQUAL;Luminance Equalizer TP_BWMIX_MIXC;Channel Mixer TP_BWMIX_NEUTRAL;Reset TP_BWMIX_RGBLABEL;R: %1%% G: %2%% B: %3%% Total: %4%% -TP_BWMIX_RGBLABEL_HINT;Final RGB factors that take care of all the mixer options.\n"Total" displays the sum of the RGB values:\n- always 100% in relative mode\n- higher (lighter) or lower (darker) than 100% in absolute mode. +TP_BWMIX_RGBLABEL_HINT;Final RGB factors that take care of all the mixer options.\n'Total' displays the sum of the RGB values:\n- always 100% in relative mode\n- higher (lighter) or lower (darker) than 100% in absolute mode. TP_BWMIX_RGB_TOOLTIP;Mix the RGB channels. Use presets for guidance.\nPay attention to negative values that may cause artifacts or erratic behavior. TP_BWMIX_SETTING;Presets TP_BWMIX_SETTING_TOOLTIP;Different presets (film, landscape, etc.) or manual Channel Mixer settings. @@ -2054,39 +2193,38 @@ TP_COLORAPP_ALGO_TOOLTIP;Lets you choose between parameter subsets or all parame TP_COLORAPP_BADPIXSL;Hot/bad pixel filter TP_COLORAPP_BADPIXSL_TOOLTIP;Suppression of hot/bad (brightly colored) pixels.\n0 = No effect\n1 = Median\n2 = Gaussian.\nAlternatively, adjust the image to avoid very dark shadows.\n\nThese artifacts are due to limitations of CIECAM02. TP_COLORAPP_BRIGHT;Brightness (Q) -TP_COLORAPP_BRIGHT_TOOLTIP;Brightness in CIECAM02/16 is the amount of perceived light emanating from a stimulus and differs from L*a*b* and RGB brightness. +TP_COLORAPP_BRIGHT_TOOLTIP;Brightness in CIECAM is the amount of perceived light emanating from a stimulus. It differs from L*a*b* and RGB brightness. TP_COLORAPP_CAT02ADAPTATION_TOOLTIP;When setting manually, values above 65 are recommended. -TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on ‘Scene conditions’ and basic illuminant on the one hand, and on basic illuminant and ‘Viewing conditions’ on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The ‘Scene conditions’, ‘Image adjustments’ and ‘Viewing conditions’ settings are neutralized.\n\nMixed – Same as the ‘Classic’ option but in this case, the chromatic adaptation is based on the white balance. -TP_COLORAPP_CATMOD;Cat02/16 mode TP_COLORAPP_CATCLASSIC;Classic +TP_COLORAPP_CATMET_TOOLTIP;Classic - traditional CIECAM operation. The chromatic adaptation transforms are applied separately on 'Scene conditions' and basic illuminant on the one hand, and on basic illuminant and 'Viewing conditions' on the other.\n\nSymmetric – The chromatic adaptation is based on the white balance. The 'Scene conditions', 'Image adjustments' and 'Viewing conditions' settings are neutralized.\n\nMixed – Same as the 'Classic' option but in this case, the chromatic adaptation is based on the white balance. +TP_COLORAPP_CATMOD;Mode TP_COLORAPP_CATSYMGEN;Automatic Symmetric TP_COLORAPP_CATSYMSPE;Mixed TP_COLORAPP_CHROMA;Chroma (C) TP_COLORAPP_CHROMA_M;Colorfulness (M) -TP_COLORAPP_CHROMA_M_TOOLTIP;Colorfulness in CIECAM02/16 is the perceived amount of hue in relation to gray, an indicator that a stimulus appears to be more or less colored. +TP_COLORAPP_CHROMA_M_TOOLTIP;Colorfulness in CIECAM is the perceived amount of hue in relation to gray, an indicator that a stimulus appears to be more or less colored. TP_COLORAPP_CHROMA_S;Saturation (S) -TP_COLORAPP_CHROMA_S_TOOLTIP;Saturation in CIECAM02/16 corresponds to the color of a stimulus in relation to its own brightness, differs from L*a*b* and RGB saturation. -TP_COLORAPP_CHROMA_TOOLTIP;Chroma in CIECAM02/16 corresponds to the color of a stimulus relative to the clarity of a stimulus that appears white under identical conditions, differs from L*a*b* and RGB chroma. -TP_COLORAPP_CIECAT_DEGREE;CAT02/16 adaptation +TP_COLORAPP_CHROMA_S_TOOLTIP;Saturation in CIECAM corresponds to the color of a stimulus in relation to its own brightness. It differs from L*a*b* and RGB saturation. +TP_COLORAPP_CHROMA_TOOLTIP;Chroma in CIECAM corresponds to the color of a stimulus relative to the clarity of a stimulus that appears white under identical conditions. It differs from L*a*b* and RGB chroma. +TP_COLORAPP_CIECAT_DEGREE;Adaptation TP_COLORAPP_CONTRAST;Contrast (J) TP_COLORAPP_CONTRAST_Q;Contrast (Q) -TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast (Q) in CIECAM02/16 is based on brightness, differs from L*a*b* and RGB contrast. -TP_COLORAPP_CONTRAST_TOOLTIP;Contrast (J) in CIECAM02/16 is based on lightness, differs from L*a*b* and RGB contrast. +TP_COLORAPP_CONTRAST_Q_TOOLTIP;Contrast (Q) in CIECAM is based on brightness. It differs from L*a*b* and RGB contrast. +TP_COLORAPP_CONTRAST_TOOLTIP;Contrast (J) in CIECAM is based on lightness. It 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/16.\nIf the "CIECAM02/16 output histograms in curves" checkbox is enabled, shows the histogram of J or Q after CIECAM02/16.\n\nJ and Q are not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel. +TP_COLORAPP_CURVEEDITOR1_TOOLTIP;Shows the histogram of L* (L*a*b*) before CIECAM.\nIf the 'Show CIECAM output histograms in CAL curves' checkbox is enabled, shows the histogram of J after CIECAM.\n\nJ is not shown in the main histogram panel.\n\nFor final output refer to the main histogram panel. TP_COLORAPP_CURVEEDITOR2;Tone curve 2 -TP_COLORAPP_CURVEEDITOR2_TOOLTIP;Same usage as with the second exposure tone curve. +TP_COLORAPP_CURVEEDITOR2_TOOLTIP;Same usage as with the first J(J) tone curve. TP_COLORAPP_CURVEEDITOR3;Color curve -TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Adjust either chroma, saturation or colorfulness.\n\nShows the histogram of chromaticity (L*a*b*) before CIECAM02/16.\nIf the "CIECAM02/16 output histograms in curves" checkbox is enabled, shows the histogram of C, S or M after CIECAM02/16.\n\nC, S and M are not shown in the main histogram panel.\nFor final output refer to the main histogram panel. -TP_COLORAPP_DATACIE;CIECAM02/16 output histograms in curves -TP_COLORAPP_DATACIE_TOOLTIP;When enabled, histograms in CIECAM02/16 curves show approximate values/ranges for J or Q, and C, s or M after the CIECAM02/16 adjustments.\nThis selection does not impact the main histogram panel.\n\nWhen disabled, histograms in CIECAM02/16 curves show L*a*b* values before CIECAM02/16 adjustments. -TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation, it converts the values of an image whose white point is that of a given illuminant (for example D65), into new values whose white point is that of the new illuminant - see WP Model (for example D50 or D55). -TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation, it converts the values of an image whose white point is that of a given illuminant (for example D50), into new values whose white point is that of the new illuminant - see WP model (for example D75). +TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Adjust either chroma, saturation or colorfulness.\n\nShows the histogram of chromaticity (L*a*b*) before CIECAM.\nIf the 'Show CIECAM output histograms in CAL curves' checkbox is enabled, shows the histogram of C, S or M after CIECAM.\n\nC, S and M are not shown in the main histogram panel.\nFor final output refer to the main histogram panel. +TP_COLORAPP_DATACIE;Show CIECAM output histograms in CAL curves +TP_COLORAPP_DATACIE_TOOLTIP;Affects histograms shown in Color Appearance & Lightning curves. Does not affect RawTherapee's main histogram.\n\nEnabled: show approximate values for J and C, S or M after the CIECAM adjustments.\nDisabled: show L*a*b* values before CIECAM adjustments. +TP_COLORAPP_DEGREE_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D65) into new values whose white point is that of the new illuminant - see WP model (for example D50 or D55). +TP_COLORAPP_DEGREOUT_TOOLTIP;CAT02/16 is a chromatic adaptation. It converts the values of an image whose white point is that of a given illuminant (for example D50) into new values whose white point is that of the new illuminant - see WP model (for example D75). TP_COLORAPP_FREE;Free temp + tint + CAT02/16 +[output] -TP_COLORAPP_GAMUT;Gamut control (L*a*b*) -TP_COLORAPP_GAMUT_TOOLTIP;Allow gamut control in L*a*b* mode. -TP_COLORAPP_GEN;Settings - Preset -TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance model, which was designed to better simulate how human vision perceives colors under different lighting conditions, e.g., against different backgrounds.\nIt takes into account the environment of each color and modifies its appearance to get as close as possible to human perception.\nIt also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. +TP_COLORAPP_GAMUT;Use gamut control in L*a*b* mode +TP_COLORAPP_GEN;Settings +TP_COLORAPP_GEN_TOOLTIP;This module is based on the CIECAM color appearance models, which were designed to better simulate how human vision perceives colors under different lighting conditions, e.g. against different backgrounds. It takes into account the environment of each color and modifies its appearance to get as close as possible to human perception. It also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic appearance is preserved across the scene and display environments. TP_COLORAPP_HUE;Hue (h) TP_COLORAPP_HUE_TOOLTIP;Hue (h) is the degree to which a stimulus can be described as similar to a color described as red, green, blue and yellow. TP_COLORAPP_IL41;D41 @@ -2099,34 +2237,32 @@ TP_COLORAPP_ILA;Incandescent StdA 2856K TP_COLORAPP_ILFREE;Free TP_COLORAPP_ILLUM;Illuminant TP_COLORAPP_ILLUM_TOOLTIP;Select the illuminant closest to the shooting conditions.\nIn general D50, but it can change depending on the time and latitude. -TP_COLORAPP_LABEL;Color Appearance & Lighting (CIECAM02/16) +TP_COLORAPP_LABEL;Color Appearance & Lighting TP_COLORAPP_LABEL_CAM02;Image Adjustments TP_COLORAPP_LABEL_SCENE;Scene Conditions TP_COLORAPP_LABEL_VIEWING;Viewing Conditions TP_COLORAPP_LIGHT;Lightness (J) -TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM02/16 is the clarity of a stimulus relative to the clarity of a stimulus that appears white under similar viewing conditions, differs from L*a*b* and RGB lightness. +TP_COLORAPP_LIGHT_TOOLTIP;Lightness in CIECAM is the clarity of a stimulus relative to the clarity of a stimulus that appears white under similar viewing conditions. It differs from L*a*b* and RGB lightness. TP_COLORAPP_MEANLUMINANCE;Mean luminance (Yb%) -TP_COLORAPP_MODEL;WP Model -TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\nWB [RT] + [output]: RT's white balance is used for the scene, CIECAM02/16 is set to D50, and the output device's white balance is set in Viewing Conditions.\n\nWB [RT+CAT02/16] + [output]: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\nFree temp + tint + CAT02/16 + [output]: temp and tint are selected by the user, the output device's white balance is set in Viewing Conditions. -TP_COLORAPP_MODELCAT;CAM Model -TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CIECAM02 or CIECAM16.\n CIECAM02 will sometimes be more accurate.\n CIECAM16 should generate fewer artifacts -TP_COLORAPP_MOD02;CIECAM02 -TP_COLORAPP_MOD16;CIECAM16 +TP_COLORAPP_MOD02;CAM02 +TP_COLORAPP_MOD16;CAM16 +TP_COLORAPP_MODEL;WP model +TP_COLORAPP_MODELCAT;CAM +TP_COLORAPP_MODELCAT_TOOLTIP;Allows you to choose between CAM02 or CAM16.\nCAM02 will sometimes be more accurate.\nCAM16 should generate fewer artifacts. +TP_COLORAPP_MODEL_TOOLTIP;White-Point Model.\n\nWB [RT] + [output]: RT's white balance is used for the scene, CIECAM is set to D50, and the output device's white balance is set in Viewing Conditions.\n\nWB [RT+CAT02/16] + [output]: RT's white balance settings are used by CAT02 and the output device's white balance is set in Viewing Conditions.\n\nFree temp + tint + CAT02/16 + [output]: temp and tint are selected by the user, the 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_PRESETCAT02;Preset cat02/16 automatic - Symmetric mode -TP_COLORAPP_PRESETCAT02_TIP;Set combobox, sliders, temp, green so that Cat02/16 automatic is preset.\nYou can change illuminant shooting conditions.\nYou must change Cat02/16 adaptation Viewing conditions if needed.\nYou can change Temperature and Tint Viewing conditions if needed, and other settings if needed.\nAll auto checkbox are disabled +TP_COLORAPP_NEUTRAL_TOOLTIP;Reset all sliders checkbox and curves to their default values. TP_COLORAPP_RSTPRO;Red & skin-tones protection TP_COLORAPP_RSTPRO_TOOLTIP;Red & skin-tones protection affects both sliders and curves. -TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a "normal" area. Normal" means average or standard conditions and data, i.e. without taking into account CIECAM corrections. +TP_COLORAPP_SOURCEF_TOOLTIP;Corresponds to the shooting conditions and how to bring the conditions and data back to a 'normal' area. Normal means average or standard conditions and data, i.e. without taking into account CIECAM corrections. TP_COLORAPP_SURROUND;Surround -TP_COLORAPP_SURROUNDSRC;Surround - Scene Lighting +TP_COLORAPP_SURROUNDSRC;Surround TP_COLORAPP_SURROUND_AVER;Average TP_COLORAPP_SURROUND_DARK;Dark TP_COLORAPP_SURROUND_DIM;Dim TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet) -TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. -TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment. The image will become slightly bright.\n\nDark: Dark environment. The image will become more bright.\n\nExtremly Dark: Extremly dark environment. The image will become very bright. +TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device. The darker the viewing conditions, the darker the image will become. Image brightness will not be changed when the viewing conditions are set to average. +TP_COLORAPP_SURSOURCE_TOOLTIP;Changes tones and colors to take into account the surround conditions of the scene lighting. The darker the surround conditions, the brighter the image will become. Image brightness will not be changed when the surround is set to average. TP_COLORAPP_TCMODE_BRIGHTNESS;Brightness TP_COLORAPP_TCMODE_CHROMA;Chroma TP_COLORAPP_TCMODE_COLORF;Colorfulness @@ -2136,23 +2272,23 @@ TP_COLORAPP_TCMODE_LABEL3;Curve chroma mode TP_COLORAPP_TCMODE_LIGHTNESS;Lightness TP_COLORAPP_TCMODE_SATUR;Saturation TP_COLORAPP_TEMP2_TOOLTIP;Either symmetrical mode temp = White balance.\nEither select illuminant always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 -TP_COLORAPP_TEMPOUT_TOOLTIP;Disable to change temperature and tint TP_COLORAPP_TEMP_TOOLTIP;To select an illuminant, always set Tint=1.\n\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504 -TP_COLORAPP_TONECIE;Tone mapping using CIECAM02/16 +TP_COLORAPP_TEMPOUT_TOOLTIP;Temperature and Tint.\nDepending on the choices made previously, the selected temperature is:\nWhite balance\nA temp=2856\nD41 temp=4100\nD50 temp=5003\nD55 temp=5503\nD60 temp=6000\nD65 temp=6504\nD75 temp=7504\nFree. +TP_COLORAPP_TONECIE;Use CIECAM for tone mapping 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_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, ...), as well as its environment. This process will take the data coming from process "Image Adjustments" and "bring" it to the support in such a way that the viewing conditions and its environment are taken into account. +TP_COLORAPP_VIEWINGF_TOOLTIP;Takes into account the support on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as its environment. This process will take the data coming from process 'Image Adjustments' and 'bring' it to the support in such a way that the viewing conditions and its environment are taken into account. TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP;Absolute luminance of the viewing environment\n(usually 16 cd/m²). TP_COLORAPP_WBCAM;WB [RT+CAT02/16] + [output] TP_COLORAPP_WBRT;WB [RT] + [output] -TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. A gray at 18% corresponds to a background luminance expressed in CIE L of 50%.\nThis data must take into account the average luminance of the image -TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. A gray at 18% corresponds to a background luminance expressed in CIE L of 50%.\nThis data is calculated from the average luminance of the image +TP_COLORAPP_YBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. +TP_COLORAPP_YBSCEN_TOOLTIP;Yb is the relative luminance of the background, expressed in % of gray. 18% gray corresponds to a background luminance of 50% expressed in CIE L.\nThe data is based on the mean luminance of the image. TP_COLORTONING_AB;o C/L TP_COLORTONING_AUTOSAT;Automatic TP_COLORTONING_BALANCE;Balance TP_COLORTONING_BY;o C/L TP_COLORTONING_CHROMAC;Opacity TP_COLORTONING_COLOR;Color: -TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L) +TP_COLORTONING_CURVEEDITOR_CL_TOOLTIP;Chroma opacity as a function of luminance oC=f(L). TP_COLORTONING_HIGHLIGHT;Highlights TP_COLORTONING_HUE;Hue TP_COLORTONING_LAB;L*a*b* blending @@ -2182,10 +2318,10 @@ TP_COLORTONING_LUMA;Luminance TP_COLORTONING_LUMAMODE;Preserve luminance TP_COLORTONING_LUMAMODE_TOOLTIP;If enabled, when you change color (red, green, cyan, blue, etc.) the luminance of each pixel is preserved. TP_COLORTONING_METHOD;Method -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. +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. TP_COLORTONING_MIDTONES;Midtones TP_COLORTONING_NEUTRAL;Reset sliders -TP_COLORTONING_NEUTRAL_TIP;Reset all values (Shadows, Midtones, Highlights) to default. +TP_COLORTONING_NEUTRAL_TOOLTIP;Reset all values (Shadows, Midtones, Highlights) to default. TP_COLORTONING_OPACITY;Opacity: TP_COLORTONING_RGBCURVES;RGB - Curves TP_COLORTONING_RGBSLIDERS;RGB - Sliders @@ -2204,6 +2340,7 @@ TP_COLORTONING_TWOBY;Special a* and b* TP_COLORTONING_TWOCOLOR_TOOLTIP;Standard chroma:\nLinear response, a* = b*.\n\nSpecial chroma:\nLinear response, a* = b*, but unbound - try under the diagonal.\n\nSpecial a* and b*:\nLinear response unbound with separate curves for a* and b*. Intended for special effects.\n\nSpecial chroma 2 colors:\nMore predictable. TP_COLORTONING_TWOSTD;Standard chroma TP_CROP_FIXRATIO;Lock ratio +TP_CROP_GTCENTEREDSQUARE;Centered square TP_CROP_GTDIAGONALS;Rule of Diagonals TP_CROP_GTEPASSPORT;Biometric Passport TP_CROP_GTFRAME;Frame @@ -2242,7 +2379,7 @@ TP_DIRPYRDENOISE_CHROMINANCE_MANUAL;Manual TP_DIRPYRDENOISE_CHROMINANCE_MASTER;Chrominance - Master TP_DIRPYRDENOISE_CHROMINANCE_METHOD;Method TP_DIRPYRDENOISE_CHROMINANCE_METHODADVANCED_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. -TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the "Preview" method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. +TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Manual\nActs on the full image.\nYou control the noise reduction settings manually.\n\nAutomatic global\nActs on the full image.\n9 zones are used to calculate a global chrominance noise reduction setting.\n\nAutomatic multi-zones\nNo preview - works only during saving, but using the 'Preview' method by matching the tile size and center to the preview size and center you can get an idea of the expected results.\nThe image is divided into tiles (about 10 to 70 depending on image size) and each tile receives its own chrominance noise reduction settings.\n\nPreview\nActs on the whole image.\nThe part of the image visible in the preview is used to calculate global chrominance noise reduction settings. TP_DIRPYRDENOISE_CHROMINANCE_PMZ;Preview multi-zones TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW;Preview TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Displays the remaining noise levels of the part of the image visible in the preview after wavelet.\n\n>300 Very noisy\n100-300 Noisy\n50-100 A little noisy\n<50 Very low noise\n\nBeware, the values will differ between RGB and L*a*b* mode. The RGB values are less accurate because the RGB mode does not completely separate luminance and chrominance. @@ -2273,7 +2410,7 @@ TP_DIRPYRDENOISE_MEDIAN_METHOD_LAB;L*a*b* TP_DIRPYRDENOISE_MEDIAN_METHOD_LABEL;Median Filter TP_DIRPYRDENOISE_MEDIAN_METHOD_LUMINANCE;Luminance only TP_DIRPYRDENOISE_MEDIAN_METHOD_RGB;RGB -TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the "Luminance only" and "L*a*b*" methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the "RGB" mode, it will be performed at the very end of the noise reduction pipeline. +TP_DIRPYRDENOISE_MEDIAN_METHOD_TOOLTIP;When using the 'Luminance only' and 'L*a*b*' methods, median filtering will be performed just after the wavelet step in the noise reduction pipeline.\nWhen using the 'RGB' mode, it will be performed at the very end of the noise reduction pipeline. TP_DIRPYRDENOISE_MEDIAN_METHOD_WEIGHTED;Weighted L* (little) + a*b* (normal) TP_DIRPYRDENOISE_MEDIAN_PASSES;Median iterations TP_DIRPYRDENOISE_MEDIAN_PASSES_TOOLTIP;Applying three median filter iterations with a 3×3 window size often leads to better results than using one median filter iteration with a 7×7 window size. @@ -2301,7 +2438,7 @@ TP_DIRPYREQUALIZER_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tone TP_DIRPYREQUALIZER_THRESHOLD;Threshold TP_DIRPYREQUALIZER_TOOLTIP;Attempts to reduce artifacts in the transitions between skin colors (hue, chroma, luma) and the rest of the image. TP_DISTORTION_AMOUNT;Amount -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_DISTORTION_AUTO_TOOLTIP;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_DISTORTION_LABEL;Distortion Correction TP_EPD_EDGESTOPPING;Edge stopping TP_EPD_GAMMA;Gamma @@ -2310,19 +2447,19 @@ TP_EPD_REWEIGHTINGITERATES;Reweighting iterates TP_EPD_SCALE;Scale TP_EPD_STRENGTH;Strength TP_EXPOSURE_AUTOLEVELS;Auto Levels -TP_EXPOSURE_AUTOLEVELS_TIP;Toggles execution of Auto Levels to automatically set Exposure slider values based on an image analysis.\nEnables Highlight Reconstruction if necessary. +TP_EXPOSURE_AUTOLEVELS_TOOLTIP;Toggles execution of Auto Levels to automatically set Exposure slider values based on an image analysis.\nEnables Highlight Reconstruction if necessary. TP_EXPOSURE_BLACKLEVEL;Black TP_EXPOSURE_BRIGHTNESS;Lightness TP_EXPOSURE_CLAMPOOG;Clip out-of-gamut colors TP_EXPOSURE_CLIP;Clip % -TP_EXPOSURE_CLIP_TIP;The fraction of pixels to be clipped in Auto Levels operation. +TP_EXPOSURE_CLIP_TOOLTIP;The fraction of pixels to be clipped in Auto Levels operation. TP_EXPOSURE_COMPRHIGHLIGHTS;Highlight compression TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD;Highlight compression threshold TP_EXPOSURE_COMPRSHADOWS;Shadow compression TP_EXPOSURE_CONTRAST;Contrast TP_EXPOSURE_CURVEEDITOR1;Tone curve 1 TP_EXPOSURE_CURVEEDITOR2;Tone curve 2 -TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Please refer to the "Exposure > Tone Curves" RawPedia article to learn how to achieve the best results by using two tone curves. +TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Please refer to the 'Exposure > Tone Curves' RawPedia article to learn how to achieve the best results by using two tone curves. TP_EXPOSURE_EXPCOMP;Exposure compensation TP_EXPOSURE_HISTMATCHING;Auto-Matched Tone Curve TP_EXPOSURE_HISTMATCHING_TOOLTIP;Automatically adjust sliders and curves (except exposure compensation) to match the look of the embedded JPEG thumbnail. @@ -2344,9 +2481,6 @@ TP_FILMNEGATIVE_COLORSPACE;Inversion color space: TP_FILMNEGATIVE_COLORSPACE_INPUT;Input color space TP_FILMNEGATIVE_COLORSPACE_TOOLTIP;Select the color space used to perform the negative inversion:\nInput color space : perform inversion before the input profile is applied, as in the previous versions of RT.\nWorking color space : perform inversion after input profile, using the currently selected working profile. TP_FILMNEGATIVE_COLORSPACE_WORKING;Working color space -TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 -TP_FILMNEGATIVE_REF_PICK;Pick white balance spot -TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. TP_FILMNEGATIVE_GREEN;Reference exponent TP_FILMNEGATIVE_GREENBALANCE;Magenta/Green TP_FILMNEGATIVE_GUESS_TOOLTIP;Automatically set the red and blue ratios by picking two patches which had a neutral hue (no color) in the original scene. The patches should differ in brightness. @@ -2354,6 +2488,9 @@ TP_FILMNEGATIVE_LABEL;Film Negative TP_FILMNEGATIVE_OUT_LEVEL;Output level TP_FILMNEGATIVE_PICK;Pick neutral spots TP_FILMNEGATIVE_RED;Red ratio +TP_FILMNEGATIVE_REF_LABEL;Input RGB: %1 +TP_FILMNEGATIVE_REF_PICK;Pick white balance spot +TP_FILMNEGATIVE_REF_TOOLTIP;Pick a gray patch for white-balancing the output, positive image. TP_FILMSIMULATION_LABEL;Film Simulation 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_FILMSIMULATION_STRENGTH;Strength @@ -2367,6 +2504,7 @@ TP_FLATFIELD_BT_VERTHORIZ;Vertical + Horizontal TP_FLATFIELD_BT_VERTICAL;Vertical 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, value 0 is used. +TP_FLATFIELD_FROMMETADATA;From Metadata TP_FLATFIELD_LABEL;Flat-Field TP_GENERAL_11SCALE_TOOLTIP;The effects of this tool are only visible or only accurate at a preview scale of 1:1. TP_GRADIENT_CENTER;Center @@ -2384,8 +2522,8 @@ TP_GRADIENT_STRENGTH_TOOLTIP;Filter strength in stops. TP_HLREC_BLEND;Blend TP_HLREC_CIELAB;CIELab Blending TP_HLREC_COLOR;Color Propagation -TP_HLREC_HLBLUR;Blur TP_HLREC_ENA_TOOLTIP;Could be activated by Auto Levels. +TP_HLREC_HLBLUR;Blur TP_HLREC_LABEL;Highlight reconstruction TP_HLREC_LUMINANCE;Luminance Recovery TP_HLREC_METHOD;Method: @@ -2403,7 +2541,10 @@ TP_ICM_APPLYLOOKTABLE_TOOLTIP;Employ the embedded DCP look table. The setting is 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 available 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_FBW;Black-and-White +TP_ICM_GAMUT;Gamut control +TP_ICM_ILLUMPRIM_TOOLTIP;Choose the illuminant closest to the shooting conditions.\nChanges can only be made when the 'Destination primaries' selection is set to 'Custom (sliders)'. 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. @@ -2417,26 +2558,69 @@ TP_ICM_INPUTNONE;No profile TP_ICM_INPUTNONE_TOOLTIP;Use no input color profile at all.\nUse only in special cases. TP_ICM_INPUTPROFILE;Input Profile TP_ICM_LABEL;Color Management +TP_ICM_LABGRID_CIEXY;R(x)=%1 R(y)=%2\nG(x)=%3 G(y)=%4\nB(x)=%5 B(y)=%6 +TP_ICM_NEUTRAL;Reset TP_ICM_NOICM;No ICM: sRGB Output TP_ICM_OUTPUTPROFILE;Output Profile +TP_ICM_OUTPUTPROFILE_TOOLTIP;By default all RTv4 or RTv2 profiles are with TRC - sRGB: g=2.4 s=12.92\n\nWith 'ICC Profile Creator' you can generate v4 or v2 profiles with the following choices;\n-Primaries: Aces AP0, Aces AP1, AdobeRGB, Prophoto, Rec2020, sRGB, Widegamut, BestRGB, BetaRGB, BruceRGB, Custom\n-TRC: BT709, sRGB, linear, standard g=2.2, standard g=1.8, Custom\n-Illuminant: D41, D50, D55, D60, D65, D80, stdA 2856K +TP_ICM_PRIMBLU_TOOLTIP;Primaries Blue:\nsRGB x=0.15 y=0.06\nAdobe x=0.15 y=0.06\nWidegamut x=0.157 y=0.018\nRec2020 x=0.131 y=0.046\nACES P1 x=0.128 y= 0.044\nACES P0 x=0.0001 y=-0.077\nProphoto x=0.0366 y=0.0001\nBruceRGB x=0.15 y=0.06\nBeta RGB x=0.1265 y=0.0352\nBestRGB x=0.131 y=0.046 +TP_ICM_PRIMGRE_TOOLTIP;Primaries Green:\nsRGB x=0.3 y=0.6\nAdobe x=0.21 y=0.71\nWidegamut x=0.115 y=0.826\nRec2020 x=0.17 y=0.797\nACES P1 x=0.165 y= 0.83\nACES P0 x=0.0 y=1.0\nProphoto x=0.1596 y=0.8404\nBruceRGB x=0.28 y=0.65\nBeta RGB x=0.1986 y=0.7551\nBest RGB x=0.2150 0.7750 +TP_ICM_PRIMILLUM_TOOLTIP;You can change an image from its original mode ('working profile') to a different mode ('destination primaries'). When you choose a different color mode for an image, you permanently change the color values in the image.\n\nChanging the 'primaries' is quite complex and difficult to use. It requires a lot of experimenting.\n It is capable of making exotic color adjustments as Channel Mixer primaries.\n Allows you to modify the camera calibration with Custom (sliders). +TP_ICM_PRIMRED_TOOLTIP;Primaries Red:\nsRGB x=0.64 y=0.33\nAdobe x=0.64 y=0.33\nWidegamut x=0.735 y=0.265\nRec2020 x=0.708 y=0.292\nACES P1 x=0.713 y= 0.293\nACES P0 x=0.7347 y=0.2653\nProphoto x=0.7347 y=0.2653\nBruceRGB x=0.64 y=0.33\nBeta RGB x=0.688 y=0.3112\nBestRGB x=0.7347 y=0.2653 TP_ICM_PROFILEINTENT;Rendering Intent +TP_ICM_REDFRAME;Custom Primaries 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 available if the selected DCP has a tone curve. +TP_ICM_TRCFRAME;Abstract Profile +TP_ICM_TRCFRAME_TOOLTIP;Also known as 'synthetic' or 'virtual' profiles, which are applied at the end of the processing pipeline (prior to ciecam) allowing you to create custom image effects.\nYou can make changes to the:\n 'Tone response curve', which modifies the tones of the image.\n 'Illuminant' : which allows you to change the profile primaries to adapt them to the shooting conditions.\n 'Destination primaries': which allows you to change the destination primaries with two main uses - channel mixer and calibration.\nNote: Abstract profiles take into account the built-in Working profiles without modifying them. They do not work with custom Working profiles. +TP_ICM_TRC_TOOLTIP;Allows you to change the default sRGB 'Tone response curve' in RT (g=2.4 s=12.92).\nThis TRC modifies the tones of the image. The RGB and Lab values, histogram and output (screen, TIF, JPG) are changed:\n-Gamma acts mainly on light tones -Slope acts mainly on dark tones.\nYou can choose any pair of 'gamma and slope' (values >1) and the algorithm will ensure that there is continuity between the linear and parabolic parts of the curve.\nA selection other than 'none' activates the 'Illuminant' and 'Destination primaries' menus. TP_ICM_WORKINGPROFILE;Working Profile +TP_ICM_WORKING_CIEDIAG;CIE xy diagram +TP_ICM_WORKING_ILLU;Illuminant +TP_ICM_WORKING_ILLU_1500;Tungsten 1500K +TP_ICM_WORKING_ILLU_2000;Tungsten 2000K +TP_ICM_WORKING_ILLU_D41;D41 +TP_ICM_WORKING_ILLU_D50;D50 +TP_ICM_WORKING_ILLU_D55;D55 +TP_ICM_WORKING_ILLU_D60;D60 +TP_ICM_WORKING_ILLU_D65;D65 +TP_ICM_WORKING_ILLU_D80;D80 +TP_ICM_WORKING_ILLU_D120;D120 +TP_ICM_WORKING_ILLU_NONE;Default +TP_ICM_WORKING_ILLU_STDA;stdA 2875K +TP_ICM_WORKING_PRESER;Preserves Pastel tones +TP_ICM_WORKING_PRIM;Destination primaries +TP_ICM_WORKING_PRIMFRAME_TOOLTIP;When 'Custom CIE xy diagram' is selected in 'Destination- primaries'' combobox, you can modify the values of the 3 primaries directly on the graph.\nNote that in this case, the white point position on the graph will not be updated. +TP_ICM_WORKING_PRIM_AC0;ACESp0 +TP_ICM_WORKING_PRIM_ACE;ACESp1 +TP_ICM_WORKING_PRIM_ADOB;Adobe RGB +TP_ICM_WORKING_PRIM_BET;Beta RGB +TP_ICM_WORKING_PRIM_BRU;BruceRGB +TP_ICM_WORKING_PRIM_BST;BestRGB +TP_ICM_WORKING_PRIM_CUS;Custom (sliders) +TP_ICM_WORKING_PRIM_CUSGR;Custom (CIE xy Diagram) +TP_ICM_WORKING_PRIM_NONE;Default +TP_ICM_WORKING_PRIM_PROP;ProPhoto +TP_ICM_WORKING_PRIM_REC;Rec2020 +TP_ICM_WORKING_PRIM_SRGB;sRGB +TP_ICM_WORKING_PRIM_WID;WideGamut TP_ICM_WORKING_TRC;Tone response curve: +TP_ICM_WORKING_TRC_18;Prophoto g=1.8 +TP_ICM_WORKING_TRC_22;Adobe g=2.2 +TP_ICM_WORKING_TRC_BT709;BT709 g=2.22 s=4.5 TP_ICM_WORKING_TRC_CUSTOM;Custom TP_ICM_WORKING_TRC_GAMMA;Gamma +TP_ICM_WORKING_TRC_LIN;Linear g=1 TP_ICM_WORKING_TRC_NONE;None TP_ICM_WORKING_TRC_SLOPE;Slope +TP_ICM_WORKING_TRC_SRGB;sRGB g=2.4 s=12.92 TP_ICM_WORKING_TRC_TOOLTIP;Only for built-in profiles. TP_IMPULSEDENOISE_LABEL;Impulse Noise Reduction TP_IMPULSEDENOISE_THRESH;Threshold -TP_LABCURVE_AVOIDCOLORSHIFT;Avoid color shift -TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab). TP_LABCURVE_BRIGHTNESS;Lightness TP_LABCURVE_CHROMATICITY;Chromaticity TP_LABCURVE_CHROMA_TOOLTIP;To apply B&W toning, set Chromaticity to -100. @@ -2455,21 +2639,21 @@ TP_LABCURVE_CURVEEDITOR_CC_RANGE1;Neutral TP_LABCURVE_CURVEEDITOR_CC_RANGE2;Dull TP_LABCURVE_CURVEEDITOR_CC_RANGE3;Pastel TP_LABCURVE_CURVEEDITOR_CC_RANGE4;Saturated -TP_LABCURVE_CURVEEDITOR_CC_TOOLTIP;Chromaticity according to chromaticity C=f(C) +TP_LABCURVE_CURVEEDITOR_CC_TOOLTIP;Chromaticity according to chromaticity C=f(C). TP_LABCURVE_CURVEEDITOR_CH;CH -TP_LABCURVE_CURVEEDITOR_CH_TOOLTIP;Chromaticity according to hue C=f(H) +TP_LABCURVE_CURVEEDITOR_CH_TOOLTIP;Chromaticity according to hue C=f(H). TP_LABCURVE_CURVEEDITOR_CL;CL -TP_LABCURVE_CURVEEDITOR_CL_TOOLTIP;Chromaticity according to luminance C=f(L) +TP_LABCURVE_CURVEEDITOR_CL_TOOLTIP;Chromaticity according to luminance C=f(L). TP_LABCURVE_CURVEEDITOR_HH;HH -TP_LABCURVE_CURVEEDITOR_HH_TOOLTIP;Hue according to hue H=f(H) +TP_LABCURVE_CURVEEDITOR_HH_TOOLTIP;Hue according to hue H=f(H). TP_LABCURVE_CURVEEDITOR_LC;LC -TP_LABCURVE_CURVEEDITOR_LC_TOOLTIP;Luminance according to chromaticity L=f(C) +TP_LABCURVE_CURVEEDITOR_LC_TOOLTIP;Luminance according to chromaticity L=f(C). TP_LABCURVE_CURVEEDITOR_LH;LH -TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminance according to hue L=f(H) -TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminance according to luminance L=f(L) +TP_LABCURVE_CURVEEDITOR_LH_TOOLTIP;Luminance according to hue L=f(H). +TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP;Luminance according to luminance L=f(L). TP_LABCURVE_LABEL;L*a*b* Adjustments TP_LABCURVE_LCREDSK;Restrict LC to red and skin-tones -TP_LABCURVE_LCREDSK_TIP;If enabled, the LC Curve affects only red and skin-tones.\nIf disabled, it applies to all tones. +TP_LABCURVE_LCREDSK_TOOLTIP;If enabled, the LC Curve affects only red and skin-tones.\nIf disabled, it applies to all tones. TP_LABCURVE_RSTPROTECTION;Red and skin-tones protection TP_LABCURVE_RSTPRO_TOOLTIP;Works on the Chromaticity slider and the CC curve. TP_LENSGEOM_AUTOCROP;Auto-Crop @@ -2495,18 +2679,20 @@ TP_LOCALCONTRAST_RADIUS;Radius TP_LOCALLAB_ACTIV;Luminance only TP_LOCALLAB_ACTIVSPOT;Enable Spot TP_LOCALLAB_ADJ;Equalizer Color -TP_LOCALLAB_ALL;All rubrics TP_LOCALLAB_AMOUNT;Amount TP_LOCALLAB_ARTIF;Shape detection -TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of deltaE scope. High values are for very wide gamut images.\nIncreasing deltaE decay can improve shape detection, but can also reduce the scope. +TP_LOCALLAB_ARTIF_TOOLTIP;ΔE scope threshold increases the range of ΔE scope. High values are for very wide gamut images.\nIncreasing ΔE decay can improve shape detection, but can also reduce the scope. TP_LOCALLAB_AUTOGRAY;Auto mean luminance (Yb%) +TP_LOCALLAB_AUTOGRAYCIE;Auto TP_LOCALLAB_AVOID;Avoid color shift -TP_LOCALLAB_AVOIDRAD;Soft radius +TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP;Fit colors into gamut of the working color space and apply Munsell correction (Uniform Perceptual Lab).\nMunsell correction always disabled when Jz or CAM16 or Color Appearance and Lighting is used.\n\nDefault: Munsell.\nMunsell correction: fixes Lab mode hue drifts due to non-linearity, when chromaticity is changed (Uniform Perceptual Lab).\nLab: applies a gamut control, in relative colorimetric, Munsell is then applied.\nXYZ Absolute, applies gamut control, in absolute colorimetric, Munsell is then applied.\nXYZ Relative, applies gamut control, in relative colorimetric, Munsell is then applied. TP_LOCALLAB_AVOIDMUN;Munsell correction only +TP_LOCALLAB_AVOIDMUN_TOOLTIP;Munsell correction always disabled when Jz or CAM16 is used. +TP_LOCALLAB_AVOIDRAD;Soft radius TP_LOCALLAB_BALAN;ab-L balance (ΔE) TP_LOCALLAB_BALANEXP;Laplacian balance TP_LOCALLAB_BALANH;C-H balance (ΔE) -TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise +TP_LOCALLAB_BALAN_TOOLTIP;Changes the ΔE algorithm parameters.\nTakes into account more or less a*b* or L*, or more or less C or H.\nNot for Denoise. TP_LOCALLAB_BASELOG;Shadows range (logarithm base) TP_LOCALLAB_BILATERAL;Bilateral filter TP_LOCALLAB_BLACK_EV;Black Ev @@ -2514,8 +2700,8 @@ TP_LOCALLAB_BLCO;Chrominance only TP_LOCALLAB_BLENDMASKCOL;Blend TP_LOCALLAB_BLENDMASKMASK;Add/subtract luma mask TP_LOCALLAB_BLENDMASKMASKAB;Add/subtract chroma mask -TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image -TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image +TP_LOCALLAB_BLENDMASKMASK_TOOLTIP;If this slider = 0 no action.\nAdd or subtract the mask from the original image. +TP_LOCALLAB_BLENDMASK_TOOLTIP;If blend = 0 only shape detection is improved.\nIf blend > 0 the mask is added to the image. If blend < 0 the mask is subtracted from the image. TP_LOCALLAB_BLGUID;Guided Filter TP_LOCALLAB_BLINV;Inverse TP_LOCALLAB_BLLC;Luminance & Chrominance @@ -2524,32 +2710,36 @@ TP_LOCALLAB_BLMED;Median TP_LOCALLAB_BLMETHOD_TOOLTIP;Normal: direct blur and noise with all settings.\nInverse: blur and noise with all settings. Warning, some settings may give curious results. TP_LOCALLAB_BLNOI_EXP;Blur & Noise TP_LOCALLAB_BLNORM;Normal -TP_LOCALLAB_BLSYM;Symmetric TP_LOCALLAB_BLUFR;Blur/Grain & Denoise -TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and ‘Normal’ or ‘Inverse’ in checkbox).\n-Isolate the foreground by using one or more ‘Excluding’ RT-spot(s) and increase the scope.\n\nThis module (including the ‘median’ and ‘Guided filter’) can be used in addition to the main-menu noise reduction +TP_LOCALLAB_BLUMETHOD_TOOLTIP;To blur the background and isolate the foreground:\n-blur the background by completely covering the image with an an RT-spot (high values for scope and transition and 'Normal' or 'Inverse' in checkbox).\n-Isolate the foreground by using one or more 'Excluding' RT-spot(s) and increase the scope.\n\nThis module (including the 'median' and 'Guided filter') can be used in addition to the main-menu noise reduction. TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain -TP_LOCALLAB_BLURCBDL;Blur levels 0-1-2-3-4 TP_LOCALLAB_BLURCOL;Radius TP_LOCALLAB_BLURCOLDE_TOOLTIP;The image used to calculate dE is blurred slightly to avoid taking isolated pixels into account. TP_LOCALLAB_BLURDE;Blur shape detection TP_LOCALLAB_BLURLC;Luminance only TP_LOCALLAB_BLURLEVELFRA;Blur levels TP_LOCALLAB_BLURMASK_TOOLTIP;Uses a large-radius blur to create a mask that allows you to vary the contrast of the image and/or darken/lighten parts of it. -TP_LOCALLAB_BLURRESIDFRA;Blur Residual -TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the "radius" of the Gaussian blur (0 to 1000) +TP_LOCALLAB_BLURRMASK_TOOLTIP;Allows you to vary the 'radius' of the Gaussian blur (0 to 1000). TP_LOCALLAB_BLUR_TOOLNAME;Blur/Grain & Denoise TP_LOCALLAB_BLWH;All changes forced in Black-and-White -TP_LOCALLAB_BLWH_TOOLTIP;Force color components "a" and "b" to zero.\nUseful for black and white processing, or film simulation. +TP_LOCALLAB_BLWH_TOOLTIP;Force color components 'a' and 'b' to zero.\nUseful for black and white processing, or film simulation. TP_LOCALLAB_BUTTON_ADD;Add TP_LOCALLAB_BUTTON_DEL;Delete TP_LOCALLAB_BUTTON_DUPL;Duplicate TP_LOCALLAB_BUTTON_REN;Rename TP_LOCALLAB_BUTTON_VIS;Show/Hide +TP_LOCALLAB_BWFORCE;Uses Black Ev & White Ev +TP_LOCALLAB_CAM16PQREMAP;HDR PQ (Peak Luminance) +TP_LOCALLAB_CAM16PQREMAP_TOOLTIP;PQ (Perceptual Quantizer) adapted to CAM16. Allows you to change the internal PQ function (usually 10000 cd/m2 - default 100 cd/m2 - disabled for 100 cd/m2).\nCan be used to adapt to different devices and images. +TP_LOCALLAB_CAM16_FRA;Cam16 Image Adjustments +TP_LOCALLAB_CAMMODE;CAM model +TP_LOCALLAB_CAMMODE_CAM16;CAM 16 +TP_LOCALLAB_CAMMODE_JZ;Jz Cz Hz TP_LOCALLAB_CATAD;Chromatic adaptation/Cat16 TP_LOCALLAB_CBDL;Contrast by Detail Levels TP_LOCALLAB_CBDLCLARI_TOOLTIP;Enhances local contrast of the midtones. TP_LOCALLAB_CBDL_ADJ_TOOLTIP;Same as wavelets.\nThe first level (0) acts on 2x2 pixel details.\nThe last level (5) acts on 64x64 pixel details. -TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise +TP_LOCALLAB_CBDL_THRES_TOOLTIP;Prevents the sharpening of noise. TP_LOCALLAB_CBDL_TOOLNAME;Contrast by Detail Levels TP_LOCALLAB_CENTER_X;Center X TP_LOCALLAB_CENTER_Y;Center Y @@ -2562,39 +2752,50 @@ TP_LOCALLAB_CHROMACB_TOOLTIP;Increases or reduces the effect depending on the lu TP_LOCALLAB_CHROMALEV;Chroma levels TP_LOCALLAB_CHROMASKCOL;Chroma TP_LOCALLAB_CHROMASK_TOOLTIP;Changes the chroma of the mask if one exists (i.e. C(C) or LC(H) is activated). +TP_LOCALLAB_CHROML;Chroma (C) TP_LOCALLAB_CHRRT;Chroma +TP_LOCALLAB_CIE;Color appearance (Cam16 & JzCzHz) TP_LOCALLAB_CIEC;Use Ciecam environment parameters -TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nThe first Ciecam process 'Scene conditions' is carried out by Log encoding, it also uses 'Absolute luminance' at the time of shooting.\nThe second Ciecam process 'Image adjustments' is simplified and uses only 3 variables (local contrast, contrast J, saturation s).\nThe third Ciecam process 'Viewing conditions' adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. +TP_LOCALLAB_CIECOLORFRA;Color +TP_LOCALLAB_CIECONTFRA;Contrast +TP_LOCALLAB_CIELIGHTCONTFRA;Lighting & Contrast +TP_LOCALLAB_CIELIGHTFRA;Lighting +TP_LOCALLAB_CIEMODE;Change tool position +TP_LOCALLAB_CIEMODE_COM;Default +TP_LOCALLAB_CIEMODE_DR;Dynamic Range +TP_LOCALLAB_CIEMODE_TM;Tone-Mapping +TP_LOCALLAB_CIEMODE_TOOLTIP;In Default mode, Ciecam is added at the end of the process. 'Mask and modifications' and 'Recovery based on luminance mask' are available for'Cam16 and JzCzHz' at your disposal .\nYou can also integrate Ciecam into other tools if you wish (TM, Wavelet, Dynamic Range, Log Encoding). The results for these tools will be different to those without Ciecam. In this mode, you can also use 'Mask and modifications' and 'Recovery based on luminance mask'. +TP_LOCALLAB_CIEMODE_WAV;Wavelet +TP_LOCALLAB_CIETOOLEXP;Curves +TP_LOCALLAB_CIE_TOOLNAME;Color appearance (Cam16 & JzCzHz) TP_LOCALLAB_CIRCRADIUS;Spot size TP_LOCALLAB_CIRCRAD_TOOLTIP;Contains the references of the RT-spot, useful for shape detection (hue, luma, chroma, Sobel).\nLow values may be useful for processing foliage.\nHigh values may be useful for processing skin. TP_LOCALLAB_CLARICRES;Merge chroma TP_LOCALLAB_CLARIFRA;Clarity & Sharp mask/Blend & Soften Images +TP_LOCALLAB_CLARIJZ_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled. TP_LOCALLAB_CLARILRES;Merge luma TP_LOCALLAB_CLARISOFT;Soft radius -TP_LOCALLAB_CLARISOFT_TOOLTIP;The ‘Soft radius’ slider (guided filter algorithm) reduces halos and irregularities for both Clarity and Sharp Mask and for all pyramid wavelet processes. To deactivate, set slider to zero. +TP_LOCALLAB_CLARISOFTJZ_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and Local contrast wavelets Jz. +TP_LOCALLAB_CLARISOFT_TOOLTIP;The 'Soft radius' slider (guided filter algorithm) reduces halos and irregularities for Clarity, Sharp Mask and all wavelet pyramid processes. To deactivate, set slider to zero. TP_LOCALLAB_CLARITYML;Clarity -TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): ‘Sharp mask’ is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping' +TP_LOCALLAB_CLARI_TOOLTIP;Levels 0 to 4 (included): 'Sharp mask' is enabled\nLevels 5 and above: 'Clarity' is enabled.\nUseful if you use 'Wavelet level tone mapping'. TP_LOCALLAB_CLIPTM;Clip restored data (gain) TP_LOCALLAB_COFR;Color & Light TP_LOCALLAB_COLORDE;ΔE preview color - intensity -TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in ‘Add tool to current spot’ menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. +TP_LOCALLAB_COLORDEPREV_TOOLTIP;Preview ΔE button will only work if you have activated one (and only one) of the tools in 'Add tool to current spot' menu.\nTo be able to preview ΔE with several tools enabled, use Mask and modifications - Preview ΔE. TP_LOCALLAB_COLORDE_TOOLTIP;Show a blue color preview for ΔE selection if negative and green if positive.\n\nMask and modifications (show modified areas without mask): show actual modifications if positive, show enhanced modifications (luminance only) with blue and yellow if negative. TP_LOCALLAB_COLORSCOPE;Scope (color tools) TP_LOCALLAB_COLORSCOPE_TOOLTIP;Common Scope slider for Color and Light, Shadows/Highlights, Vibrance.\nOther tools have their own scope controls. +TP_LOCALLAB_COLOR_CIE;Color curve TP_LOCALLAB_COLOR_TOOLNAME;Color & Light TP_LOCALLAB_COL_NAME;Name TP_LOCALLAB_COL_VIS;Status TP_LOCALLAB_COMPFRA;Directional contrast -TP_LOCALLAB_COMPFRAME_TOOLTIP;Allows you to create special effects. You can reduce artifacts with 'Clarity and Sharp mask - Blend and Soften Images’.\nUses a lot of resources. -TP_LOCALLAB_COMPLEX_METHOD;Software Complexity -TP_LOCALLAB_COMPLEX_TOOLTIP; Allow user to select Local adjustments complexity. TP_LOCALLAB_COMPREFRA;Wavelet level tone mapping -TP_LOCALLAB_COMPRESS_TOOLTIP;If necessary, use the module 'Clarity and Sharp mask and Blend and Soften Images' by adjusting 'Soft radius' to reduce artifacts. TP_LOCALLAB_CONTCOL;Contrast threshold TP_LOCALLAB_CONTFRA;Contrast by level -TP_LOCALLAB_CONTL;Contrast (J) TP_LOCALLAB_CONTRAST;Contrast -TP_LOCALLAB_CONTRASTCURVMASK1_TOOLTIP;Allows you to freely modify the contrast of the mask (gamma and slope), instead of using a continuous and progressive curve. However it can create artifacts that have to be dealt with using the ‘Smooth radius’ or ‘Laplacian threshold sliders’. TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts).May create artifacts. TP_LOCALLAB_CONTRESID;Contrast TP_LOCALLAB_CONTTHMASK_TOOLTIP;Allows you to determine which parts of the image will be impacted based on the texture. @@ -2602,40 +2803,38 @@ TP_LOCALLAB_CONTTHR;Contrast Threshold TP_LOCALLAB_CONTWFRA;Local contrast TP_LOCALLAB_CSTHRESHOLD;Wavelet levels TP_LOCALLAB_CSTHRESHOLDBLUR;Wavelet level selection -TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance "Super" +TP_LOCALLAB_CURV;Lightness - Contrast - Chrominance 'Super' TP_LOCALLAB_CURVCURR;Normal TP_LOCALLAB_CURVEEDITORM_CC_TOOLTIP;If the curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP;If curves are at the top, the mask is completely black and no changes are made to the image.\nAs you lower the curve, the mask gradually becomes more colorful and bright, progressively changing the image.\n\nIt is recommended (but not mandatory) to position the top of the curves on the gray boundary line which represents the reference values of chroma, luma, hue for the RT-spot. -TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the ‘Curve type’ combobox to ‘Normal’ +TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP;To activate the curves, set the 'Curve type' combobox to 'Normal'. TP_LOCALLAB_CURVEEDITOR_TONES_LABEL;Tone curve -TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light +TP_LOCALLAB_CURVEEDITOR_TONES_TOOLTIP;L=f(L), can be used with L(H) in Color and Light. TP_LOCALLAB_CURVEMETHOD_TOOLTIP;'Normal', the curve L=f(L) uses the same algorithm as the lightness slider. -TP_LOCALLAB_CURVENCONTRAST;Super+Contrast threshold (experimental) -TP_LOCALLAB_CURVENH;Super -TP_LOCALLAB_CURVENHSU;Combined HueChroma (experimental) -TP_LOCALLAB_CURVENSOB2;Combined HueChroma + Contrast threshold (experimental) +TP_LOCALLAB_CURVES_CIE;Tone curve TP_LOCALLAB_CURVNONE;Disable curves TP_LOCALLAB_DARKRETI;Darkness TP_LOCALLAB_DEHAFRA;Dehaze TP_LOCALLAB_DEHAZ;Strength TP_LOCALLAB_DEHAZFRAME_TOOLTIP;Removes atmospheric haze. Increases overall saturation and detail.\nCan remove color casts, but may also introduce a blue cast which can be corrected with other tools. -TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze +TP_LOCALLAB_DEHAZ_TOOLTIP;Negative values add haze. TP_LOCALLAB_DELTAD;Delta balance TP_LOCALLAB_DELTAEC;ΔE Image mask -TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or ‘salt & pepper’ noise. -TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. -TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). -TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise -TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. -TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. TP_LOCALLAB_DENOI1_EXP;Denoise based on luminance mask TP_LOCALLAB_DENOI2_EXP;Recovery based on luminance mask +TP_LOCALLAB_DENOIBILAT_TOOLTIP;Allows you to reduce impulse or 'salt & pepper' noise. +TP_LOCALLAB_DENOICHROC_TOOLTIP;Allows you to deal with blotches and packets of noise. +TP_LOCALLAB_DENOICHRODET_TOOLTIP;Allows you to recover chrominance detail by progressively applying a Fourier transform (DCT). +TP_LOCALLAB_DENOICHROF_TOOLTIP;Allows you to adjust fine-detail chrominance noise. +TP_LOCALLAB_DENOIEQUALCHRO_TOOLTIP;Allows you to direct the chroma noise reduction towards either the blue-yellow or red-green colors. +TP_LOCALLAB_DENOIEQUAL_TOOLTIP;Allows you to carry out more or less noise reduction in either the shadows or the highlights. TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP;Allows you to recover luminance detail by progressively applying a Fourier transform (DCT). -TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with ‘Non-local Means – Luminance’. -TP_LOCALLAB_DENOIS;Denoise +TP_LOCALLAB_DENOIMASK;Denoise chroma mask +TP_LOCALLAB_DENOIMASK_TOOLTIP;For all tools, allows you to control the chromatic noise level of the mask.\nUseful for better control of chrominance and to avoid artifacts when using the LC(h) curve. +TP_LOCALLAB_DENOIQUA_TOOLTIP;Conservative mode preserves low frequency detail. Aggressive mode removes low frequency detail.\nConservative and Aggressive modes use wavelets and DCT and can be used in conjunction with 'Non-local Means – Luminance'. TP_LOCALLAB_DENOITHR_TOOLTIP;Adjusts edge detection to help reduce noise in uniform, low-contrast areas. TP_LOCALLAB_DENOI_EXP;Denoise -TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (deltaE). +TP_LOCALLAB_DENOI_TOOLTIP;This module can be used for noise reduction either on its own (at the end of the processing pipeline) or in addition to the Noise Reduction module in the Detail tab (which works at the beginning of the pipeline).\n Scope allows you to differentiate the action based on color (ΔE).\nMinimum RT-spot size: 128x128. TP_LOCALLAB_DEPTH;Depth TP_LOCALLAB_DETAIL;Local contrast TP_LOCALLAB_DETAILFRA;Edge detection - DCT @@ -2662,81 +2861,84 @@ TP_LOCALLAB_EV_NVIS_ALL;Hide all TP_LOCALLAB_EV_VIS;Show TP_LOCALLAB_EV_VIS_ALL;Show all TP_LOCALLAB_EXCLUF;Excluding -TP_LOCALLAB_EXCLUF_TOOLTIP;‘Excluding’ mode prevents adjacent spots from influencing certain parts of the image. Adjusting ‘Scope’ will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. +TP_LOCALLAB_EXCLUF_TOOLTIP;'Excluding' mode prevents adjacent spots from influencing certain parts of the image. Adjusting 'Scope' will extend the range of colors.\n You can also add tools to an Excluding spot and use them in the same way as for a normal spot. TP_LOCALLAB_EXCLUTYPE;Spot method -TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n‘Full image’ allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. +TP_LOCALLAB_EXCLUTYPE_TOOLTIP;Normal spot uses recursive data.\n\nExcluding spot reinitializes all local adjustment data.\nCan be used to totally or partially cancel a previous action or to carry out operations in Inverse mode.\n\n'Full image' allows you to use the local adjustment tools on the whole image.\n The RT Spot delimiters are set beyond the image preview boundaries.\n The transition is set to 100.\nNote, you may have to reposition the RT Spot slightly and adjust the Spot size to get the desired effect.\nPlease note: using Denoise or Wavelet or FFTW in full-image mode uses large amounts of memory and may cause the application to crash on lower capacity systems. TP_LOCALLAB_EXECLU;Excluding spot -TP_LOCALLAB_EXNORM;Normal spot TP_LOCALLAB_EXFULL;Full image +TP_LOCALLAB_EXNORM;Normal spot TP_LOCALLAB_EXPCBDL_TOOLTIP;Can be used to remove marks on the sensor or lens by reducing the contrast on the appropriate detail level(s). TP_LOCALLAB_EXPCHROMA;Chroma compensation -TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with ‘Exposure compensation f’ and ‘Contrast Attenuator f’ to avoid desaturating colors. +TP_LOCALLAB_EXPCHROMA_TOOLTIP;Use in association with 'Exposure compensation f' and 'Contrast Attenuator f' to avoid desaturating colors. TP_LOCALLAB_EXPCOLOR_TOOLTIP;Adjust color, lightness, contrast and correct small defects such as red-eye, sensor dust etc. TP_LOCALLAB_EXPCOMP;Exposure compensation ƒ TP_LOCALLAB_EXPCOMPINV;Exposure compensation -TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change ‘Shape detection’ in "Settings":\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)’ -TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Locallab version: more tools and more possibilities for working on individual detail levels.\ne.g. Wavelet-level tone mapping. -TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low ‘Transition value’ and high ‘Transition decay’ and ‘Scope’ to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. +TP_LOCALLAB_EXPCOMP_TOOLTIP;For portraits or images with a low color gradient. You can change 'Shape detection' in 'Settings':\n\nIncrease 'ΔE scope threshold'\nReduce 'ΔE decay'\nIncrease 'ab-L balance (ΔE)' +TP_LOCALLAB_EXPCONTRASTPYR_TOOLTIP;See the documentation for Wavelet Levels.\nThere are some differences in the Local Adjustments version, which has more tools and more possibilities for working on individual detail levels.\nE.g. wavelet-level tone mapping. +TP_LOCALLAB_EXPCONTRAST_TOOLTIP;Avoid spots that are too small ( < 32x32 pixels).\nUse low 'Transition value' and high 'Transition decay' and 'Scope' to simulate small RT-spots and deal with defects.\nUse 'Clarity and Sharp mask and Blend and Soften Images' if necessary by adjusting 'Soft radius' to reduce artifacts. TP_LOCALLAB_EXPCURV;Curves TP_LOCALLAB_EXPGRAD;Graduated Filter -TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and "Merge file") Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. -TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend -TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform -TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform +TP_LOCALLAB_EXPGRADCOL_TOOLTIP;A graduated filter is available in Color and Light (luminance, chrominance & hue gradients, and 'Merge file'), Exposure (luminance grad.), Exposure Mask (luminance grad.), Shadows/Highlights (luminance grad.), Vibrance (luminance, chrominance & hue gradients), Local contrast & wavelet pyramid (local contrast grad.).\nFeather is located in Settings. +TP_LOCALLAB_EXPLAPBAL_TOOLTIP;Changes the transformed/original image blend. +TP_LOCALLAB_EXPLAPGAMM_TOOLTIP;Changes the behaviour for images with too much or too little contrast by adding a gamma curve before and after the Laplace transform. +TP_LOCALLAB_EXPLAPLIN_TOOLTIP;Changes the behaviour for underexposed images by adding a linear component prior to applying the Laplace transform. TP_LOCALLAB_EXPLAP_TOOLTIP;Moving the slider to the right progressively reduces the contrast. TP_LOCALLAB_EXPMERGEFILE_TOOLTIP;Allows you to use GIMP or Photoshop (c) layer blend modes i.e. Difference, Multiply, Soft Light, Overlay etc., with opacity control.\nOriginal Image : merge current RT-Spot with Original.\nPrevious spot : merge current Rt-Spot with previous - if there is only one spot, previous = original.\nBackground : merge current RT-Spot with a color and luminance background (fewer possibilties). -TP_LOCALLAB_EXPMETHOD_TOOLTIP;Standard : use an algorithm similar as main Exposure but in L*a*b* and taking account of deltaE.\n\nContrast attenuator : use another algorithm also with deltaE and with Poisson equation to solve Laplacian in Fourier space.\nContrast attenuator, Dynamic range compression and Standard can be combined.\nFFTW Fourier Transform is optimized in size to reduce processing time.\nReduce artifacts and noise. -TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the ‘Denoise’ tool. +TP_LOCALLAB_EXPNOISEMETHOD_TOOLTIP;Applies a median filter before the Laplace transform to prevent artifacts (noise).\nYou can also use the 'Denoise' tool. TP_LOCALLAB_EXPOSE;Dynamic Range & Exposure -TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. +TP_LOCALLAB_EXPOSURE_TOOLTIP;Modify exposure in L*a*b space using Laplacian PDE algorithms to take into account dE and minimize artifacts. TP_LOCALLAB_EXPRETITOOLS;Advanced Retinex Tools -TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high ‘Transition decay’ and ‘Scope’ values to simulate smaller RT-Spots. +TP_LOCALLAB_EXPSHARP_TOOLTIP;RT-Spot minimum 39*39.\nUse low transition values and high 'Transition decay' and 'Scope' values to simulate smaller RT-Spots. TP_LOCALLAB_EXPTOOL;Exposure Tools -TP_LOCALLAB_EXPTRC;Tone Response Curve - TRC TP_LOCALLAB_EXP_TOOLNAME;Dynamic Range & Exposure TP_LOCALLAB_FATAMOUNT;Amount TP_LOCALLAB_FATANCHOR;Anchor -TP_LOCALLAB_FATANCHORA;Offset TP_LOCALLAB_FATDETAIL;Detail TP_LOCALLAB_FATFRA;Dynamic Range Compression ƒ TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal – uses the Fattal Tone-mapping algorithm. TP_LOCALLAB_FATLEVEL;Sigma -TP_LOCALLAB_FATRES;Amount Residual Image TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask ƒ -TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn’t been activated. +TP_LOCALLAB_FEATH_TOOLTIP;Gradient width as a percentage of the Spot diagonal\nUsed by all graduated filters in all tools.\nNo action if a graduated filter hasn't been activated. TP_LOCALLAB_FEATVALUE;Feather gradient (Grad. Filters) TP_LOCALLAB_FFTCOL_MASK;FFTW ƒ -TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements) +TP_LOCALLAB_FFTMASK_TOOLTIP;Use a Fourier transform for better quality (increased processing time and memory requirements). TP_LOCALLAB_FFTW;ƒ - Use Fast Fourier Transform -TP_LOCALLAB_FFTW2;ƒ - Use Fast Fourier Transform (TIF, JPG,..) TP_LOCALLAB_FFTWBLUR;ƒ - Always Use Fast Fourier Transform TP_LOCALLAB_FULLIMAGE;Black-Ev and White-Ev for whole image TP_LOCALLAB_FULLIMAGELOG_TOOLTIP;Calculates the Ev levels for the whole image. TP_LOCALLAB_GAM;Gamma +TP_LOCALLAB_GAMC;Gamma +TP_LOCALLAB_GAMCOL_TOOLTIP;Apply a gamma on Luminance L*a*b* datas.\nIf gamma = 3.0 Luminance 'linear' is used. +TP_LOCALLAB_GAMC_TOOLTIP;Apply a gamma on Luminance L*a*b* datas before and after treatment Pyramid 1 and Pyramid 2.\nIf gamma = 3.0 Luminance 'linear' is used. TP_LOCALLAB_GAMFRA;Tone response curve (TRC) TP_LOCALLAB_GAMM;Gamma TP_LOCALLAB_GAMMASKCOL;Gamma -TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying ‘L’ to avoid any discontinuities. +TP_LOCALLAB_GAMMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. TP_LOCALLAB_GAMSH;Gamma +TP_LOCALLAB_GAMUTNON;None +TP_LOCALLAB_GAMUTLABRELA;Lab +TP_LOCALLAB_GAMUTXYZABSO;XYZ Absolute +TP_LOCALLAB_GAMUTXYZRELA;XYZ Relative +TP_LOCALLAB_GAMUTMUNSELL;Munsell only +TP_LOCALLAB_GAMW;Gamma (wavelet pyramids) TP_LOCALLAB_GRADANG;Gradient angle -TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees : -180 0 +180 +TP_LOCALLAB_GRADANG_TOOLTIP;Rotation angle in degrees: -180 0 +180. TP_LOCALLAB_GRADFRA;Graduated Filter Mask -TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength +TP_LOCALLAB_GRADGEN_TOOLTIP;Adjusts luminance gradient strength. TP_LOCALLAB_GRADLOGFRA;Graduated Filter Luminance TP_LOCALLAB_GRADSTR;Gradient strength -TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength +TP_LOCALLAB_GRADSTRAB_TOOLTIP;Adjusts chroma gradient strength. TP_LOCALLAB_GRADSTRCHRO;Chroma gradient strength TP_LOCALLAB_GRADSTRHUE;Hue gradient strength TP_LOCALLAB_GRADSTRHUE2;Hue gradient strength -TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength +TP_LOCALLAB_GRADSTRHUE_TOOLTIP;Adjusts hue gradient strength. TP_LOCALLAB_GRADSTRLUM;Luma gradient strength -TP_LOCALLAB_GRADSTR_TOOLTIP;Filter strength in stops -TP_LOCALLAB_GRAINFRA;Film Grain 1:1 +TP_LOCALLAB_GRAINFRA;Film Grain 1:1 TP_LOCALLAB_GRAINFRA2;Coarseness -TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image +TP_LOCALLAB_GRAIN_TOOLTIP;Adds film-like grain to the image. TP_LOCALLAB_GRALWFRA;Graduated filter (local contrast) -TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the ‘Transition value’ and ‘Transition decay’\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE) -TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the "white dot" on the grid remains at zero and you only vary the "black dot". Equivalent to "Color toning" if you vary the 2 dots.\n\nDirect: acts directly on the chroma +TP_LOCALLAB_GRIDFRAME_TOOLTIP;You can use this tool as a brush. Use a small spot and adapt the 'Transition value' and 'Transition decay'\nOnly 'Normal' mode and possibly Hue, Saturation, Color, Luminosity are concerned by Merge background (ΔE). +TP_LOCALLAB_GRIDMETH_TOOLTIP;Color toning: the luminance is taken into account when varying chroma. Equivalent to H=f(H) if the 'white dot' on the grid remains at zero and you only vary the 'black dot'. Equivalent to 'Color toning' if you vary the 2 dots.\n\nDirect: acts directly on the chroma. TP_LOCALLAB_GRIDONE;Color Toning TP_LOCALLAB_GRIDTWO;Direct TP_LOCALLAB_GUIDBL;Soft radius @@ -2744,18 +2946,54 @@ TP_LOCALLAB_GUIDBL_TOOLTIP;Applies a guided filter with adjustable radius. Allow TP_LOCALLAB_GUIDEPSBL_TOOLTIP;Changes the distribution function of the guided filter. Negative values simulate a Gaussian blur. TP_LOCALLAB_GUIDFILTER;Guided filter radius TP_LOCALLAB_GUIDFILTER_TOOLTIP;Can reduce or increase artifacts. -TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter +TP_LOCALLAB_GUIDSTRBL_TOOLTIP;Intensity of the guided filter. TP_LOCALLAB_HHMASK_TOOLTIP;Fine hue adjustments for example for the skin. TP_LOCALLAB_HIGHMASKCOL;Highlights TP_LOCALLAB_HLH;H +TP_LOCALLAB_HUECIE;Hue TP_LOCALLAB_IND;Independent (mouse) TP_LOCALLAB_INDSL;Independent (mouse + sliders) TP_LOCALLAB_INVBL;Inverse -TP_LOCALLAB_INVBL_TOOLTIP;Alternative to ‘Inverse’ mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot : Excluding spot +TP_LOCALLAB_INVBL_TOOLTIP;Alternative to 'Inverse' mode: use two spots\nFirst Spot:\n Full Image\n\nSecond spot: Excluding spot. TP_LOCALLAB_INVERS;Inverse -TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot +TP_LOCALLAB_INVERS_TOOLTIP;Fewer possibilities if selected (Inverse).\n\nAlternative: use two spots\nFirst Spot:\n Full Image\n \nSecond spot: Excluding spot\n\n Inverse will enable this tool for the area outside the spot, while the area within the spot will remain unaffected by the tool. TP_LOCALLAB_INVMASK;Inverse algorithm TP_LOCALLAB_ISOGR;Distribution (ISO) +TP_LOCALLAB_JAB;Uses Black Ev & White Ev +TP_LOCALLAB_JABADAP_TOOLTIP;Perceptual Uniform adaptation.\nAutomatically adjusts the relationship between Jz and saturation taking into account 'Absolute luminance'. +TP_LOCALLAB_JZ100;Jz reference 100cd/m2 +TP_LOCALLAB_JZ100_TOOLTIP;Automatically adjusts the reference Jz 100 cd/m2 level (image signal).\nChanges the saturation level and action of 'PU adaptation' (Perceptual Uniform adaptation). +TP_LOCALLAB_JZADAP;PU adaptation +TP_LOCALLAB_JZCH;Chroma +TP_LOCALLAB_JZCHROM;Chroma +TP_LOCALLAB_JZCLARICRES;Merge chroma Cz +TP_LOCALLAB_JZCLARILRES;Merge Jz +TP_LOCALLAB_JZCONT;Contrast +TP_LOCALLAB_JZFORCE;Force max Jz to 1 +TP_LOCALLAB_JZFORCE_TOOLTIP;Allows you to force the maximum Jz value to 1 for better slider and curve response. +TP_LOCALLAB_JZFRA;Jz Cz Hz Image Adjustments +TP_LOCALLAB_JZHFRA;Curves Hz +TP_LOCALLAB_JZHJZFRA;Curve Jz(Hz) +TP_LOCALLAB_JZHUECIE;Hue Rotation +TP_LOCALLAB_JZLIGHT;Brightness +TP_LOCALLAB_JZLOG;Log encoding Jz +TP_LOCALLAB_JZLOGWBS_TOOLTIP;Black Ev and White Ev adjustments can be different depending on whether Log encoding or Sigmoid is used.\nFor Sigmoid, a change (increase in most cases) of White Ev may be necessary to obtain a better rendering of highlights, contrast and saturation. +TP_LOCALLAB_JZLOGWB_TOOLTIP;If Auto is enabled, it will calculate and adjust the Ev levels and the 'Mean luminance Yb%' for the spot area. The resulting values will be used by all Jz operations including 'Log Encoding Jz'.\nAlso calculates the absolute luminance at the time of shooting. +TP_LOCALLAB_JZLOGYBOUT_TOOLTIP;Yb is the relative luminance of the background, expressed as a percentage of gray. 18% gray corresponds to a background luminance of 50% when expressed in CIE L.\nThe data is based on the mean luminance of the image.\nWhen used with Log Encoding, the mean luminance is used to determine the amount of gain that needs to be applied to the signal prior to the log encoding. Lower values of mean luminance will result in increased gain. +TP_LOCALLAB_JZMODECAM_TOOLTIP;Jz (only in 'Advanced' mode). Only operational if the output device (monitor) is HDR (peak luminance higher than 100 cd/m2 - ideally between 4000 and 10000 cd/m2. Black point luminance inferior to 0.005 cd/m2). This supposes a) the ICC-PCS for the screen uses Jzazbz (or XYZ), b) works in real precision, c) that the monitor is calibrated (if possible with a DCI-P3 or Rec-2020 gamut), d) that the usual gamma (sRGB or BT709) is replaced by a Perceptual Quantiser (PQ) function. +TP_LOCALLAB_JZPQFRA;Jz remapping +TP_LOCALLAB_JZPQFRA_TOOLTIP;Allows you to adapt the Jz algorithm to an SDR environment or to the characteristics (performance) of an HDR environment as follows:\n a) for luminance values between 0 and 100 cd/m2, the system behaves as if it were in an SDR environment.\n b) for luminance values between 100 and 10000 cd/m2, you can adapt the algorithm to the HDR characteristics of the image and the monitor.\n\nIf 'PQ - Peak luminance' is set to 10000, 'Jz remappping' behaves in the same way as the original Jzazbz algorithm. +TP_LOCALLAB_JZPQREMAP;PQ - Peak luminance +TP_LOCALLAB_JZPQREMAP_TOOLTIP;PQ (Perceptual Quantizer) - allows you to change the internal PQ function (usually 10000 cd/m2 - default 120 cd/m2).\nCan be used to adapt to different images, processes and devices. +TP_LOCALLAB_JZQTOJ;Relative luminance +TP_LOCALLAB_JZQTOJ_TOOLTIP;Allows you to use 'Relative luminance' instead of 'Absolute luminance' - Brightness becomes Lightness.\nThe changes affect: the Brightness slider, the Contrast slider and the Jz(Jz) curve. +TP_LOCALLAB_JZSAT;Saturation +TP_LOCALLAB_JZSHFRA;Shadows/Highlights Jz +TP_LOCALLAB_JZSOFTCIE;Soft radius (GuidedFilter) +TP_LOCALLAB_JZSTRSOFTCIE;Strength GuidedFilter +TP_LOCALLAB_JZTARGET_EV;Viewing Mean luminance (Yb%) +TP_LOCALLAB_JZTHRHCIE;Threshold Chroma for Jz(Hz) +TP_LOCALLAB_JZWAVEXP;Wavelet Jz TP_LOCALLAB_LABBLURM;Blur Mask TP_LOCALLAB_LABEL;Local Adjustments TP_LOCALLAB_LABGRID;Color correction grid @@ -2767,21 +3005,21 @@ TP_LOCALLAB_LAPLACE;Laplacian threshold ΔE TP_LOCALLAB_LAPLACEXP;Laplacian threshold TP_LOCALLAB_LAPMASKCOL;Laplacian threshold TP_LOCALLAB_LAPRAD1_TOOLTIP;Increases the contrast of the mask by increasing the luminance values of the lighter areas. Can be used in conjunction with the L(L) and LC(H) curves. -TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition -TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition +TP_LOCALLAB_LAPRAD2_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. +TP_LOCALLAB_LAPRAD_TOOLTIP;Smooth radius uses a guided filter to decrease artifacts and smooth out the transition. TP_LOCALLAB_LAP_MASK_TOOLTIP;Solves PDEs for all Laplacian masks.\nIf enabled the Laplacian threshold mask reduces artifacts and smooths the result.\nIf disabled the response is linear. TP_LOCALLAB_LC_FFTW_TOOLTIP;FFT improves quality and allows the use of large radii, but increases processing time (depends on the area to be processed). Preferable to use only for large radii. The size of the area can be reduced by a few pixels to optimize the FFTW. This can reduce the processing time by a factor of 1.5 to 10. TP_LOCALLAB_LC_TOOLNAME;Local Contrast & Wavelets TP_LOCALLAB_LEVELBLUR;Maximum blur levels TP_LOCALLAB_LEVELWAV;Wavelet levels -TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4 +TP_LOCALLAB_LEVELWAV_TOOLTIP;The Level is automatically adapted to the size of the spot and the preview.\nFrom level 9 size max 512 to level 1 size max = 4. TP_LOCALLAB_LEVFRA;Levels TP_LOCALLAB_LIGHTNESS;Lightness -TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero +TP_LOCALLAB_LIGHTN_TOOLTIP;In inverse mode: selection = -100 forces luminance to zero. TP_LOCALLAB_LIGHTRETI;Lightness TP_LOCALLAB_LINEAR;Linearity TP_LOCALLAB_LIST_NAME;Add tool to current spot... -TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing +TP_LOCALLAB_LIST_TOOLTIP;You can select 3 levels of complexity for each tool: Basic, Standard and Advanced.\nThe default setting for all tools is Basic but this can be changed in the Preferences window.\nYou can also change the level of complexity on a per-tool basis while you are editing. TP_LOCALLAB_LMASK_LEVEL_TOOLTIP;Allows you to decrease or increase the effect on particular levels of detail in the mask by targeting certain luminance zones (in general the lightest). TP_LOCALLAB_LMASK_LL_TOOLTIP;Allows you to freely change the contrast of the mask.\n Has a similar function to the Gamma and Slope sliders.\n It allows you to target certain parts of the image (usually the lightest parts of the mask by using the curve to exclude the darker parts). May create artifacts. TP_LOCALLAB_LOCCONT;Unsharp Mask @@ -2792,109 +3030,106 @@ TP_LOCALLAB_LOC_CONTRASTPYR2LAB; Contrast by level/TM/Directional contrast TP_LOCALLAB_LOC_CONTRASTPYRLAB; Graduated Filter/Edge Sharpness/Blur TP_LOCALLAB_LOC_RESIDPYR;Residual image (Main) TP_LOCALLAB_LOG;Log Encoding -TP_LOCALLAB_LOG1FRA;Image Adjustments +TP_LOCALLAB_LOG1FRA;CAM16 Image Adjustments TP_LOCALLAB_LOG2FRA;Viewing Conditions TP_LOCALLAB_LOGAUTO;Automatic -TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the ‘Automatic’ button in Relative Exposure Levels is pressed. -TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the "Auto mean luminance (Yb%)” is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. +TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions. +TP_LOCALLAB_LOGAUTOGRAY_TOOLTIP;Automatically calculates the 'Mean luminance' for the scene conditions when the 'Automatic' button in Relative Exposure Levels is pressed. +TP_LOCALLAB_LOGAUTO_TOOLTIP;Pressing this button will calculate the dynamic range and 'Mean luminance' for the scene conditions if the 'Auto mean luminance (Yb%)' is checked).\nAlso calculates the absolute luminance at the time of shooting.\nPress the button again to adjust the automatically calculated values. TP_LOCALLAB_LOGBASE_TOOLTIP;Default = 2.\nValues less than 2 reduce the action of the algorithm making the shadows darker and the highlights brighter.\nWith values greater than 2, the shadows are grayer and the highlights become more washed out. -TP_LOCALLAB_LOGBLACKWHEV_TOOLTIP;Estimated values of dynamic range i.e. Black Ev and White Ev -TP_LOCALLAB_LOGCATAD_TOOLTIP;The chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +TP_LOCALLAB_LOGCATAD_TOOLTIP;Chromatic adaptation allows us to interpret a color according to its spatio-temporal environment.\nUseful when the white balance deviates significantly from the D50 reference.\nAdapts colors to the illuminant of the output device. +TP_LOCALLAB_LOGCIE;Log encoding instead of Sigmoid +TP_LOCALLAB_LOGCIE_TOOLTIP;Allows you tu use Black Ev, White Ev, Scene Mean luminance(Yb%) and Viewing Mean luminance(Yb%) for tone-mapping using Log encoding Q. TP_LOCALLAB_LOGCOLORFL;Colorfulness (M) TP_LOCALLAB_LOGCOLORF_TOOLTIP;Perceived amount of hue in relation to gray.\nIndicator that a stimulus appears more or less colored. TP_LOCALLAB_LOGCONQL;Contrast (Q) -TP_LOCALLAB_LOGCONTL;Contrast (J) TP_LOCALLAB_LOGCONTHRES;Contrast threshold (J & Q) +TP_LOCALLAB_LOGCONTL;Contrast (J) TP_LOCALLAB_LOGCONTL_TOOLTIP;Contrast (J) in CIECAM16 takes into account the increase in perceived coloration with luminance. TP_LOCALLAB_LOGCONTQ_TOOLTIP;Contrast (Q) in CIECAM16 takes into account the increase in perceived coloration with brightness. TP_LOCALLAB_LOGCONTTHRES_TOOLTIP;Adjusts the mid-tone contrast range (J & Q).\nPositive values progressively reduce the effect of the Contrast sliders (J & Q). Negative values progressively increase the effect of the Contrast sliders. TP_LOCALLAB_LOGDETAIL_TOOLTIP;Acts mainly on high frequencies. -TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process : 1) Dynamic Range calculation 2) Manual adjustment +TP_LOCALLAB_LOGENCOD_TOOLTIP;Tone Mapping with Logarithmic encoding (ACES).\nUseful for underexposed images or images with high dynamic range.\n\nTwo-step process: 1) Dynamic Range calculation 2) Manual adjustment. TP_LOCALLAB_LOGEXP;All tools TP_LOCALLAB_LOGFRA;Scene Conditions -TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nTakes into account exposure compensation in the main-menu Exposure tab.\nAlso calculates the absolute luminance at the time of shooting. -TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables (mainly Contrast 'J' and Saturation 's', and also Contrast (Q) , Brightness (Q), Lightness (J), Colorfulness (M) in Advanced mode). +TP_LOCALLAB_LOGFRAME_TOOLTIP;Allows you to calculate and adjust the Ev levels and the 'Mean luminance Yb%' (source gray point) for the spot area. The resulting values will be used by all Lab operations and most RGB operations in the pipeline.\nAlso calculates the absolute luminance at the time of shooting. +TP_LOCALLAB_LOGIMAGE_TOOLTIP;Takes into account corresponding Ciecam variables: i.e. Contrast (J) and Saturation (s), as well as Contrast (Q), Brightness (Q), Lightness (J) and Colorfulness (M) (in Advanced mode). TP_LOCALLAB_LOGLIGHTL;Lightness (J) -TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*), takes into account the increase in perceived coloration. +TP_LOCALLAB_LOGLIGHTL_TOOLTIP;Close to lightness (L*a*b*). Takes into account the increase in perceived coloration. TP_LOCALLAB_LOGLIGHTQ;Brightness (Q) TP_LOCALLAB_LOGLIGHTQ_TOOLTIP;Perceived amount of light emanating from a stimulus.\nIndicator that a stimulus appears to be more or less bright, clear. TP_LOCALLAB_LOGLIN;Logarithm mode TP_LOCALLAB_LOGPFRA;Relative Exposure Levels -TP_LOCALLAB_LOGREPART;Strength +TP_LOCALLAB_LOGREPART;Overall strength TP_LOCALLAB_LOGREPART_TOOLTIP;Allows you to adjust the relative strength of the log-encoded image with respect to the original image.\nDoes not affect the Ciecam component. -TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium and highlights tones +TP_LOCALLAB_LOGSATURL_TOOLTIP;Saturation (s) in CIECAM16 corresponds to the color of a stimulus in relation to its own brightness.\nActs mainly on medium tones and on the highlights. TP_LOCALLAB_LOGSCENE_TOOLTIP;Corresponds to the shooting conditions. -TP_LOCALLAB_LOGSRCGREY_TOOLTIP;Estimated gray point value of the image. -TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment. The image will become slightly brighter. -TP_LOCALLAB_LOGTARGGREY_TOOLTIP;You can adjust this value to suit. -TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer,..), as well as its environment. +TP_LOCALLAB_LOGSURSOUR_TOOLTIP;Changes tones and colors to take into account the Scene conditions.\n\nAverage: Average light conditions (standard). The image will not change.\n\nDim: Dim conditions. The image will become slightly brighter.\n\nDark: Dark conditions. The image will become more bright. +TP_LOCALLAB_LOGVIEWING_TOOLTIP;Corresponds to the medium on which the final image will be viewed (monitor, TV, projector, printer, etc.), as well as the surrounding conditions. TP_LOCALLAB_LOG_TOOLNAME;Log Encoding TP_LOCALLAB_LUM;LL - CC TP_LOCALLAB_LUMADARKEST;Darkest TP_LOCALLAB_LUMASK;Background color/luma mask -TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications) +TP_LOCALLAB_LUMASK_TOOLTIP;Adjusts the shade of gray or color of the mask background in Show Mask (Mask and modifications). TP_LOCALLAB_LUMAWHITESEST;Lightest TP_LOCALLAB_LUMFRA;L*a*b* standard -TP_LOCALLAB_LUMONLY;Luminance only TP_LOCALLAB_MASFRAME;Mask and Merge -TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the deltaE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. +TP_LOCALLAB_MASFRAME_TOOLTIP;For all masks.\nTakes into account the ΔE image to avoid modifying the selection area when the following Mask Tools are used: Gamma, Slope, Chroma, Contrast curve, Local contrast (by wavelet level), Blur Mask and Structure Mask (if enabled ).\nDisabled when Inverse mode is used. TP_LOCALLAB_MASK;Curves TP_LOCALLAB_MASK2;Contrast curve -TP_LOCALLAB_MASKCOL; TP_LOCALLAB_MASKCOM;Common Color Mask TP_LOCALLAB_MASKCOM_TOOLNAME;Common Color Mask TP_LOCALLAB_MASKCOM_TOOLTIP;A tool in its own right.\nCan be used to adjust the image appearance (chrominance, luminance, contrast) and texture as a function of Scope. -TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection +TP_LOCALLAB_MASKCURVE_TOOLTIP;The 3 curves are set to 1 (maximum) by default:\nC=f(C) the chroma varies according to the chrominance. You can decrease the chroma to improve the selection. By setting this curve close to zero (with a low value of C to activate the curve) you can desaturate the background in Inverse mode.\nL=f(L) the luminance varies according to the luminance, so you can decrease the brightness to improve the selection.\nL and C = f(H) luminance and chroma vary with hue, so you can decrease luminance and chroma to improve selection. TP_LOCALLAB_MASKDDECAY;Decay strength -TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions -TP_LOCALLAB_MASKH;Hue curve -TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. -TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the ‘dark’ threshold, then the Denoise will be applied progressively.\n if the mask is above the ‘light’ threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders "Gray area luminance denoise" or "Gray area chrominance denoise". -TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the ‘dark’ threshold, then the GF will be applied progressively.\n if the mask is above the ‘light’ threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. -TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The ‘dark’ and ‘light’ areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied -TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The ‘dark’ and ‘light’ areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied -TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The ‘dark’ and ‘light’ areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied -TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The ‘dark’ and ‘light’ areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied -TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The ‘dark’ and ‘light’ areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied -TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The ‘dark’ and ‘light’ areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied -TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The ‘dark’ and ‘light’ areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied -TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The ‘dark’ and ‘light’ areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied -TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The ‘dark’ and ‘light’ areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied +TP_LOCALLAB_MASKDECAY_TOOLTIP;Manages the rate of decay for the gray levels in the mask.\n Decay = 1 linear, Decay > 1 sharper parabolic transitions, Decay < 1 more gradual transitions. TP_LOCALLAB_MASKDEINV_TOOLTIP;Reverses the way the algorithm interprets the mask.\nIf checked black and very light areas will be decreased. -TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Structure mask’, 'Blur mask', ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’, ‘Local contrast’ (wavelets).\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’.\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in ‘Mask and modifications’ to change the gray levels:‘Smooth radius’, Gamma and Slope, ‘Contrast curve’.\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’.\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’.\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels:‘Smooth radius’, Gamma and Slope, ‘Contrast curve’.\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’.\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’.\n Use a ‘lockable colorpicker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels:‘Smooth radius’, ‘Contrast curve’.\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Structure mask’, ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’, ‘Local contrast’ (wavelets).\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask'=0 in Settings. -TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘structure mask’, ‘Smooth radius’, ‘Gamma and slope’, ‘Contrast curve’, ‘Local contrast wavelet’.\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Be carefull in 'settings' to Background color mask = 0 +TP_LOCALLAB_MASKDE_TOOLTIP;Used to target the denoise as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the Denoise will be applied progressively.\n iIf the mask is above the 'light' threshold, then the Denoise will be applied progressively.\n Between the two, the image settings without the Denoise will be maintained, unless you adjust the sliders 'Gray area luminance denoise' or 'Gray area chrominance denoise'. +TP_LOCALLAB_MASKGF_TOOLTIP;Used to target the Guided Filter as a function of the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n If the mask is below the 'dark' threshold, then the GF will be applied progressively.\n If the mask is above the 'light' threshold, then the GF will be applied progressively.\n Between the two, the image settings without the GF will be maintained. +TP_LOCALLAB_MASKH;Hue curve +TP_LOCALLAB_MASKHIGTHRESCB_TOOLTIP;Lighter-tone limit above which CBDL (Luminance only) parameters will be restored progressively to their original values prior to being modified by the CBDL settings .\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\nUse a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESD_TOOLTIP; The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable colorpicker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESL_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESRETI_TOOLTIP;Lighter-tone limit above which Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESS_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESTM_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESVIB_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP;Lighter-tone limit above which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKHIGTHRES_TOOLTIP; The Guided Filter is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'structure mask', 'Smooth radius', 'Gamma and slope', 'Contrast curve', 'Local contrast wavelet'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. TP_LOCALLAB_MASKLCTHR;Light area luminance threshold TP_LOCALLAB_MASKLCTHR2;Light area luma threshold TP_LOCALLAB_MASKLCTHRLOW;Dark area luminance threshold TP_LOCALLAB_MASKLCTHRLOW2;Dark area luma threshold -TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas -TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Structure mask’, ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’, ‘Local contrast’ (wavelets).\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Structure mask’, ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’, ‘Local contrast’ (wavelets).\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Structure mask’, 'blur mask', ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’, ‘Local contrast’ (wavelets).\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels:‘Smooth radius’, ‘Contrast curve’.\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’.\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’.\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’.\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’.\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’.\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’.\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. -TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in ‘Mask and modifications’ to change the gray levels: ‘Smooth radius’, Gamma and Slope, ‘Contrast curve’.\n Use a ‘lockable color picker’ on the mask to see which areas will be affected. Make sure you set ‘Background color mask’ = 0 in Settings. TP_LOCALLAB_MASKLCTHRMID;Gray area luma denoise TP_LOCALLAB_MASKLCTHRMIDCH;Gray area chroma denoise -TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) -TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +TP_LOCALLAB_MASKLC_TOOLTIP;This allows you to target the denoise based on the image luminance information contained in the L(L) or LC(H) mask (Mask and Modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n 'Dark area luminance threshold'. If 'Reinforce denoise in dark and light areas' > 1 the denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (determined by mask).\n 'Light area luminance threshold'. The denoise is progressively decreased from 100% at the threshold setting to 0% at the maximum white value (determined by mask).\n In the area between the two thresholds, the denoise settings are not affected by the mask. +TP_LOCALLAB_MASKLNOISELOW;Reinforce dark/light areas +TP_LOCALLAB_MASKLOWTHRESCB_TOOLTIP;Dark-tone limit below which the CBDL parameters (Luminance only) will be restored progressively to their original values prior to being modified by the CBDL settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESC_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Color and Light settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'blur mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESD_TOOLTIP;The denoise is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESL_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Log encoding settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels:'Smooth radius', 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESRETI_TOOLTIP;Dark-tone limit below which the Retinex (Luminance only) parameters will be restored progressively to their original values prior to being modified by the Retinex settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESS_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Shadows Highlights settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESTM_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Tone Mapping settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESVIB_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP;Dark-tone limit below which the parameters will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings.\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Smooth radius', Gamma and Slope, 'Contrast curve'.\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKLOWTHRES_TOOLTIP;The Guided Filter is progressively increased from 0% at the threshold setting to 100% at the maximum black value (as determined by the mask).\n You can use certain tools in 'Mask and modifications' to change the gray levels: 'Structure mask', 'Smooth radius', Gamma and Slope, 'Contrast curve', 'Local contrast' (wavelets).\n Use a 'lockable color picker' on the mask to see which areas will be affected. Make sure you set 'Background color mask' = 0 in Settings. +TP_LOCALLAB_MASKRECOL_TOOLTIP;Used to modulate the effect of the Color and Light settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Color and Light settings \n In between these two areas, the full value of the Color and Light settings will be applied. TP_LOCALLAB_MASKRECOTHRES;Recovery threshold -TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allows you to make fine adjustments. -TP_LOCALLAB_MED;Medium +TP_LOCALLAB_MASKREEXP_TOOLTIP;Used to modulate the effect of the 'Dynamic range and Exposure' settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the 'Dynamic range and Exposure' settings \n In between these two areas, the full value of the 'Dynamic range and Exposure' settings will be applied. +TP_LOCALLAB_MASKRELOG_TOOLTIP;Used to modulate the effect of the Log encoding settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Log encoding settings - can be used to restore highlights reconstructed by Color propagation \n In between these two areas, the full value of the Log encoding settings will be applied. +TP_LOCALLAB_MASKRESCB_TOOLTIP;Used to modulate the effect of the CBDL (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the CBDL settings \n In between these two areas, the full value of the CBDL settings will be applied. +TP_LOCALLAB_MASKRESH_TOOLTIP;Used to modulate the effect of the Shadows Highlights settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Shadows Highlights settings \n In between these two areas, the full value of the Shadows Highlights settings will be applied. +TP_LOCALLAB_MASKRESRETI_TOOLTIP;Used to modulate the effect of the Retinex (Luminance only) settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Retinex settings \n In between these two areas, the full value of the Retinex settings will be applied. +TP_LOCALLAB_MASKRESTM_TOOLTIP;Used to modulate the effect of the Tone Mapping settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Tone Mapping settings \n In between these two areas, the full value of the Tone Mapping settings will be applied. +TP_LOCALLAB_MASKRESVIB_TOOLTIP;Used to modulate the effect of the Vibrance and Warm Cool settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Vibrance and Warm Cool settings \n In between these two areas, the full value of the Vibrance and Warm Cool settings will be applied. +TP_LOCALLAB_MASKRESWAV_TOOLTIP;Used to modulate the effect of the Local contrast and Wavelet settings based on the image luminance information contained in the L(L) or LC(H) masks (Mask and modifications).\n The L(L) mask or the LC(H) mask must be enabled to use this function.\n The 'dark' and 'light' areas below the dark threshold and above the light threshold will be restored progressively to their original values prior to being modified by the Local contrast and Wavelet settings \n In between these two areas, the full value of the Local contrast and Wavelet settings will be applied. +TP_LOCALLAB_MASKUNUSABLE;Mask disabled (Mask & modifications) +TP_LOCALLAB_MASKUSABLE;Mask enabled (Mask & modifications) +TP_LOCALLAB_MASK_TOOLTIP;You can enable multiple masks for a tool by activating another tool and using only the mask (set the tool sliders to 0 ).\n\nYou can also duplicate the RT-spot and place it close to the first spot. The small variations in the spot references allow you to make fine adjustments. TP_LOCALLAB_MEDIAN;Median Low TP_LOCALLAB_MEDIANITER_TOOLTIP;The number of successive iterations carried out by the median filter. TP_LOCALLAB_MEDIAN_TOOLTIP;You can choose a median value in the range 3x3 to 9x9 pixels. Higher values increase noise reduction and blur. @@ -2907,17 +3142,9 @@ TP_LOCALLAB_MERFOR;Color Dodge TP_LOCALLAB_MERFOU;Multiply TP_LOCALLAB_MERGE1COLFRA;Merge with Original/Previous/Background TP_LOCALLAB_MERGECOLFRA;Mask: LCh & Structure -TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm -TP_LOCALLAB_MERGEFIV;Previous Spot(Mask 7) + Mask LCh -TP_LOCALLAB_MERGEFOU;Previous Spot(Mask 7) -TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case) -TP_LOCALLAB_MERGENONE;None -TP_LOCALLAB_MERGEONE;Short Curves 'L' Mask +TP_LOCALLAB_MERGECOLFRMASK_TOOLTIP;Allows you to create masks based on the 3 LCh curves and/or a structure-detection algorithm. +TP_LOCALLAB_MERGEMER_TOOLTIP;Takes ΔE into account when merging files (equivalent of scope in this case). TP_LOCALLAB_MERGEOPA_TOOLTIP;Opacity = % of current spot to be merged with original or previous Spot.\nContrast threshold : adjusts result as a function of contrast in original image. -TP_LOCALLAB_MERGETHR;Original + Mask LCh -TP_LOCALLAB_MERGETWO;Original -TP_LOCALLAB_MERGETYPE;Merge image and mask -TP_LOCALLAB_MERGETYPE_TOOLTIP;None, use all mask in LCh mode.\nShort curves 'L' mask, use a short circuit for mask 2, 3, 4, 6, 7.\nOriginal mask 8, blend current image with original TP_LOCALLAB_MERHEI;Overlay TP_LOCALLAB_MERHUE;Hue TP_LOCALLAB_MERLUCOL;Luminance @@ -2937,7 +3164,7 @@ TP_LOCALLAB_MERTWE;Exclusion TP_LOCALLAB_MERTWO;Subtract TP_LOCALLAB_METHOD_TOOLTIP;'Enhanced + chroma denoise' significantly increases processing times.\nBut reduce artifacts. TP_LOCALLAB_MLABEL;Restored data Min=%1 Max=%2 -TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust ‘Clip restored data (gain)’ and ‘Offset’ to normalize.\nRecovers image data without blending. +TP_LOCALLAB_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. TP_LOCALLAB_MODE_EXPERT;Advanced TP_LOCALLAB_MODE_NORMAL;Standard TP_LOCALLAB_MODE_SIMPLE;Basic @@ -2945,25 +3172,25 @@ TP_LOCALLAB_MRFIV;Background TP_LOCALLAB_MRFOU;Previous Spot TP_LOCALLAB_MRONE;None TP_LOCALLAB_MRTHR;Original Image -TP_LOCALLAB_MRTWO;Short Curves 'L' Mask -TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV +TP_LOCALLAB_MULTIPL_TOOLTIP;Wide-range tone adjustment: -18EV to +4EV. The first slider acts on very dark tones between -18EV and -6EV. The last slider acts on light tones up to 4EV. TP_LOCALLAB_NEIGH;Radius -TP_LOCALLAB_NLDENOISE_TOOLTIP;“Detail recovery” acts on a Laplacian transform to target uniform areas rather than areas with detail. +TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise.\nIf gamma = 3.0 Luminance 'linear' is used. TP_LOCALLAB_NLDENOISENLPAT_TOOLTIP;Use this slider to adapt the amount of denoise to the size of the objects to be processed. TP_LOCALLAB_NLDENOISENLRAD_TOOLTIP;Higher values increase denoise at the expense of processing time. -TP_LOCALLAB_NLDENOISENLGAM_TOOLTIP;Lower values preserve details and texture, higher values increase denoise. +TP_LOCALLAB_NLDENOISE_TOOLTIP;'Detail recovery' acts on a Laplacian transform to target uniform areas rather than areas with detail. +TP_LOCALLAB_NLDET;Detail recovery TP_LOCALLAB_NLFRA;Non-local Means - Luminance TP_LOCALLAB_NLFRAME_TOOLTIP;Non-local means denoising takes a mean of all pixels in the image, weighted by how similar they are to the target pixel.\nReduces loss of detail compared with local mean algorithms.\nOnly luminance noise is taken into account. Chrominance noise is best processed using wavelets and Fourier transforms (DCT).\nCan be used in conjunction with 'Luminance denoise by level' or on its own. -TP_LOCALLAB_NLLUM;Strength -TP_LOCALLAB_NLDET;Detail recovery TP_LOCALLAB_NLGAM;Gamma +TP_LOCALLAB_NLLUM;Strength TP_LOCALLAB_NLPAT;Maximum patch size TP_LOCALLAB_NLRAD;Maximum radius size TP_LOCALLAB_NOISECHROCOARSE;Coarse chroma (Wav) -TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02 +TP_LOCALLAB_NOISECHROC_TOOLTIP;If superior to zero, high quality algorithm is enabled.\nCoarse is for slider >=0.02. TP_LOCALLAB_NOISECHRODETAIL;Chroma detail recovery TP_LOCALLAB_NOISECHROFINE;Fine chroma (Wav) -TP_LOCALLAB_NOISEDETAIL_TOOLTIP;Disabled if slider = 100 +TP_LOCALLAB_NOISEGAM;Gamma +TP_LOCALLAB_NOISEGAM_TOOLTIP;If gamma = 1 Luminance 'Lab' is used. If gamma = 3.0 Luminance 'linear' is used.\nLower values preserve details and texture, higher values increase denoise. TP_LOCALLAB_NOISELEQUAL;Equalizer white-black TP_LOCALLAB_NOISELUMCOARSE;Luminance coarse (Wav) TP_LOCALLAB_NOISELUMDETAIL;Luma detail recovery @@ -2971,39 +3198,44 @@ TP_LOCALLAB_NOISELUMFINE;Luminance fine 1 (Wav) TP_LOCALLAB_NOISELUMFINETWO;Luminance fine 2 (Wav) TP_LOCALLAB_NOISELUMFINEZERO;Luminance fine 0 (Wav) TP_LOCALLAB_NOISEMETH;Denoise -TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise +TP_LOCALLAB_NOISE_TOOLTIP;Adds luminance noise. TP_LOCALLAB_NONENOISE;None TP_LOCALLAB_NUL_TOOLTIP;. TP_LOCALLAB_OFFS;Offset TP_LOCALLAB_OFFSETWAV;Offset TP_LOCALLAB_OPACOL;Opacity TP_LOCALLAB_ORIGLC;Merge only with original image -TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by ‘Scope’. This allows you to differentiate the action for different parts of the image (with respect to the background for example). -TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced +TP_LOCALLAB_ORRETILAP_TOOLTIP;Modifies ΔE prior to any changes made by 'Scope'. This allows you to differentiate the action for different parts of the image (with respect to the background for example). +TP_LOCALLAB_ORRETISTREN_TOOLTIP;Acts on the Laplacian threshold, the greater the action, the more the differences in contrast will be reduced. TP_LOCALLAB_PASTELS2;Vibrance TP_LOCALLAB_PDE;Contrast Attenuator - Dynamic Range compression TP_LOCALLAB_PDEFRA;Contrast Attenuator ƒ -TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu ‘Exposure’.\nMay be useful for under-exposed or high dynamic range images. +TP_LOCALLAB_PDEFRAME_TOOLTIP;PDE IPOL algorithm adapted for Rawtherapee : gives different results and requires different settings compared to main-menu 'Exposure'.\nMay be useful for under-exposed or high dynamic range images. TP_LOCALLAB_PREVHIDE;Hide additional settings TP_LOCALLAB_PREVIEW;Preview ΔE TP_LOCALLAB_PREVSHOW;Show additional settings TP_LOCALLAB_PROXI;ΔE decay +TP_LOCALLAB_QUAAGRES;Aggressive +TP_LOCALLAB_QUACONSER;Conservative TP_LOCALLAB_QUALCURV_METHOD;Curve type TP_LOCALLAB_QUAL_METHOD;Global quality -TP_LOCALLAB_QUACONSER;Conservative -TP_LOCALLAB_QUAAGRES;Aggressive -TP_LOCALLAB_QUANONEWAV;Non-local means only TP_LOCALLAB_QUANONEALL;Off +TP_LOCALLAB_QUANONEWAV;Non-local means only TP_LOCALLAB_RADIUS;Radius -TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30 +TP_LOCALLAB_RADIUS_TOOLTIP;Uses a Fast Fourier Transform for radius > 30. TP_LOCALLAB_RADMASKCOL;Smooth radius +TP_LOCALLAB_RECOTHRES02_TOOLTIP;If the 'Recovery threshold' value is greater than 1, the mask in Mask and Modifications takes into account any previous modifications made to the image but not those made with the current tool (e.g. Color and Light, Wavelet, Cam16, etc.)\nIf the value of the 'Recovery threshold' is less than 1, the mask in Mask and Modifications does not take into account any previous modifications to the image.\n\nIn both cases, the 'Recovery threshold' acts on the masked image as modified by the current tool (Color and Light, Wavelet, Cam16, etc.). TP_LOCALLAB_RECT;Rectangle TP_LOCALLAB_RECURS;Recursive references TP_LOCALLAB_RECURS_TOOLTIP;Forces the algorithm to recalculate the references after each tool is applied.\nAlso useful for working with masks. -TP_LOCALLAB_REFLABEL;Ref. (0..1) Chroma=%1 Luma=%2 Hue=%3 TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot -TP_LOCALLAB_RESETSHOW;Reset All Show Modifications +TP_LOCALLAB_REPARCOL_TOOLTIP;Allows you to adjust the relative strength of the Color and Light image with respect to the original image. +TP_LOCALLAB_REPARDEN_TOOLTIP;Allows you to adjust the relative strength of the Denoise image with respect to the original image. +TP_LOCALLAB_REPAREXP_TOOLTIP;Allows you to adjust the relative strength of the Dynamic Range and Exposure image with respect to the original image. +TP_LOCALLAB_REPARSH_TOOLTIP;Allows you to adjust the relative strength of the Shadows/Highlights and Tone Equalizer image with respect to the original image. +TP_LOCALLAB_REPARTM_TOOLTIP;Allows you to adjust the relative strength of the Tone mapping image with respect to the original image. +TP_LOCALLAB_REPARW_TOOLTIP;Allows you to adjust the relative strength of the local contrast and wavelet image with respect to the original image. TP_LOCALLAB_RESID;Residual Image TP_LOCALLAB_RESIDBLUR;Blur residual image TP_LOCALLAB_RESIDCHRO;Residual image Chroma @@ -3018,9 +3250,8 @@ TP_LOCALLAB_RETIFRA;Retinex TP_LOCALLAB_RETIFRAME_TOOLTIP;Retinex can be useful for processing images: \nthat are blurred, foggy or hazy (in addition to Dehaze).\nthat contain large differences in luminance.\nIt can also be used for special effects (tone mapping). TP_LOCALLAB_RETIM;Original Retinex TP_LOCALLAB_RETITOOLFRA;Retinex Tools -TP_LOCALLAB_RETI_FFTW_TOOLTIP;FFT improve quality and allow big radius, but increases the treatment time.\nThe treatment time depends on the surface to be treated\nThe treatment time depends on the value of scale (be carefull to high values).\nTo be used preferably for large radius.\n\nDimensions can be reduced by a few pixels to optimize FFTW.\nThis optimization can reduce the treatment time by a factor of 1.5 to 10.\nOptimization not used in Preview -TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of "Lightness = 1" or "Darkness =2".\nFor other values, the last step of a "Multiple scale Retinex" algorithm (similar to "local contrast") is applied. These 2 cursors, associated with "Strength" allow you to make adjustments upstream of local contrast -TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the "Restored data" values close to Min=0 and Max=32768 (log mode), but other values are possible. +TP_LOCALLAB_RETI_LIGHTDARK_TOOLTIP;Has no effect when the value of 'Lightness = 1' or 'Darkness =2'.\nFor other values, the last step of a 'Multiple scale Retinex' algorithm (similar to 'local contrast') is applied. These 2 cursors, associated with 'Strength' allow you to make adjustments upstream of local contrast. +TP_LOCALLAB_RETI_LIMDOFFS_TOOLTIP;Adjusts the internal parameters to optimize the response.\nPreferable to keep the 'Restored data' values close to Min=0 and Max=32768 (log mode), but other values are possible. TP_LOCALLAB_RETI_LOGLIN_TOOLTIP;Logarithm mode introduces more contrast but will also generate more halos. TP_LOCALLAB_RETI_NEIGH_VART_TOOLTIP;The radius and variance sliders allow you adjust haze and target either the foreground or the background. TP_LOCALLAB_RETI_SCALE_TOOLTIP;If Scale=1, Retinex behaves like local contrast with additional possibilities.\nIncreasing the value of Scale increases the intensity of the recursive action at the expense of processing time. @@ -3030,31 +3261,31 @@ TP_LOCALLAB_RGB;RGB Tone Curve TP_LOCALLAB_RGBCURVE_TOOLTIP;In RGB mode you have 4 choices : Standard, Weighted standard, Luminance & Film-like. TP_LOCALLAB_ROW_NVIS;Not visible TP_LOCALLAB_ROW_VIS;Visible +TP_LOCALLAB_RSTPROTECT_TOOLTIP;Red and skin-tone protection affects the Saturation, Chroma and Colorfulness sliders. TP_LOCALLAB_SATUR;Saturation TP_LOCALLAB_SATURV;Saturation (s) -TP_LOCALLAB_SAVREST;Save - Restore Current Image TP_LOCALLAB_SCALEGR;Scale TP_LOCALLAB_SCALERETI;Scale TP_LOCALLAB_SCALTM;Scale TP_LOCALLAB_SCOPEMASK;Scope (ΔE image mask) -TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if DeltaE Image Mask is enabled.\nLow values avoid retouching selected area +TP_LOCALLAB_SCOPEMASK_TOOLTIP;Enabled if ΔE Image Mask is enabled.\nLow values avoid retouching selected area. TP_LOCALLAB_SENSI;Scope TP_LOCALLAB_SENSIEXCLU;Scope -TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded -TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the deltaE of the mask itself by using 'Scope (deltaE image mask)' in 'Settings' > ‘Mask and Merge’ -TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors +TP_LOCALLAB_SENSIEXCLU_TOOLTIP;Adjust the colors to be excluded. +TP_LOCALLAB_SENSIMASK_TOOLTIP;Scope adjustment specific to common mask tool.\nActs on the difference between the original image and the mask.\nUses the luma, chroma and hue references from the center of the RT-spot\n\nYou can also adjust the ΔE of the mask itself by using 'Scope (ΔE image mask)' in 'Settings' > 'Mask and Merge'. +TP_LOCALLAB_SENSI_TOOLTIP;Adjusts the scope of the action:\nSmall values limit the action to colors similar to those in the center of the spot.\nHigh values let the tool act on a wider range of colors. TP_LOCALLAB_SETTINGS;Settings TP_LOCALLAB_SH1;Shadows Highlights TP_LOCALLAB_SH2;Equalizer TP_LOCALLAB_SHADEX;Shadows TP_LOCALLAB_SHADEXCOMP;Shadow compression TP_LOCALLAB_SHADHIGH;Shadows/Highlights & Tone Equalizer -TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm -TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm +TP_LOCALLAB_SHADHMASK_TOOLTIP;Lowers the highlights of the mask in the same way as the shadows/highlights algorithm. +TP_LOCALLAB_SHADMASK_TOOLTIP;Lifts the shadows of the mask in the same way as the shadows/highlights algorithm. TP_LOCALLAB_SHADOWHIGHLIGHT_TOOLTIP;Adjust shadows and highlights either with shadows & highlights sliders or with a tone equalizer.\nCan be used instead of, or in conjunction with the Exposure module.\nCan also be used as a graduated filter. TP_LOCALLAB_SHAMASKCOL;Shadows TP_LOCALLAB_SHAPETYPE;RT-spot shape -TP_LOCALLAB_SHAPE_TOOLTIP;”Ellipse” is the normal mode.\n “Rectangle” can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. +TP_LOCALLAB_SHAPE_TOOLTIP;'Ellipse' is the normal mode.\n 'Rectangle' can be used in certain cases, for example to work in full-image mode by placing the delimiters outside the preview area. In this case, set transition = 100.\n\nFuture developments will include polygon shapes and Bezier curves. TP_LOCALLAB_SHARAMOUNT;Amount TP_LOCALLAB_SHARBLUR;Blur radius TP_LOCALLAB_SHARDAMPING;Damping @@ -3064,7 +3295,7 @@ TP_LOCALLAB_SHARP;Sharpening TP_LOCALLAB_SHARP_TOOLNAME;Sharpening TP_LOCALLAB_SHARRADIUS;Radius TP_LOCALLAB_SHORTC;Short Curves 'L' Mask -TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7 +TP_LOCALLAB_SHORTCMASK_TOOLTIP;Short circuit the 2 curves L(L) and L(H).\nAllows you to mix the current image with the original image modified by the mask job.\nUsable with masks 2, 3, 4, 6, 7. TP_LOCALLAB_SHOWC;Mask and modifications TP_LOCALLAB_SHOWC1;Merge file TP_LOCALLAB_SHOWCB;Mask and modifications @@ -3074,13 +3305,12 @@ TP_LOCALLAB_SHOWFOURIER;Fourier ƒ(dct) TP_LOCALLAB_SHOWLAPLACE;∆ Laplacian (first) TP_LOCALLAB_SHOWLC;Mask and modifications TP_LOCALLAB_SHOWMASK;Show mask -TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the "Spot structure" cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. +TP_LOCALLAB_SHOWMASKCOL_TOOLTIP;Displays masks and modifications.\nBeware, you can only view one tool mask at a time.\nShow modified image: shows the modified image including the effect of any adjustments and masks.\nShow modified areas without mask: shows the modifications before any masks are applied.\nShow modified areas with mask: shows the modifications after a mask has been applied.\nShow mask: shows the aspect of the mask including the effect of any curves and filters.\nShow spot structure: allows you to see the structure-detection mask when the 'Spot structure' cursor is activated (when available).\nNote: The mask is applied before the shape detection algorithm. TP_LOCALLAB_SHOWMASKSOFT_TOOLTIP;Allows you to visualize the different stages of the Fourier process.\n Laplace - calculates the second derivative of the Laplace transform as a function of the threshold.\nFourier - shows the Laplacian transform with DCT.\nPoisson - shows the solution of the Poisson DCE.\nNo luminance normalization - shows result without any luminance normalization. TP_LOCALLAB_SHOWMASKTYP1;Blur & Noise TP_LOCALLAB_SHOWMASKTYP2;Denoise -TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise -//TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Mask and modifications can be chosen.\nBlur and noise : in this case it is not used for 'denoise'.\nDenoise : in this case it is not used for 'blur and noise'.\n\nBlur and noise + denoise : mask is shared, be carefull to 'show modifications' and 'scope' -TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with ‘Mask and modifications’.\nIf ‘Blur and noise’ is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for ‘Blur and noise’.\nIf ‘Blur and noise + Denoise’ is selected, the mask is shared. Note that in this case, the Scope sliders for both ‘Blur and noise’ and Denoise will be active so it is advisable to use the option ‘Show modifications with mask’ when making any adjustments. +TP_LOCALLAB_SHOWMASKTYP3;Blur & Noise + Denoise +TP_LOCALLAB_SHOWMASKTYP_TOOLTIP;Can be used with 'Mask and modifications'.\nIf 'Blur and noise' is selected, the mask cannot be used for Denoise.\nIf Denoise is selected, the mask cannot be used for 'Blur and noise'.\nIf 'Blur and noise + Denoise' is selected, the mask is shared. Note that in this case, the Scope sliders for both 'Blur and noise' and Denoise will be active so it is advisable to use the option 'Show modifications with mask' when making any adjustments. TP_LOCALLAB_SHOWMNONE;Show modified image TP_LOCALLAB_SHOWMODIF;Show modified areas without mask TP_LOCALLAB_SHOWMODIF2;Show modified areas @@ -3095,13 +3325,19 @@ TP_LOCALLAB_SHOWSTRUC;Show spot structure(Advanced) TP_LOCALLAB_SHOWSTRUCEX;Show spot structure(Advanced) TP_LOCALLAB_SHOWT;Mask and modifications TP_LOCALLAB_SHOWVI;Mask and modifications -TP_LOCALLAB_SHRESFRA;Shadows/Highlights +TP_LOCALLAB_SHRESFRA;Shadows/Highlights & TRC TP_LOCALLAB_SHTRC_TOOLTIP;Based on 'working profile' (only those provided), modifies the tones of the image by acting on a TRC (Tone Response Curve).\nGamma acts mainly on light tones.\nSlope acts mainly on dark tones.\nIt is recommended that the TRC of both devices (monitor and output profile) be sRGB (default). TP_LOCALLAB_SH_TOOLNAME;Shadows/Highlights & Tone Equalizer +TP_LOCALLAB_SIGFRA;Sigmoid Q & Log encoding Q +TP_LOCALLAB_SIGJZFRA;Sigmoid Jz TP_LOCALLAB_SIGMAWAV;Attenuation response -TP_LOCALLAB_SIM;Simple +TP_LOCALLAB_SIGMOIDBL;Blend +TP_LOCALLAB_SIGMOIDLAMBDA;Contrast +TP_LOCALLAB_SIGMOIDQJ;Uses Black Ev & White Ev +TP_LOCALLAB_SIGMOIDTH;Threshold (Gray point) +TP_LOCALLAB_SIGMOID_TOOLTIP;Allows you to simulate a Tone-mapping appearance using both the'Ciecam' (or 'Jz') and 'Sigmoid' function.\nThree sliders: a) Contrast acts on the shape of the sigmoid curve and consequently on the strength; b) Threshold (Gray point) distributes the action according to the luminance; c)Blend acts on the final aspect of the image, contrast and luminance. TP_LOCALLAB_SLOMASKCOL;Slope -TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying ‘L’ to avoid any discontinuities. +TP_LOCALLAB_SLOMASK_TOOLTIP;Adjusting Gamma and Slope can provide a soft and artifact-free transformation of the mask by progressively modifying 'L' to avoid any discontinuities. TP_LOCALLAB_SLOSH;Slope TP_LOCALLAB_SOFT;Soft Light & Original Retinex TP_LOCALLAB_SOFTM;Soft Light @@ -3109,13 +3345,12 @@ TP_LOCALLAB_SOFTMETHOD_TOOLTIP;Apply a Soft-light blend (identical to the global TP_LOCALLAB_SOFTRADIUSCOL;Soft radius TP_LOCALLAB_SOFTRADIUSCOL_TOOLTIP;Applies a guided filter to the output image to reduce possible artifacts. TP_LOCALLAB_SOFTRETI;Reduce ΔE artifacts -TP_LOCALLAB_SOFTRETI_TOOLTIP;Take into account deltaE to improve Transmission map TP_LOCALLAB_SOFT_TOOLNAME;Soft Light & Original Retinex TP_LOCALLAB_SOURCE_ABS;Absolute luminance TP_LOCALLAB_SOURCE_GRAY;Mean luminance (Yb%) TP_LOCALLAB_SPECCASE;Specific cases TP_LOCALLAB_SPECIAL;Special use of RGB curves -TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. ‘Scope’, masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. +TP_LOCALLAB_SPECIAL_TOOLTIP;The checkbox allows you to remove all other actions i.e. 'Scope', masks, sliders etc., (except for transitions) and use just the effect of the RGB tone-curve. TP_LOCALLAB_SPOTNAME;New Spot TP_LOCALLAB_STD;Standard TP_LOCALLAB_STR;Strength @@ -3123,16 +3358,15 @@ TP_LOCALLAB_STRBL;Strength TP_LOCALLAB_STREN;Compression strength TP_LOCALLAB_STRENG;Strength TP_LOCALLAB_STRENGR;Strength -TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with "strength", but you can also use the "scope" function which allows you to delimit the action (e.g. to isolate a particular color). +TP_LOCALLAB_STRENGRID_TOOLTIP;You can adjust the desired effect with 'strength', but you can also use the 'scope' function which allows you to delimit the action (e.g. to isolate a particular color). TP_LOCALLAB_STRENGTH;Noise TP_LOCALLAB_STRGRID;Strength -TP_LOCALLAB_STRRETI_TOOLTIP;if Strength Retinex < 0.2 only Dehaze is enabled.\nif Strength Retinex >= 0.1 Dehaze is in luminance mode. TP_LOCALLAB_STRUC;Structure TP_LOCALLAB_STRUCCOL;Spot structure TP_LOCALLAB_STRUCCOL1;Spot structure -TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate ‘Mask and modifications’ > ‘Show spot structure’ (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and ‘Local contrast’ (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either ‘Show modified image’ or ‘Show modified areas with mask’. +TP_LOCALLAB_STRUCT_TOOLTIP;Uses the Sobel algorithm to take into account structure for shape detection.\nActivate 'Mask and modifications' > 'Show spot structure' (Advanced mode) to see a preview of the mask (without modifications).\n\nCan be used in conjunction with the Structure Mask, Blur Mask and 'Local contrast' (by wavelet level) to improve edge detection.\n\nEffects of adjustments using Lightness, Contrast, Chrominance, Exposure or other non-mask-related tools visible using either 'Show modified image' or 'Show modified areas with mask'. TP_LOCALLAB_STRUMASKCOL;Structure mask strength -TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise") and mask(Color & Light). +TP_LOCALLAB_STRUMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' unchecked: In this case a mask showing the structure will be generated even if none of the 3 curves is activated. Structure masks are available for mask (Blur and denoise') and mask(Color & Light). TP_LOCALLAB_STRUSTRMASK_TOOLTIP;Moderate use of this slider is recommended! TP_LOCALLAB_STYPE;Shape method TP_LOCALLAB_STYPE_TOOLTIP;You can choose between:\nSymmetrical - left handle linked to right, top handle linked to bottom.\nIndependent - all handles are independent. @@ -3144,63 +3378,61 @@ TP_LOCALLAB_THRESDELTAE;ΔE scope threshold TP_LOCALLAB_THRESRETI;Threshold TP_LOCALLAB_THRESWAV;Balance threshold TP_LOCALLAB_TLABEL;TM Min=%1 Max=%2 Mean=%3 Sig=%4 -TP_LOCALLAB_TLABEL2;TM Effective Tm=%1 TM=%2 TP_LOCALLAB_TLABEL_TOOLTIP;Transmission map result.\nMin and Max are used by Variance.\nTm=Min TM=Max of Transmission Map.\nYou can normalize the results with the threshold slider. TP_LOCALLAB_TM;Tone Mapping TP_LOCALLAB_TM_MASK;Use transmission map -TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an "edge".\n If set to zero the tone mapping will have an effect similar to unsharp masking. +TP_LOCALLAB_TONEMAPESTOP_TOOLTIP;This slider affects edge sensitivity.\n The greater the value, the more likely a change in contrast will be interpreted as an 'edge'.\n If set to zero the tone mapping will have an effect similar to unsharp masking. TP_LOCALLAB_TONEMAPGAM_TOOLTIP;The Gamma slider shifts the tone-mapping effect towards either the shadows or the highlights. TP_LOCALLAB_TONEMAPREWEI_TOOLTIP;In some cases tone mapping may result in a cartoonish appearance, and in some rare cases soft but wide halos may appear.\n Increasing the number of reweighting iterates will help fight some of these problems. TP_LOCALLAB_TONEMAP_TOOLTIP;Same as the tone mapping tool in the main menu.\nThe main-menu tool must be deactivated if this tool is used. -TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between "local" and "global" contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted +TP_LOCALLAB_TONEMASCALE_TOOLTIP;This slider allows you to adjust the transition between 'local' and 'global' contrast.\nThe greater the value, the larger a detail needs to be for it to be boosted. TP_LOCALLAB_TONE_TOOLNAME;Tone Mapping TP_LOCALLAB_TOOLCOL;Structure mask as tool -TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists +TP_LOCALLAB_TOOLCOLFRMASK_TOOLTIP;Allows you to modify the mask, if one exists. TP_LOCALLAB_TOOLMASK;Mask Tools TP_LOCALLAB_TOOLMASK_2;Wavelets -TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox ‘Structure mask as tool’ checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the ‘Structure mask’ behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. +TP_LOCALLAB_TOOLMASK_TOOLTIP;Structure mask (slider) with the checkbox 'Structure mask as tool' checked: in this case a mask showing the structure will be generated after one or more of the 2 curves L(L) or LC(H) has been modified.\n Here, the 'Structure mask' behaves like the other Mask tools : Gamma, Slope, etc.\n It allows you to vary the action on the mask according to the structure of the image. TP_LOCALLAB_TRANSIT;Transition Gradient TP_LOCALLAB_TRANSITGRAD;Transition differentiation XY -TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition +TP_LOCALLAB_TRANSITGRAD_TOOLTIP;Allows you to vary the y-axis transition. TP_LOCALLAB_TRANSITVALUE;Transition value TP_LOCALLAB_TRANSITWEAK;Transition decay (linear-log) -TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light) -TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the "radius" +TP_LOCALLAB_TRANSITWEAK_TOOLTIP;Adjust transition decay function: 1 linear , 2 parabolic, 3 cubic up to ^25.\nCan be used in conjunction with very low transition values to reduce defects (CBDL, Wavelets, Color & Light). +TP_LOCALLAB_TRANSIT_TOOLTIP;Adjust smoothness of transition between affected and unaffected areas as a percentage of the 'radius'. TP_LOCALLAB_TRANSMISSIONGAIN;Transmission gain TP_LOCALLAB_TRANSMISSIONMAP;Transmission map -TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts +TP_LOCALLAB_TRANSMISSION_TOOLTIP;Transmission according to transmission.\nAbscissa: transmission from negative values (min), mean, and positive values (max).\nOrdinate: amplification or reduction.\nYou can adjust this curve to change the Transmission and reduce artifacts. TP_LOCALLAB_USEMASK;Laplacian TP_LOCALLAB_VART;Variance (contrast) TP_LOCALLAB_VIBRANCE;Vibrance & Warm/Cool TP_LOCALLAB_VIBRA_TOOLTIP;Adjusts vibrance (essentially the same as the global adjustment).\nCarries out the equivalent of a white-balance adjustment using a CIECAM algorithm. TP_LOCALLAB_VIB_TOOLNAME;Vibrance & Warm/Cool TP_LOCALLAB_VIS_TOOLTIP;Click to show/hide selected Control Spot.\nCtrl+click to show/hide all Control Spot. -TP_LOCALLAB_WAMASKCOL;Mask Wavelet level TP_LOCALLAB_WARM;Warm/Cool & Color artifacts TP_LOCALLAB_WARM_TOOLTIP;This slider uses the CIECAM algorithm and acts as a White Balance control to make the color temperature of the selected area warmer or cooler.\nIt can also reduce color artifacts in some cases. TP_LOCALLAB_WASDEN_TOOLTIP;Luminance noise reduction: the left-hand side of the curve including the dark-gray/light-gray boundary corresponds to the first 3 levels 0, 1, 2 (fine detail). The right hand side of the curve corresponds to the coarser details (level 3, 4, 5, 6). TP_LOCALLAB_WAT_BALTHRES_TOOLTIP;Balances the action within each level. TP_LOCALLAB_WAT_BLURLC_TOOLTIP;The default blur setting affects all 3 L*a* b* components (luminance and colour).\nWhen checked, only luminance is blurred. -TP_LOCALLAB_WAT_CLARIC_TOOLTIP;“Merge chroma” is used to select the intensity of the desired effect on chrominance. -TP_LOCALLAB_WAT_CLARIL_TOOLTIP;“Merge luma” is used to select the intensity of the desired effect on luminance. -TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;‘Chroma levels’: adjusts the “a” and “b” components of Lab* as a proportion of the luminance value. -TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low ‘Attenuation response’ value you can select which contrast values will be enhanced. +TP_LOCALLAB_WAT_CLARIC_TOOLTIP;'Merge chroma' is used to select the intensity of the desired effect on chrominance. +TP_LOCALLAB_WAT_CLARIL_TOOLTIP;'Merge luma' is used to select the intensity of the desired effect on luminance. +TP_LOCALLAB_WAT_CONTCHROMALEV_TOOLTIP;'Chroma levels': adjusts the 'a' and 'b' components of Lab* as a proportion of the luminance value. +TP_LOCALLAB_WAT_CONTOFFSET_TOOLTIP;Offset modifies the balance between low-contrast and high-contrast details.\nHigh values will amplify contrast changes to the higher-contrast details, whereas low values will amplify contrast changes to low-contrast details.\nBy using a low 'Attenuation response' value you can select which contrast values will be enhanced. TP_LOCALLAB_WAT_DELTABAL_TOOLTIP;By moving the slider to the left, the lower levels are accentuated. To the right, the lower levels are reduced and the higher levels accentuated. TP_LOCALLAB_WAT_EXPRESID_TOOLTIP;The residual image behaves in the same way as the main image when making adjustments to contrast, chroma etc. TP_LOCALLAB_WAT_GRADW_TOOLTIP;The more you move the slider to the right, the more effective the detection algorithm will be and the less noticeable the effects of local contrast. -TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncrease or decrease local contrast on the y-axis. +TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP;Low to high local contrast from left to right on the x-axis.\nIncreases or decreases local contrast on the y-axis. TP_LOCALLAB_WAT_LOCCONTRASTEDG_TOOLTIP;You can adjust the distribution of local contrast by wavelet level based on the initial intensity of the contrast. This will modify the effects of perspective and relief in the image, and/or reduce the contrast values for very low initial contrast levels. -TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;‘Merge only with original image’, prevents the ‘Wavelet Pyramid’ settings from interfering with ‘Clarity’ and ‘Sharp mask’. +TP_LOCALLAB_WAT_ORIGLC_TOOLTIP;'Merge only with original image', prevents the 'Wavelet Pyramid' settings from interfering with 'Clarity' and 'Sharp mask'. TP_LOCALLAB_WAT_RESIDBLUR_TOOLTIP;Blurs the residual image, independent of the levels. TP_LOCALLAB_WAT_RESIDCOMP_TOOLTIP;Compresses the residual image to increase or reduce contrast. -TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details, and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment, and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. +TP_LOCALLAB_WAT_SIGMALC_TOOLTIP;The effect of the local contrast adjustment is stronger for medium-contrast details and weaker for high and low-contrast details.\n This slider controls how quickly the effect dampens towards the extreme contrasts.\nThe higher the value of the slider, the wider the range of contrasts that will receive the full effect of the local contrast adjustment and the higher the risk of generating artifacts.\nThe lower the value, the more the effect will be pinpointed towards a narrow range of contrast values. TP_LOCALLAB_WAT_STRENGTHW_TOOLTIP;Intensity of edge-effect detection. TP_LOCALLAB_WAT_STRWAV_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. -TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the ‘Wavelets’ module. +TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP;Range of wavelet levels used throughout the Wavelets module. TP_LOCALLAB_WAT_WAVBLURCURV_TOOLTIP;Allows you to blur each level of decomposition.\nThe finest to coarsest levels of decomposition are from left to right. TP_LOCALLAB_WAT_WAVCBDL_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. TP_LOCALLAB_WAT_WAVDELTABAL_TOOLTIP;Acts on the balance of the three directions (horizontal, vertical and diagonal) based on the luminance of the image.\nBy default the shadows or highlights are reduced to avoid artifacts. -TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the ‘Edge sharpness’ tools. It is advisable to read the Wavelet Levels documentation. +TP_LOCALLAB_WAT_WAVESHOW_TOOLTIP;Shows all of the 'Edge sharpness' tools. It is advisable to read the Wavelet Levels documentation. TP_LOCALLAB_WAT_WAVLEVELBLUR_TOOLTIP;Allows you to adjust the maximum effect of blurring on the levels. TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP;Low to high local contrast from left to right on the x-axis\nIncrease or decrease local contrast on the y-axis. TP_LOCALLAB_WAT_WAVTM_TOOLTIP;The lower (negative) part compresses each level of decomposition creating a tone mapping effect.\nThe upper (positive) part attenuates the contrast by level.\nThe finest to coarsest levels of decomposition are from left to right on the x-axis. @@ -3209,36 +3441,34 @@ TP_LOCALLAB_WAVBLUR_TOOLTIP;Allows you to blur each level of the decomposition, TP_LOCALLAB_WAVCOMP;Compression by level TP_LOCALLAB_WAVCOMPRE;Compression by level TP_LOCALLAB_WAVCOMPRE_TOOLTIP;Allows you to apply tone mapping or reduce local contrast on individual levels.\nFine to coarse detail levels from left to right on the x-axis. -TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal +TP_LOCALLAB_WAVCOMP_TOOLTIP;Allows you to apply local contrast based on the direction of the wavelet decomposition : horizontal, vertical, diagonal. TP_LOCALLAB_WAVCON;Contrast by level TP_LOCALLAB_WAVCONTF_TOOLTIP;Similar to Contrast By Detail Levels. Fine to coarse detail levels from left to right on the x-axis. TP_LOCALLAB_WAVDEN;Luminance denoise TP_LOCALLAB_WAVE;Wavelets TP_LOCALLAB_WAVEDG;Local contrast TP_LOCALLAB_WAVEEDG_TOOLTIP;Improves sharpness by targeting the action of local contrast on the edges. It has the same functions as the corresponding module in Wavelet Levels and uses the same settings. -TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in ‘Local contrast’ (by wavelet level). -TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. -TP_LOCALLAB_WAVHIGH;Wavelet high +TP_LOCALLAB_WAVEMASK_LEVEL_TOOLTIP;Range of wavelet levels used in 'Local contrast' (by wavelet level). +TP_LOCALLAB_WAVGRAD_TOOLTIP;Allows the local contrast to be varied according to a chosen gradient and angle. The variation of the luminance signal is taken into account and not the luminance. TP_LOCALLAB_WAVHUE_TOOLTIP;Allows you to reduce or increase the denoise based on hue. TP_LOCALLAB_WAVLEV;Blur by level -TP_LOCALLAB_WAVLOW;Wavelet low TP_LOCALLAB_WAVMASK;Local contrast -TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings...) -//TP_LOCALLAB_WAVMED;Ψ Wavelet normal -TP_LOCALLAB_WAVMED;Wavelet normal +TP_LOCALLAB_WAVMASK_TOOLTIP;Uses wavelets to modify the local contrast of the mask and reinforce or reduce the structure (skin, buildings, etc.). TP_LOCALLAB_WEDIANHI;Median Hi TP_LOCALLAB_WHITE_EV;White Ev +TP_LOCALLAB_ZCAMFRA;ZCAM Image Adjustments +TP_LOCALLAB_ZCAMTHRES;Retrieve high datas TP_LOCAL_HEIGHT;Bottom TP_LOCAL_HEIGHT_T;Top TP_LOCAL_WIDTH;Right TP_LOCAL_WIDTH_L;Left -TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light.\n +TP_LOCRETI_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Evenly distributed.\nHigh = Reinforce strong light. TP_METADATA_EDIT;Apply modifications TP_METADATA_MODE;Metadata copy mode TP_METADATA_STRIP;Strip all metadata TP_METADATA_TUNNEL;Copy unchanged TP_NEUTRAL;Reset -TP_NEUTRAL_TIP;Resets exposure sliders to neutral values.\nApplies to the same controls that Auto Levels applies to, regardless of whether you used Auto Levels or not. +TP_NEUTRAL_TOOLTIP;Resets exposure sliders to neutral values.\nApplies to the same controls that Auto Levels applies to, regardless of whether you used Auto Levels or not. TP_PCVIGNETTE_FEATHER;Feather TP_PCVIGNETTE_FEATHER_TOOLTIP;Feathering:\n0 = corners only,\n50 = halfway to center,\n100 = to center. TP_PCVIGNETTE_LABEL;Vignette Filter @@ -3257,6 +3487,7 @@ TP_PERSPECTIVE_CAMERA_SHIFT_VERTICAL;Vertical shift TP_PERSPECTIVE_CAMERA_YAW;Horizontal TP_PERSPECTIVE_CONTROL_LINES;Control lines TP_PERSPECTIVE_CONTROL_LINES_TOOLTIP;Ctrl+drag: Draw new line\nRight-click: Delete line +TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP;At least two horizontal or two vertical control lines required. TP_PERSPECTIVE_HORIZONTAL;Horizontal TP_PERSPECTIVE_LABEL;Perspective TP_PERSPECTIVE_METHOD;Method @@ -3291,10 +3522,10 @@ TP_PREPROCWB_MODE;Mode TP_PREPROCWB_MODE_AUTO;Auto TP_PREPROCWB_MODE_CAMERA;Camera TP_PRSHARPENING_LABEL;Post-Resize Sharpening -TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the "Lanczos" resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. +TP_PRSHARPENING_TOOLTIP;Sharpens the image after resizing. Only works when the 'Lanczos' resizing method is used. It is impossible to preview the effects of this tool. See RawPedia for usage instructions. TP_RAWCACORR_AUTO;Auto-correction TP_RAWCACORR_AUTOIT;Iterations -TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if "Auto-correction" is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. +TP_RAWCACORR_AUTOIT_TOOLTIP;This setting is available if 'Auto-correction' is checked.\nAuto-correction is conservative, meaning that it often does not correct all chromatic aberration.\nTo correct the remaining chromatic aberration, you can use up to five iterations of automatic chromatic aberration correction.\nEach iteration will reduce the remaining chromatic aberration from the last iteration at the cost of additional processing time. TP_RAWCACORR_AVOIDCOLORSHIFT;Avoid color shift TP_RAWCACORR_CABLUE;Blue TP_RAWCACORR_CARED;Red @@ -3347,6 +3578,8 @@ TP_RAW_LMMSE_TOOLTIP;Adds gamma (step 1), median (steps 2-4) and refinement (ste TP_RAW_MONO;Mono TP_RAW_NONE;None (Shows sensor pattern) TP_RAW_PIXELSHIFT;Pixel Shift +TP_RAW_PIXELSHIFTAVERAGE;Use average for moving parts +TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP;Use average of all frames instead of selected frame for regions with motion.\nGives motion effect on slow moving (overlapping) objects. TP_RAW_PIXELSHIFTBLUR;Blur motion mask TP_RAW_PIXELSHIFTDMETHOD;Demosaic method for motion TP_RAW_PIXELSHIFTEPERISO;Sensitivity @@ -3357,7 +3590,7 @@ TP_RAW_PIXELSHIFTEQUALBRIGHTCHANNEL_TOOLTIP;Enabled: Equalize the RGB channels i TP_RAW_PIXELSHIFTEQUALBRIGHT_TOOLTIP;Equalize the brightness of the frames to the brightness of the selected frame.\nIf there are overexposed areas in the frames select the brightest frame to avoid magenta color cast in overexposed areas or enable motion correction. TP_RAW_PIXELSHIFTGREEN;Check green channel for motion TP_RAW_PIXELSHIFTHOLEFILL;Fill holes in motion mask -TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask +TP_RAW_PIXELSHIFTHOLEFILL_TOOLTIP;Fill holes in motion mask. TP_RAW_PIXELSHIFTMEDIAN;Use median for moving parts TP_RAW_PIXELSHIFTMEDIAN_TOOLTIP;Use median of all frames instead of selected frame for regions with motion.\nRemoves objects which are at different places in all frames.\nGives motion effect on slow moving (overlapping) objects. TP_RAW_PIXELSHIFTMM_AUTO;Automatic @@ -3372,12 +3605,12 @@ TP_RAW_PIXELSHIFTSHOWMOTION_TOOLTIP;Overlays the image with a green mask showing TP_RAW_PIXELSHIFTSIGMA;Blur radius TP_RAW_PIXELSHIFTSIGMA_TOOLTIP;The default radius of 1.0 usually fits well for base ISO.\nIncrease the value for high ISO shots, 5.0 is a good starting point.\nWatch the motion mask while changing the value. TP_RAW_PIXELSHIFTSMOOTH;Smooth transitions -TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether "Use LMMSE" is selected), or the median of all four frames if "Use median" is selected. +TP_RAW_PIXELSHIFTSMOOTH_TOOLTIP;Smooth transitions between areas with motion and areas without.\nSet to 0 to disable transition smoothing.\nSet to 1 to either get the AMaZE/LMMSE result of the selected frame (depending on whether 'Use LMMSE' is selected), or the median of all four frames if 'Use median' is selected. TP_RAW_RCD;RCD TP_RAW_RCDBILINEAR;RCD+Bilinear TP_RAW_RCDVNG4;RCD+VNG4 TP_RAW_SENSOR_BAYER_LABEL;Sensor with Bayer Matrix -TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas +TP_RAW_SENSOR_XTRANS_DMETHOD_TOOLTIP;3-pass gives best results (recommended for low ISO images).\n1-pass is almost undistinguishable from 3-pass for high ISO images and is faster.\n+fast gives less artifacts in flat areas. TP_RAW_SENSOR_XTRANS_LABEL;Sensor with X-Trans Matrix TP_RAW_VNG4;VNG4 TP_RAW_XTRANS;X-Trans @@ -3391,9 +3624,13 @@ TP_RESIZE_H;Height: TP_RESIZE_HEIGHT;Height TP_RESIZE_LABEL;Resize TP_RESIZE_LANCZOS;Lanczos +TP_RESIZE_LE;Long Edge: +TP_RESIZE_LONG;Long Edge TP_RESIZE_METHOD;Method: TP_RESIZE_NEAREST;Nearest TP_RESIZE_SCALE;Scale +TP_RESIZE_SE;Short Edge: +TP_RESIZE_SHORT;Short Edge TP_RESIZE_SPECIFY;Specify: TP_RESIZE_W;Width: TP_RESIZE_WIDTH;Width @@ -3404,7 +3641,7 @@ TP_RETINEX_CONTEDIT_MAP;Equalizer TP_RETINEX_CURVEEDITOR_CD;L=f(L) TP_RETINEX_CURVEEDITOR_CD_TOOLTIP;Luminance according to luminance L=f(L)\nCorrect raw data to reduce halos and artifacts. TP_RETINEX_CURVEEDITOR_LH;Strength=f(H) -TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the "Highlight" retinex method. +TP_RETINEX_CURVEEDITOR_LH_TOOLTIP;Strength according to hue Strength=f(H)\nThis curve also acts on chroma when using the 'Highlight' retinex method. TP_RETINEX_CURVEEDITOR_MAP;L=f(L) TP_RETINEX_CURVEEDITOR_MAP_TOOLTIP;This curve can be applied alone or with a Gaussian mask or wavelet mask.\nBeware of artifacts! TP_RETINEX_EQUAL;Equalizer @@ -3427,7 +3664,7 @@ TP_RETINEX_GRAD_TOOLTIP;If slider at 0, all iterations are identical.\nIf > 0 Va TP_RETINEX_HIGH;High TP_RETINEX_HIGHLIG;Highlight TP_RETINEX_HIGHLIGHT;Highlight threshold -TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust "Neighboring pixels" and to increase the "White-point correction" in the Raw tab -> Raw White Points tool. +TP_RETINEX_HIGHLIGHT_TOOLTIP;Increase action of High algorithm.\nMay require you to re-adjust 'Neighboring pixels' and to increase the 'White-point correction' in the Raw tab -> Raw White Points tool. TP_RETINEX_HSLSPACE_LIN;HSL-Linear TP_RETINEX_HSLSPACE_LOG;HSL-Logarithmic TP_RETINEX_ITER;Iterations (Tone-mapping) @@ -3447,10 +3684,10 @@ TP_RETINEX_MEDIAN;Transmission median filter TP_RETINEX_METHOD;Method TP_RETINEX_METHOD_TOOLTIP;Low = Reinforce low light.\nUniform = Equalize action.\nHigh = Reinforce high light.\nHighlights = Remove magenta in highlights. TP_RETINEX_MLABEL;Restored data Min=%1 Max=%2 -TP_RETINEX_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust ‘Clip restored data (gain)’ and ‘Offset’ to normalize.\nRecovers image data without blending +TP_RETINEX_MLABEL_TOOLTIP;The values should be close to Min=0 Max=32768 (log mode) but other values are possible.You can adjust 'Clip restored data (gain)' and 'Offset' to normalize.\nRecovers image data without blending. TP_RETINEX_NEIGHBOR;Radius TP_RETINEX_NEUTRAL;Reset -TP_RETINEX_NEUTRAL_TIP;Reset all sliders and curves to their default values. +TP_RETINEX_NEUTRAL_TOOLTIP;Reset all sliders and curves to their default values. TP_RETINEX_OFFSET;Offset (brightness) TP_RETINEX_SCALES;Gaussian gradient TP_RETINEX_SCALES_TOOLTIP;If slider at 0, all iterations are identical.\nIf > 0 Scale and radius are reduced when iterations increase, and conversely. @@ -3471,7 +3708,7 @@ TP_RETINEX_VARIANCE;Contrast TP_RETINEX_VARIANCE_TOOLTIP;Low variance increase local contrast and saturation, but can lead to artifacts. TP_RETINEX_VIEW;Process TP_RETINEX_VIEW_MASK;Mask -TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. +TP_RETINEX_VIEW_METHOD_TOOLTIP;Standard - Normal display.\nMask - Displays the mask.\nUnsharp mask - Displays the image with a high radius unsharp mask.\nTransmission - Auto/Fixed - Displays the file transmission-map, before any action on contrast and brightness.\n\nAttention: the mask does not correspond to reality, but is amplified to make it more visible. TP_RETINEX_VIEW_NONE;Standard TP_RETINEX_VIEW_TRAN;Transmission - Auto TP_RETINEX_VIEW_TRAN2;Transmission - Fixed @@ -3486,7 +3723,7 @@ TP_RGBCURVES_RED;R TP_ROTATE_DEGREE;Degree TP_ROTATE_LABEL;Rotate TP_ROTATE_SELECTLINE;Select Straight Line -TP_SAVEDIALOG_OK_TIP;Shortcut: Ctrl-Enter +TP_SAVEDIALOG_OK_TOOLTIP;Shortcut: Ctrl-Enter TP_SHADOWSHLIGHTS_HIGHLIGHTS;Highlights TP_SHADOWSHLIGHTS_HLTONALW;Highlights tonal width TP_SHADOWSHLIGHTS_LABEL;Shadows/Highlights @@ -3523,6 +3760,11 @@ TP_SHARPENMICRO_MATRIX;3×3 matrix instead of 5×5 TP_SHARPENMICRO_UNIFORMITY;Uniformity TP_SOFTLIGHT_LABEL;Soft Light TP_SOFTLIGHT_STRENGTH;Strength +TP_SPOT_COUNTLABEL;%1 point(s) +TP_SPOT_DEFAULT_SIZE;Default spot size +TP_SPOT_ENTRYCHANGED;Point changed +TP_SPOT_HINT;Click on this button to be able to operate on the preview area.\n\nTo edit a spot, hover the white mark locating an edited area, making the editing geometry appear.\n\nTo add a spot, press Ctrl and left mouse button, drag the circle (Ctrl key can be released) to a source location, then release the mouse button.\n\nTo move the source or destination spot, hover its center then drag it.\n\nThe inner circle (maximum effect area) and the 'feather' circle can be resized by hovering them (the circle becomes orange) and dragging it (the circle becomes red).\n\nWhen the changes are done, right click outside any spot to end the Spot editing mode, or click on this button again. +TP_SPOT_LABEL;Spot Removal TP_TM_FATTAL_AMOUNT;Amount TP_TM_FATTAL_ANCHOR;Anchor TP_TM_FATTAL_LABEL;Dynamic Range Compression @@ -3534,7 +3776,7 @@ TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE1;Red/Purple TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE2;Red TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE3;Red/Yellow TP_VIBRANCE_CURVEEDITOR_SKINTONES_RANGE4;Yellow -TP_VIBRANCE_CURVEEDITOR_SKINTONES_TOOLTIP;Hue according to hue H=f(H) +TP_VIBRANCE_CURVEEDITOR_SKINTONES_TOOLTIP;Hue according to hue H=f(H). TP_VIBRANCE_LABEL;Vibrance TP_VIBRANCE_PASTELS;Pastel tones TP_VIBRANCE_PASTSATTOG;Link pastel and saturated tones @@ -3572,7 +3814,7 @@ TP_WAVELET_BALANCE_TOOLTIP;Alters the balance between the wavelet directions: ve TP_WAVELET_BALCHRO;Chroma balance TP_WAVELET_BALCHROM;Equalizer Color TP_WAVELET_BALCHRO_TOOLTIP;If enabled, the 'Contrast balance' curve or slider also modifies chroma balance. -TP_WAVELET_BALLUM;Denoise equalizer White-Black +TP_WAVELET_BALLUM;Denoise equalizer White-Black TP_WAVELET_BANONE;None TP_WAVELET_BASLI;Slider TP_WAVELET_BATYPE;Contrast balance method @@ -3581,7 +3823,7 @@ TP_WAVELET_BLCURVE;Blur by levels TP_WAVELET_BLURFRAME;Blur TP_WAVELET_BLUWAV;Attenuation response TP_WAVELET_CBENAB;Toning and Color balance -TP_WAVELET_CB_TOOLTIP;With high values you can create special effects, similar to those achieved with the Chroma Module, but focused on the residual image\nWith moderate values you can manually correct the white balance +TP_WAVELET_CB_TOOLTIP;With high values you can create special effects, similar to those achieved with the Chroma Module, but focused on the residual image\nWith moderate values you can manually correct the white balance. TP_WAVELET_CCURVE;Local contrast TP_WAVELET_CH1;Whole chroma range TP_WAVELET_CH2;Saturated/pastel @@ -3595,7 +3837,7 @@ TP_WAVELET_CHROMCO;Chrominance Coarse TP_WAVELET_CHROMFI;Chrominance Fine TP_WAVELET_CHRO_TOOLTIP;Sets the wavelet level which will be the threshold between saturated and pastel colors.\n1-x: saturated\nx-9: pastel\n\nIf the value exceeds the amount of wavelet levels you are using then it will be ignored. TP_WAVELET_CHRWAV;Blur chroma -TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of "contrast levels" and "chroma-contrast link strength" +TP_WAVELET_CHR_TOOLTIP;Adjusts chroma as a function of 'contrast levels' and 'chroma-contrast link strength'. TP_WAVELET_CHSL;Sliders TP_WAVELET_CHTYPE;Chrominance method TP_WAVELET_CLA;Clarity @@ -3606,24 +3848,23 @@ TP_WAVELET_COMPEXPERT;Advanced TP_WAVELET_COMPGAMMA;Compression gamma TP_WAVELET_COMPGAMMA_TOOLTIP;Adjusting the gamma of the residual image allows you to equilibrate the data and histogram. TP_WAVELET_COMPLEXLAB;Complexity -TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations +TP_WAVELET_COMPLEX_TOOLTIP;Standard: shows a reduced set of tools suitable for most processing operations.\nAdvanced: shows the complete set of tools for advanced processing operations. TP_WAVELET_COMPNORMAL;Standard TP_WAVELET_COMPTM;Tone mapping TP_WAVELET_CONTEDIT;'After' contrast curve TP_WAVELET_CONTFRAME;Contrast - Compression TP_WAVELET_CONTR;Gamut TP_WAVELET_CONTRA;Contrast -TP_WAVELET_CONTRASTEDIT;Finer - Coarser levels TP_WAVELET_CONTRAST_MINUS;Contrast - TP_WAVELET_CONTRAST_PLUS;Contrast + TP_WAVELET_CONTRA_TOOLTIP;Changes the residual image contrast. TP_WAVELET_CTYPE;Chrominance control -TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300% +TP_WAVELET_CURVEEDITOR_BL_TOOLTIP;Disabled if zoom > about 300%. TP_WAVELET_CURVEEDITOR_CC_TOOLTIP;Modifies local contrast as a function of the original local contrast (abscissa).\nLow abscissa values represent small local contrast (real values about 10..20).\n50% abscissa represents average local contrast (real value about 100..300).\n66% abscissa represents standard deviation of local contrast (real value about 300..800).\n100% abscissa represents maximum local contrast (real value about 3000..8000). TP_WAVELET_CURVEEDITOR_CH;Contrast levels=f(Hue) TP_WAVELET_CURVEEDITOR_CH_TOOLTIP;Modifies each level's contrast as a function of hue.\nTake care not to overwrite changes made with the Gamut sub-tool's hue controls.\nThe curve will only have an effect when wavelet contrast level sliders are non-zero. TP_WAVELET_CURVEEDITOR_CL;L -TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast-luminance curve at the end of the wavelet processing. +TP_WAVELET_CURVEEDITOR_CL_TOOLTIP;Applies a final contrast-luminance curve at the end of the wavelet processing. TP_WAVELET_CURVEEDITOR_HH;HH TP_WAVELET_CURVEEDITOR_HH_TOOLTIP;Modifies the residual image hue as a function of hue. TP_WAVELET_DALL;All directions @@ -3636,28 +3877,21 @@ TP_WAVELET_DAUB14;D14 - high TP_WAVELET_DAUBLOCAL;Wavelet Edge performance TP_WAVELET_DAUB_TOOLTIP;Changes Daubechies coefficients:\nD4 = Standard,\nD14 = Often best performance, 10% more time-intensive.\n\nAffects edge detection as well as the general quality of the first levels. However the quality is not strictly related to this coefficient and can vary depending on image and use. TP_WAVELET_DEN5THR;Guided threshold -TP_WAVELET_DEN12LOW;1 2 Low -TP_WAVELET_DEN12PLUS;1 2 High -TP_WAVELET_DEN14LOW;1 4 Low -TP_WAVELET_DEN14PLUS;1 4 High -TP_WAVELET_DENCONTRAST;Local contrast Equalizer TP_WAVELET_DENCURV;Curve -TP_WAVELET_DENEQUAL;1 2 3 4 Equal -TP_WAVELET_DENH;Threshold TP_WAVELET_DENL;Correction structure TP_WAVELET_DENLH;Guided threshold levels 1-4 -TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained +TP_WAVELET_DENLOCAL_TOOLTIP;Use a curve in order to guide the denoising according to the local contrast.\nThe areas are denoised, the structures are maintained. TP_WAVELET_DENMIX_TOOLTIP;The local-contrast reference value used by the guided filter.\nDepending on the image, results can vary depending on whether the noise is measured before or after the noise reduction. These four choices allow you to take into account various combinations of the original and modified (denoised) images to find the best compromise. TP_WAVELET_DENOISE;Guide curve based on Local contrast TP_WAVELET_DENOISEGUID;Guided threshold based on hue TP_WAVELET_DENOISEH;High levels Curve Local contrast TP_WAVELET_DENOISEHUE;Denoise hue equalizer TP_WAVELET_DENQUA;Mode -TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide +TP_WAVELET_DENSIGMA_TOOLTIP;Adapts the shape of the guide. TP_WAVELET_DENSLI;Slider TP_WAVELET_DENSLILAB;Method -TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter -TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color +TP_WAVELET_DENWAVGUID_TOOLTIP;Uses hue to reduce or increase the action of the guided filter. +TP_WAVELET_DENWAVHUE_TOOLTIP;Amplify or reduce denoising depending on the color. TP_WAVELET_DETEND;Details TP_WAVELET_DIRFRAME;Directional contrast TP_WAVELET_DONE;Vertical @@ -3665,7 +3899,7 @@ TP_WAVELET_DTHR;Diagonal TP_WAVELET_DTWO;Horizontal TP_WAVELET_EDCU;Curve TP_WAVELET_EDEFFECT;Attenuation response -TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment +TP_WAVELET_EDEFFECT_TOOLTIP;This slider selects the range of contrast values that will receive the full effect of any adjustment. TP_WAVELET_EDGCONT;Local contrast TP_WAVELET_EDGCONT_TOOLTIP;Adjusting the points to the left decreases contrast, and to the right increases it.\nBottom-left, top-left, top-right and bottom-right represent respectively local contrast for low values, mean, mean+std. dev. and maxima. TP_WAVELET_EDGE;Edge sharpness @@ -3673,22 +3907,21 @@ TP_WAVELET_EDGEAMPLI;Base amplification TP_WAVELET_EDGEDETECT;Gradient sensitivity TP_WAVELET_EDGEDETECTTHR;Threshold low (noise) TP_WAVELET_EDGEDETECTTHR2;Edge enhancement -TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This slider sets a threshold below which finer details won't be considered as an edge +TP_WAVELET_EDGEDETECTTHR_TOOLTIP;This slider sets a threshold below which finer details won't be considered as an edge. TP_WAVELET_EDGEDETECT_TOOLTIP;Moving the slider to the right increases edge sensitivity. This affects local contrast, edge settings and noise. TP_WAVELET_EDGESENSI;Edge sensitivity TP_WAVELET_EDGREINF_TOOLTIP;Reinforce or reduce the action of the first level, do the opposite to the second level, and leave the rest unchanged. TP_WAVELET_EDGTHRESH;Detail TP_WAVELET_EDGTHRESH_TOOLTIP;Change the repartition between the first levels and the others. The higher the threshold the more the action is centered on the first levels. Be careful with negative values, they increase the action of high levels and can introduce artifacts. TP_WAVELET_EDRAD;Radius -TP_WAVELET_EDRAD_TOOLTIP;This adjustment controls the local enhancement. A value of zero still has an effect +TP_WAVELET_EDRAD_TOOLTIP;This adjustment controls the local enhancement. A value of zero still has an effect. TP_WAVELET_EDSL;Threshold sliders TP_WAVELET_EDTYPE;Local contrast method TP_WAVELET_EDVAL;Strength TP_WAVELET_FINAL;Final Touchup TP_WAVELET_FINCFRAME;Final local contrast -TP_WAVELET_FINCOAR_TOOLTIP;The left (positive) part of the curve acts on the finer levels (increase).\nThe 2 points on the abscissa represent the respective action limits of finer and coarser levels 5 and 6 (default).\nThe right (negative) part of the curve acts on the coarser levels (increase).\nAvoid moving the left part of the curve with negative values. Avoid moving the right part of the curve with positives values TP_WAVELET_FINEST;Finest -TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter +TP_WAVELET_FINTHR_TOOLTIP;Uses local contrast to reduce or increase the action of the guided filter. TP_WAVELET_GUIDFRAME;Final smoothing (guided filter) TP_WAVELET_HIGHLIGHT;Finer levels luminance range TP_WAVELET_HS1;Whole luminance range @@ -3700,6 +3933,7 @@ TP_WAVELET_HUESKY_TOOLTIP;The bottom points set the beginning of the transition TP_WAVELET_ITER;Delta balance levels TP_WAVELET_ITER_TOOLTIP;Left: increase low levels and reduce high levels,\nRight: reduce low levels and increase high levels. TP_WAVELET_LABEL;Wavelet levels +TP_WAVELET_LABGRID_VALUES;High(a)=%1 High(b)=%2\nLow(a)=%3 Low(b)=%4 TP_WAVELET_LARGEST;Coarsest TP_WAVELET_LEVCH;Chroma TP_WAVELET_LEVDEN;Level 5-6 denoise @@ -3723,7 +3957,7 @@ TP_WAVELET_LIMDEN;Interaction levels 5-6 on levels 1-4 TP_WAVELET_LINKEDG;Link to Edge Sharpness Strength TP_WAVELET_LIPST;Enhanced algoritm TP_WAVELET_LOWLIGHT;Coarser levels luminance range -TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise +TP_WAVELET_LOWTHR_TOOLTIP;Prevents amplification of fine textures and noise. TP_WAVELET_MEDGREINF;First level TP_WAVELET_MEDI;Reduce artifacts in blue sky TP_WAVELET_MEDILEV;Edge detection @@ -3738,7 +3972,6 @@ TP_WAVELET_MIXNOISE;Noise TP_WAVELET_NEUTRAL;Neutral TP_WAVELET_NOIS;Denoise TP_WAVELET_NOISE;Denoise and Refine -TP_WAVELET_NOISE_TOOLTIP;If level 4 luminance denoise superior to 50, mode Aggressive is used.\nIf chrominance coarse superior to 20, mode Aggressive is used. TP_WAVELET_NPHIGH;High TP_WAVELET_NPLOW;Low TP_WAVELET_NPNONE;None @@ -3754,7 +3987,6 @@ TP_WAVELET_PASTEL;Pastel chroma TP_WAVELET_PROC;Process TP_WAVELET_PROTAB;Protection TP_WAVELET_QUAAGRES;Aggressive -TP_WAVELET_QUANONE;Off TP_WAVELET_QUACONSER;Conservative TP_WAVELET_RADIUS;Radius shadows - highlight TP_WAVELET_RANGEAB;Range a and b % @@ -3763,7 +3995,7 @@ TP_WAVELET_RE2;Unchanged TP_WAVELET_RE3;Reduced TP_WAVELET_RESBLUR;Blur luminance TP_WAVELET_RESBLURC;Blur chroma -TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500% +TP_WAVELET_RESBLUR_TOOLTIP;Disabled if zoom > about 500%. TP_WAVELET_RESCHRO;Strength TP_WAVELET_RESCON;Shadows TP_WAVELET_RESCONH;Highlights @@ -3776,7 +4008,7 @@ TP_WAVELET_SHOWMASK;Show wavelet 'mask' TP_WAVELET_SIGM;Radius TP_WAVELET_SIGMA;Attenuation response TP_WAVELET_SIGMAFIN;Attenuation response -TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values +TP_WAVELET_SIGMA_TOOLTIP;The effect of the contrast sliders is stronger in medium contrast details, and weaker in high and low contrast details.\n With this slider you can control how quickly the effect dampens towards the extreme contrasts.\n The higher the slider is set, the wider the range of contrasts which will get a strong change, and the higher the risk to generate artifacts.\n .The lower it is, the more the effect will be pinpointed towards a narrow range of contrast values. TP_WAVELET_SKIN;Skin targetting/protection TP_WAVELET_SKIN_TOOLTIP;At -100 skin-tones are targetted.\nAt 0 all tones are treated equally.\nAt +100 skin-tones are protected while all other tones are affected. TP_WAVELET_SKY;Hue targetting/protection @@ -3791,14 +4023,12 @@ TP_WAVELET_THRDEN_TOOLTIP;Generates a stepped curve used to guide the noise redu TP_WAVELET_THREND;Local contrast threshold TP_WAVELET_THRESHOLD;Finer levels TP_WAVELET_THRESHOLD2;Coarser levels -TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels from the chosen value to the selected number of ‘wavelet levels’ will be affected by the Shadow luminance range. +TP_WAVELET_THRESHOLD2_TOOLTIP;Only levels from the chosen value to the selected number of 'wavelet levels' will be affected by the Shadow luminance range. TP_WAVELET_THRESHOLD_TOOLTIP;Only levels below and including the chosen value will be affected by the Highlight luminance range. -TP_WAVELET_THRESWAV;Balance threshold TP_WAVELET_THRH;Highlights threshold TP_WAVELET_TILESBIG;Tiles TP_WAVELET_TILESFULL;Full image TP_WAVELET_TILESIZE;Tiling method -TP_WAVELET_TILESLIT;Little tiles TP_WAVELET_TILES_TOOLTIP;Processing the full image leads to better quality and is the recommended option, while using tiles is a fall-back solution for users with little RAM. Refer to RawPedia for memory requirements. TP_WAVELET_TMEDGS;Edge stopping TP_WAVELET_TMSCALE;Scale @@ -3809,7 +4039,6 @@ TP_WAVELET_TON;Toning TP_WAVELET_TONFRAME;Excluded colors TP_WAVELET_USH;None TP_WAVELET_USHARP;Clarity method -TP_WAVELET_USHARP_TOOLTIP;Origin : the source file is the file before Wavelet.\nWavelet : the source file is the file including wavelet threatment TP_WAVELET_USH_TOOLTIP;If you select Sharp-mask, you can choose any level (in Settings) from 1 to 4 for processing.\nIf you select Clarity, you can choose any level (in Settings) between 5 and Extra. TP_WAVELET_WAVLOWTHR;Low contrast threshold TP_WAVELET_WAVOFFSET;Offset @@ -3822,7 +4051,7 @@ TP_WBALANCE_CLOUDY;Cloudy TP_WBALANCE_CUSTOM;Custom TP_WBALANCE_DAYLIGHT;Daylight (sunny) TP_WBALANCE_EQBLUERED;Blue/Red equalizer -TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behavior of "white balance" by modulating the blue/red balance.\nThis can be useful when shooting conditions:\na) are far from the standard illuminant (e.g. underwater),\nb) are far from conditions where calibrations were performed,\nc) where the matrices or ICC profiles are unsuitable. +TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behavior of 'white balance' by modulating the blue/red balance.\nThis can be useful when shooting conditions:\na) are far from the standard illuminant (e.g. underwater),\nb) are far from conditions where calibrations were performed,\nc) where the matrices or ICC profiles are unsuitable. TP_WBALANCE_FLASH55;Leica TP_WBALANCE_FLASH60;Standard, Canon, Pentax, Olympus TP_WBALANCE_FLASH65;Nikon, Panasonic, Sony, Minolta @@ -3861,7 +4090,7 @@ TP_WBALANCE_SPOTWB;Use the pipette to pick the white balance from a neutral patc TP_WBALANCE_STUDLABEL;Correlation factor: %1 TP_WBALANCE_STUDLABEL_TOOLTIP;Display calculated Student correlation.\nLower values are better, where <0.005 is excellent,\n<0.01 is good, and >0.5 is poor.\nLow values do not mean that the white balance is good:\nif the illuminant is non-standard the results can be erratic.\nA value of 1000 means previous calculations are used and\nthe resultsare probably good. TP_WBALANCE_TEMPBIAS;AWB temperature bias -TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the "auto white balance"\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by "computedTemp + computedTemp * bias". +TP_WBALANCE_TEMPBIAS_TOOLTIP;Allows to alter the computation of the 'auto white balance'\nby biasing it towards warmer or cooler temperatures. The bias\nis expressed as a percentage of the computed temperature,\nso that the result is given by 'computedTemp + computedTemp * bias'. TP_WBALANCE_TEMPERATURE;Temperature TP_WBALANCE_TUNGSTEN;Tungsten TP_WBALANCE_WATER1;UnderWater 1 @@ -3874,7 +4103,3 @@ ZOOMPANEL_ZOOMFITCROPSCREEN;Fit crop to screen\nShortcut: f ZOOMPANEL_ZOOMFITSCREEN;Fit whole image to screen\nShortcut: Alt-f ZOOMPANEL_ZOOMIN;Zoom In\nShortcut: + ZOOMPANEL_ZOOMOUT;Zoom Out\nShortcut: - -//TP_LOCALLAB_CIECAMLOG_TOOLTIP;This module is based on the CIECAM color appearance model which was designed to better simulate how human vision perceives colors under different lighting conditions.\nOnly the third Ciecam process (Viewing conditions - Target) is taken into account, as well as part of the second (contrast J, saturation s) , as well as some data from the first process (Scene conditions - Source) which is used for the Log encoding.\nIt also adapts the output to the intended viewing conditions (monitor, TV, projector, printer, etc.) so that the chromatic and contrast appearance is preserved across the display environment. -//TP_WAVELET_DENH;Low levels (1234)- Finest details -//TP_WAVELET_DENL;High levels - Coarsest details -//TP_WAVELET_DENLH;Guided threshold for detail levels 1-4 diff --git a/rtdata/profiles/Film Negative - Black and White.pp3 b/rtdata/profiles/Film Negative - Black and White.pp3 new file mode 100644 index 000000000..ad2a38e1e --- /dev/null +++ b/rtdata/profiles/Film Negative - Black and White.pp3 @@ -0,0 +1,41 @@ +[Exposure] +Auto=false +Compensation=0 +HistogramMatching=false +CurveFromHistogramMatching=false +ClampOOG=false +CurveMode=Standard +CurveMode2=Standard +Curve=1;0;0;0.88544601940051371;1; +Curve2=1;0;0;0.0397505754145333;0.020171771436200074;0.54669745433149319;0.69419974733677647;1;1; + +[HLRecovery] +Enabled=false +Method=Blend + +[Black & White] +Enabled=true + +[Crop] +FixedRatio=false + +[Color Management] +InputProfile=(camera) +ToneCurve=false +ApplyLookTable=false +ApplyHueSatMap=false +WorkingProfile=Rec2020 +WorkingTRC=none + +[RAW Bayer] +Method=rcd + +[Film Negative] +Enabled=true +RedRatio=1.0 +GreenExponent=1.5 +BlueRatio=1.0 +ColorSpace=1 +RefInput=0;0;0; +RefOutput=0;0;0; +BackCompat=0 diff --git a/rtdata/themes/TooWaBlue-GTK3-20_.css b/rtdata/themes/TooWaBlue-GTK3-20_.css index 4e7e192ad..d2a63dd2e 100644 --- a/rtdata/themes/TooWaBlue-GTK3-20_.css +++ b/rtdata/themes/TooWaBlue-GTK3-20_.css @@ -1278,6 +1278,11 @@ menuitem:hover > * { color: @text-hl-color; } +menu menuitem > radio + * image:not(.dummy), +#MyExpander menu menuitem > radio + * image:not(.dummy) { + margin-left: 1pt; +} + menu image:not(.dummy), #MyExpander menu image:not(.dummy) { min-height: 2em; diff --git a/rtdata/themes/size - Legacy.css b/rtdata/themes/size - Legacy.css index 08c39f973..089a909ee 100644 --- a/rtdata/themes/size - Legacy.css +++ b/rtdata/themes/size - Legacy.css @@ -383,6 +383,11 @@ menu arrow { margin: 0 -0.25em 0 0; } +menu menuitem > radio + * image:not(.dummy), +#MyExpander menu menuitem > radio + * image:not(.dummy) { + margin-left: 1pt; +} + menu image:not(.dummy), #MyExpander menu image:not(.dummy) { min-height: 2em; @@ -1029,4 +1034,4 @@ messagedialog headerbar button.titlebutton { min-height: 1.25em; margin: 0; } -/*** end ***************************************************************************************/ \ No newline at end of file +/*** end ***************************************************************************************/ diff --git a/rtdata/themes/size.css b/rtdata/themes/size.css index 2d23bf860..675ed51c2 100644 --- a/rtdata/themes/size.css +++ b/rtdata/themes/size.css @@ -351,6 +351,11 @@ menu arrow { margin: 0 -0.25em 0 0; } +menu menuitem > radio + * image:not(.dummy), +#MyExpander menu menuitem > radio + * image:not(.dummy) { + margin-left: 1pt; +} + menu image:not(.dummy), #MyExpander menu image:not(.dummy) { min-height: 2em; diff --git a/rtengine/CMakeLists.txt b/rtengine/CMakeLists.txt index 01424543b..19a93c1c4 100644 --- a/rtengine/CMakeLists.txt +++ b/rtengine/CMakeLists.txt @@ -67,6 +67,7 @@ endif() set(CAMCONSTSFILE "camconst.json") set(RTENGINESOURCEFILES + alpha.cc ahd_demosaic_RT.cc amaze_demosaic_RT.cc badpixels.cc @@ -142,7 +143,6 @@ set(RTENGINESOURCEFILES jpeg_ijg/jpeg_memsrc.cc labimage.cc lcp.cc - lj92.c lmmse_demosaic.cc loadinitial.cc metadata.cc @@ -168,6 +168,7 @@ set(RTENGINESOURCEFILES rtthumbnail.cc shmap.cc simpleprocess.cc + spot.cc stdimagesource.cc tmo_fattal02.cc utils.cc @@ -179,6 +180,19 @@ if(LENSFUN_HAS_LOAD_DIRECTORY) set_source_files_properties(rtlensfun.cc PROPERTIES COMPILE_DEFINITIONS RT_LENSFUN_HAS_LOAD_DIRECTORY) endif() +if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "12.0") + # procparams.cc takes a long time to compile with optimizations starting + # with GCC 12.1 due to PTA (see issue #6548) + get_source_file_property(PROCPARAMS_COMPILE_OPTIONS procparams.cc COMPILE_OPTIONS) + if(PROCPARAMS_COMPILE_OPTIONS STREQUAL "NOTFOUND") + set(PROCPARAMS_COMPILE_OPTIONS "") + else() + set(PROCPARAMS_COMPILE_OPTIONS "${PROCPARAMS_COMPILE_OPTIONS};") + endif() + set(PROCPARAMS_COMPILE_OPTIONS "${PROCPARAMS_COMPILE_OPTIONS}-fno-tree-pta") + set_source_files_properties(procparams.cc PROPERTIES COMPILE_OPTIONS ${PROCPARAMS_COMPILE_OPTIONS}) +endif() + if(WITH_BENCHMARK) add_definitions(-DBENCHMARK) endif() diff --git a/rtengine/EdgePreservingDecomposition.cc b/rtengine/EdgePreservingDecomposition.cc index 5ae023122..dcb05c29a 100644 --- a/rtengine/EdgePreservingDecomposition.cc +++ b/rtengine/EdgePreservingDecomposition.cc @@ -208,7 +208,7 @@ bool MultiDiagonalSymmetricMatrix::CreateDiagonal(int index, int StartRow) return true; } -inline int MultiDiagonalSymmetricMatrix::FindIndex(int StartRow) +inline int MultiDiagonalSymmetricMatrix::FindIndex(int StartRow) const { //There's GOT to be a better way to do this. "Bidirectional map?" // Issue 1895 : Changed start of loop from zero to one diff --git a/rtengine/EdgePreservingDecomposition.h b/rtengine/EdgePreservingDecomposition.h index c90123ed3..73a7b1732 100644 --- a/rtengine/EdgePreservingDecomposition.h +++ b/rtengine/EdgePreservingDecomposition.h @@ -97,7 +97,7 @@ public: int *StartRows; bool CreateDiagonal(int index, int StartRow); int n, m; //The matrix is n x n, with m diagonals on the lower triangle. Don't change these. They should be private but aren't for convenience. - inline int DiagonalLength(int StartRow) //Gives number of elements in a diagonal. + inline int DiagonalLength(int StartRow) const //Gives number of elements in a diagonal. { return n - StartRow; }; @@ -109,7 +109,7 @@ public: void VectorProduct(float *Product, float *x); //Given the start row, attempts to find the corresponding index, or -1 if the StartRow doesn't exist. - inline int FindIndex(int StartRow) __attribute__((always_inline)); + inline int FindIndex(int StartRow) const __attribute__((always_inline)); //This is the same as above, but designed to take this class as a pass through variable. By this way you can feed //the meat of this class into an independent function, such as SparseConjugateGradient. diff --git a/rtengine/FTblockDN.cc b/rtengine/FTblockDN.cc index 474196843..400dea05b 100644 --- a/rtengine/FTblockDN.cc +++ b/rtengine/FTblockDN.cc @@ -667,7 +667,7 @@ BENCHFUN const float gain = std::pow(2.0, expcomp); const double params_Ldetail = std::min(dnparams.Ldetail, 99.9); // max out to avoid div by zero when using noisevar_Ldetail as divisor - const float noisevar_Ldetail = SQR(SQR(100. - params_Ldetail) + 50.0 * (100.0 - params_Ldetail) * TS * 0.5); + const float noisevar_Ldetail = SQR((SQR(100. - params_Ldetail) + 50.0 * (100.0 - params_Ldetail)) * TS * 0.5); array2D tilemask_in(TS, TS); array2D tilemask_out(TS, TS); diff --git a/rtengine/alpha.cc b/rtengine/alpha.cc new file mode 100644 index 000000000..34132b879 --- /dev/null +++ b/rtengine/alpha.cc @@ -0,0 +1,96 @@ +/* + * This file is part of RawTherapee. + * + * Copyright (c) 2004-2010 Gabor Horvath + * + * 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 . + */ + +#include "alpha.h" + +namespace rtengine +{ + +Alpha::Alpha () {} + +Alpha::Alpha (int width, int height) +{ + if (width > 0 && height > 0) { + surface = Cairo::ImageSurface::create (Cairo::FORMAT_A8, width, height); + } +} + +/* +Alpha::~Alpha () { + surface->unreference(); +} +*/ + +void Alpha::setSize (int width, int height) +{ + if (width > 0 && height > 0) { + if (surface) { + if (width != getWidth() && height != getHeight()) { + surface.clear(); // does this delete the referenced object? Unreferencing doesn't work, since Cairo expect to have a non null refCount in the destructor! + } else { + return; + } + } + + surface = Cairo::ImageSurface::create (Cairo::FORMAT_A8, width, height); + } else if (surface) { + surface.clear(); + } +} + +int Alpha::getWidth() const +{ + if (surface) { + return surface->get_width(); + } + + return -1; +} + +int Alpha::getHeight() const +{ + if (surface) { + return surface->get_height(); + } + + return -1; +} + + +Cairo::RefPtr Alpha::getSurface () const +{ + return surface; // to be used in bitmap edition +} + +unsigned char Alpha::operator () (unsigned row, unsigned col) const +{ + return * (surface->get_data () + row * surface->get_width () + col); +} + +unsigned char& Alpha::operator () (unsigned row, unsigned col) +{ + return * (surface->get_data () + row * surface->get_width () + col); +} + +unsigned char* Alpha::operator () (unsigned row) const +{ + return surface->get_data () + row * surface->get_width (); +} + +} diff --git a/rtengine/alpha.h b/rtengine/alpha.h new file mode 100644 index 000000000..1fe2a7a7c --- /dev/null +++ b/rtengine/alpha.h @@ -0,0 +1,58 @@ +/* + * This file is part of RawTherapee. + * + * Copyright (c) 2004-2010 Gabor Horvath + * + * 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 . + */ +#ifndef _ALPHA_H_ +#define _ALPHA_H_ + +#include +#include + +#define CHECK_BOUNDS 0 + +namespace rtengine +{ + +/// Alpha channel class (8 bits) +class Alpha +{ +protected: + Cairo::RefPtr surface; + +public: + Alpha (); + Alpha (int width, int height); + //~Alpha (); + + void setSize (int width, int height); + int getWidth() const; + int getHeight() const; + + Cairo::RefPtr getSurface () const; + + // TODO: to make the editing faster, we should add an iterator class + + // Will send back the start of a row + unsigned char* operator () (unsigned row) const; + // Will send back a value at a given row, col position + unsigned char& operator () (unsigned row, unsigned col); + unsigned char operator () (unsigned row, unsigned col) const; +}; + +} + +#endif diff --git a/rtengine/array2D.h b/rtengine/array2D.h index 10d797999..eee6c3210 100644 --- a/rtengine/array2D.h +++ b/rtengine/array2D.h @@ -248,6 +248,14 @@ public: return *this; } + // import from flat data + void operator()(std::size_t w, std::size_t h, const T* const copy) + { + ar_realloc(w, h); + for (std::size_t y = 0; y < h; ++y) { + std::copy(copy + y * w, copy + y * w + w, rows.data()[y]); + } + } int getWidth() const { diff --git a/rtengine/badpixels.cc b/rtengine/badpixels.cc index 97294bdf7..f04afb1ee 100644 --- a/rtengine/badpixels.cc +++ b/rtengine/badpixels.cc @@ -182,7 +182,7 @@ int RawImageSource::interpolateBadPixelsBayer(const PixelsMap &bitmapBads, array /* interpolateBadPixelsNcolors: correct raw pixels looking at the bitmap * takes into consideration if there are multiple bad pixels in the neighborhood */ -int RawImageSource::interpolateBadPixelsNColours(const PixelsMap &bitmapBads, const int colors) +int RawImageSource::interpolateBadPixelsNColours(const PixelsMap &bitmapBads, const int colours) { constexpr float eps = 1.f; int counter = 0; @@ -204,9 +204,9 @@ int RawImageSource::interpolateBadPixelsNColours(const PixelsMap &bitmapBads, co continue; } - float wtdsum[colors]; - float norm[colors]; - for (int c = 0; c < colors; ++c) { + float wtdsum[colours]; + float norm[colours]; + for (int c = 0; c < colours; ++c) { wtdsum[c] = norm[c] = 0.f; } @@ -216,41 +216,41 @@ int RawImageSource::interpolateBadPixelsNColours(const PixelsMap &bitmapBads, co continue; } - for (int c = 0; c < colors; ++c) { - const float dirwt = 0.70710678f / (fabsf(rawData[row - 1][(col + dx) * colors + c] - rawData[row + 1][(col - dx) * colors + c]) + eps); - wtdsum[c] += dirwt * (rawData[row - 1][(col + dx) * colors + c] + rawData[row + 1][(col - dx) * colors + c]); + for (int c = 0; c < colours; ++c) { + const float dirwt = 0.70710678f / (fabsf(rawData[row - 1][(col + dx) * colours + c] - rawData[row + 1][(col - dx) * colours + c]) + eps); + wtdsum[c] += dirwt * (rawData[row - 1][(col + dx) * colours + c] + rawData[row + 1][(col - dx) * colours + c]); norm[c] += dirwt; } } // horizontal interpolation if (!(bitmapBads.get(col - 1, row) || bitmapBads.get(col + 1, row))) { - for (int c = 0; c < colors; ++c) { - const float dirwt = 1.f / (fabsf(rawData[row][(col - 1) * colors + c] - rawData[row][(col + 1) * colors + c]) + eps); - wtdsum[c] += dirwt * (rawData[row][(col - 1) * colors + c] + rawData[row][(col + 1) * colors + c]); + for (int c = 0; c < colours; ++c) { + const float dirwt = 1.f / (fabsf(rawData[row][(col - 1) * colours + c] - rawData[row][(col + 1) * colours + c]) + eps); + wtdsum[c] += dirwt * (rawData[row][(col - 1) * colours + c] + rawData[row][(col + 1) * colours + c]); norm[c] += dirwt; } } // vertical interpolation if (!(bitmapBads.get(col, row - 1) || bitmapBads.get(col, row + 1))) { - for (int c = 0; c < colors; ++c) { - const float dirwt = 1.f / (fabsf(rawData[row - 1][col * colors + c] - rawData[row + 1][col * colors + c]) + eps); - wtdsum[c] += dirwt * (rawData[row - 1][col * colors + c] + rawData[row + 1][col * colors + c]); + for (int c = 0; c < colours; ++c) { + const float dirwt = 1.f / (fabsf(rawData[row - 1][col * colours + c] - rawData[row + 1][col * colours + c]) + eps); + wtdsum[c] += dirwt * (rawData[row - 1][col * colours + c] + rawData[row + 1][col * colours + c]); norm[c] += dirwt; } } if (LIKELY(norm[0] > 0.f)) { // This means, we found at least one pair of valid pixels in the steps above, likelihood of this case is about 99.999% - for (int c = 0; c < colors; ++c) { - rawData[row][col * colors + c] = wtdsum[c] / (2.f * norm[c]); //gradient weighted average, Factor of 2.f is an optimization to avoid multiplications in former steps + for (int c = 0; c < colours; ++c) { + rawData[row][col * colours + c] = wtdsum[c] / (2.f * norm[c]); //gradient weighted average, Factor of 2.f is an optimization to avoid multiplications in former steps } counter++; } else { //backup plan -- simple average. Same method for all channels. We could improve this, but it's really unlikely that this case happens int tot = 0; - float sum[colors]; - for (int c = 0; c < colors; ++c) { + float sum[colours]; + for (int c = 0; c < colours; ++c) { sum[c] = 0.f; } @@ -260,8 +260,8 @@ int RawImageSource::interpolateBadPixelsNColours(const PixelsMap &bitmapBads, co continue; } - for (int c = 0; c < colors; ++c) { - sum[c] += rawData[row + dy][(col + dx) * colors + c]; + for (int c = 0; c < colours; ++c) { + sum[c] += rawData[row + dy][(col + dx) * colours + c]; } tot++; @@ -269,8 +269,8 @@ int RawImageSource::interpolateBadPixelsNColours(const PixelsMap &bitmapBads, co } if (tot > 0) { - for (int c = 0; c < colors; ++c) { - rawData[row][col * colors + c] = sum[c] / tot; + for (int c = 0; c < colours; ++c) { + rawData[row][col * colours + c] = sum[c] / tot; } counter ++; diff --git a/rtengine/camconst.cc b/rtengine/camconst.cc index aab2a252c..64fc4d4ba 100644 --- a/rtengine/camconst.cc +++ b/rtengine/camconst.cc @@ -28,8 +28,6 @@ namespace rtengine CameraConst::CameraConst() : pdafOffset(0) { memset(dcraw_matrix, 0, sizeof(dcraw_matrix)); - memset(raw_crop, 0, sizeof(raw_crop)); - memset(raw_mask, 0, sizeof(raw_mask)); white_max = 0; globalGreenEquilibration = -1; } @@ -192,6 +190,68 @@ CameraConst* CameraConst::parseEntry(const void *cJSON_, const char *make_model) std::unique_ptr cc(new CameraConst); cc->make_model = make_model; + const auto get_raw_crop = + [](int w, int h, const cJSON *ji, CameraConst *cc) -> bool + { + std::array rc; + + if (ji->type != cJSON_Array) { + //fprintf(stderr, "\"raw_crop\" must be an array\n"); + return false; + } + + int i; + + for (i = 0, ji = ji->child; i < 4 && ji != nullptr; i++, ji = ji->next) { + if (ji->type != cJSON_Number) { + //fprintf(stderr, "\"raw_crop\" array must contain numbers\n"); + return false; + } + + //cc->raw_crop[i] = ji->valueint; + rc[i] = ji->valueint; + } + + if (i != 4 || ji != nullptr) { + //fprintf(stderr, "\"raw_crop\" must contain 4 numbers\n"); + return false; + } + + cc->raw_crop[std::make_pair(w, h)] = rc; + return true; + }; + + const auto get_masked_areas = + [](int w, int h, const cJSON *ji, CameraConst *cc) -> bool + { + std::array, 2> rm; + + if (ji->type != cJSON_Array) { + //fprintf(stderr, "\"masked_areas\" must be an array\n"); + return false; + } + + int i; + + for (i = 0, ji = ji->child; i < 2 * 4 && ji != nullptr; i++, ji = ji->next) { + if (ji->type != cJSON_Number) { + //fprintf(stderr, "\"masked_areas\" array must contain numbers\n"); + return false; + } + + //cc->raw_mask[i / 4][i % 4] = ji->valueint; + rm[i / 4][i % 4] = ji->valueint; + } + + if (i % 4 != 0) { + //fprintf(stderr, "\"masked_areas\" array length must be divisable by 4\n"); + return false; + } + + cc->raw_mask[std::make_pair(w, h)] = rm; + return true; + }; + const cJSON *ji = cJSON_GetObjectItem(js, "dcraw_matrix"); if (ji) { @@ -216,24 +276,32 @@ CameraConst* CameraConst::parseEntry(const void *cJSON_, const char *make_model) if (ji) { if (ji->type != cJSON_Array) { - fprintf(stderr, "\"raw_crop\" must be an array\n"); + fprintf(stderr, "invalid entry for raw_crop.\n"); return nullptr; - } - - int i; - - for (i = 0, ji = ji->child; i < 4 && ji; i++, ji = ji->next) { - if (ji->type != cJSON_Number) { - fprintf(stderr, "\"raw_crop\" array must contain numbers\n"); - return nullptr; + } else if (!get_raw_crop(0, 0, ji, cc.get())) { + cJSON *je; + cJSON_ArrayForEach(je, ji) { + if (!cJSON_IsObject(je)) { + fprintf(stderr, "invalid entry for raw_crop.\n"); + return nullptr; + } else { + auto js = cJSON_GetObjectItem(je, "frame"); + if (!js || js->type != cJSON_Array || + cJSON_GetArraySize(js) != 2 || + !cJSON_IsNumber(cJSON_GetArrayItem(js, 0)) || + !cJSON_IsNumber(cJSON_GetArrayItem(js, 1))) { + fprintf(stderr, "invalid entry for raw_crop.\n"); + return nullptr; + } + int w = cJSON_GetArrayItem(js, 0)->valueint; + int h = cJSON_GetArrayItem(js, 1)->valueint; + js = cJSON_GetObjectItem(je, "crop"); + if (!js || !get_raw_crop(w, h, js, cc.get())) { + fprintf(stderr, "invalid entry for raw_crop.\n"); + return nullptr; + } + } } - - cc->raw_crop[i] = ji->valueint; - } - - if (i != 4 || ji) { - fprintf(stderr, "\"raw_crop\" must contain 4 numbers\n"); - return nullptr; } } @@ -241,24 +309,32 @@ CameraConst* CameraConst::parseEntry(const void *cJSON_, const char *make_model) if (ji) { if (ji->type != cJSON_Array) { - fprintf(stderr, "\"masked_areas\" must be an array\n"); + fprintf(stderr, "invalid entry for masked_areas.\n"); return nullptr; - } - - int i; - - for (i = 0, ji = ji->child; i < 2 * 4 && ji; i++, ji = ji->next) { - if (ji->type != cJSON_Number) { - fprintf(stderr, "\"masked_areas\" array must contain numbers\n"); - return nullptr; + } else if (!get_masked_areas(0, 0, ji, cc.get())) { + cJSON *je; + cJSON_ArrayForEach(je, ji) { + if (!cJSON_IsObject(je)) { + fprintf(stderr, "invalid entry for masked_areas.\n"); + return nullptr; + } else { + auto js = cJSON_GetObjectItem(je, "frame"); + if (!js || js->type != cJSON_Array || + cJSON_GetArraySize(js) != 2 || + !cJSON_IsNumber(cJSON_GetArrayItem(js, 0)) || + !cJSON_IsNumber(cJSON_GetArrayItem(js, 1))) { + fprintf(stderr, "invalid entry for masked_areas.\n"); + return nullptr; + } + int w = cJSON_GetArrayItem(js, 0)->valueint; + int h = cJSON_GetArrayItem(js, 1)->valueint; + js = cJSON_GetObjectItem(je, "areas"); + if (!js || !get_masked_areas(w, h, js, cc.get())) { + fprintf(stderr, "invalid entry for masked_areas.\n"); + return nullptr; + } + } } - - cc->raw_mask[i / 4][i % 4] = ji->valueint; - } - - if (i % 4 != 0) { - fprintf(stderr, "\"masked_areas\" array length must be divisible by 4\n"); - return nullptr; } } @@ -399,29 +475,41 @@ void CameraConst::update_pdafOffset(int other) pdafOffset = other; } -bool CameraConst::has_rawCrop() const + +bool CameraConst::has_rawCrop(int raw_width, int raw_height) const { - return raw_crop[0] != 0 || raw_crop[1] != 0 || raw_crop[2] != 0 || raw_crop[3] != 0; + return raw_crop.find(std::make_pair(raw_width, raw_height)) != raw_crop.end() || raw_crop.find(std::make_pair(0, 0)) != raw_crop.end(); } -void CameraConst::get_rawCrop(int& left_margin, int& top_margin, int& width, int& height) const + +void CameraConst::get_rawCrop(int raw_width, int raw_height, int &left_margin, int &top_margin, int &width, int &height) const { - left_margin = raw_crop[0]; - top_margin = raw_crop[1]; - width = raw_crop[2]; - height = raw_crop[3]; + auto it = raw_crop.find(std::make_pair(raw_width, raw_height)); + if (it == raw_crop.end()) { + it = raw_crop.find(std::make_pair(0, 0)); + } + if (it != raw_crop.end()) { + left_margin = it->second[0]; + top_margin = it->second[1]; + width = it->second[2]; + height = it->second[3]; + } else { + left_margin = top_margin = width = height = 0; + } } -bool CameraConst::has_rawMask(int idx) const + +bool CameraConst::has_rawMask(int raw_width, int raw_height, int idx) const { if (idx < 0 || idx > 1) { return false; } - return (raw_mask[idx][0] | raw_mask[idx][1] | raw_mask[idx][2] | raw_mask[idx][3]) != 0; + return raw_mask.find(std::make_pair(raw_width, raw_height)) != raw_mask.end() || raw_mask.find(std::make_pair(0, 0)) != raw_mask.end(); } -void CameraConst::get_rawMask(int idx, int& top, int& left, int& bottom, int& right) const + +void CameraConst::get_rawMask(int raw_width, int raw_height, int idx, int &top, int &left, int &bottom, int &right) const { top = left = bottom = right = 0; @@ -429,10 +517,17 @@ void CameraConst::get_rawMask(int idx, int& top, int& left, int& bottom, int& ri return; } - top = raw_mask[idx][0]; - left = raw_mask[idx][1]; - bottom = raw_mask[idx][2]; - right = raw_mask[idx][3]; + auto it = raw_mask.find(std::make_pair(raw_width, raw_height)); + if (it == raw_mask.end()) { + it = raw_mask.find(std::make_pair(0, 0)); + } + + if (it != raw_mask.end()) { + top = it->second[idx][0]; + left = it->second[idx][1]; + bottom = it->second[idx][2]; + right = it->second[idx][3]; + } } void CameraConst::update_Levels(const CameraConst *other) @@ -464,9 +559,7 @@ void CameraConst::update_Crop(CameraConst *other) return; } - if (other->has_rawCrop()) { - other->get_rawCrop(raw_crop[0], raw_crop[1], raw_crop[2], raw_crop[3]); - } + raw_crop.insert(other->raw_crop.begin(), other->raw_crop.end()); } bool CameraConst::get_Levels(camera_const_levels & lvl, int bw, int iso, float fnumber) const diff --git a/rtengine/camconst.h b/rtengine/camconst.h index aa0702439..273bdd7a1 100644 --- a/rtengine/camconst.h +++ b/rtengine/camconst.h @@ -1,9 +1,11 @@ -/* +/* -*- C++ -*- + * * This file is part of RawTherapee. */ #pragma once #include +#include #include #include @@ -17,17 +19,17 @@ class ustring; namespace rtengine { -struct camera_const_levels { - int levels[4]; -}; - class CameraConst final { private: + struct camera_const_levels { + int levels[4]; + }; + std::string make_model; short dcraw_matrix[12]; - int raw_crop[4]; - int raw_mask[2][4]; + std::map, std::array> raw_crop; + std::map, std::array, 2>> raw_mask; int white_max; std::map mLevels[2]; std::map mApertureScaling; @@ -47,10 +49,10 @@ public: const short *get_dcrawMatrix(void) const; const std::vector& get_pdafPattern() const; int get_pdafOffset() const {return pdafOffset;}; - bool has_rawCrop(void) const; - void get_rawCrop(int& left_margin, int& top_margin, int& width, int& height) const; - bool has_rawMask(int idx) const; - void get_rawMask(int idx, int& top, int& left, int& bottom, int& right) const; + bool has_rawCrop(int raw_width, int raw_height) const; + void get_rawCrop(int raw_width, int raw_height, int& left_margin, int& top_margin, int& width, int& height) const; + bool has_rawMask(int raw_width, int raw_height, int idx) const; + void get_rawMask(int raw_width, int raw_height, int idx, int& top, int& left, int& bottom, int& right) const; int get_BlackLevel(int idx, int iso_speed) const; int get_WhiteLevel(int idx, int iso_speed, float fnumber) const; bool has_globalGreenEquilibration() const; @@ -77,4 +79,5 @@ public: const CameraConst *get(const char make[], const char model[]) const; }; -} +} // namespace rtengine + diff --git a/rtengine/camconst.json b/rtengine/camconst.json index 7c3e2818d..7a143e850 100644 --- a/rtengine/camconst.json +++ b/rtengine/camconst.json @@ -70,6 +70,14 @@ Examples: // cropped so the "negative number" way is not totally safe. "raw_crop": [ 10, 20, 4000, 3000 ], + // multi-aspect support (added 2020-12-03) + // "frame" defines the full dimensions the crop applies to + // (with [0, 0] being the fallback crop if none of the other applies) + "raw_crop" : [ + { "frame" : [4100, 3050], "crop": [10, 20, 4050, 3020] }, + { "frame" : [0, 0], "crop": [10, 20, 4000, 3000] } + ] + // Almost same as MaskedAreas DNG tag, used for black level measuring. Here up to two areas can be defined // by tetrads of numbers: "masked_areas": [ 51, 2, 3804, 156, 51, 5794, 3804, 5792 ], @@ -84,6 +92,14 @@ Examples: // instead, to take care of possible light leaks from the light sensing area to the optically black (masked) // area or sensor imperfections at the outer borders. + // multi-aspect support (added 2020-12-03) + // "frame" defines the full dimensions the masked areas apply to + // (with [0, 0] being the fallback crop if none of the other applies) + "masked_areas" : [ + { "frame" : [4100, 3050], "areas": [10, 20, 4050, 3020] }, + { "frame" : [0, 0], "areas": [10, 20, 4000, 3000] } + ] + // list of indices of the rows with on-sensor PDAF pixels, for cameras that have such features. The indices here form a pattern that is repeated for the whole height of the sensor. The values are relative to the "pdaf_offset" value (see below) "pdaf_pattern" : [ 0,12,36,54,72,90,114,126,144,162,180,204,216,240,252,270,294,306,324,342,366,384,396,414,432,450,474,492,504,522,540,564,576,594,606,630 ], // index of the first row of the PDAF pattern in the sensor (0 is the topmost row). Allowed to be negative for convenience (this means that the first repetition of the pattern doesn't start from the first row) @@ -314,7 +330,7 @@ Camera constants: { // Quality A "make_model": "Canon EOS 5D Mark II", - "dcraw_matrix": [ 4716,603,-830,-7798,15474,2480,-1496,1937,6651 ], + "dcraw_matrix": [ 4716,603,-830,-7799,15474,2480,-1496,1937,6651 ], "ranges": { // black levels are read from raw masked pixels // white levels are same for all colors, but vary on ISO @@ -360,6 +376,11 @@ Camera constants: } }, + { // Quality C + "make_model": "Canon EOS-1Ds", + "dcraw_matrix": [ 3925, 4060, -1739, -8973, 16552, 2545, -3287, 3945, 8243 ] // DNG + }, + { // Quality C, INTERMEDIATE ISO SAMPLES MISSING "make_model": "Canon EOS-1D X Mark II", "dcraw_matrix": [ 7596,-978,-967,-4808,12571,2503,-1398,2567,5752 ], @@ -400,7 +421,7 @@ Camera constants: ] } }, - + { // Quality C, initial data by @agriggio, white frame samples provided by @noirsabb in #5862, color charts not processed yet "make_model" : "CANON EOS-1D X MARK III", "raw_crop": [ 72, 38, 5496, 3670 ], @@ -410,7 +431,7 @@ Camera constants: { // Quality A "make_model": "Canon EOS 5D Mark III", - "dcraw_matrix": [ 6722,-635,-963,-4287,12460,2028,-908,2162,5668 ], + "dcraw_matrix": [ 6722,-635,-963,-4287,12460,2028,-909,2162,5668 ], "ranges": { // black levels are read from raw masked pixels // white levels are same for all colors, but vary on ISO @@ -438,7 +459,7 @@ Camera constants: { // Quality B, some intermediate ISO samples missing, LENR samples missing so White Levels not properly indicated, some aperture scaling missing "make_model": "Canon EOS 5D Mark IV", "global_green_equilibration" : true, - "dcraw_matrix": [ 6446,-366,-864,-4436,12204,2513,-952,2496,6348 ], // DNG_V9.7 D65 + "dcraw_matrix": [ 6445,-366,-864,-4436,12204,2513,-953,2496,6348 ], // DNG v13.2 "raw_crop": [ 136, 42, 6740, 4500 ], // full size 6880x4544, official crop 148,54,6867,4533 "masked_areas": [ 54, 4, 4534, 132 ], "ranges": { @@ -526,10 +547,10 @@ Camera constants: } }, - { // Quality B, some missing scaling factors are safely guessed; assuming the RP is the same as the 6DII because they share sensors - "make_model": [ "Canon EOS 6D Mark II", "Canon EOS RP" ], + { // Quality B, some missing scaling factors are safely guessed + "make_model": "Canon EOS 6D Mark II", "dcraw_matrix": [ 6875,-970,-932,-4691,12459,2501,-874,1953,5809 ], // DNG v_9.12 D65 - "raw_crop": [ 120, 44, 6264, 4180 ], // fullraw size 6384x4224 useful 120,44,6264x4180 + "raw_crop": [ 120, 44, 6264, 4180 ], // fullraw size 6384x4224 useful 120,44,6264x4180 // TODO: See EOS RP // "raw_crop": [ 128, 52, 6248, 4168 ], // official jpeg crop 120+12,44+12,6240x4160 "masked_areas": [ 44, 4, 4220, 116 ], "ranges": { @@ -561,10 +582,44 @@ Camera constants: } }, + { // Quality B, taken from 6D Mark II because identical sensor (different matrix) + "make_model": "Canon EOS RP", + "dcraw_matrix": [ 8608,-2097,-1178,-5425,13265,2383,-1149,2238,5680 ], // DNG v13.2 + // Let dcraw handle crop, because camconst shouldn't override for different crop factors. See #6255 + "masked_areas": [ 44, 4, 4220, 116 ], // Potential problem for different crop factor as well + "ranges": { + "white": [ + { "iso": [ 50, 100, 125, 200, 250, 400, 500, 800, 1000, 1600, 2000, 3200 ], "levels": 16300 }, // typical 16383 + { "iso": [ 4000, 6400, 8000, 12800 ], "levels": 16200 }, // typical 16383 + { "iso": [ 16000, 25600 ], "levels": 16100 }, // typical 16383 + { "iso": [ 160 ], "levels": 13000 }, // typical 13044 + { "iso": [ 320, 640, 1250, 2500 ], "levels": 13250 }, // typical 13337 + { "iso": [ 5000, 10000 ], "levels": 13100 }, // typical 13367 + { "iso": [ 20000, 40000 ], "levels": 12900 }, // typical 13367 + { "iso": [ 51200, 102400 ], "levels": 15900 } // typical 16383 + ], + "white_max": 16383, + "aperture_scaling": [ + // no scale factors known for f/1.0 (had no lenses to test with), but the + // ISO 160-320... 13044 white levels maxes out at "white_max" for f/1.2 and below anyway. + { "aperture": 1.2, "scale_factor": 1.130 }, // guessed + { "aperture": 1.4, "scale_factor": 1.100 }, // guessed + { "aperture": 1.6, "scale_factor": 1.080 }, // guessed + { "aperture": 1.8, "scale_factor": 1.060 }, // 13890/13044=1.065 11284/10512 = 1.073 + { "aperture": 2.0, "scale_factor": 1.040 }, // 13602/13044=1.042 11151/10512 = 1.060 + { "aperture": 2.2, "scale_factor": 1.030 }, // 10982/10512=1.045 + { "aperture": 2.5, "scale_factor": 1.020 }, // 10840/10512 = 1.030 + { "aperture": 2.8, "scale_factor": 1.010 }, // 13530/13367= 1.012 - 12225/12048 = 1.015 + { "aperture": 3.2, "scale_factor": 1.005 }, // 12194/12048 = 1.012 + { "aperture": 3.5, "scale_factor": 1.000 } // 12092/12048 = 1.004 + ] + } + }, + { // Quality A, ISO and aperture WL data by CharlyW at RawTherapee forums, missing samples safely guessed "make_model": "Canon EOS 7D", "dcraw_matrix": [ 5962,-171,-732,-4189,12307,2099,-911,1981,6304 ], // Colin Walker - //"dcraw_matrix": [ 6844,-996,-856,-3876,11761,2396,-593,1772,6198 ], // dcraw + //"dcraw_matrix": [ 6843,-996,-856,-3876,11761,2396,-593,1772,6198 ], // DNG v13.2 "ranges": { "white": [ { "iso": [ 100, 125 ], "levels": 13480 }, // typical 13584 @@ -618,7 +673,7 @@ Camera constants: { // Quality A - ISO and aperture WL data by Ilias at Avclub gr forums "make_model": "Canon EOS 40D", - "dcraw_matrix": [ 6071,-747,-856,-7653,15365,2441,-2025,2553,7315 ], + "dcraw_matrix": [ 6070,-746,-856,-7652,15365,2442,-2026,2553,7314 ], // DNG v13.2 "raw_crop": [ 30, 18, 3908, 2602 ], "masked_areas": [ 20, 2, 2616, 20 ], "ranges": { @@ -647,7 +702,7 @@ Camera constants: { // Quality A, ISO and aperture WL data by Ayshih at Magic Lantern forums "make_model": "Canon EOS 50D", - "dcraw_matrix": [ 4920,616,-593,-6493,13964,2784,-1774,3178,7005 ], + "dcraw_matrix": [ 4920,616,-593,-6494,13965,2784,-1774,3178,7004 ], // DNG v13.2 "ranges": { "white": [ { "iso": [ 100, 125 ], "levels": 13300 }, // typical 13432 @@ -697,7 +752,8 @@ Camera constants: { // Quality A, ISO and aperture WL data by Shalrath at RawTherapee forums "make_model": "Canon EOS 60D", - "dcraw_matrix": [ 6719,-994,-925,-4408,12426,2211,-887,2129,6051 ], + "dcraw_matrix": [ 6719,-994,-925,-4408,12426,2211,-887,2129,6051 ], // Origin unknown + //"dcraw_matrix": [ 6941, -1164, -857, -3825, 11597, 2534, -416, 1540, 6039 ], // DNG v13.2 "ranges": { "white": [ { "iso": [ 100, 125 ], "levels": 13480 }, // typical 13583 @@ -750,7 +806,7 @@ Camera constants: { // Quality B, White Levels not properly indicated, aperture scaling..missing scaling factors are guessed "make_model": "Canon EOS 80D", - "dcraw_matrix": [ 7457,-671,-937,-4849,12495,2643,-1213,2354,5492 ], // DNG_V9.5 D65 + "dcraw_matrix": [ 7457,-672,-937,-4849,12495,2643,-1213,2354,5492 ], // DNG v13.2 "raw_crop": [ 264, 34, 6024, 4022 ], // full size 6288x4056, official crop 276,46,6275,4045 "masked_areas": [ 40, 96, 4000, 260 ], "ranges": { @@ -815,7 +871,8 @@ Camera constants: // Canon mid-range DSLRs (Rebels) { // Quality C - "make_model": [ "Canon EOS 400D DIGITAL" ], + "make_model": "Canon EOS 400D DIGITAL", + "dcraw_matrix": [ 7054, -1501, -990, -8156, 15544, 2812, -1278, 1414, 7796 ], "ranges": { "white": 4056 } @@ -930,7 +987,7 @@ Camera constants: { // Quality C, white levels and aperture scaling copied from Canon EOS77d "make_model": [ "Canon EOS Rebel T7i", "Canon EOS 800D", "Canon EOS Kiss X9i" ], - "dcraw_matrix": [ 6970,-512,-968,-4425,12161,2553,-739,1982,5601 ], // DNG_V9.10.1 D65 + "dcraw_matrix": [ 6969,-512,-968,-4425,12161,2553,-739,1981,5601 ], // DNG v13.2 "raw_crop": [ 264, 36, 6024, 4020 ], // full size 6288x4056, official crop 276,48,6275,4047 "masked_areas": [ 40, 96, 4000, 260 ], "ranges": { @@ -1021,7 +1078,7 @@ Camera constants: ] } }, - + { // Quality C, samples provided by falket #5495 "make_model": [ "Canon EOS 2000D", "Canon EOS Rebel T7", "Canon EOS Kiss X90" ], // raw_crop is handled by dcraw @@ -1061,7 +1118,7 @@ Camera constants: { // Quality C, inconsistent WL per ISO, missing scaling factors "make_model": "Canon EOS M10", - "dcraw_matrix": [ 6400,-480,-888,-5294,13416,2047,-1296,2203,6137 ], // DNGv9.3 D65 + "dcraw_matrix": [ 6400,-480,-888,-5294,13415,2047,-1296,2203,6137 ], // DNG v13.2 "ranges": { "white": [ { "iso": [ 100, 125, 160, 320, 500, 2000, 4000, 6400 ], "levels": 16300 }, // typical 16383 @@ -1167,23 +1224,54 @@ Camera constants: "ranges" : { "white" : 16367 } // Typically 16383 without LENR, with LENR safest value is 15800 for ISO 25600 }, + { // Quality C + "make_model": "Canon EOS R3", + "dcraw_matrix" : [ 9423, -2839, -1195, -4532, 12377, 2415, -483, 1374, 5276 ], + "raw_crop": [ 160, 120, 6024, 4024 ] + }, + { // Quality C "make_model": "Canon EOS R5", "dcraw_matrix" : [9766, -2953, -1254, -4276, 12116, 2433, -437, 1336, 5131], - "raw_crop" : [ 124, 92, 8220, 5486 ], - "masked_areas" : [ 94, 20, 5578, 122 ], - "ranges" : { "white" : 16382 } + "raw_crop" : [ + { "frame" : [ 8352, 5586 ], "crop" : [ 128, 96, 8224, 5490 ] }, + { "frame" : [ 5248, 3510 ], "crop" : [ 128, 96, 5120, 3382 ] } + ], + "masked_areas" : [ + { "frame" : [ 8352, 5586 ], "areas": [ 94, 20, 5578, 122 ] }, + { "frame" : [ 5248, 3510 ], "areas": [ 94, 20, 3510, 122 ] } + ], + "ranges" : { "white" : 16382 } }, { // Quality C "make_model": "Canon EOS R6", "dcraw_matrix" : [8293, -1611, -1132, -4759, 12710, 2275, -1013, 2415, 5508], - "raw_crop": [ 72, 38, 5496, 3670 ], - "masked_areas" : [ 40, 10, 5534, 70 ], + "raw_crop": [ + { "frame": [5568, 3708], "crop" : [ 72, 38, 5496, 3670 ] }, + { "frame": [3584, 2386], "crop" : [ 156, 108, 3404, 2270 ] } + ], + "masked_areas" : [ + { "frame": [5568, 3708], "areas": [ 40, 10, 5534, 70 ] }, + { "frame": [3584, 2386], "areas": [ 40, 10, 2374, 110 ] } + ], "ranges" : { "white" : 16382 } }, - -// Canon Powershot + + { // Quality C + "make_model": "Canon EOS R7", + "dcraw_matrix" : [10424, -3138, -1300, -4221, 11938, 2584, -547, 1658, 6183], + "raw_crop": [ 144, 72, 6984, 4660 ], + "masked_areas" : [ 70, 20, 4724, 138 ] + }, + + { // Quality C + "make_model": "Canon EOS R10", + "dcraw_matrix" : [9269, -2012, -1107, -3990, 11762, 2527, -569, 2093, 4913], + "raw_crop": [ 144, 40, 6048, 4020 ], + "masked_areas" : [ 38, 20, 4052, 138 ] + }, + { // Quality C, CHDK DNGs, raw frame correction "make_model": "Canon PowerShot A3100 IS", "raw_crop": [ 24, 12, 4032, 3024 ] // full size 4036X3026 @@ -1230,7 +1318,8 @@ Camera constants: { // Quality B "make_model": "Canon PowerShot G3 X", - "dcraw_matrix": [ 9701,-3857,-921,-3149,11537,1817,-786,1817,5147 ], // DNG_V9.1.1 D65 + //"dcraw_matrix": [ 9701,-3857,-921,-3149,11537,1817,-786,1817,5147 ], // DNG_V9.1.1 D65 + "dcraw_matrix": [ 6941, -1164, -857, -3825, 11597, 2534, -416, 1540, 6039 ], // DNG v13.2 - looks worse "raw_crop": [ 128, 36, 5480, 3656 ], // Default official 3/2 frame 5472X3648, 4pix borders, Left Border 132-4, Top border 40-4 "masked_areas": [ 40, 4, 3680, 76 ], "ranges": { "white": 16300 } @@ -1238,7 +1327,7 @@ Camera constants: { // Quality B, "make_model": "Canon PowerShot G7 X", - "dcraw_matrix": [ 9602,-3823,-937,-2984,11495,1675,-407,1415,5049 ], // DNG_V8.7 D65 + "dcraw_matrix": [ 9602,-3823,-937,-2984,11495,1675,-407,1414,5049 ], // DNG v13.2 //"raw_crop": [ 116, 24, 5504, 3680 ], // Sensor size 5632x3710. Largest useful frame 120-5616X28-3702 = 5504x3682, 4pix RTborders, Left Border 120-4, Top border 28-4 "raw_crop": [ 128, 36, 5480, 3656 ], // Default official 3/2 frame 5472X3648, 4pix borders, Left Border 132-4, Top border 40-4 "masked_areas": [ 40, 4, 3680, 76 ], @@ -1246,17 +1335,27 @@ Camera constants: }, { // Quality B, - "make_model": [ "Canon PowerShot G5 X", "Canon PowerShot G9 X", "Canon PowerShot G7 X Mark II", "Canon PowerShot G9 X Mark II" ], - "dcraw_matrix": [ 9602,-3823,-937,-2984,11495,1675,-407,1415,5049 ], // DNG_V8.7 D65 + "make_model": [ "Canon PowerShot G5 X", "Canon PowerShot G7 X Mark II" ], + "dcraw_matrix": [ 9602,-3823,-937,-2984,11495,1675,-407,1414,5049 ], // DNG v13.2 //"raw_crop": [ 116, 24, 5504, 3680 ], // Sensor size 5632x3710. Largest useful frame 120-5616X28-3702 = 5504x3682, 4pix RTborders, Left Border 120-4, Top border 28-4 "raw_crop": [ 128, 36, 5480, 3656 ], // Default official 3/2 frame 5472X3648, 4pix borders, Left Border 132-4, Top border 40-4 "masked_areas": [ 40, 4, 3680, 76 ], "ranges": { "white": 15500 } // some sporadic samples are clipped lower than 16383, one ISO125 sample at 15500 }, + { // Quality B, separated entry from above due to alternate color matrix (effect unsure) + "make_model": "Canon PowerShot G9 X Mark II", + "dcraw_matrix": [ 10056, -4131, -944, -2576, 11143, 1625, -239, 1293, 5179 ], // DNG v13.2 + //"dcraw_matrix": [ 9602,-3823,-937,-2984,11495,1675,-407,1414,5049 ], // DNG v8.7 + "raw_crop": [ 128, 36, 5480, 3656 ], + "masked_areas": [ 40, 4, 3680, 76 ], + "ranges": { "white": 15500 } + }, + { // Quality A, changes for raw crop which is wrong (larger) in dcraw "make_model": "Canon PowerShot S120", - "dcraw_matrix": [ 6961, -1685, -695, -4625, 12945, 1836, -1114, 2152, 5518 ], // ColorMatrix2 using illuminant D65 from Adobe DNG Converter 12.2 + "dcraw_matrix": [ 6941, -1164, -857, -3825, 11597, 2534, -416, 1540, 6039 ], // Adobe DNG v13.2 + //"dcraw_matrix": [ 6961, -1685, -695, -4625, 12945, 1836, -1114, 2152, 5518 ], // Adobe DNG v12.2 "raw_crop": [ 120, 30, 4024, 3030 ], "masked_areas": [ 32, 2, 3028, 80 ], "ranges": { "white": 4050 } @@ -1264,12 +1363,13 @@ Camera constants: { // Quality C "make_model": "Canon PowerShot SX50 HS", + "dcraw_matrix": [ 12432, -4753, -1247, -2110, 10691, 1629, -412, 1623, 4926 ], "ranges": { "white": 4050 } }, { // Quality B "make_model": "Canon PowerShot SX60 HS", - "dcraw_matrix": [ 13161,-5451,-1344,-1989,10654,1531,-47,1271,4955 ], // DNG_V8.7 D65 + "dcraw_matrix": [ 13161,-5451,-1344,-1989,10653,1531,-47,1271,4955 ], // DNG v13.2 "raw_crop": [ 120, 34, 4616, 3464 ], // full raw 4768x3516, Usable 96,16,4672,3498 - Canon official 4608x3456 left 124 top 38, "masked_areas": [ 20, 2, 3480, 80 ], "ranges": { "white": 4050 } // nominal 4080-4093 @@ -1301,7 +1401,7 @@ Camera constants: "make_model": "DJI FC6310", "ranges": { "white": 64886 } }, - + { // Quality C "make_model": "DJI FC3170", "ranges": { "white": 65472 } @@ -1310,11 +1410,15 @@ Camera constants: { // Quality C "make_model": [ "FUJIFILM GFX 100", "FUJIFILM GFX100S" ], "dcraw_matrix" : [ 16212, -8423, -1583, -4336, 12583, 1937, -195, 726, 6199 ], // taken from ART - "raw_crop": [ 0, 2, 11664, 8734 ] + "raw_crop": [ + // multi-aspect crop to account for 16-shot pixel shift images + { "frame" : [11808, 8754], "crop" : [ 0, 2, 11664, 8734 ] }, + { "frame" : [23616, 17508], "crop" : [ 0, 4, 23328, 17468 ] } + ] }, { // Quality B - "make_model": "FUJIFILM GFX 50S", + "make_model": [ "FUJIFILM GFX 50R", "FUJIFILM GFX 50S", "FUJIFILM GFX50S II" ], "dcraw_matrix": [ 11756,-4754,-874,-3056,11045,2305,-381,1457,6006 ], // DNGv9.9 D65 //"dcraw_matrix": [ 12407,-5222,-1086,-2971,11116,2120,-294,1029,5284 ], // copy from X-A3 DNGv9.8 D65 "raw_crop": [ 0, 0, 8280, 6208 ], // full raw 9216X6210 - useful 8280x6208 @@ -1380,6 +1484,11 @@ Camera constants: "ranges": { "white": 4050 } }, + { // Quality C + "make_model": "Fujifilm X-A20", + "ranges": { "white": 3838 } + }, + { // Quality B "make_model": [ "FUJIFILM X-T10", "FUJIFILM X-E2" ], "dcraw_matrix": [ 8458,-2451,-855,-4597,12447,2407,-1475,2482,6526 ], // DNG D65 @@ -1387,7 +1496,7 @@ Camera constants: //"raw_crop": [ 4, 0, 4936, 3296 ], // full raw 4992,3296, fuji official 4936,3296 "ranges": { "white": 16100 } }, - + { // Quality B, samples provided by Claes "make_model": "FUJIFILM X-T1", "dcraw_matrix": [ 8458,-2451,-855,-4597,12447,2407,-1475,2482,6526 ], // DNG D65 @@ -1422,12 +1531,13 @@ Camera constants: "raw_crop": [ 0, 5, 6032, 4026 ], // full raw 6160,4032, Usable 6032,4026 - for uncompressed and lossless compressed files (but reduces height by 6 pixels) "ranges": { "white": 16100 } }, - + { // Quality C "make_model": "FUJIFILM X-E4", + "dcraw_matrix": [ 13426, -6334, -1177, -4244, 12136, 2371, -580, 1303, 5980 ], // DNG v13.2 "raw_crop": [ 0, 5, 6252, 4126 ] }, - + { // Quality B, samples provided by Daniel Catalina #5824 "make_model": "FUJIFILM X-T2", "dcraw_matrix": [ 11434,-4948,-1210,-3746,12042,1903,-666,1479,5235 ], // DNG_v9.4 D65 @@ -1435,7 +1545,7 @@ Camera constants: "ranges": { "white": [ 16195, 16270, 16195 ] } // With LENR on and ISO4000+ starts to overestimate white level, more realistic would be 16090 // Negligible aperture scaling effect }, - + { // Quality B, samples provided by Claes "make_model": "FUJIFILM X-PRO2", "dcraw_matrix": [ 11434,-4948,-1210,-3746,12042,1903,-666,1479,5235 ], // DNG_v9.4 D65 @@ -1443,7 +1553,7 @@ Camera constants: "ranges": { "white": [ 16105, 16270, 16082 ] } // These values are the lowest pixel values >16000 for all ISOs. LENR has a negligible effect. // No aperture scaling data provided, but likely negligible }, - + { // Quality A, samples provided by Daniel Catalina (#5839) and pi99y (#5860) "make_model": [ "FUJIFILM X-T3", "FUJIFILM X-PRO3" ], "dcraw_matrix": [ 13426,-6334,-1177,-4244,12136,2371,-580,1303,5980 ], // DNG_v11, standard_v2 d65 @@ -1451,9 +1561,9 @@ Camera constants: "white": [ 16170, 16275, 16170 ] // typical safe-margins with LENR // negligible aperture scaling effect }, - + { // Quality B - "make_model": [ "FUJIFILM X-T30", "FUJIFILM X100V", "FUJIFILM X-T4", "FUJIFILM X-S10" ], + "make_model": [ "FUJIFILM X-T30", "FUJIFILM X-T30 II", "FUJIFILM X100V", "FUJIFILM X-T4", "FUJIFILM X-S10" ], "dcraw_matrix": [ 13426,-6334,-1177,-4244,12136,2371,-580,1303,5980 ], // DNG_v11, standard_v2 d65 "raw_crop": [ 0, 5, 6252, 4176] }, @@ -1470,9 +1580,27 @@ Camera constants: "ranges": { "white": 4040 } }, - { // Quality B, Matrix from ART + { // Quality B + "make_model": [ "FUJIFILM X-T5", "FUJIFILM X-H2" ], + "dcraw_matrix": [ 11809, -5358, -1141, -4248, 12164, 2343, -514, 1097, 5848 ], // RawSpeed / DNG + "raw_crop": [ 0, 5, 7752, 5184 ] + }, + + { // Quality C + "make_model": "FUJIFILM DBP for GX680", + "dcraw_matrix": [ 12741, -4916, -1420, -8510, 16791, 1715, -1767, 2302, 7771 ], // same as S2Pro as per LibRaw + "ranges": { "white": 4096, "black": 132 } + }, + + { // Quality C, Leica C-Lux names can differ? + "make_model" : [ "LEICA C-LUX", "LEICA CAM-DC25" ], + "dcraw_matrix" : [7790, -2736, -755, -3452, 11870, 1769, -628, 1647, 4898] + }, + + { // Quality B "make_model" : "LEICA D-LUX 7", - "dcraw_matrix" : [11577, -4230, -1106, -3967, 12211, 1957, -758, 1762, 5610] + "dcraw_matrix" : [11577, -4230, -1106, -3967, 12211, 1957, -758, 1762, 5610] // DNG + // "dcraw_matrix" : [8585, -3127, -833, -4005, 12250, 1953, -650, 1494, 4862] // DNG alternate }, { // Quality B, Matrix from Adobe's dcp D65 instead of the internal in Leica's DNG @@ -1481,6 +1609,13 @@ Camera constants: "raw_crop": [ 4, 4, -4, -4 ] // full raw 6016x4016, Official 6000x4000 }, + // TODO: Temporary workaround for issues #6237 and #6498. + //{ // Quality C + // "make_model": "LEICA M8", + // "dcraw_matrix": [ 7675, -2196, -305, -5860, 14119, 1855, -2425, 4006, 6578 ], // DNG + // "ranges": { "white": 16383 } + //}, + { // Quality C "make_model": "LEICA Q2", "raw_crop": [ 0, 0, 8392, 5624 ] @@ -1499,12 +1634,12 @@ Camera constants: { // Quality C, only raw crop "make_model": "Leica SL2-S", - "raw_crop": [ 0, 2, 6024, 4042 ] // 2 rows at top and 4 rows at bottom are black + "raw_crop": [ 0, 2, 0, -4 ] // 2 rows at top and 4 rows at bottom are garbage }, - { // Quality B, Matrix from ART - "make_model" : "LEICA V-LUX 5", - "dcraw_matrix" : [9803, -4185, -992, -4066, 12578, 1628, -838, 1824, 5288] + { // Quality C + "make_model" : ["LEICA V-LUX 5","Panasonic DC-FZ1000M2"], + "dcraw_matrix" : [9803, -4185, -992, -4066, 12578, 1628, -838, 1824, 5288] // DNG }, { // Quality C @@ -1522,15 +1657,21 @@ Camera constants: }, { // Quality A - "make_model": [ "Nikon 1 V3", "Nikon 1 J4" ], // Same format + "make_model": "Nikon 1 V3", "dcraw_matrix": [ 5958,-1559,-571,-4021,11453,2939,-634,1548,5087 ], // matrix from DNG_v8.5 d65 //"dcraw_matrix": [ 5306,-1066,-469,-3865,11189,3076,-399,1341,5120 ], // matrix dXo D50, "ranges": { "white": 4080 } // Black is auto extracted from Exif, lower WL to 4080 from 4095 due to some non linearity detected at raw highlights }, + { // Quality A + "make_model": "Nikon 1 J4", // Similar to V3, different matrix + "dcraw_matrix": [ 6588, -1305, -693, -3277, 10987, 2634, -355, 2016, 5106 ], // DNG v13.2 + "ranges": { "white": 4080 } + }, + { // Quality B "make_model": "Nikon 1 J5", // - "dcraw_matrix": [ 7520,-2518,-645,-3844,12102,1945,-913,2249,6835 ], // DNG_v9.1 D65 + "dcraw_matrix": [ 7520,-2519,-645,-3844,12102,1945,-914,2249,6835 ], // DNG v13.2 //"dcraw_matrix": [ 7651,-2102,-751,-3299,11101,1651,-1011,2242,5770 ], // matrix from ICC converted to dcraw format XYZ on ImagingResource still life sample "ranges": { "white": [ @@ -1547,13 +1688,23 @@ Camera constants: "ranges": { "white": 4080 } // BL autodetected from Exif }, -// For all Nikon DSLRs which have multiple bitdepth options (14- and 12-bit) we define the 14-bit value and RT adapts it to 12-bit -// when a 12-bit bitdepth is detected (WL12 = WL14*4095/16383) + { // Quality C + "make_model": "Nikon D2Hs", + "dcraw_matrix": [ 5733, -911, -629, -7967, 15987, 2055, -3050, 4013, 7048 ] // DNG + }, + + { // Quality C + "make_model": "Nikon D2Xs", + "dcraw_matrix": [ 10230, -2768, -1255, -8302, 15900, 2551, -797, 680, 7148 ] // DNG + }, + + // For all Nikon DSLRs which have multiple bitdepth options (14- and 12-bit) we define the 14-bit value and RT adapts it to 12-bit + // when a 12-bit bitdepth is detected (WL12 = WL14*4095/16383) { // Quality B, samples by Johan Thor at RT.Issues, measures at long exposures with LENR are missing // but a safety margin is included - aperture scaling makes no significant difference "make_model": "Nikon D3S", - "dcraw_matrix": [ 8828,-2406,-694,-4874,12603,2541,-660,1509,7587 ], // dcp d65 + "dcraw_matrix": [ 8828,-2406,-694,-4874,12603,2541,-660,1509,7586 ], // DNG v13.2 "ranges": { "white": [ { "iso": [ 100, 125, 160, 200, 250, 320, 400, 500 ], "levels": 15520 }, // typical G1,G2 15520-15800 R,B 16383 @@ -1588,6 +1739,7 @@ Camera constants: { // Quality B, lacks aperture and ISO scaling, known to exist, but little to gain as the levels are so close to white_max "make_model": "Nikon D7000", "dcraw_matrix": [ 7530,-1942,-255,-4318,11390,3362,-926,1694,7649 ], // matrix provided by Tanveer(tsk1979) + //"dcraw_matrix": [ 8198, -2239, -725, -4871, 12388, 2798, -1043, 2050, 7181 ], // DNG v13.2 "ranges": { // measured at ISO 100. ISO differences not measured, but known to exist "white": [ 16300, 15700, 16300 ], // typical R 16383, G 15778, B 16383 @@ -1598,7 +1750,7 @@ Camera constants: { // Quality B "make_model": "NIKON COOLPIX A", - "dcraw_matrix": [ 8198,-2239,-724,-4871,12389,2798,-1043,2050,7181 ], // dng_d65 + "dcraw_matrix": [ 8198,-2239,-725,-4871,12388,2798,-1043,2050,7181 ], // DNG v13.2 "ranges": { "white": [ { "iso": [ 100, 125, 160, 200, 250, 320, 400, 500, 640, 800 ], "levels": [ 16300, 15700, 16300 ] }, // typical G1,G2 15760-15800 R,B 16383 @@ -1614,18 +1766,18 @@ Camera constants: { // Quality A, samples provided by dimonoid (#5842) "make_model": "NIKON COOLPIX P1000", "dcraw_matrix": [ 14294, -6116, -1333, -1628, 10219, 1637, -14, 1158, 5022 ], // ColorMatrix2 from Adobe DNG Converter 11.4 - "ranges": { + "ranges": { "black": 200, "white": [ 4000, 4050, 3950 ] // Typical values without LENR: 4009, 4093, 3963 } // No significant influence of ISO // No aperture scaling reported }, - + { // Quality B, samples provided by arvindpgh (#6066) // Sensor shows some non-uniformity, need other sample to verify // There seems to be some aperture scaling, but insufficient data to accurately determine "make_model": "Nikon COOLPIX P950", - "dcraw_matrix": [ 13307,-5641,-1290,-2048,10581,1689,-64,1222,5176 ], // ColorMatrix2 from Adobe DNG Converter 13.1 + "dcraw_matrix": [ 13307,-5642,-1290,-2048,10581,1689,-64,1222,5175 ], // DNG v13.2 "ranges": { "black": 200, "white": [ @@ -1639,16 +1791,26 @@ Camera constants: { // Quality B, no LENR samples "make_model": "Nikon D5", - "dcraw_matrix": [ 9200,-3522,-992,-5755,13803,2117,-753,1486,6338 ], // adobe dng_v9.5 d65 + "dcraw_matrix": [ 9200,-3522,-992,-5755,13803,2117,-754,1486,6338 ], // DNG v13.2 "ranges": { "black": 0, "white": 16300 } // WL typical 16383 set to 16300 for safety }, + { // Quality C + "make_model": "Nikon D6", + "dcraw_matrix": [ 9028, -3423, -1035, -6321, 14265, 2217, -1013, 1683, 6928 ] // DNG + }, + { // Quality B "make_model": "Nikon D3400", "dcraw_matrix": [ 6988,-1384,-714,-5631,13410,2447,-1485,2204,7318 ], // adobe dng_v9.7 d65 "ranges": { "white": 16300 } // WL value is for 14-bit files, RT auto adapts it for 12-bit files. WL typical 16383 set to 16300 for safety }, + { // Quality C + "make_model": "Nikon D3500", + "dcraw_matrix": [ 8821, -2938, -785, -4178, 12142, 2287, -824, 1651, 6860 ] // DNG + }, + { // Quality B "make_model": "Nikon D5300", "dcraw_matrix": [ 6988,-1384,-714,-5631,13410,2447,-1485,2204,7318 ], // adobe dng_v8.8 d65 @@ -1673,6 +1835,12 @@ Camera constants: "ranges": { "white": 16300 } // WL value is for 14-bit files, RT auto adapts it for 12-bit files. WL typical 16383 set to 16300 for safety, }, + { // Quality C + "make_model": "Nikon D300s", + "dcraw_matrix": [ 9030, -1992, -716, -8465, 16302, 2256, -2689, 3217, 8068 ] // DNG + //"dcraw_matrix": [ 9000, -1966, -711, -7030, 14976, 2185, -2354, 2959, 7990 ] // DNG alternate + }, + { // Quality B, samples by joachip at RT forums, are measures at long exposures with LongExposureNoiseReduction // aperture scaling known to exist, but little to gain as the levels are so close to white_max "make_model": "Nikon D600", @@ -1708,7 +1876,7 @@ Camera constants: { // Quality B, data from RusselCottrell at RT forums. sensor is not uniform "make_model": "Nikon D700", - "dcraw_matrix": [ 8139,-2171,-663,-8747,16541,2295,-1925,2008,8093 ], + "dcraw_matrix": [ 8139,-2171,-664,-8748,16541,2296,-1924,2008,8093 ], // DNG v13.2 //"dcraw_matrix": [ 9336,-3405,14,-7321,14779,2764,-914,1171,8248 ], // illuminant A "ranges": { "white": [ 15500, 15500, 15500 ] } // Non linearities start at 15500 (hi ISOs) 15850 (low ISOs) with long exposures (>2sec) and LENR ON .. nominal 15892 @@ -1717,10 +1885,15 @@ Camera constants: { // Quality B, "make_model": "Nikon D750", - "dcraw_matrix": [ 9020,-2890,-715,-4535,12436,2348,-934,1919,7086 ], // adobe dcp d65 DNGv8.7 + "dcraw_matrix": [ 9020,-2890,-715,-4535,12436,2348,-934,1918,7086 ], // DNG v13.2 "ranges": { "white": 16300 } // WL values for 14-bit files, RT auto adapts it for 12-bit files. TypicalWL 16383 set to 16300 for safety }, + { // Quality C + "make_model": "Nikon D780", + "dcraw_matrix": [ 9943, -3270, -839, -5323, 13269, 2259, -1198, 2083, 7557 ] // DNG + }, + { // Quality B, data from RussellCottrell at RT forums. Largest aperture scale factor is 1.013, about 1/50th of a stop "make_model": [ "Nikon D800", "Nikon D800E" ], "dcraw_matrix": [ 7866,-2108,-555,-4869,12483,2681,-1176,2069,7501 ], // D800/D800E from dcraw.c @@ -1740,9 +1913,14 @@ Camera constants: "ranges": { "white": 16300 } // WL values for 14-bit files, RT auto adapts it for 12-bit files. Typical WL at 16383 }, + { // Quality C + "make_model": "Nikon D810A", + "dcraw_matrix": [ 11973, -5685, -888, -1965, 10326, 1901, -115, 1123, 7169 ] // DNG + }, + { // Quality A, Samples by zorgtool at RT forums "make_model": "Nikon D850", - "dcraw_matrix": [ 10405,-3755,-1270,-5461,13787,1793,-1040,2015,6785 ], // DNGv9.12.1 d65 + "dcraw_matrix": [ 10405,-3755,-1270,-5461,13787,1792,-1040,2015,6785 ], // DNG v13.2 "ranges": { "white": [ { "iso": [ 64, 80, 100, 125, 160, 200, 250, 320 ], "levels": [ 16250, 16050, 16250 ] }, // R,B 16383 G1,G2 16145-16155 @@ -1772,33 +1950,48 @@ Camera constants: } }, + { // Quality C + "make_model": "Nikon D70s", + "dcraw_matrix": [ 7732, -2421, -789, -8238, 15883, 2498, -859, 783, 7330 ] // DNG + }, + { // Quality B "make_model": "Nikon D80", - "dcraw_matrix": [ 8629,-2410,-883,-9055,16940,2171,-1490,1363,8520 ], // Dcraw.c d65 + "dcraw_matrix": [ 8628,-2410,-883,-9055,16940,2171,-1491,1363,8520 ], // DNG v13.2 "ranges": { "white": 3980 } // 12-bit files. }, { // Quality C, only color matrix and PDAF lines info "make_model" : "Nikon Z 7", - "dcraw_matrix" : [10405,-3755,-1270,-5461,13787,1793,-1040,2015,6785], // Adobe DNG Converter 11.0 ColorMatrix2 + "dcraw_matrix" : [10405,-3755,-1270,-5461,13787,1792,-1040,2015,6785], // DNG v13.2 "pdaf_pattern" : [0, 12], "pdaf_offset" : 29 }, + { // Quality C + "make_model" : "Nikon Z 7_2", + "dcraw_matrix" : [13705, -6004, -1401, -5464, 13568, 2062, -940, 1706, 7618] // DNG + }, + { // Quality C, only color matrix and PDAF lines info "make_model" : "Nikon Z 6", - "dcraw_matrix" : [8210, -2534, -683, -5355, 13338, 2212, -1143, 1929, 6464], // Adobe DNG Converter 11.1 Beta ColorMatrix2 + "dcraw_matrix" : [8210, -2534, -683, -5355, 13338, 2212, -1143, 1928, 6464], // DNG v13.2 "pdaf_pattern" : [0, 12], "pdaf_offset" : 32 }, - { // Quality C, only dcraw looted from ART commit ad88c7d97 + { // Quality C + "make_model" : "Nikon Z 6_2", + "dcraw_matrix" : [9943, -3270, -839, -5323, 13269, 2259, -1198, 2083, 7557] // DNG + }, + + { // Quality C "make_model" : "NIKON Z 5", - "dcraw_matrix" : [8695, -2558, -648, -5015, 12711, 2575, -1279, 2215, 7514] + "dcraw_matrix" : [8695, -2559, -648, -5015, 12710, 2575, -1280, 2215, 7514] // DNG v13.2 }, { // Quality A, white levels and PDAF lines measured by Yann Leprince #5851 - "make_model" : "Nikon Z 50", + "make_model" : [ "Nikon Z 50", "Nikon Z fc" ], "dcraw_matrix" : [11640, -4829, -1079, -5107, 13006, 2325, -972, 1711, 7380], // Adobe DNG Converter 12.2.1 ColorMatrix2 (D65) "ranges": { "white": [ @@ -1859,6 +2052,11 @@ Camera constants: } }, + { // Quality C + "make_model": "OLYMPUS E-M5MarkIII", + "dcraw_matrix": [ 11896, -5110, -1076, -3181, 11378, 2048, -519, 1224, 5165 ] // DNG + }, + { // Quality B, 20Mp and 80Mp raw frames "make_model": "OLYMPUS PEN-F", "dcraw_matrix": [ 9476,-3182,-765,-2613,10958,1893,-449,1315,5268 ], // dng_v9.5 D65 @@ -1874,8 +2072,7 @@ Camera constants: { // Quality B, 20Mp and 80Mp raw frames, "make_model": "OLYMPUS E-M1MarkII", - "dcraw_matrix": [ 9383,-3170,-763,-2457,10702,2020,-384,1236,5552 ], // dng_V9.10 D65 - //"dcraw_matrix": [ 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 ], // beta, dng_v9.8 D65 + "dcraw_matrix": [ 9383,-3170,-764,-2457,10702,2020,-384,1236,5552 ], // dng_V9.10 D65 "raw_crop": [ 8, 8, -16, -8 ], // full raw 5240X3912, jpeg top12,left12,5184x3888, full hires 10400X7792, jpeg crop 8,8,10368x7776 "ranges": { "white": [ @@ -1894,41 +2091,59 @@ Camera constants: "ranges": { "white": 4080 } // nominal 4095-4094, spread with some settings as long exposure }, + { // Quality C + "make_model": "OLYMPUS E-M1MarkIII", + "dcraw_matrix": [ 11896, -5110, -1076, -3181, 11378, 2048, -519, 1224, 5165 ] // DNG + }, + { // Quality C, only raw crop for highres mode "make_model": "OLYMPUS E-M1X", + "dcraw_matrix": [ 11896, -5110, -1076, -3181, 11378, 2048, -519, 1224, 5165 ], // DNG v11.2 "raw_crop": [ 0, 0, 10388, 0 ] // Highres mode largest valid, full 80Mp 10400X7792, works also for non highres mode because larger width will be ignored }, { // Quality B, crop correction "make_model": [ "OLYMPUS E-M10", "OLYMPUS E-M10MarkII", "OLYMPUS E-M10 Mark III" ], - "dcraw_matrix": [ 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 ], + "dcraw_matrix": [ 8380,-2630,-639,-2887,10725,2496,-628,1427,5437 ], // DNG v13.2 "raw_crop": [ 0, 0, 4624, 3472 ], // largest valid - full frame is 4640x3472 //"raw_crop": [ 4, 4, 4616, 3464 ], // olympus jpeg crop 8, 8, 4608, 3456 "ranges": { "white": 4080 } }, + { // Quality C + "make_model": "OLYMPUS E-M10MarkIV", + "dcraw_matrix": [ 9476, -3182, -765, -2613, 10958, 1893, -449, 1315, 5268 ], + "range": { "white": 4000, "black": 254 } + }, + { // Quality A, white level correction "make_model": "OLYMPUS E-PM2", "global_green_equilibration" : true, - "dcraw_matrix": [ 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 ], + "dcraw_matrix": [ 8380,-2630,-639,-2887,10725,2496,-628,1427,5437 ], // DNG v13.2 "ranges": { "white": 4040 } // nominal 4056 }, { // Quality C "make_model": [ "OLYMPUS E-PL9" ], + "dcraw_matrix": [ 8380, -2630, -639, -2887, 10725, 2496, -628, 1427, 5437 ], "ranges": { "white": 4080 } // nominal 4093 }, + { // Quality C + "make_model": [ "OLYMPUS E-PL10" ], + "dcraw_matrix": [ 9197, -3190, -659, -2606, 10830, 2039, -458, 1250, 5457 ] + }, + { // Quality B, with long exposure noise reduction White Level gets WL-BL = around 256_12-bit levels less "make_model": [ "OLYMPUS E-PL7", "OLYMPUS E-PL8" ], "global_green_equilibration" : true, - "dcraw_matrix": [ 9197,-3190,-659,-2606,10830,2039,-458,1250,5458 ], // DNG_v9.8 D65 + "dcraw_matrix": [ 9197,-3190,-659,-2606,10830,2039,-458,1250,5457 ], // DNG v13.2 "ranges": { "white": 4080 } // nominal 4093 }, { // Quality B, per ISO WL measures missing "make_model": [ "OLYMPUS SH-2", "Olympus SH-3" ], - "dcraw_matrix": [ 10156,-3425,-1077,-2611,11177,1624,-385,1592,5080 ], // DNG_V9.1 D65 + "dcraw_matrix": [ 10156,-3426,-1077,-2611,11177,1624,-385,1592,5080 ], // DNG v13.2 "ranges": { "white": 4050 } // safe for worst case detected, nominal is 4093 }, @@ -1939,9 +2154,9 @@ Camera constants: "ranges": { "white": 4050 } // safe for worst case detected, nominal is 4093 }, - { // Quality C, only raw crop + { // Quality B "make_model": "OLYMPUS TG-6", - "dcraw_matrix" : [10899, -3832, -1082, -2112, 10736, 1575, -267, 1452, 5269], // taken from ART + "dcraw_matrix" : [10899, -3833, -1082, -2112, 10736, 1575, -267, 1452, 5269], // DNG v13.2 "raw_crop": [ 0, 0, -24, 0 ] // 24 pixels at right are garbage }, @@ -1950,16 +2165,22 @@ Camera constants: "global_green_equilibration" : true }, - { // Quality X + { // Quality C + "make_model": ["OLYMPUS STYLUS1", "OLYMPUS STYLUS1,1s"], + "dcraw_matrix" : [8360, -2420, -880, -3928, 12353, 1739, -1381, 2416, 5173] // DNG + }, + + { // Quality B "make_model": [ "Panasonic DC-LX100M2" ], - "dcraw_matrix": [ 11577, -4230, -1106, -3967, 12211, 1957, -758, 1762, 5610 ], // Adobe DNG Converter 11.0 ColorMatrix2 + "dcraw_matrix": [ 11577, -4230, -1106, -3967, 12211, 1957, -759, 1762, 5610 ], // DNG v13.2 + //"dcraw_matrix": [ 8585, -3127, -833, -4005, 12250, 1953, -650, 1494, 4862 ], // DNG v13.2 alternate "raw_crop": [ 0, 0, 0, 0 ], "ranges": { "black": 15 } }, { // Quality C, proper ISO 100-125-160 samples missing, pixelshift files have no black offset etc. #4574 "make_model": [ "Panasonic DC-G9" ], - "dcraw_matrix": [ 7685, -2375, -634, -3687, 11700, 2249, -748, 1546, 5111 ], // Adobe DNG Converter 10.3 ColorMatrix2 + "dcraw_matrix": [ 7685, -2375, -634, -3688, 11700, 2249, -748, 1545, 5111 ], // DNG v13.2 "ranges": { "black": 15, // 15 is BL offset. dcraw/RT reads the base black from Exif and calculates total BL = BLbase+BLoffset "white": [ @@ -1970,13 +2191,22 @@ Camera constants: } }, + { // Quality C + "make_model": [ "Panasonic DC-G90", "Panasonic DC-G95", "Panasonic DC-G99" ], + "dcraw_matrix": [ 9657, -3963, -748, -3361, 11378, 2258, -568, 1414, 5158 ], // DNG + "ranges": { "black": 15 } // see above: RT already reads a value from exif + }, + + { // Quality C + "make_model": [ "Panasonic DC-G100", "Panasonic DC-G110" ], + "dcraw_matrix": [ 8370, -2869, -710, -3389, 11372, 2298, -640, 1598, 4887 ] // DNG + }, + { // Quality C, only color matrix "make_model" : "Panasonic DC-GF10", - "dcraw_matrix": [ 7610, -2780, -576, -4614, 12195, 2733, -1375, 2393, 6490 ], // ColorMatrix2 from Adobe DNG Converter 11.3 + "dcraw_matrix": [ 7610, -2781, -576, -4614, 12195, 2733, -1375, 2393, 6490 ], // DNG v13.2 "raw_crop": [ 0, 0, 4600, 0 ], // SensorWidth=4816 SensorHeight=3464. Width=4600 to match DNG. - "ranges": { - "black": 15 - } + "ranges": { "black": 15 } }, { // Quality B, CameraPhone, some samples are missing but has the same sensor as FZ1000 .. @@ -1994,7 +2224,7 @@ Camera constants: { // Quality B "make_model": [ "Panasonic DC-FZ80", "Panasonic DC-FZ81", "Panasonic DC-FZ82", "Panasonic DC-FZ83" ], - "dcraw_matrix": [ 8550,-2908,-842,-3195,11529,1881,-338,1603,4631 ], // DNGv9.10.1 D65 + "dcraw_matrix": [ 11532, -4324, -1066, -2375, 10847, 1749, -564, 1699, 4351 ], // DNG v13.2 "raw_crop": [ 0, 6, -8, -2 ], // fullraw4/3 5040x3688 official 8,8,4904,3680 = 4896X3672. Dcraw 0,0,4912,3688 RT's frame gets smaller than dcraw but works better with auto distortion "ranges": { "black": 15, "white": 4050 } // 15 is BL offset. dcraw/RT read the base offset from Exif and calculates total BL = BLbase+BLoffset }, @@ -2013,7 +2243,7 @@ Camera constants: { // Quality A, samples by helices at RT forums "make_model": [ "Panasonic DMC-FZ1000", "Leica V-LUX (Typ 114)" ], - "dcraw_matrix": [ 7830,-2696,-763,-3325,11667,1866,-641,1712,4824 ], // dcp_v8.6 d65 + "dcraw_matrix": [ 7830,-2696,-764,-3325,11667,1865,-641,1712,4824 ], // DNG v13.2 "ranges": { "black": 15, // 15 is BL offset. dcraw/RT read the base BL from Exif and calculates total BL = BLbase+BLoffset "white": [ @@ -2026,7 +2256,7 @@ Camera constants: { // Quality B, "make_model": [ "Panasonic DMC-FZ2500", "Panasonic DMC-FZ2000", "Panasonic DMC-FZH1" ], - "dcraw_matrix": [ 7386,-2443,-743,-3437,11864,1757,-608,1660,4766 ], // dcp_v9.8 d65 + "dcraw_matrix": [ 7386,-2443,-743,-3437,11863,1757,-608,1660,4766 ], // DNG v13.2 "ranges": { "black": 15, // 15 is BL offset. dcraw/RT read the base BL from Exif and calculates total BL = BLbase+BLoffset "white": [ @@ -2071,6 +2301,11 @@ Camera constants: "ranges": { "black": 14, "white": 4050 } // 12+1+1 is BL offset }, + { // Quality C + "make_model": [ "Panasonic DMC-ZS60", "Panasonic DMC-TZ80", "Panasonic DMC-TZ85" ], + "dcraw_matrix": [ 8550, -2908, -842, -3195, 11529, 1881, -338, 1603, 4631 ] // DNG + }, + { // Quality A, samples by Hombre "make_model": [ "Panasonic DC-ZS70", "Panasonic DC-TZ90", "Panasonic DC-TZ91", "Panasonic DC-TZ92", "Panasonic DC-TZ93" ], "dcraw_matrix": [ 9052,-3117,-883,-3045,11346,1927,-205,1520,4730 ], // DNG_V9.10.1 D65 @@ -2078,7 +2313,12 @@ Camera constants: "ranges": { "black": 16, "white": 4050 } // 12+3+1 is BL offset }, -// Panasonic DMC-FZ150,G10,G1,G2,G3,G5,GF1,GF2,GF3 are included as overwrites of the same items of rawimage.cc to test the dcraw9.21 patch + { // Quality C + "make_model": [ "Panasonic DC-ZS80", "Panasonic DC-TZ95" ], + "dcraw_matrix": [ 12194, -5340, -1329, -3035, 11394, 1858, -50, 1418, 5219 ] // DNG + }, + + // Panasonic DMC-FZ150,G10,G1,G2,G3,G5,GF1,GF2,GF3 are included as overwrites of the same items of rawimage.cc to test the dcraw9.21 patch { // Quality A, Replicated from rawimage.cc "make_model": [ "Panasonic DMC-G10", "Panasonic DMC-G2" ], @@ -2190,7 +2430,7 @@ Camera constants: { // Quality B, some ISO WLevels are safely guessed "make_model": "Panasonic DMC-GH4", - "dcraw_matrix": [ 7122,-2108,-512,-3155,11201,2231,-541,1423,5045 ], // dng_v8.5 d65 + "dcraw_matrix": [ 7122,-2108,-512,-3155,11201,2231,-541,1423,5044 ], // DNG v13.2 "ranges": { "black": 16, // 16 is BL offset. dcraw/RT read the base black from Exif and calculates total BL = BLbase+BLoffset "white": [ @@ -2203,7 +2443,7 @@ Camera constants: { // Quality C "make_model": "Panasonic DC-GH5", - "dcraw_matrix": [ 7641,-2336,-605,-3218,11299,2187,-485,1338,5121 ], // DNG_v9.9 D65 + "dcraw_matrix": [ 7641,-2336,-605,-3218,11298,2187,-485,1338,5121 ], // DNG v13.2 "ranges": { "black": 15, // 16 is BL offset. dcraw/RT read the base BL from Exif and calculates total BL = BLbase+BLoffset "white": [ @@ -2254,7 +2494,7 @@ Camera constants: { // Quality A "make_model": [ "Panasonic DMC-G7", "Panasonic DMC-G70" ], - "dcraw_matrix": [ 7610,-2780,-576,-4614,12195,2733,-1375,2393,6490 ], // DNG_v9.1 D65 + "dcraw_matrix": [ 7610,-2781,-576,-4614,12195,2733,-1375,2393,6490 ], // DNG v13.2 "ranges": { "black": 16, // 16 is BL offset. dcraw/RT read the base black from Exif and calculates total BL = BLbase+BLoffset "white": [ @@ -2267,7 +2507,7 @@ Camera constants: { // Quality B "make_model": [ "Panasonic DMC-GX80", "Panasonic DMC-GX85", "Panasonic DMC-GX7MK2" ], - "dcraw_matrix": [ 7771,-3020,-629,-4029,11950,2345,-821,1977,6119 ], // DNG_v9.6 D65 + "dcraw_matrix": [ 7771,-3020,-629,-4029,11950,2345,-822,1976,6119 ], // DNG v13.2 "ranges": { "black": 16, // 16 is BL offset. dcraw/RT read the base black from Exif and calculates total BL = BLbase+BLoffset "white": [ @@ -2280,7 +2520,7 @@ Camera constants: { // Quality X, no white-frames nor black-frames yet, see #4550 "make_model": [ "Panasonic DC-GX9" ], - "dcraw_matrix": [ 7564,-2263,-606,-3148,11239,2177,-540,1435,4853 ], // ColorMatrix2 from Adobe DNG Converter 10.3 + "dcraw_matrix": [ 7564,-2263,-606,-3149,11238,2177,-540,1435,4853 ], // DNG v13.2 "ranges": { "black": 16, "white": 4080 @@ -2289,7 +2529,7 @@ Camera constants: { // Quality B, Same as Panasonic G7 "make_model": [ "Panasonic DMC-G8", "Panasonic DMC-G80", "Panasonic DMC-G81", "Panasonic DMC-G85" ], - "dcraw_matrix": [ 7610,-2780,-576,-4614,12195,2733,-1375,2393,6490 ], // DNG_v9.7 D65 + "dcraw_matrix": [ 7610,-2781,-576,-4614,12195,2733,-1375,2393,6490 ], // DNG v13.2 "ranges": { "black": 16, // 16 is BL offset. dcraw/RT read the base black from Exif and calculates total BL = BLbase+BLoffset "white": [ @@ -2302,7 +2542,7 @@ Camera constants: { // Quality B "make_model": "Panasonic DMC-GX8", - "dcraw_matrix": [ 7564,-2263,-606,-3148,11239,2177,-540,1435,4853 ], // DNG_v9.1.1 D65 + "dcraw_matrix": [ 7564,-2263,-606,-3149,11238,2177,-540,1435,4853 ], // DNG v13.2 "ranges": { "black": 15, // 16 is BL offset. dcraw/RT read the base BL from Exif and calculates total BL = BLbase+BLoffset "white": [ @@ -2372,6 +2612,16 @@ Camera constants: } }, + { // Quality C + "make_model": "Panasonic DC-S1H", + "dcraw_matrix": [ 9397, -3719, -805, -5425, 13326, 2309, -972, 1715, 6034 ] // DNG + }, + + { // Quality C, possibly the same as DC-S1. We have a custom DCP which is better. + "make_model": "Panasonic DC-S5", + "dcraw_matrix": [ 9744, -3905, -779, -4899, 12807, 2324, -798, 1630, 5827 ] // DNG + }, + { // Quality B, per ISO info missing "make_model": "PENTAX K-x", "dcraw_matrix": [ 8843,-2837,-625,-5025,12644,2668,-411,1234,7410 ], // adobe dcp d65 @@ -2425,7 +2675,7 @@ Camera constants: { // Quality B, Intemediate ISO samples missing, Pentax_DNG WLtags are after BL sutraction and not valid "make_model": [ "RICOH PENTAX K-1", "PENTAX K-1" ], - "dcraw_matrix": [ 8596,-2981,-639,-4202,12046,2431,-685,1424,6122 ], // adobe DNG v9.7 D65 + "dcraw_matrix": [ 8596,-2981,-639,-4202,12045,2431,-685,1424,6122 ], // DNG v13.2 //"dcraw_matrix": [ 8566,-2746,-1201,-3612,12204,1550,-893,1680,6264 ], // PENTAX DNG //"raw_crop": [ 6, 18, 7376, 4932 ], // full frame 7392x4950, cropped to official DNG raw_crop 6,18,7382,4950, official jpeg crop 8,10,7360x4912 "ranges": { @@ -2439,6 +2689,11 @@ Camera constants: } }, + { // Quality C, possibly the same as K-1 + "make_model": [ "RICOH PENTAX K-1 Mark II", "PENTAX K-1 Mark II" ], + "dcraw_matrix": [ 8596, -2981, -639, -4202, 12045, 2431, -685, 1424, 6122 ] // DNG + }, + { // Quality B, intermediate ISOs info missing "make_model": [ "RICOH PENTAX K-3", "PENTAX K-3" ], "dcraw_matrix": [ 7415,-2052,-721,-5186,12788,2682,-1446,2157,6773 ], // adobe dcp d65 @@ -2456,6 +2711,12 @@ Camera constants: } }, + { // Quality C + "make_model": ["RICOH PENTAX K-3 MARK III", "PENTAX K-3 MARK III"], + "dcraw_matrix" : [7003, -1618, -887, -4614, 12728, 2065, -645, 1441, 5734], + "raw_crop": [ 24, 34, -28, -14 ] + }, + { // Quality B, intermediate ISOs info missing "make_model": [ "RICOH PENTAX 645Z", "PENTAX 645Z" ], "dcraw_matrix": [ 9519,-3591,-664,-4074,11725,2671,-624,1501,6653 ], // adobe dcp d65 @@ -2473,7 +2734,7 @@ Camera constants: { // Quality B, intermediate ISOs info missing, spread due to blackframe subtraction guessed to be around 10levels "make_model": "PENTAX K10D", - "dcraw_matrix": [ 9566,-2863,-803,-7170,15172,2112,-818,803,9705 ], // adobe DNG d65 + "dcraw_matrix": [ 9679, -2965, -811, -8622, 16514, 2182, -975, 883, 9793 ], // DNG v13.2 //"raw_crop": [ 0, , 3888, 2608 ], "ranges": { "white": [ @@ -2571,16 +2832,27 @@ Camera constants: "make_model": "Sigma sd Quattro", "raw_crop": [ 200, 74, 5632, 3698 ] }, + + { // Quality C + "make_model": "Sigma fp", + "dcraw_matrix": [ 12431, -5541, -1000, -4387, 12361, 2265, -732, 1526, 5970 ] // DNG + }, + + { // Quality C + "make_model": "Sony NEX-F3", + "dcraw_matrix": [ 5991, -1456, -455, -4764, 12135, 2980, -707, 1424, 6701 ] // DNG + }, + { // Quality A, correction for color matrix from Colin Walker's d50 to dng d65 "make_model": "Sony NEX-C3", //"dcraw_matrix": [ 5130,-1055,-269,-4473,11797,3050,-701,1310,7121 ], // Colin walker's d50 kept for possible consistency issues - "dcraw_matrix": [ 5991,-1456,-455,-4764,12135,2980,-707,1425,6701 ], + "dcraw_matrix": [ 5991,-1456,-455,-4764,12135,2980,-707,1424,6701 ], // DNG v13.2 "ranges": { "black": 512, "white": 16300 } }, { // Quality A, correction for frame width "make_model": "Sony NEX-5N", - "dcraw_matrix": [ 5991,-1456,-455,-4764,12135,2980,-707,1425,6701 ], + "dcraw_matrix": [ 5991,-1456,-455,-4764,12135,2980,-707,1424,6701 ], // DNG v13.2 "raw_crop": [ 0, 0, 4920, 3276 ], "ranges": { "black": 512, "white": 16300 } }, @@ -2594,35 +2866,40 @@ Camera constants: { // Quality B "make_model": "Sony ILCA-68", - "dcraw_matrix": [ 6435,-1903,-536,-4722,12449,2550,-663,1363,6517 ], // adobe DNGv9.5 d65 + "dcraw_matrix": [ 6435,-1903,-536,-4722,12448,2550,-663,1363,6516 ], // DNG v13.2 "raw_crop": [ 0, 0, -30, 0 ], "ranges": { "black": 512, "white": 16300 } }, { // Quality B, correction for frame width, crop modes covered "make_model": "Sony ILCA-99M2", - "dcraw_matrix": [ 6660,-1918,-471,-4613,12398,2485,-649,1433,6447 ], // DNG_v9.8 D65 + "dcraw_matrix": [ 6660,-1918,-472,-4613,12398,2485,-649,1433,6447 ], // DNG v13.2 "raw_crop": [ 0, 0, -36, 0 ], // full raw frame 8000x5320 - 36 rightmost columns are garbage "ranges": { "black": 512, "white": 16300 } }, + { // Quality C + "make_model": "Sony ILCE-1", + "dcraw_matrix": [ 8161, -2947, -739, -4811, 12668, 2389, -437, 1229, 6524 ] // DNG v13.2 + }, + { // Quality A, correction for frame width "make_model": [ "Sony ILCE-3000", "Sony ILCE-3500", "Sony ILCE-5000", "Sony ILCE-QX1" ], - "dcraw_matrix": [ 5991,-1456,-455,-4764,12135,2980,-707,1425,6701 ], // adobe dcp d65 + "dcraw_matrix": [ 5991,-1456,-455,-4764,12135,2980,-707,1424,6701 ], // DNG v13.2 "ranges": { "black": 512, "white": 16300 }, "raw_crop": [ 0, 0, 5476, 3656 ] }, { // Quality A "make_model": "Sony ILCE-5100", - "dcraw_matrix": [ 5991,-1456,-455,-4764,12135,2980,-707,1425,6701 ], // adobe dcp d65 + "dcraw_matrix": [ 5991,-1456,-455,-4764,12135,2980,-707,1424,6701 ], // DNG v13.2 "raw_crop": [ 0, 0, 6024, 4024 ], "ranges": { "black": 512, "white": 16300 } }, { // Quality A "make_model": "Sony ILCE-6000", - "dcraw_matrix": [ 5991,-1456,-455,-4764,12135,2980,-707,1425,6701 ], // adobe dcp d65 + "dcraw_matrix": [ 5991,-1456,-455,-4764,12135,2980,-707,1424,6701 ], // adobe dcp d65 "raw_crop": [ 0, 0, 6024, 4024 ], "ranges": { "black": 512, "white": 16300 }, // detected by hand, using the picture from https://www.dpreview.com/forums/thread/3923513 @@ -2631,9 +2908,18 @@ Camera constants: "pdaf_offset" : 3 }, + { // Quality B, probably similar to ILCE-6000 / 6300 / 6500, not checked + "make_model": [ "Sony ILCE-6100","Sony ILCE-6400","Sony ILCE-6600" ], + "dcraw_matrix": [ 7657, -2847, -607, -4083, 11966, 2389, -684, 1418, 5844 ], // DNG + "raw_crop": [ 0, 0, 6024, 4024 ], + "ranges": { "black": 512, "white": 16300 }, + "pdaf_pattern" : [ 0,12,36,54,72,90,114,126,144,162,180,204,216,240,252,270,294,306,324,342,366,384,396,414,432,450,474,492,504,522,540,564,576,594,606,630 ], + "pdaf_offset" : 3 + }, + { // Quality A "make_model": [ "Sony ILCE-6300","Sony ILCE-6500" ], - "dcraw_matrix": [ 5973,-1695,-419,-3826,11797,2293,-639,1398,5789 ], // DNG_v9.8 D65 + "dcraw_matrix": [ 5973,-1696,-419,-3826,11797,2293,-639,1398,5789 ], // DNG_v9.8 D65 "raw_crop": [ 0, 0, 6024, 4024 ], "ranges": { "black": 512, "white": 16300 }, // contributed by Horshak from https://www.dpreview.com/forums/post/60873077 @@ -2641,6 +2927,11 @@ Camera constants: "pdaf_offset" : 3 }, + { // Quality C + "make_model": "Sony ILCE-7C", + "dcraw_matrix": [ 7374, -2389, -551, -5435, 13162, 2519, -1006, 1795, 6552 ] + }, + { // Quality A, correction for frame width "make_model": "Sony ILCE-7R", "dcraw_matrix": [ 4913,-541,-202,-6130,13513,2906,-1564,2151,7183 ], @@ -2657,9 +2948,15 @@ Camera constants: { // Quality C, correction for frame width "make_model": [ "Sony DSC-RX0", "Sony DSC-RX0M2" ], + "dcraw_matrix": [ 9396, -3507, -843, -2497, 11111, 1572, -343, 1355, 5089 ], "raw_crop": [ 0, 0, -8, 0 ] // 8 rightmost columns are garbage }, + { // Quality C + "make_model": "Sony DSC-RX1R", + "dcraw_matrix": [ 6344, -1612, -462, -4863, 12477, 2681, -865, 1786, 6899 ] + }, + { // Quality B, correction for frame width, crop modes covered "make_model": [ "Sony ILCE-7RM2", "Sony DSC-RX1RM2" ], "dcraw_matrix": [ 6629,-1900,-483,-4618,12349,2550,-622,1381,6514 ], // DNG_v9.1.1 D65 @@ -2672,7 +2969,7 @@ Camera constants: { // Quality C, color matrix copied from ILCE-9, LongExposures 2-3sec only "make_model": "Sony ILCE-7M3", - "dcraw_matrix": [ 6389,-1703,-378,-4562,12265,2587,-670,1489,6550 ], // ILCE-9, DNG_v9.12 D65 + "dcraw_matrix": [ 7374, -2389, -551, -5435, 13162, 2519, -1006, 1795, 6552 ], // DNG v13.2 // "raw_crop": [ 8, 8, 6008, 4008 ], // full raw frame 6048x4024 Dcraw auto identify 6024x4024, jpeg 12,12,6000x4000 // "ranges": { "black": 512, "white": 16300 } "ranges": { @@ -2699,9 +2996,14 @@ Camera constants: "pdaf_offset" : 9 }, + { // Quality C + "make_model": "Sony ILCE-7M4", + "dcraw_matrix": [ 7460, -2365, -588, -5687, 13442, 2474, -624, 1156, 6584 ] // ColorMatrix2 using illuminant D65 from Adobe DNG Converter 14.2 + }, + { // Quality C, "make_model": "Sony ILCE-7RM3", - "dcraw_matrix": [ 6640,-1847,-503,-5238,13010,2474,-993,1673,6527 ], // DNG_v10.1 D65 + "dcraw_matrix": [ 6640,-1847,-503,-5238,13010,2474,-993,1673,6526 ], // DNG v13.2 "raw_crop": [ 0, 0, -36, 0 ], // full raw frame 8000x5320 - 36 rightmost columns are garbage "ranges": { "black": 512, "white": 16300 }, "pdaf_pattern" : [0, 24, 36, 60, 84, 120, 132, 156, 192, 204, 240, 252, 276, 300, 324, 360, 372, 396, 420, 444, 480, 492, 504, 540, 564, 576, 612, 636, 660, 696, 720, 732, 756, 780, 804, 840], @@ -2710,11 +3012,12 @@ Camera constants: { // Quality C, "make_model": "Sony ILCE-7RM4", + "dcraw_matrix": [ 7662, -2686, -660, -5240, 12965, 2530, -796, 1508, 6167 ], "raw_crop": [ 0, 0, -32, 0 ] // full raw frame 9600x6376 - 32 rightmost columns are garbage. Using -32 instead of 9568 to support also 16-shot pixelshift files }, - { // Quality B, color matrix copied from a7rm2 - "make_model": "Sony ILCE-9", + { // Quality B, assumed correct for 9M2 as well + "make_model": ["Sony ILCE-9","Sony ILCE-9M2"], "dcraw_matrix": [ 6389,-1703,-378,-4562,12265,2587,-670,1489,6550 ], // DNG_v9.12 D65 "raw_crop": [ 8, 8, 6008, 4008 ], // full raw frame 6048x4024 Dcraw auto identify 6024x4024, jpeg 12,12,6000x4000 "ranges": { "black": 512, "white": 16300 }, @@ -2728,13 +3031,23 @@ Camera constants: { // Quality B, correction for frame width "make_model": [ "Sony ILCE-7S", "Sony ILCE-7SM2" ], "dcraw_matrix": [ 5838,-1430,-246,-3497,11477,2297,-748,1885,5778 ], // DNG_v9.2 D65 - "raw_crop": [ 0, 0, 4254, 2848 ], + "raw_crop" : [ + { "frame" : [ 2816, 1872 ], "crop" : [ 0, 0, 2792, 1872 ] }, + { "frame" : [ 4254, 2848 ], "crop" : [ 0, 0, 4254, 2848 ] } + ], "ranges": { "black": 512, "white": 16300 } }, { // Quality C - "make_model": [ "Sony DSC-HX99" ], - "raw_crop": [ 0, 0, -8, 0 ] // 8 rightmost columns are garbage + "make_model": "Sony ILCE-7SM3", + "dcraw_matrix": [ 6912, -2127, -469, -4470, 12175, 2587, -398, 1477, 6492 ] // DNG + }, + + { // Quality C + "make_model": [ "Sony DSC-HX95", "Sony DSC-HX99" ], + "dcraw_matrix": [ 13076, -5686, -1481, -4027, 12851, 1251, -167, 725, 4937 ], + "raw_crop": [ 0, 0, -8, 0 ], // 8 rightmost columns are garbage + "ranges": { "black": 800, "white": 16300 } }, { // Quality B @@ -2743,18 +3056,58 @@ Camera constants: "ranges": { "white": 16368 } }, + { // Quality C + "make_model": "Sony DSC-RX100", + "dcraw_matrix": [ 8651, -2754, -1057, -3464, 12206, 1373, -568, 1398, 4434 ], // DNG + "ranges": { "black": 800, "white": 16300 } + }, + { // Quality A "make_model": [ "Sony DSC-RX100M2", "Sony DSC-RX100M3", "Sony DSC-RX100M4", "Sony DSC-RX100M5" ], "dcraw_matrix": [ 6596,-2079,-562,-4782,13016,1933,-970,1581,5181 ], // DNG_v9.8 D65 "ranges": { "black": 800, "white": 16300 } }, - { // Quality B - "make_model": [ "Sony DSC-RX10M2", "Sony DSC-RX10M3", "Sony DSC-RX10M4" ], - "dcraw_matrix": [ 6679,-1825,-745,-5047,13256,1953,-1580,2422,5183 ], // DNG_v9.6 D65 + { // Quality C + "make_model": "Sony DSC-RX100M5A", + "dcraw_matrix": [ 11176, -4700, -965, -4004, 12184, 2032, -764, 1726, 5876 ], // DNG "ranges": { "black": 800, "white": 16300 } }, + { // Quality C + "make_model": "Sony DSC-RX100M6", + "dcraw_matrix": [ 7325, -2321, -596, -3494, 11674, 2055, -668, 1562, 5031 ], // DNG + "ranges": { "black": 800, "white": 16300 } + }, + + { // Quality C + "make_model": "Sony DSC-RX100M7", + "dcraw_matrix": [ 10315, -4390, -937, -4859, 12734, 2365, -735, 1537, 5997 ], // DNG + "ranges": { "black": 800, "white": 16300 } + }, + + { // Quality B + "make_model": [ "Sony DSC-RX10M2", "Sony DSC-RX10M3" ], + "dcraw_matrix": [ 6679,-1825,-745,-5047,13255,1953,-1580,2422,5183 ], //DNG v13.2 + "ranges": { "black": 800, "white": 16300 } + }, + + { // Quality B + "make_model": "Sony DSC-RX10M4", // Similar to M2 and M3, different matrix + "dcraw_matrix": [ 7699, -2566, -629, -2967, 11270, 1928, -378, 1286, 4807 ], // DNG v13.2 + "ranges": { "black": 800, "white": 16300 } + }, + + { // Quality C + "make_model": "Sony DCZV1B", // Sony ZV-1 + "dcraw_matrix": [ 8280, -2987, -703, -3532, 11645, 2133, -550, 1542, 5312 ] // DNG + }, + + { // Quality C + "make_model": "Sony SLT-A99V", + "dcraw_matrix": [ 6344, -1612, -462, -4863, 12477, 2681, -865, 1786, 6899 ] // DNG + }, + { // Quality C, No proper color data, beta samples, frame set to official jpeg, "make_model": [ "XIAOYI M1", "YI TECHNOLOGY M1" ], "dcraw_matrix": [ 7158,-1911,-606,-3603,10669,2530,-659,1236,5530 ], // XIAO YI DNG D65 @@ -2825,7 +3178,7 @@ Camera constants: { // Quality B "make_model": ["HASSELBLAD NEX-7", "SONY NEX-7"], // Hasselblad NEX-7 also known as Hasselblad Lunar - "dcraw_matrix": [ 5491,-1192,-363,-4951,12342,2948,-911,1722,7192 ], // adobe DNGv12.2 d65 + "dcraw_matrix": [ 5491,-1192,-363,-4951,12342,2948,-911,1722,7191 ], // DNG v13.2 "ranges": { "black": 512, "white": 16372 } // Typical white level (samples provided by @ggc on Pixls, influence from LENR unknown }, @@ -2874,6 +3227,11 @@ Camera constants: "raw_crop": [ 64, 108, 11608, 8708 ] }, + { // Quality C + "make_model": "Hasselblad L1D-20c", // DJI Mavic 2 Pro + "dcraw_matrix": [ 6267, -2021, -687, -4664, 13343, 1399, -234, 1019, 5524 ] // DNG 13.2 + }, + { "make_model": [ "HUAWEI DLI-L22" ], "dcraw_matrix": [ 6984, -812, -975, -4792, 13481, 1381, -1056, 2355, 4873 ] // ColorMatrix1 (D65, wrong order) from Adobe DNG Converter 11.2.1 diff --git a/rtengine/canon_cr3_decoder.cc b/rtengine/canon_cr3_decoder.cc index ddd4b6172..b5f04a1c8 100644 --- a/rtengine/canon_cr3_decoder.cc +++ b/rtengine/canon_cr3_decoder.cc @@ -62,6 +62,7 @@ it under the terms of the one of two licenses as you choose: #include #include #include +#include #include "dcraw.h" @@ -69,17 +70,16 @@ it under the terms of the one of two licenses as you choose: void DCraw::parse_canon_cr3() { - strncpy(make, "Canon", sizeof(make)); - unsigned long long szAtomList = ifp->size; short nesting = -1; - char AtomNameStack[128]; - unsigned short nTrack = 0; + short nTrack = -1; short TrackType; + char AtomNameStack[128]; + strncpy(make, "Canon", sizeof(make)); const int err = parseCR3(0, szAtomList, nesting, AtomNameStack, nTrack, TrackType); - if (err == 0 || err == -14) { // no error, or too deep nesting + if ((err == 0 || err == -14) && nTrack >= 0) { // no error, or too deep nesting selectCRXTrack(nTrack); } } @@ -90,12 +90,13 @@ void DCraw::selectCRXTrack(unsigned short maxTrack) std::int64_t maxbitcount = 0; std::uint32_t maxjpegbytes = 0; + memset(bitcounts, 0, sizeof(bitcounts)); + for (unsigned int i = 0; i <= maxTrack && i < RT_canon_CR3_data.CRXTRACKS_MAXCOUNT; ++i) { CanonCR3Data::crx_data_header_t* const d = &RT_canon_CR3_data.crx_header[i]; if (d->MediaType == 1) { // RAW bitcounts[i] = std::int64_t(d->nBits) * std::int64_t(d->f_width) * std::int64_t(d->f_height); - if (bitcounts[i] > maxbitcount) { maxbitcount = bitcounts[i]; } @@ -122,7 +123,6 @@ void DCraw::selectCRXTrack(unsigned short maxTrack) has_framei = true; framei = i; } - framecnt++; } } @@ -142,17 +142,14 @@ void DCraw::selectCRXTrack(unsigned short maxTrack) filters = 0x94949494; break; } - case 1: { filters = 0x61616161; break; } - case 2: { filters = 0x49494949; break; } - case 3: { filters = 0x16161616; break; @@ -182,7 +179,7 @@ int DCraw::parseCR3( unsigned long long szAtomList, short& nesting, char* AtomNameStack, - unsigned short& nTrack, + short& nTrack, short& TrackType ) { @@ -309,7 +306,7 @@ int DCraw::parseCR3( unsigned long long lHdr; char UIID[16]; - uchar CMP1[36]; + uchar CMP1[85]; char HandlerType[5]; char MediaFormatID[5]; // unsigned int ImageWidth, ImageHeight; @@ -502,14 +499,15 @@ int DCraw::parseCR3( } else if (!strcmp(AtomNameStack, "moovtrakmdiaminfstblstsdCRAW")) { lHdr = 82; } else if (!strcmp(AtomNameStack, "moovtrakmdiaminfstblstsdCRAWCMP1")) { + int read_size = szAtomContent > 85 ? 85 : szAtomContent; if (szAtomContent >= 40) { - fread(CMP1, 1, 36, ifp); + fread(CMP1, 1, read_size, ifp); } else { err = -7; goto fin; } - if (crxParseImageHeader(CMP1, nTrack)) { + if (crxParseImageHeader(CMP1, nTrack, read_size)) { RT_canon_CR3_data.crx_header[nTrack].MediaType = 1; } } else if (!strcmp(AtomNameStack, "moovtrakmdiaminfstblstsdCRAWJPEG")) { @@ -537,6 +535,7 @@ int DCraw::parseCR3( } if ( + nTrack >= 0 && nTrack < RT_canon_CR3_data.CRXTRACKS_MAXCOUNT && RT_canon_CR3_data.crx_header[nTrack].MediaSize && RT_canon_CR3_data.crx_header[nTrack].MediaOffset && oAtom + szAtom >= oAtomList + szAtomList @@ -670,7 +669,7 @@ std::uint32_t _byteswap_ulong(std::uint32_t x) #endif struct LibRaw_abstract_datastream { - IMFILE* ifp; + rtengine::IMFILE* ifp; void lock() { @@ -733,14 +732,21 @@ struct CrxSubband { CrxBandParam* bandParam; std::uint64_t mdatOffset; std::uint8_t* bandBuf; - std::int32_t bandSize; - std::uint64_t dataSize; - bool supportsPartial; - std::int32_t quantValue; std::uint16_t width; std::uint16_t height; - std::int32_t paramK; + std::int32_t qParam; + std::int32_t kParam; + std::int32_t qStepBase; + std::uint32_t qStepMult; + bool supportsPartial; + std::int32_t bandSize; + std::uint64_t dataSize; std::int64_t dataOffset; + short rowStartAddOn; + short rowEndAddOn; + short colStartAddOn; + short colEndAddOn; + short levelShift; }; struct CrxPlaneComp { @@ -755,6 +761,12 @@ struct CrxPlaneComp { std::int8_t tileFlag; }; +struct CrxQStep { + std::uint32_t *qStepTbl; + int width; + int height; +}; + struct CrxTile { CrxPlaneComp* comps; std::int8_t tileFlag; @@ -763,6 +775,10 @@ struct CrxTile { std::int32_t tileSize; std::uint16_t width; std::uint16_t height; + bool hasQPData; + CrxQStep *qStep; + std::uint32_t mdatQPDataSize; + std::uint16_t mdatExtraSize; }; struct CrxImage { @@ -770,6 +786,7 @@ struct CrxImage { std::uint16_t planeWidth; std::uint16_t planeHeight; std::uint8_t samplePrecision; + std::uint8_t medianBits; std::uint8_t subbandCount; std::uint8_t levels; std::uint8_t nBits; @@ -791,25 +808,14 @@ enum TileFlags { E_HAS_TILES_ON_THE_TOP = 8 }; -const std::int32_t exCoefNumTbl[0x120] = { - // level 1 - 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, - 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +const std::int32_t exCoefNumTbl[144] = { +1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, +0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, +0, 0, 1, 2, 2, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 2, 2, +1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 2, 2, 2, 2, 1, 1, 1, +1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 0, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - // level 2 - 1, 1, 3, 3, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 3, 2, 1, 0, 1, 0, 0, 0, 0, 0, 1, - 2, 4, 4, 2, 1, 2, 1, 0, 0, 0, 0, 1, 1, 4, 3, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, - 3, 3, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 3, 2, 1, 0, 1, 0, 0, 0, 0, 0, 1, 2, 4, - 4, 2, 1, 2, 1, 0, 0, 0, 0, 1, 1, 4, 3, 1, 1, 1, 1, 0, 0, 0, 0, - - // level 3 - 1, 1, 7, 7, 1, 1, 3, 3, 1, 1, 1, 1, 1, 0, 7, 6, 1, 0, 3, 2, 1, 0, 1, 0, 1, - 2, 10, 10, 2, 2, 5, 4, 2, 1, 2, 1, 1, 1, 10, 9, 1, 2, 4, 4, 2, 1, 2, 1, 1, - 1, 9, 9, 1, 2, 4, 4, 2, 1, 2, 1, 1, 0, 9, 8, 1, 1, 4, 3, 1, 1, 1, 1, 1, 2, - 8, 8, 2, 1, 4, 3, 1, 1, 1, 1, 1, 1, 8, 7, 1, 1, 3, 3, 1, 1, 1, 1 -}; +constexpr std::int32_t q_step_tbl[6] = {0x28, 0x2D, 0x33, 0x39, 0x40, 0x48}; const std::uint32_t JS[32] = { 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0002, 0x0002, @@ -853,7 +859,6 @@ inline void crxFillBuffer(CrxBitstream* bitStrm) inline int crxBitstreamGetZeros(CrxBitstream* bitStrm) { -// std::uint32_t bitData = bitStrm->bitData; std::uint32_t nonZeroBit = 0; std::uint64_t nextData = 0; std::int32_t result = 0; @@ -942,9 +947,16 @@ inline std::uint32_t crxBitstreamGetBits(CrxBitstream* bitStrm, int bits) result = bitData >> (32 - bits); // 32-bits bitStrm->bitData = bitData << bits; bitStrm->bitsLeft = bitsLeft - bits; + return result; } +inline std::int32_t crxPrediction(std::int32_t left, std::int32_t top, std::int32_t deltaH, std::int32_t deltaV) +{ + std::int32_t symb[4] = {left + deltaH, left + deltaH, left, top}; + return symb[(((deltaV < 0) ^ (deltaH < 0)) << 1) + ((left < top) ^ (deltaH < 0))]; +} + inline std::int32_t crxPredictKParameter(std::int32_t prevK, std::int32_t bitCode, std::int32_t maxVal = 0) { const std::int32_t newKParam = @@ -1101,7 +1113,7 @@ inline void crxDecodeSymbolL1Rounded(CrxBandParam* param, bool doSym = true, boo } std::int32_t code = -(bitCode & 1) ^ (bitCode >> 1); - param->lineBuf1[1] = param->roundedBitsMask * 2 * code + (code < 0) + sym; + param->lineBuf1[1] = param->roundedBitsMask * 2 * code + (code >> 31) + sym; if (doCode) { if (param->lineBuf0[2] > param->lineBuf0[1]) { @@ -1636,11 +1648,9 @@ bool crxDecodeLine(CrxBandParam* param, std::uint8_t* bandBuf) if (!param || !bandBuf) { return false; } - if (param->curLine >= param->subbandHeight) { return false; } - if (param->curLine == 0) { const std::int32_t lineLength = param->subbandWidth + 2; @@ -1649,7 +1659,7 @@ bool crxDecodeLine(CrxBandParam* param, std::uint8_t* bandBuf) if (param->supportsPartial) { if (param->roundedBitsMask <= 0) { - param->lineBuf0 = param->paramData; + param->lineBuf0 = reinterpret_cast(param->paramData); param->lineBuf1 = param->lineBuf0 + lineLength; const std::int32_t* const lineBuf = param->lineBuf1 + 1; @@ -1668,7 +1678,7 @@ bool crxDecodeLine(CrxBandParam* param, std::uint8_t* bandBuf) } } - param->lineBuf0 = param->paramData; + param->lineBuf0 = reinterpret_cast(param->paramData); param->lineBuf1 = param->lineBuf0 + lineLength; const std::int32_t* const lineBuf = param->lineBuf1 + 1; @@ -1680,8 +1690,8 @@ bool crxDecodeLine(CrxBandParam* param, std::uint8_t* bandBuf) ++param->curLine; } } else { - param->lineBuf2 = param->nonProgrData; - param->lineBuf0 = param->paramData; + param->lineBuf2 = reinterpret_cast(param->nonProgrData); + param->lineBuf0 = reinterpret_cast(param->paramData); param->lineBuf1 = param->lineBuf0 + lineLength; const std::int32_t* const lineBuf = param->lineBuf1 + 1; @@ -1694,13 +1704,13 @@ bool crxDecodeLine(CrxBandParam* param, std::uint8_t* bandBuf) } } else if (!param->supportsPartial) { const std::int32_t lineLength = param->subbandWidth + 2; - param->lineBuf2 = param->nonProgrData; + param->lineBuf2 = reinterpret_cast(param->nonProgrData); if (param->curLine & 1) { - param->lineBuf1 = param->paramData; + param->lineBuf1 = reinterpret_cast(param->paramData); param->lineBuf0 = param->lineBuf1 + lineLength; } else { - param->lineBuf0 = param->paramData; + param->lineBuf0 = reinterpret_cast(param->paramData); param->lineBuf1 = param->lineBuf0 + lineLength; } @@ -1716,10 +1726,10 @@ bool crxDecodeLine(CrxBandParam* param, std::uint8_t* bandBuf) const std::int32_t lineLength = param->subbandWidth + 2; if (param->curLine & 1) { - param->lineBuf1 = param->paramData; + param->lineBuf1 = reinterpret_cast(param->paramData); param->lineBuf0 = param->lineBuf1 + lineLength; } else { - param->lineBuf0 = param->paramData; + param->lineBuf0 = reinterpret_cast(param->paramData); param->lineBuf1 = param->lineBuf0 + lineLength; } @@ -1735,10 +1745,10 @@ bool crxDecodeLine(CrxBandParam* param, std::uint8_t* bandBuf) const std::int32_t lineLength = param->subbandWidth + 2; if (param->curLine & 1) { - param->lineBuf1 = param->paramData; + param->lineBuf1 = reinterpret_cast(param->paramData); param->lineBuf0 = param->lineBuf1 + lineLength; } else { - param->lineBuf0 = param->paramData; + param->lineBuf0 = reinterpret_cast(param->paramData); param->lineBuf1 = param->lineBuf0 + lineLength; } @@ -1755,28 +1765,34 @@ bool crxDecodeLine(CrxBandParam* param, std::uint8_t* bandBuf) return true; } -bool crxDecodeLineWithIQuantization(CrxSubband* subband) +inline int getSubbandRow(CrxSubband *band, int row) { - constexpr std::int32_t q_step_tbl[6] = {0x28, 0x2D, 0x33, 0x39, 0x40, 0x48}; + return row < band->rowStartAddOn + ? 0 + : (row < band->height - band->rowEndAddOn ? row - band->rowEndAddOn + : band->height - band->rowEndAddOn - band->rowStartAddOn - 1); +} +bool crxDecodeLineWithIQuantization(CrxSubband* subband, CrxQStep *qStep) +{ if (!subband->dataSize) { memset(subband->bandBuf, 0, subband->bandSize); return true; } - if (subband->supportsPartial) { + if (subband->supportsPartial && !qStep) { std::uint32_t bitCode = crxBitstreamGetZeros(&subband->bandParam->bitStream); if (bitCode >= 23) { bitCode = crxBitstreamGetBits(&subband->bandParam->bitStream, 8); - } else if (subband->paramK) { - bitCode = crxBitstreamGetBits(&subband->bandParam->bitStream, subband->paramK) | (bitCode << subband->paramK); + } else if (subband->kParam) { + bitCode = crxBitstreamGetBits(&subband->bandParam->bitStream, subband->kParam) | (bitCode << subband->kParam); } - subband->quantValue += -(bitCode & 1) ^ (bitCode >> 1); // converting encoded to signed integer - subband->paramK = crxPredictKParameter(subband->paramK, bitCode); + subband->qParam += -(bitCode & 1) ^ (bitCode >> 1); // converting encoded to signed integer + subband->kParam = crxPredictKParameter(subband->kParam, bitCode); - if (subband->paramK > 7) { + if (subband->kParam > 7) { return false; } } @@ -1785,21 +1801,41 @@ bool crxDecodeLineWithIQuantization(CrxSubband* subband) return false; } - if (subband->width == 0) { + if (subband->width <= 0) { return true; } // update subband buffers std::int32_t* const bandBuf = reinterpret_cast(subband->bandBuf); - std::int32_t qScale = q_step_tbl[subband->quantValue % 6] >> (6 - subband->quantValue / 6); + if (qStep) { + // new version + std::uint32_t *qStepTblPtr = &qStep->qStepTbl[qStep->width * getSubbandRow(subband, subband->bandParam->curLine - 1)]; + for (int i = 0; i < subband->colStartAddOn; ++i) { + int32_t quantVal = subband->qStepBase + ((qStepTblPtr[0] * subband->qStepMult) >> 3); + bandBuf[i] *= rtengine::LIM(quantVal, 1, 0x168000); + } - if (subband->quantValue / 6 >= 6) { - qScale = q_step_tbl[subband->quantValue % 6] * (1 << (subband->quantValue / 6 + 26)); - } + for (int i = subband->colStartAddOn; i < subband->width - subband->colEndAddOn; ++i) { + int32_t quantVal = subband->qStepBase + ((qStepTblPtr[(i - subband->colStartAddOn) >> subband->levelShift] * subband->qStepMult) >> 3); + bandBuf[i] *= rtengine::LIM(quantVal, 1, 0x168000); + } + int lastIdx = (subband->width - subband->colEndAddOn - subband->colStartAddOn - 1) >> subband->levelShift; + for (int i = subband->width - subband->colEndAddOn; i < subband->width; ++i) + { + int32_t quantVal = subband->qStepBase + ((qStepTblPtr[lastIdx] * subband->qStepMult) >> 3); + bandBuf[i] *= rtengine::LIM(quantVal, 1, 0x168000); + } + } else { + // prev. version + std::int32_t qScale = q_step_tbl[subband->qParam % 6] >> (6 - subband->qParam / 6); + if (subband->qParam / 6 >= 6) { + qScale = q_step_tbl[subband->qParam % 6] * (1 << (subband->qParam / 6 + 26)); + } - if (qScale != 1) { - for (std::int32_t i = 0; i < subband->width; ++i) { - bandBuf[i] *= qScale; + if (qScale != 1) { + for (std::int32_t i = 0; i < subband->width; ++i) { + bandBuf[i] *= qScale; + } } } @@ -1885,41 +1921,42 @@ std::int32_t* crxIdwt53FilterGetLine(CrxPlaneComp* comp, std::int32_t level) return result; } -bool crxIdwt53FilterDecode(CrxPlaneComp* comp, std::int32_t level) +bool crxIdwt53FilterDecode(CrxPlaneComp* comp, std::int32_t level, CrxQStep *qStep) { if (comp->waveletTransform[level].curH) { return true; } CrxSubband* const sband = comp->subBands + 3 * level; + CrxQStep* qStepLevel = qStep ? qStep + level : 0; if (comp->waveletTransform[level].height - 3 <= comp->waveletTransform[level].curLine && !(comp->tileFlag & E_HAS_TILES_ON_THE_BOTTOM)) { if (comp->waveletTransform[level].height & 1) { if (level) { - if (!crxIdwt53FilterDecode(comp, level - 1)) { + if (!crxIdwt53FilterDecode(comp, level - 1, qStep)) { return false; } - } else if (!crxDecodeLineWithIQuantization(sband)) { + } else if (!crxDecodeLineWithIQuantization(sband, qStepLevel)) { return false; } - if (!crxDecodeLineWithIQuantization(sband + 1)) { + if (!crxDecodeLineWithIQuantization(sband + 1, qStepLevel)) { return false; } } } else { if (level) { - if (!crxIdwt53FilterDecode(comp, level - 1)) { + if (!crxIdwt53FilterDecode(comp, level - 1, qStep)) { return false; } - } else if (!crxDecodeLineWithIQuantization(sband)) { // LL band + } else if (!crxDecodeLineWithIQuantization(sband, qStepLevel)) { // LL band return false; } if ( - !crxDecodeLineWithIQuantization(sband + 1) // HL band - || !crxDecodeLineWithIQuantization(sband + 2) // LH band - || !crxDecodeLineWithIQuantization(sband + 3) // HH band + !crxDecodeLineWithIQuantization(sband + 1, qStepLevel) // HL band + || !crxDecodeLineWithIQuantization(sband + 2, qStepLevel) // LH band + || !crxDecodeLineWithIQuantization(sband + 3, qStepLevel) // HH band ) { return false; } @@ -2135,18 +2172,19 @@ bool crxIdwt53FilterTransform(CrxPlaneComp* comp, std::uint32_t level) return true; } -bool crxIdwt53FilterInitialize(CrxPlaneComp* comp, std::int32_t prevLevel) +bool crxIdwt53FilterInitialize(CrxPlaneComp* comp, std::int32_t prevLevel, CrxQStep *qStep) { - if (prevLevel < 0) { + if (prevLevel == 0) { return true; } - for (int curLevel = 0, curBand = 0; curLevel < prevLevel + 1; ++curLevel, curBand += 3) { + for (int curLevel = 0, curBand = 0; curLevel < prevLevel; curLevel++, curBand += 3) { + CrxQStep* qStepLevel = qStep ? qStep + curLevel : 0; CrxWaveletTransform* const wavelet = comp->waveletTransform + curLevel; if (curLevel) { wavelet[0].subband0Buf = crxIdwt53FilterGetLine(comp, curLevel - 1); - } else if (!crxDecodeLineWithIQuantization(comp->subBands + curBand)) { + } else if (!crxDecodeLineWithIQuantization(comp->subBands + curBand, qStepLevel)) { return false; } @@ -2154,9 +2192,9 @@ bool crxIdwt53FilterInitialize(CrxPlaneComp* comp, std::int32_t prevLevel) if (wavelet->height > 1) { if ( - !crxDecodeLineWithIQuantization(comp->subBands + curBand + 1) - || !crxDecodeLineWithIQuantization(comp->subBands + curBand + 2) - || !crxDecodeLineWithIQuantization(comp->subBands + curBand + 3) + !crxDecodeLineWithIQuantization(comp->subBands + curBand + 1, qStepLevel) + || !crxDecodeLineWithIQuantization(comp->subBands + curBand + 2, qStepLevel) + || !crxDecodeLineWithIQuantization(comp->subBands + curBand + 3, qStepLevel) ) { return false; } @@ -2168,7 +2206,7 @@ bool crxIdwt53FilterInitialize(CrxPlaneComp* comp, std::int32_t prevLevel) if (comp->tileFlag & E_HAS_TILES_ON_THE_TOP) { crxHorizontal53(lineBufL0, wavelet->lineBuf[1], wavelet, comp->tileFlag); - if (!crxDecodeLineWithIQuantization(comp->subBands + curBand + 3)|| !crxDecodeLineWithIQuantization(comp->subBands + curBand + 2)) { + if (!crxDecodeLineWithIQuantization(comp->subBands + curBand + 3, qStepLevel)|| !crxDecodeLineWithIQuantization(comp->subBands + curBand + 2, qStepLevel)) { return false; } @@ -2227,11 +2265,11 @@ bool crxIdwt53FilterInitialize(CrxPlaneComp* comp, std::int32_t prevLevel) } } - if (!crxIdwt53FilterDecode(comp, curLevel) || !crxIdwt53FilterTransform(comp, curLevel)) { + if (!crxIdwt53FilterDecode(comp, curLevel, qStep) || !crxIdwt53FilterTransform(comp, curLevel)) { return false; } } else { - if (!crxDecodeLineWithIQuantization(comp->subBands + curBand + 1)) { + if (!crxDecodeLineWithIQuantization(comp->subBands + curBand + 1, qStepLevel)) { return false; } @@ -2355,8 +2393,8 @@ void crxConvertPlaneLine( const std::int16_t* const plane2 = plane1 + planeSize; const std::int16_t* const plane3 = plane2 + planeSize; - const std::int32_t median = 1 << (img->nBits - 1) << 10; - const std::int32_t maxVal = (1 << img->nBits) - 1; + const std::int32_t median = 1 << (img->medianBits - 1) << 10; + const std::int32_t maxVal = (1 << img->medianBits) - 1; const std::uint32_t rawLineOffset = 4 * img->planeWidth * imageRow; // for this stage - all except imageRow is ignored @@ -2577,7 +2615,7 @@ bool DCraw::crxDecodePlane(void* p, std::uint32_t planeNumber) for (int tCol = 0; tCol < img->tileCols; ++tCol) { const CrxTile* const tile = img->tiles + tRow * img->tileRows + tCol; CrxPlaneComp* const planeComp = tile->comps + planeNumber; - const std::uint64_t tileMdatOffset = tile->dataOffset + planeComp->dataOffset; + const std::uint64_t tileMdatOffset = tile->dataOffset + tile->mdatQPDataSize + tile->mdatExtraSize + planeComp->dataOffset; // decode single tile if (!crxSetupSubbandData(img, planeComp, tile, tileMdatOffset)) { @@ -2585,12 +2623,12 @@ bool DCraw::crxDecodePlane(void* p, std::uint32_t planeNumber) } if (img->levels) { - if (!crxIdwt53FilterInitialize(planeComp, img->levels - 1)) { + if (!crxIdwt53FilterInitialize(planeComp, img->levels, tile->qStep)) { return false; } for (int i = 0; i < tile->height; ++i) { - if (!crxIdwt53FilterDecode(planeComp, img->levels - 1) || !crxIdwt53FilterTransform(planeComp, img->levels - 1)) { + if (!crxIdwt53FilterDecode(planeComp, img->levels - 1, tile->qStep) || !crxIdwt53FilterTransform(planeComp, img->levels - 1)) { return false; } @@ -2617,9 +2655,8 @@ bool DCraw::crxDecodePlane(void* p, std::uint32_t planeNumber) imageCol += tile->width; } - imageRow += img->tiles[tRow * img->tileRows].height; + imageRow += img->tiles[tRow * img->tileCols].height; } - return true; } @@ -2628,12 +2665,164 @@ namespace using crx_data_header_t = DCraw::CanonCR3Data::crx_data_header_t; -bool crxReadSubbandHeaders( +std::uint32_t crxReadQP(CrxBitstream *bitStrm, std::int32_t kParam) +{ + std::uint32_t qp = crxBitstreamGetZeros(bitStrm); + if (qp >= 23) + qp = crxBitstreamGetBits(bitStrm, 8); + else if (kParam) + qp = crxBitstreamGetBits(bitStrm, kParam) | (qp << kParam); + return qp; +} + +void crxDecodeGolombTop(CrxBitstream *bitStrm, std::int32_t width, std::int32_t *lineBuf, std::int32_t *kParam) +{ + lineBuf[0] = 0; + while (width-- > 0) + { + lineBuf[1] = lineBuf[0]; + std::uint32_t qp = crxReadQP(bitStrm, *kParam); + lineBuf[1] += -(qp & 1) ^ (qp >> 1); + *kParam = crxPredictKParameter(*kParam, qp, 7); + ++lineBuf; + } + lineBuf[1] = lineBuf[0] + 1; +} + +void crxDecodeGolombNormal(CrxBitstream *bitStrm, std::int32_t width, std::int32_t *lineBuf0, std::int32_t *lineBuf1, std::int32_t *kParam) +{ + lineBuf1[0] = lineBuf0[1]; + std::int32_t deltaH = lineBuf0[1] - lineBuf0[0]; + while (width-- > 0) + { + lineBuf1[1] = crxPrediction(lineBuf1[0], lineBuf0[1], deltaH, lineBuf0[0] - lineBuf1[0]); + std::uint32_t qp = crxReadQP(bitStrm, *kParam); + lineBuf1[1] += -(qp & 1) ^ (qp >> 1); + if (width) { + deltaH = lineBuf0[2] - lineBuf0[1]; + *kParam = crxPredictKParameter(*kParam, (qp + 2 * std::abs(deltaH)) >> 1, 7); + ++lineBuf0; + } else { + *kParam = crxPredictKParameter(*kParam, qp, 7); + } + ++lineBuf1; + } + lineBuf1[1] = lineBuf1[0] + 1; +} + +bool crxMakeQStep(CrxImage *img, CrxTile *tile, std::int32_t *qpTable, std::uint32_t totalQP) +{ + if (img->levels > 3 || img->levels < 1) { + return false; + } + int qpWidth = (tile->width >> 3) + ((tile->width & 7) != 0); + int qpHeight = (tile->height >> 1) + (tile->height & 1); + int qpHeight4 = (tile->height >> 2) + ((tile->height & 3) != 0); + int qpHeight8 = (tile->height >> 3) + ((tile->height & 7) != 0); + std::size_t totalHeight = qpHeight; + if (img->levels > 1) { + totalHeight += qpHeight4; + } + if (img->levels > 2) { + totalHeight += qpHeight8; + } + + tile->qStep = static_cast( + malloc(totalHeight * qpWidth * sizeof(std::uint32_t) + img->levels * sizeof(CrxQStep)) + ); + + if (!tile->qStep) { + return false; + } + std::uint32_t *qStepTbl = (std::uint32_t *)(tile->qStep + img->levels); + CrxQStep *qStep = tile->qStep; + switch (img->levels) { + case 3: + qStep->qStepTbl = qStepTbl; + qStep->width = qpWidth; + qStep->height = qpHeight8; + for (int qpRow = 0; qpRow < qpHeight8; ++qpRow) { + int row0Idx = qpWidth * std::min(4 * qpRow, qpHeight - 1); + int row1Idx = qpWidth * std::min(4 * qpRow + 1, qpHeight - 1); + int row2Idx = qpWidth * std::min(4 * qpRow + 2, qpHeight - 1); + int row3Idx = qpWidth * std::min(4 * qpRow + 3, qpHeight - 1); + + for (int qpCol = 0; qpCol < qpWidth; ++qpCol, ++qStepTbl) { + std::int32_t quantVal = qpTable[row0Idx++] + qpTable[row1Idx++] + qpTable[row2Idx++] + qpTable[row3Idx++]; + // not sure about this nonsense - why is it not just avg like with 2 levels? + quantVal = ((quantVal < 0) * 3 + quantVal) >> 2; + if (quantVal / 6 >= 6) + *qStepTbl = q_step_tbl[quantVal % 6] * (1 << (quantVal / 6 + 26)); + else + *qStepTbl = q_step_tbl[quantVal % 6] >> (6 - quantVal / 6); + } + } + // continue to the next level - we always decode all levels + ++qStep; + case 2: + qStep->qStepTbl = qStepTbl; + qStep->width = qpWidth; + qStep->height = qpHeight4; + for (int qpRow = 0; qpRow < qpHeight4; ++qpRow) { + int row0Idx = qpWidth * std::min(2 * qpRow, qpHeight - 1); + int row1Idx = qpWidth * std::min(2 * qpRow + 1, qpHeight - 1); + + for (int qpCol = 0; qpCol < qpWidth; ++qpCol, ++qStepTbl) { + std::int32_t quantVal = (qpTable[row0Idx++] + qpTable[row1Idx++]) / 2; + if (quantVal / 6 >= 6) + *qStepTbl = q_step_tbl[quantVal % 6] * (1 << (quantVal / 6 + 26)); + else + *qStepTbl = q_step_tbl[quantVal % 6] >> (6 - quantVal / 6); + } + } + // continue to the next level - we always decode all levels + ++qStep; + case 1: + qStep->qStepTbl = qStepTbl; + qStep->width = qpWidth; + qStep->height = qpHeight; + for (int qpRow = 0; qpRow < qpHeight; ++qpRow) { + for (int qpCol = 0; qpCol < qpWidth; ++qpCol, ++qStepTbl, ++qpTable) { + if (*qpTable / 6 >= 6) + *qStepTbl = q_step_tbl[*qpTable % 6] * (1 << (*qpTable / 6 + 26)); + else + *qStepTbl = q_step_tbl[*qpTable % 6] >> (6 - *qpTable / 6); + } + } + break; + } + return true; +} + +inline void crxSetupSubbandIdx(crx_data_header_t *hdr, CrxImage *img, CrxSubband *band, int level, + short colStartIdx, short bandWidthExCoef, short rowStartIdx, + short bandHeightExCoef) +{ + if (hdr->version == 0x200) + { + band->rowStartAddOn = rowStartIdx; + band->rowEndAddOn = bandHeightExCoef; + band->colStartAddOn = colStartIdx; + band->colEndAddOn = bandWidthExCoef; + band->levelShift = 3 - level; + } + else + { + band->rowStartAddOn = 0; + band->rowEndAddOn = 0; + band->colStartAddOn = 0; + band->colEndAddOn = 0; + band->levelShift = 0; + } +} + +bool crxReadSubbandHeaders( // Combined with crxProcessSubbands function + crx_data_header_t* hdr, CrxImage* img, CrxTile* tile, CrxPlaneComp* comp, std::uint8_t** subbandMdatPtr, - std::uint32_t* mdatSize + std::int32_t* mdatSize ) { CrxSubband* band = comp->subBands + img->subbandCount - 1; // set to last band @@ -2648,8 +2837,8 @@ bool crxReadSubbandHeaders( // Coefficient structure is a bit unclear and convoluted: // 3 levels max - 8 groups (for tile width rounded to 8 bytes) // of 3 band per level 4 sets of coefficients for each - const std::int32_t* rowExCoef = exCoefNumTbl + 0x60 * (img->levels - 1) + 12 * (tile->width & 7); - const std::int32_t* colExCoef = exCoefNumTbl + 0x60 * (img->levels - 1) + 12 * (tile->height & 7); + const std::int32_t* rowExCoef = exCoefNumTbl + 0x30 * (img->levels - 1) + 6 * (tile->width & 7); + const std::int32_t* colExCoef = exCoefNumTbl + 0x30 * (img->levels - 1) + 6 * (tile->height & 7); for (int level = 0; level < img->levels; ++level) { const std::int32_t widthOddPixel = bandWidth & 1; @@ -2661,36 +2850,41 @@ bool crxReadSubbandHeaders( std::int32_t bandWidthExCoef1 = 0; std::int32_t bandHeightExCoef0 = 0; std::int32_t bandHeightExCoef1 = 0; + std::int32_t colStartIdx = 0; + std::int32_t rowStartIdx = 0; if (tile->tileFlag & E_HAS_TILES_ON_THE_RIGHT) { - bandWidthExCoef0 = rowExCoef[0]; - bandWidthExCoef1 = rowExCoef[1]; + bandWidthExCoef0 = rowExCoef[2 * level]; + bandWidthExCoef1 = rowExCoef[2 * level + 1]; } if (tile->tileFlag & E_HAS_TILES_ON_THE_LEFT) { ++bandWidthExCoef0; + colStartIdx = 1; } if (tile->tileFlag & E_HAS_TILES_ON_THE_BOTTOM) { - bandHeightExCoef0 = colExCoef[0]; - bandHeightExCoef1 = colExCoef[1]; + bandHeightExCoef0 = colExCoef[2 * level]; + bandHeightExCoef1 = colExCoef[2 * level + 1]; } if (tile->tileFlag & E_HAS_TILES_ON_THE_TOP) { ++bandHeightExCoef0; + rowStartIdx = 1; } band[0].width = bandWidth + bandWidthExCoef0 - widthOddPixel; band[0].height = bandHeight + bandHeightExCoef0 - heightOddPixel; + crxSetupSubbandIdx(hdr, img, band, level + 1, colStartIdx, bandWidthExCoef0 - colStartIdx, rowStartIdx, bandHeightExCoef0 - rowStartIdx); band[-1].width = bandWidth + bandWidthExCoef1; band[-1].height = bandHeight + bandHeightExCoef0 - heightOddPixel; + crxSetupSubbandIdx(hdr, img, band - 1, level + 1, 0, bandWidthExCoef1, rowStartIdx, bandHeightExCoef0 - rowStartIdx); band[-2].width = bandWidth + bandWidthExCoef0 - widthOddPixel; band[-2].height = bandHeight + bandHeightExCoef1; + crxSetupSubbandIdx(hdr, img, band - 2, level + 1, colStartIdx, bandWidthExCoef0 - colStartIdx, 0, bandHeightExCoef1); - rowExCoef += 4; - colExCoef += 4; band -= 3; } @@ -2698,17 +2892,23 @@ bool crxReadSubbandHeaders( bandHeightExCoef = 0; if (tile->tileFlag & E_HAS_TILES_ON_THE_RIGHT) { - bandWidthExCoef = exCoefNumTbl[0x60 * (img->levels - 1) + 12 * (tile->width & 7) + 4 * (img->levels - 1) + 1]; + bandWidthExCoef = rowExCoef[2 * img->levels - 1]; } if (tile->tileFlag & E_HAS_TILES_ON_THE_BOTTOM) { - bandHeightExCoef = exCoefNumTbl[0x60 * (img->levels - 1) + 12 * (tile->height & 7) + 4 * (img->levels - 1) + 1]; + bandHeightExCoef = colExCoef[2 * img->levels - 1]; } } band->width = bandWidthExCoef + bandWidth; band->height = bandHeightExCoef + bandHeight; + if (img->levels) { + crxSetupSubbandIdx(hdr, img, band, img->levels, 0, bandWidthExCoef, 0, bandHeightExCoef); + } + // End of crxProcessSubbands + + // Begin of crxReadSubbandHeaders if (!img->subbandCount) { return true; } @@ -2717,35 +2917,61 @@ bool crxReadSubbandHeaders( band = comp->subBands; for (unsigned int curSubband = 0; curSubband < img->subbandCount; curSubband++, band++) { - if (*mdatSize < 0xC) { + if (*mdatSize < 4) { return false; } - if (sgetn(2, *subbandMdatPtr) != 0xFF03) { + int hdrSign = sgetn(2, *subbandMdatPtr); + int hdrSize = sgetn(2, *subbandMdatPtr + 2); + + if (*mdatSize < hdrSize + 4) { + return false; + } + if ((hdrSign != 0xFF03 || hdrSize != 8) && (hdrSign != 0xFF13 || hdrSize != 16)) { return false; } - const std::uint32_t bitData = sgetn(4, *subbandMdatPtr + 8); const std::uint32_t subbandSize = sgetn(4, *subbandMdatPtr + 4); - - if (curSubband != bitData >> 28) { + if (curSubband != ((*subbandMdatPtr)[8] & 0xF0) >> 4) { band->dataSize = subbandSize; return false; } - band->dataSize = subbandSize - (bitData & 0x7FF); - band->supportsPartial = bitData & 0x8000; band->dataOffset = subbandOffset; - band->quantValue = (bitData >> 19) & 0xFF; - band->paramK = 0; - band->bandParam = nullptr; - band->bandBuf = nullptr; + band->kParam = 0; + band->bandParam = 0; + band->bandBuf = 0; band->bandSize = 0; + if (hdrSign == 0xFF03) { + // old header + std::uint32_t bitData = sgetn(4, *subbandMdatPtr + 8); + band->dataSize = subbandSize - (bitData & 0x7FFFF); + band->supportsPartial = bitData & 0x8000000; + band->qParam = (bitData >> 19) & 0xFF; + band->qStepBase = 0; + band->qStepMult = 0; + } else { + // new header + if (sgetn(2, *subbandMdatPtr + 8) & 0xFFF) { + // partial and qParam are not supported + return false; + } + if (sgetn(2, *subbandMdatPtr + 18)) { + // new header terminated by 2 zero bytes + return false; + } + band->supportsPartial = false; + band->qParam = 0; + band->dataSize = subbandSize - sgetn(2, *subbandMdatPtr + 16); + band->qStepBase = sgetn(4, *subbandMdatPtr + 12); + band->qStepMult = sgetn(2, *subbandMdatPtr + 10); + } + subbandOffset += subbandSize; - *subbandMdatPtr += 0xC; - *mdatSize -= 0xC; + *subbandMdatPtr += hdrSize + 4; + *mdatSize -= hdrSize + 4; } return true; @@ -2755,7 +2981,7 @@ bool crxReadImageHeaders( crx_data_header_t* hdr, CrxImage* img, std::uint8_t* mdatPtr, - std::uint32_t mdatSize + std::uint32_t mdatHdrSize ) { const unsigned int nTiles = img->tileRows * img->tileCols; @@ -2844,7 +3070,7 @@ bool crxReadImageHeaders( if (img->subbandCount) { for (int curBand = 0; curBand < img->subbandCount; curBand++, band++) { band->supportsPartial = false; - band->quantValue = 4; + band->qParam = 4; band->bandParam = nullptr; band->dataSize = 0; } @@ -2855,32 +3081,53 @@ bool crxReadImageHeaders( } std::uint32_t tileOffset = 0; - std::uint32_t dataSize = mdatSize; + std::int32_t dataSize = mdatHdrSize; std::uint8_t* dataPtr = mdatPtr; CrxTile* tile = img->tiles; for (unsigned int curTile = 0; curTile < nTiles; curTile++, tile++) { - if (dataSize < 0xC) { + if (dataSize < 4) { return false; } - if (sgetn(2, dataPtr) != 0xFF01) { + int hdrSign = sgetn(2, dataPtr); + int hdrSize = sgetn(2, dataPtr + 2); + if ((hdrSign != 0xFF01 || hdrSize != 8) && (hdrSign != 0xFF11 || (hdrSize != 8 && hdrSize != 16))) { + return false; + } + if (dataSize < hdrSize + 4) { + return false; + } + int tailSign = sgetn(2, dataPtr + 10); + if ((hdrSize == 8 && tailSign) || (hdrSize == 16 && tailSign != 0x4000)) { + return false; + } + if (sgetn(2, dataPtr + 8) != static_cast(curTile)) { return false; } - if (sgetn(2, dataPtr + 8) != curTile) { - return false; - } - - dataSize -= 0xC; + dataSize -= hdrSize + 4; tile->tileSize = sgetn(4, dataPtr + 4); tile->dataOffset = tileOffset; + tile->qStep = 0; - const std::int32_t hdrExtraBytes = sgetn(2, dataPtr + 2) - 8; + if (hdrSize == 16) { + // extended header data - terminated by 0 bytes + if (sgetn(2, dataPtr + 18) != 0) { + return false; + } + tile->hasQPData = true; + tile->mdatQPDataSize = sgetn(4, dataPtr + 12); + tile->mdatExtraSize = sgetn(2, dataPtr + 16); + } else { + tile->hasQPData = false; + tile->mdatQPDataSize = 0; + tile->mdatExtraSize = 0; + } + + dataPtr += hdrSize + 4; tileOffset += tile->tileSize; - dataPtr += hdrExtraBytes + 0xC; - dataSize -= hdrExtraBytes; std::uint32_t compOffset = 0; CrxPlaneComp* comp = tile->comps; @@ -2890,13 +3137,17 @@ bool crxReadImageHeaders( return false; } - if (sgetn(2, dataPtr) != 0xFF02) { + hdrSign = sgetn(2, dataPtr); + hdrSize = sgetn(2, dataPtr + 2); + if ((hdrSign != 0xFF02 && hdrSign != 0xFF12) || hdrSize != 8) { return false; } - if (compNum != dataPtr[8] >> 4) { return false; } + if (sgetn(3, dataPtr + 9) != 0) { + return false; + } comp->compSize = sgetn(4, dataPtr + 4); @@ -2920,7 +3171,60 @@ bool crxReadImageHeaders( comp->roundedBitsMask = 1 << (compHdrRoundedBits - 1); } - if (!crxReadSubbandHeaders(img, tile, comp, &dataPtr, &dataSize)) { + if (!crxReadSubbandHeaders(hdr, img, tile, comp, &dataPtr, &dataSize)) { + return false; + } + } + } + + if (hdr->version != 0x200) { + return true; + } + + tile = img->tiles; + for (unsigned int curTile = 0; curTile < nTiles; ++curTile, ++tile) { + if (tile->hasQPData) { + CrxBitstream bitStrm; + bitStrm.bitData = 0; + bitStrm.bitsLeft = 0; + bitStrm.curPos = 0; + bitStrm.curBufSize = 0; + bitStrm.mdatSize = tile->mdatQPDataSize; + bitStrm.curBufOffset = img->mdatOffset + tile->dataOffset; + bitStrm.input = img->input; + + crxFillBuffer(&bitStrm); + + unsigned int qpWidth = (tile->width >> 3) + ((tile->width & 7) != 0); + unsigned int qpHeight = (tile->height >> 1) + (tile->height & 1); + unsigned long totalQP = static_cast(qpHeight) * qpWidth; + + try { + std::vector qpTable(totalQP + 2 * (qpWidth + 2)); + std::int32_t *qpCurElem = qpTable.data(); + // 2 lines padded with extra pixels at the start and at the end + std::int32_t *qpLineBuf = qpTable.data() + totalQP; + std::int32_t kParam = 0; + for (unsigned qpRow = 0; qpRow < qpHeight; ++qpRow) { + std::int32_t *qpLine0 = qpRow & 1 ? qpLineBuf + qpWidth + 2 : qpLineBuf; + std::int32_t *qpLine1 = qpRow & 1 ? qpLineBuf : qpLineBuf + qpWidth + 2; + + if (qpRow) { + crxDecodeGolombNormal(&bitStrm, qpWidth, qpLine0, qpLine1, &kParam); + } else { + crxDecodeGolombTop(&bitStrm, qpWidth, qpLine1, &kParam); + } + + for (unsigned qpCol = 0; qpCol < qpWidth; ++qpCol) { + *qpCurElem++ = qpLine1[qpCol + 1] + 4; + } + } + + // now we read QP data - build tile QStep + if (!crxMakeQStep(img, tile, qpTable.data(), totalQP)) { + return false; + } + } catch (...) { return false; } } @@ -2935,12 +3239,12 @@ bool crxSetupImageData( std::int16_t* outBuf, std::uint64_t mdatOffset, std::uint32_t mdatSize, - std::uint8_t* mdatHdrPtr + std::uint8_t* mdatHdrPtr, + std::int32_t mdatHdrSize ) { - constexpr bool IncrBitTable[32] = { - false, false, false, false, false, false, false, false, false, true, true, false, false, false, true, false, - false, false, true, false, false, true, true, true, false, true, true, true, false, false, false, false + constexpr bool IncrBitTable[16] = { + false, false, false, false, false, false, false, false, false, true, true, false, false, false, true, false }; img->planeWidth = hdr->f_width; @@ -2958,7 +3262,10 @@ bool crxSetupImageData( img->tileCols = (img->planeWidth + hdr->tileWidth - 1) / hdr->tileWidth; img->tileRows = (img->planeHeight + hdr->tileHeight - 1) / hdr->tileHeight; - if (img->planeWidth - hdr->tileWidth * (img->tileCols - 1) < 0x16 || img->planeHeight - hdr->tileHeight * (img->tileRows - 1) < 0x16) { + if ( + img->planeWidth - hdr->tileWidth * (img->tileCols - 1) < 0x16 || + img->planeHeight - hdr->tileHeight * (img->tileRows - 1) < 0x16 + ) { return false; } @@ -2973,6 +3280,7 @@ bool crxSetupImageData( img->mdatSize = mdatSize; img->planeBuf = nullptr; img->outBufs[0] = img->outBufs[1] = img->outBufs[2] = img->outBufs[3] = nullptr; + img->medianBits = hdr->medianBits; // The encoding type 3 needs all 4 planes to be decoded to generate row of // RGGB values. It seems to be using some other colour space for raw encoding @@ -2982,7 +3290,7 @@ bool crxSetupImageData( // left as is. if (img->encType == 3 && img->nPlanes == 4 && img->nBits > 8) { img->planeBuf = static_cast( - malloc(img->planeHeight * img->planeWidth * img->nPlanes * ((img->samplePrecision + 7) >> 3)) + malloc(static_cast(img->planeHeight) * img->planeWidth * img->nPlanes * ((img->samplePrecision + 7) >> 3)) ); if (!img->planeBuf) { @@ -3039,7 +3347,7 @@ bool crxSetupImageData( } // read header - return crxReadImageHeaders(hdr, img, mdatHdrPtr, mdatSize); + return crxReadImageHeaders(hdr, img, mdatHdrPtr, mdatHdrSize); } void crxFreeImageData(CrxImage* img) @@ -3054,6 +3362,9 @@ void crxFreeImageData(CrxImage* img) crxFreeSubbandData(img, tile[curTile].comps + curPlane); } } + if (tile[curTile].qStep) { + free(tile[curTile].qStep); + } } free(img->tiles); @@ -3115,13 +3426,14 @@ void DCraw::crxLoadRaw() { CrxImage img; - if (RT_canon_CR3_data.crx_track_selected >= RT_canon_CR3_data.CRXTRACKS_MAXCOUNT) { + if (RT_canon_CR3_data.crx_track_selected < 0 || + RT_canon_CR3_data.crx_track_selected >= RT_canon_CR3_data.CRXTRACKS_MAXCOUNT) { derror(); } crx_data_header_t hdr = RT_canon_CR3_data.crx_header[RT_canon_CR3_data.crx_track_selected]; - LibRaw_abstract_datastream input = {ifp}; + LibRaw_abstract_datastream input = { ifp }; img.input = &input; // libraw_internal_data.internal_data.input; // update sizes for the planes @@ -3135,7 +3447,7 @@ void DCraw::crxLoadRaw() // /*imgdata.color.*/maximum = (1 << hdr.nBits) - 1; tiff_bps = hdr.nBits; - std::uint8_t* const hdrBuf = static_cast(malloc(hdr.mdatHdrSize)); + std::uint8_t* const hdrBuf = static_cast(malloc(hdr.mdatHdrSize * 2)); // read image header #ifdef _OPENMP @@ -3153,7 +3465,7 @@ void DCraw::crxLoadRaw() } // parse and setup the image data - if (!crxSetupImageData(&hdr, &img, reinterpret_cast(raw_image), hdr.MediaOffset /*data_offset*/, hdr.MediaSize /*RT_canon_CR3_data.data_size*/, hdrBuf)) { + if (!crxSetupImageData(&hdr, &img, reinterpret_cast(raw_image), hdr.MediaOffset /*data_offset*/, hdr.MediaSize /*RT_canon_CR3_data.data_size*/, hdrBuf, hdr.mdatHdrSize*2)) { derror(); } @@ -3168,9 +3480,9 @@ void DCraw::crxLoadRaw() crxFreeImageData(&img); } -bool DCraw::crxParseImageHeader(uchar* cmp1TagData, unsigned int nTrack) +bool DCraw::crxParseImageHeader(uchar* cmp1TagData, int nTrack, int size) { - if (nTrack >= RT_canon_CR3_data.CRXTRACKS_MAXCOUNT) { + if (nTrack < 0 || nTrack >= RT_canon_CR3_data.CRXTRACKS_MAXCOUNT) { return false; } @@ -3193,9 +3505,18 @@ bool DCraw::crxParseImageHeader(uchar* cmp1TagData, unsigned int nTrack) hdr->hasTileCols = cmp1TagData[27] >> 7; hdr->hasTileRows = (cmp1TagData[27] >> 6) & 1; hdr->mdatHdrSize = sgetn(4, cmp1TagData + 28); + int extHeader = cmp1TagData[32] >> 7; + int useMedianBits = 0; + hdr->medianBits = hdr->nBits; + + if (extHeader && size >= 56 && hdr->nPlanes == 4) + useMedianBits = cmp1TagData[56] >> 6 & 1; + + if (useMedianBits && size >= 84) + hdr->medianBits = cmp1TagData[84]; // validation - if (hdr->version != 0x100 || !hdr->mdatHdrSize) { + if ((hdr->version != 0x100 && hdr->version != 0x200) || !hdr->mdatHdrSize) { return false; } @@ -3214,25 +3535,16 @@ bool DCraw::crxParseImageHeader(uchar* cmp1TagData, unsigned int nTrack) } if (hdr->nPlanes == 1) { - if (hdr->cfaLayout || hdr->encType) { - return false; - } - - if (hdr->nBits != 8) { + if (hdr->cfaLayout || hdr->encType || hdr->nBits != 8) { return false; } } else if ( hdr->nPlanes != 4 - || (hdr->f_width & 1) - || (hdr->f_height & 1) - || (hdr->tileWidth & 1) - || (hdr->tileHeight & 1) + || hdr->f_width & 1 + || hdr->f_height & 1 + || hdr->tileWidth & 1 + || hdr->tileHeight & 1 || hdr->cfaLayout > 3 - || ( - hdr->encType - && hdr->encType != 1 - && hdr->encType != 3 - ) || hdr->nBits == 8 ) { return false; diff --git a/rtengine/ciecam02.cc b/rtengine/ciecam02.cc index da452c89b..25f0c852d 100644 --- a/rtengine/ciecam02.cc +++ b/rtengine/ciecam02.cc @@ -25,6 +25,19 @@ #undef CLIPD #define CLIPD(a) ((a)>0.f?((a)<1.f?(a):1.f):0.f) #define MAXR(a,b) ((a) > (b) ? (a) : (b)) +#define Jzazbz_b 1.15 +#define Jzazbz_g 0.66 +#define Jzazbz_c1 (3424/4096.0) +#define Jzazbz_c2 (2413/128.0) +#define Jzazbz_c3 (2392/128.0) +#define Jzazbz_n (2610/16384.0) +#define Jzazbz_p (1.7*2523/32.0) +#define Jzazbz_d (-0.56) +#define Jzazbz_d0 (1.6295499532821566e-11) +#define Jzazbz_ni (16384.0/2610.0) +#define Jzazbz_pi (32.0/4289.1) //4289.1 = 2523 * 1.7 + + namespace rtengine { @@ -67,10 +80,12 @@ void Ciecam02::curveJfloat (float br, float contr, float thr, const LUTu & histo brightcurvePoints[5] = 0.7f; // shoulder point brightcurvePoints[6] = min (1.0f, 0.7f + br / 300.0f); //value at shoulder point } else { - brightcurvePoints[3] = 0.1f - br / 150.0f; // toe point + brightcurvePoints[3] = max(0.0, 0.1 - (double) br / 150.0); // toe point + // brightcurvePoints[3] = 0.1f - br / 150.0f; // toe point brightcurvePoints[4] = 0.1f; // value at toe point - brightcurvePoints[5] = min (1.0f, 0.7f - br / 300.0f); // shoulder point + // brightcurvePoints[5] = min (1.0f, 0.7f - br / 300.0f); // shoulder point + brightcurvePoints[5] = 0.7f - br / 300.0f; // shoulder point brightcurvePoints[6] = 0.7f; // value at shoulder point } @@ -109,6 +124,7 @@ void Ciecam02::curveJfloat (float br, float contr, float thr, const LUTu & histo } avg /= sum; + // printf("avg=%f \n", (double) avg); float thrmin = (thr - contr / 250.0f); float thrmax = (thr + contr / 250.0f); @@ -184,14 +200,14 @@ float Ciecam02::calculate_fl_from_la_ciecam02float ( float la ) return (0.2f * k * la5) + (0.1f * (1.0f - k) * (1.0f - k) * std::cbrt (la5)); } -float Ciecam02::achromatic_response_to_whitefloat ( float x, float y, float z, float d, float fl, float nbb, int c16) +float Ciecam02::achromatic_response_to_whitefloat ( float x, float y, float z, float d, float fl, float nbb, int c16, float plum) { float r, g, b; float rc, gc, bc; float rp, gp, bp; float rpa, gpa, bpa; // gamu = 1; - xyz_to_cat02float ( r, g, b, x, y, z, c16); + xyz_to_cat02float ( r, g, b, x, y, z, c16, plum); rc = r * (((y * d) / r) + (1.0f - d)); gc = g * (((y * d) / g) + (1.0f - d)); @@ -216,71 +232,253 @@ float Ciecam02::achromatic_response_to_whitefloat ( float x, float y, float z, f return ((2.0f * rpa) + gpa + ((1.0f / 20.0f) * bpa) - 0.305f) * nbb; } -void Ciecam02::xyz_to_cat02float ( float &r, float &g, float &b, float x, float y, float z, int c16) -{ +void Ciecam02::xyz_to_cat02float ( float &r, float &g, float &b, float x, float y, float z, int c16, float plum) +{ //I use isnan() because I have tested others solutions with std::max(xxx,0) and in some cases crash //original cat02 //r = ( 0.7328 * x) + (0.4296 * y) - (0.1624 * z); //g = (-0.7036 * x) + (1.6975 * y) + (0.0061 * z); //b = ( 0.0000 * x) + (0.0000 * y) + (1.0000 * z); + float peakLum = 1.f/ plum; if(c16 == 1) {//cat02 r = ( 1.007245f * x) + (0.011136f * y) - (0.018381f * z); //Changjun Li g = (-0.318061f * x) + (1.314589f * y) + (0.003471f * z); b = ( 0.0000f * x) + (0.0000f * y) + (1.0000f * z); - } else {//cat16 + } else if (c16 == 16) {//cat16 r = ( 0.401288f * x) + (0.650173f * y) - (0.051461f * z); //cat16 g = (-0.250268f * x) + (1.204414f * y) + (0.045854f * z); b = ( -0.002079f * x) + (0.048952f * y) + (0.953127f * z); + } else if (c16 == 21) {//cam16 PQ + float rp = ( 0.401288f * x) + (0.650173f * y) - (0.051461f * z); //cat16 + float gp = (-0.250268f * x) + (1.204414f * y) + (0.045854f * z); + float bp = ( -0.002079f * x) + (0.048952f * y) + (0.953127f * z); + rp *= 0.01f; + gp *= 0.01f; + bp *= 0.01f; + float tmp = pow_F(rp * peakLum, Jzazbz_n); + if(std::isnan(tmp)) {//to avoid crash + tmp = 0.f; + } + r = 100.f * pow((Jzazbz_c1 + Jzazbz_c2 * tmp) / (1. + Jzazbz_c3 * tmp), Jzazbz_p); + if(std::isnan(r) || r < 0.f) { + r = 0.f; + } + + tmp = pow_F(gp * peakLum, Jzazbz_n); + if(std::isnan(tmp)) {//to avoid crash + tmp = 0.f; + } + g = 100.f * pow((Jzazbz_c1 + Jzazbz_c2 * tmp) / (1. + Jzazbz_c3 * tmp), Jzazbz_p); + if(std::isnan(g) || g < 0.f) { + g = 0.f; + } + tmp = pow_F(bp * peakLum, Jzazbz_n); + if(std::isnan(tmp)) {//to avoid crash + tmp = 0.f; + } + + b = 100.f * pow((Jzazbz_c1 + Jzazbz_c2 * tmp) / (1. + Jzazbz_c3 * tmp), Jzazbz_p); + if(std::isnan(b) || b < 0.f) { + b = 0.f; + } } } + #ifdef __SSE2__ -void Ciecam02::xyz_to_cat02float ( vfloat &r, vfloat &g, vfloat &b, vfloat x, vfloat y, vfloat z, int c16) -{ +void Ciecam02::xyz_to_cat02float ( vfloat &r, vfloat &g, vfloat &b, vfloat x, vfloat y, vfloat z, int c16, vfloat plum) +{ //I use isnan() because I have tested others solutions with std::max(xxx,0) and in some cases crash //gamut correction M.H.Brill S.Susstrunk if(c16 == 1) { r = ( F2V (1.007245f) * x) + (F2V (0.011136f) * y) - (F2V (0.018381f) * z); //Changjun Li g = (F2V (-0.318061f) * x) + (F2V (1.314589f) * y) + (F2V (0.003471f) * z); b = z; - } else { + } else if (c16 == 16) { //cat16 - r = ( F2V (0.401288f) * x) + (F2V (0.650173f) * y) - (F2V (0.051461f) * z); //Changjun Li + r = ( F2V (0.401288f) * x) + (F2V (0.650173f) * y) - (F2V (0.051461f) * z); g = -(F2V (0.250268f) * x) + (F2V (1.204414f) * y) + (F2V (0.045854f) * z); b = -(F2V(0.002079f) * x) + (F2V(0.048952f) * y) + (F2V(0.953127f) * z); + } else if (c16 == 21) { + vfloat rp = ( F2V (0.401288f) * x) + (F2V (0.650173f) * y) - (F2V (0.051461f) * z); + vfloat gp = -(F2V (0.250268f) * x) + (F2V (1.204414f) * y) + (F2V (0.045854f) * z); + vfloat bp = -(F2V(0.002079f) * x) + (F2V(0.048952f) * y) + (F2V(0.953127f) * z); + vfloat Jzazbz_c1v = F2V(Jzazbz_c1); + vfloat Jzazbz_c2v = F2V(Jzazbz_c2); + vfloat Jzazbz_nv = F2V(Jzazbz_n); + vfloat Jzazbz_c3v = F2V(Jzazbz_c3); + vfloat Jzazbz_pv = F2V(Jzazbz_p); + vfloat mulone = F2V(0.01f); + vfloat mulhund = F2V(100.f); + float RR, GG, BB; + vfloat one = F2V(1.); + vfloat peakLumv = one / plum; + rp *= mulone; + gp *= mulone; + bp *= mulone; + vfloat tmp = pow_F(rp * peakLumv, Jzazbz_nv ); + STVF(RR, tmp); + if(std::isnan(RR)) {//to avoid crash + tmp = F2V(0.f);; + } + r = mulhund * pow_F((Jzazbz_c1v + Jzazbz_c2v * tmp) / (one + Jzazbz_c3v * tmp), Jzazbz_pv); + STVF(RR, r); + if(std::isnan(RR) || RR < 0.f) {//to avoid crash + r = F2V(0.f);; + } + tmp = pow_F(gp * peakLumv, Jzazbz_nv ); + STVF(RR, tmp); + if(std::isnan(RR)) {//to avoid crash + tmp = F2V(0.f);; + } + + g = mulhund * pow_F((Jzazbz_c1v + Jzazbz_c2v * tmp) / (one + Jzazbz_c3v * tmp), Jzazbz_pv); + STVF(GG, g); + if(std::isnan(GG) || GG < 0.f) {//to avoid crash + g = F2V(0.f);; + } + + tmp = pow_F(bp * peakLumv, Jzazbz_nv ); + STVF(RR, tmp); + if(std::isnan(RR)) {//to avoid crash + tmp = F2V(0.f);; + } + + b = mulhund * pow_F((Jzazbz_c1v + Jzazbz_c2v * tmp) / (one + Jzazbz_c3v * tmp), Jzazbz_pv); + STVF(BB, b); + if(std::isnan(BB) || BB < 0.f) {//to avoid crash + b = F2V(0.f);; + } + } } #endif -void Ciecam02::cat02_to_xyzfloat ( float &x, float &y, float &z, float r, float g, float b, int c16) -{ +void Ciecam02::cat02_to_xyzfloat ( float &x, float &y, float &z, float r, float g, float b, int c16, float plum) +{ //I use isnan() because I have tested others solutions with std::max(xxx,0) and in some cases crash //original cat02 //x = ( 1.0978566 * r) - (0.277843 * g) + (0.179987 * b); //y = ( 0.455053 * r) + (0.473938 * g) + (0.0710096* b); //z = ( 0.000000 * r) - (0.000000 * g) + (1.000000 * b); + float pl = plum; if(c16 == 1) { x = ( 0.99015849f * r) - (0.00838772f * g) + (0.018229217f * b); //Changjun Li y = ( 0.239565979f * r) + (0.758664642f * g) + (0.001770137f * b); z = ( 0.000000f * r) - (0.000000f * g) + (1.000000f * b); - } else {//cat16 + } else if(c16 == 16){//cat16 x = ( 1.86206786f * r) - (1.01125463f * g) + (0.14918677f * b); //Cat16 y = ( 0.38752654f * r) + (0.62144744f * g) + (-0.00897398f * b); z = ( -0.0158415f * r) - (0.03412294f * g) + (1.04996444f * b); + }else if(c16 == 21){//cam16 PQ + float lp = ( 1.86206786f * r) - (1.01125463f * g) + (0.14918677f * b); //Cat16 + float mp = ( 0.38752654f * r) + (0.62144744f * g) + (-0.00897398f * b); + float sp = ( -0.0158415f * r) - (0.03412294f * g) + (1.04996444f * b); + lp *= 0.01f; + float tmp = pow_F(lp, Jzazbz_pi); + if(std::isnan(tmp)) {//to avoid crash + tmp = 0.f; + } + + float prov = (Jzazbz_c1 - tmp) / ((Jzazbz_c3 * tmp) - Jzazbz_c2); + x = pl * pow_F(prov, Jzazbz_ni); + if(std::isnan(x)) {//to avoid crash + x = 0.f; + } + x *= 100.f; + mp *= 0.01f; + tmp = pow_F(mp, Jzazbz_pi); + if(std::isnan(tmp)) {//to avoid crash + tmp = 0.f; + } + prov = (Jzazbz_c1 - tmp) / ((Jzazbz_c3 * tmp) - Jzazbz_c2); + y = pl * pow_F(prov, Jzazbz_ni); + if(std::isnan(y)) { + y = 0.f; + } + y *= 100.f; + sp *= 0.01f; + tmp = pow_F(sp, Jzazbz_pi); + if(std::isnan(tmp)) {//to avoid crash + tmp = 0.f; + } + prov = (Jzazbz_c1 - tmp) / ((Jzazbz_c3 * tmp) - Jzazbz_c2); + z = pl * pow_F(prov, Jzazbz_ni); + if(std::isnan(z)) { + z = 0.; + } + z *= 100.f; + } } #ifdef __SSE2__ -void Ciecam02::cat02_to_xyzfloat ( vfloat &x, vfloat &y, vfloat &z, vfloat r, vfloat g, vfloat b, int c16 ) -{ +void Ciecam02::cat02_to_xyzfloat ( vfloat &x, vfloat &y, vfloat &z, vfloat r, vfloat g, vfloat b, int c16, vfloat plum ) +{ //I use isnan() because I have tested others solutions with std::max(xxx,0) and in some cases crash + vfloat plv = plum; //gamut correction M.H.Brill S.Susstrunk if(c16 == 1) {//cat02 x = ( F2V (0.99015849f) * r) - (F2V (0.00838772f) * g) + (F2V (0.018229217f) * b); //Changjun Li y = ( F2V (0.239565979f) * r) + (F2V (0.758664642f) * g) + (F2V (0.001770137f) * b); z = b; - } else { + } else if(c16 == 16) { //cat16 x = ( F2V (1.86206786f) * r) - (F2V (1.01125463f) * g) + (F2V (0.14918677f) * b); y = ( F2V (0.38752654f) * r) + (F2V (0.621447744f) * g) - (F2V (0.00897398f) * b); z = -(F2V(0.0158415f) * r) - (F2V(0.03412294f) * g) + (F2V(1.04996444f) * b); + }else if(c16 == 21){//cam16 PQ + vfloat lp = ( F2V (1.86206786f) * r) - (F2V (1.01125463f) * g) + (F2V (0.14918677f) * b); + vfloat mp = ( F2V (0.38752654f) * r) + (F2V (0.621447744f) * g) - (F2V (0.00897398f) * b); + vfloat sp = -(F2V(0.0158415f) * r) - (F2V(0.03412294f) * g) + (F2V(1.04996444f) * b); + float XX,YY,ZZ; + vfloat Jzazbz_c1v = F2V(Jzazbz_c1); + vfloat Jzazbz_c2v = F2V(Jzazbz_c2); + vfloat Jzazbz_c3v = F2V(Jzazbz_c3); + vfloat Jzazbz_piv = F2V(Jzazbz_pi); + vfloat Jzazbz_niv = F2V(Jzazbz_ni); + vfloat mulone = F2V(0.01f); + vfloat mulhund = F2V(100.f); + lp *= mulone; + float pro; + vfloat tmp = pow_F(lp, Jzazbz_piv); + STVF(XX, tmp); + if(std::isnan(XX)) {//to avoid crash + tmp = F2V(0.f);; + } + vfloat prov = (Jzazbz_c1v - tmp) / ((Jzazbz_c3v * tmp) - Jzazbz_c2v); + x = plv * pow_F(prov, Jzazbz_niv); + STVF(XX, x); + if(std::isnan(XX)) {//to avoid crash + x = F2V(0.f);; + } + x *= mulhund; + mp *= mulone; + tmp = pow_F(mp, Jzazbz_piv); + STVF(YY, tmp); + if(std::isnan(YY)) {//to avoid crash + tmp = F2V(0.f);; + } + prov = (Jzazbz_c1v - tmp) / ((Jzazbz_c3v * tmp) - Jzazbz_c2v); + y = plv * pow_F(prov, Jzazbz_niv); + STVF(YY, y); + if(std::isnan(YY)) {//to avoid crash + y = F2V(0.f);; + } + y *= mulhund; + sp *= mulone; + tmp = pow_F(sp, Jzazbz_piv); + STVF(ZZ, tmp); + if(std::isnan(ZZ)) {//to avoid crash + tmp = F2V(0.f);; + } + prov = (Jzazbz_c1v - tmp) / ((Jzazbz_c3v * tmp) - Jzazbz_c2v); + STVF(pro, prov); + z = plv * pow_F(prov, Jzazbz_niv); + STVF(ZZ, z); + if(std::isnan(ZZ)) {//to avoid crash + z = F2V(0.f);; + } + z *= mulhund; + } + } #endif @@ -429,7 +627,7 @@ void Ciecam02::calculate_abfloat ( vfloat &aa, vfloat &bb, vfloat h, vfloat e, v #endif void Ciecam02::initcam1float (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, int c16) + float &cz, float &aw, float &wh, float &pfl, float &fl, float c, int c16, float plum) { n = yb / yw; @@ -442,13 +640,13 @@ void Ciecam02::initcam1float (float yb, float pilotd, float f, float la, float x fl = calculate_fl_from_la_ciecam02float ( la ); nbb = ncb = 0.725f * pow_F ( 1.0f / n, 0.2f ); cz = 1.48f + sqrt ( n ); - aw = achromatic_response_to_whitefloat ( xw, yw, zw, d, fl, nbb, c16); + aw = achromatic_response_to_whitefloat ( xw, yw, zw, d, fl, nbb, c16, plum); wh = ( 4.0f / c ) * ( aw + 4.0f ) * pow_F ( fl, 0.25f ); pfl = pow_F ( fl, 0.25f ); } void Ciecam02::initcam2float (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, int c16) + float &cz, float &aw, float &fl, int c16, float plum) { n = yb / yw; @@ -462,12 +660,135 @@ void Ciecam02::initcam2float (float yb, float pilotd, float f, float la, float x fl = calculate_fl_from_la_ciecam02float ( la ); nbb = ncb = 0.725f * pow_F ( 1.0f / n, 0.2f ); cz = 1.48f + sqrt ( n ); - aw = achromatic_response_to_whitefloat ( xw, yw, zw, d, fl, nbb, c16); + aw = achromatic_response_to_whitefloat ( xw, yw, zw, d, fl, nbb, c16, plum); +} + + +void Ciecam02::xyz2jzczhz ( double &Jz, double &az, double &bz, double x, double y, double z, double pl, double &Lp, double &Mp, double &Sp, bool zcam) +{ //from various web + double Xp, Yp, Zp, L, M, S, Iz; + double peakLum = 1. / pl; + //I change 10000 for peaklum function of la (absolute luminance)- default 10000 + Xp = Jzazbz_b * x - ((Jzazbz_b - 1.) * z); + Yp = Jzazbz_g * y - ((Jzazbz_g - 1.) * x); + Zp = z; + + L = 0.41478972 * Xp + 0.579999 * Yp + 0.0146480 * Zp; + M = -0.2015100 * Xp + 1.120649 * Yp + 0.0531008 * Zp; + S = -0.0166008 * Xp + 0.264800 * Yp + 0.6684799 * Zp; + + //I use isnan() because I have tested others solutions with std::max(xxx,0) and in some cases crash + // Lp = pow((Jzazbz_c1 + Jzazbz_c2 * pow(std::max((L * peakLum), 0.), Jzazbz_n)) / (1. + Jzazbz_c3 * pow((L * peakLum), Jzazbz_n)), Jzazbz_p); + // Mp = pow((Jzazbz_c1 + Jzazbz_c2 * pow(std::max((M * peakLum),0.), Jzazbz_n)) / (1. + Jzazbz_c3 * pow((M * peakLum), Jzazbz_n)), Jzazbz_p); + // Sp = pow((Jzazbz_c1 + Jzazbz_c2 * pow(std::max((S * peakLum), 0.), Jzazbz_n)) / (1. + Jzazbz_c3 * pow((S * peakLum), Jzazbz_n)), Jzazbz_p); + double temp = pow(L * peakLum, Jzazbz_n); + if(std::isnan(temp)) {//to avoid crash + temp = 0.; + } + Lp = pow((Jzazbz_c1 + Jzazbz_c2 * temp) / (1. + Jzazbz_c3 * temp), Jzazbz_p); + if(std::isnan(Lp)) {//to avoid crash + Lp = 0.; + } + + temp = pow(M * peakLum, Jzazbz_n); + if(std::isnan(temp)) {//to avoid crash + temp = 0.; + } + Mp = pow((Jzazbz_c1 + Jzazbz_c2 * temp) / (1. + Jzazbz_c3 * temp), Jzazbz_p); + if(std::isnan(Mp)) {//to avoid crash + Mp = 0.; + } + + temp = pow(S * peakLum, Jzazbz_n); + if(std::isnan(temp)) {//to avoid crash + temp = 0.; + } + Sp = pow((Jzazbz_c1 + Jzazbz_c2 * temp) / (1. + Jzazbz_c3 * temp), Jzazbz_p); + if(std::isnan(Sp)) {//to avoid crash + Sp = 0.; + } + + Iz = 0.5 * Lp + 0.5 * Mp; + az = 3.524000 * Lp - 4.066708 * Mp + 0.542708 * Sp; + bz = 0.199076 * Lp + 1.096799 * Mp - 1.295875 * Sp; + if(!zcam) { + Jz = (((1. + Jzazbz_d) * Iz) / (1. + Jzazbz_d * Iz)) - Jzazbz_d0; + // Jz = std::max((((1. + Jzazbz_d) * Iz) / (1. + Jzazbz_d * Iz)) - Jzazbz_d0, 0.); + } else { + //or if we use ZCAM Jz = Mp - Jzazbz_d0 + Jz = Mp - Jzazbz_d0; + } +} + + +void Ciecam02::jzczhzxyz (double &x, double &y, double &z, double jz, double az, double bz, double pl, double &L, double &M, double &S, bool zcam) +{ //from various web + //I use isnan() because I have tested others solutions with std::max(xxx,0) and in some cases crash + + double Xp, Yp, Zp, Lp, Mp, Sp, Iz, tmp; + + if(!zcam) { + // Iz = std::max((jz + Jzazbz_d0) / (1. + Jzazbz_d - Jzazbz_d * (jz + Jzazbz_d0)), 0.); + Iz = (jz + Jzazbz_d0) / (1. + Jzazbz_d - Jzazbz_d * (jz + Jzazbz_d0)); + } else { + //or if we use ZCAM Iz = Jz + Jzazbz_d0 + Iz = jz + Jzazbz_d0; + } + + Lp = Iz + 0.138605043271539 * az + 0.0580473161561189 * bz; + Mp = Iz - 0.138605043271539 * az - 0.0580473161561189 * bz; + Sp = Iz - 0.0960192420263189 * az - 0.811891896056039 * bz; + //I change optionally 10000 for pl function of la(absolute luminance) default 10000 + + tmp = pow(Lp, Jzazbz_pi); + if(std::isnan(tmp)) {//to avoid crash + tmp = 0.; + } + L = pl * pow((Jzazbz_c1 - tmp) / ((Jzazbz_c3 * tmp) - Jzazbz_c2), Jzazbz_ni); + if(std::isnan(L)) {//to avoid crash + L = 0.; + } + + tmp = pow(Mp, Jzazbz_pi); + if(std::isnan(tmp)) {//to avoid crash + tmp = 0.; + } + M = pl * pow((Jzazbz_c1 - tmp) / ((Jzazbz_c3 * tmp) - Jzazbz_c2), Jzazbz_ni); + if(std::isnan(M)) {//to avoid crash + M = 0.; + } + + tmp = pow(Sp, Jzazbz_pi); + if(std::isnan(tmp)) {//to avoid crash + tmp = 0.; + } + S = pl * pow((Jzazbz_c1 - tmp) / ((Jzazbz_c3 * tmp) - Jzazbz_c2), Jzazbz_ni); + if(std::isnan(S)) {//to avoid crash + S = 0.; + } + + Xp = 1.9242264357876067 * L - 1.0047923125953657 * M + 0.0376514040306180 * S; + Yp = 0.3503167620949991 * L + 0.7264811939316552 * M - 0.0653844229480850 * S; + Zp = -0.0909828109828475 * L - 0.3127282905230739 * M + 1.5227665613052603 * S; + + x = (Xp + (Jzazbz_b - 1.) * Zp) / Jzazbz_b; + + if(std::isnan(x)) {//to avoid crash + x = 0.; + } + y = (Yp + (Jzazbz_g - 1.) * x) / Jzazbz_g; + if(std::isnan(y)) { + y = 0.; + } + z = Zp; + if(std::isnan(z)) { + z = 0.; + } } void Ciecam02::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, float pow1, float nbb, float ncb, float pfl, float cz, float d, int c16) + float c, float nc, float pow1, float nbb, float ncb, float pfl, float cz, float d, int c16, float plum) { float r, g, b; @@ -478,8 +799,8 @@ void Ciecam02::xyz2jchqms_ciecam02float ( float &J, float &C, float &h, float &Q float a, ca, cb; float e, t; float myh; - xyz_to_cat02float ( r, g, b, x, y, z, c16); - xyz_to_cat02float ( rw, gw, bw, xw, yw, zw, c16); + xyz_to_cat02float ( r, g, b, x, y, z, c16, plum); + xyz_to_cat02float ( rw, gw, bw, xw, yw, zw, c16, plum); rc = r * (((yw * d) / rw) + (1.f - d)); gc = g * (((yw * d) / gw) + (1.f - d)); bc = b * (((yw * d) / bw) + (1.f - d)); @@ -530,7 +851,7 @@ void Ciecam02::xyz2jchqms_ciecam02float ( float &J, float &C, float &h, float &Q #ifdef __SSE2__ void Ciecam02::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 pow1, vfloat nbb, vfloat ncb, vfloat pfl, vfloat cz, vfloat d, int c16) + vfloat c, vfloat nc, vfloat pow1, vfloat nbb, vfloat ncb, vfloat pfl, vfloat cz, vfloat d, int c16, vfloat plum) { vfloat r, g, b; @@ -541,8 +862,8 @@ void Ciecam02::xyz2jchqms_ciecam02float ( vfloat &J, vfloat &C, vfloat &h, vfloa vfloat a, ca, cb; vfloat e, t; - xyz_to_cat02float ( r, g, b, x, y, z, c16); - xyz_to_cat02float ( rw, gw, bw, xw, yw, zw, c16); + xyz_to_cat02float ( r, g, b, x, y, z, c16, plum); + xyz_to_cat02float ( rw, gw, bw, xw, yw, zw, c16, plum); vfloat onev = F2V (1.f); rc = r * (((yw * d) / rw) + (onev - d)); gc = g * (((yw * d) / gw) + (onev - d)); @@ -595,7 +916,7 @@ void Ciecam02::xyz2jchqms_ciecam02float ( vfloat &J, vfloat &C, vfloat &h, vfloa void Ciecam02::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 pow1, float nbb, float ncb, float cz, float d, int c16) + float c, float nc, float pow1, float nbb, float ncb, float cz, float d, int c16, float plum) { float r, g, b; @@ -606,8 +927,8 @@ void Ciecam02::xyz2jch_ciecam02float ( float &J, float &C, float &h, float aw, f float a, ca, cb; float e, t; float myh; - xyz_to_cat02float ( r, g, b, x, y, z, c16); - xyz_to_cat02float ( rw, gw, bw, xw, yw, zw, c16); + xyz_to_cat02float ( r, g, b, x, y, z, c16, plum); + xyz_to_cat02float ( rw, gw, bw, xw, yw, zw, c16, plum); rc = r * (((yw * d) / rw) + (1.f - d)); gc = g * (((yw * d) / gw) + (1.f - d)); bc = b * (((yw * d) / bw) + (1.f - d)); @@ -664,7 +985,7 @@ void Ciecam02::xyz2jch_ciecam02float ( float &J, float &C, float &h, float aw, f void Ciecam02::jch2xyz_ciecam02float ( float &x, float &y, float &z, float J, float C, float h, float xw, float yw, float zw, - float c, float nc, float pow1, float nbb, float ncb, float fl, float cz, float d, float aw, int c16) + float c, float nc, float pow1, float nbb, float ncb, float fl, float cz, float d, float aw, int c16, float plum) { float r, g, b; float rc, gc, bc; @@ -673,7 +994,7 @@ void Ciecam02::jch2xyz_ciecam02float ( float &x, float &y, float &z, float J, fl float rw, gw, bw; float a, ca, cb; float e, t; - xyz_to_cat02float(rw, gw, bw, xw, yw, zw, c16); + xyz_to_cat02float(rw, gw, bw, xw, yw, zw, c16, plum); e = ((961.53846f) * nc * ncb) * (xcosf(h * rtengine::RT_PI_F_180 + 2.0f) + 3.8f); #ifdef __SSE2__ @@ -705,7 +1026,7 @@ void Ciecam02::jch2xyz_ciecam02float ( float &x, float &y, float &z, float J, fl if(c16 == 1) {//cat02 hpe_to_xyzfloat(x, y, z, rp, gp, bp, c16); - xyz_to_cat02float(rc, gc, bc, x, y, z, c16); + xyz_to_cat02float(rc, gc, bc, x, y, z, c16, plum); r = rc / (((yw * d) / rw) + (1.0f - d)); g = gc / (((yw * d) / gw) + (1.0f - d)); @@ -716,13 +1037,13 @@ void Ciecam02::jch2xyz_ciecam02float ( float &x, float &y, float &z, float J, fl b = bp / (((yw * d) / bw) + (1.0f - d)); } - cat02_to_xyzfloat(x, y, z, r, g, b, c16); + cat02_to_xyzfloat(x, y, z, r, g, b, c16, plum); } #ifdef __SSE2__ void Ciecam02::jch2xyz_ciecam02float ( vfloat &x, vfloat &y, vfloat &z, vfloat J, vfloat C, vfloat h, vfloat xw, vfloat yw, vfloat zw, - vfloat nc, vfloat pow1, vfloat nbb, vfloat ncb, vfloat fl, vfloat d, vfloat aw, vfloat reccmcz, int c16) + vfloat nc, vfloat pow1, vfloat nbb, vfloat ncb, vfloat fl, vfloat d, vfloat aw, vfloat reccmcz, int c16, vfloat plum) { vfloat r, g, b; vfloat rc, gc, bc; @@ -731,7 +1052,7 @@ void Ciecam02::jch2xyz_ciecam02float ( vfloat &x, vfloat &y, vfloat &z, vfloat J vfloat rw, gw, bw; vfloat a, ca, cb; vfloat e, t; - xyz_to_cat02float ( rw, gw, bw, xw, yw, zw, c16); + xyz_to_cat02float ( rw, gw, bw, xw, yw, zw, c16, plum); e = ((F2V (961.53846f)) * nc * ncb) * (xcosf ( ((h * F2V (rtengine::RT_PI)) / F2V (180.0f)) + F2V (2.0f) ) + F2V (3.8f)); a = pow_F ( J / F2V (100.0f), reccmcz ) * aw; t = pow_F ( F2V (10.f) * C / (vsqrtf ( J ) * pow1), F2V (1.1111111f) ); @@ -745,7 +1066,7 @@ void Ciecam02::jch2xyz_ciecam02float ( vfloat &x, vfloat &y, vfloat &z, vfloat J if(c16 == 1) {//cat02 hpe_to_xyzfloat ( x, y, z, rp, gp, bp, c16); - xyz_to_cat02float ( rc, gc, bc, x, y, z, c16 ); + xyz_to_cat02float ( rc, gc, bc, x, y, z, c16, plum ); r = rc / (((yw * d) / rw) + (F2V (1.0f) - d)); g = gc / (((yw * d) / gw) + (F2V (1.0f) - d)); @@ -756,7 +1077,7 @@ void Ciecam02::jch2xyz_ciecam02float ( vfloat &x, vfloat &y, vfloat &z, vfloat J b = bp / (((yw * d) / bw) + (F2V (1.0f) - d)); } - cat02_to_xyzfloat ( x, y, z, r, g, b, c16 ); + cat02_to_xyzfloat ( x, y, z, r, g, b, c16, plum ); } #endif diff --git a/rtengine/ciecam02.h b/rtengine/ciecam02.h index cd140a702..5312635f6 100644 --- a/rtengine/ciecam02.h +++ b/rtengine/ciecam02.h @@ -37,12 +37,12 @@ class Ciecam02 private: static float d_factorfloat ( float f, float la ); static float calculate_fl_from_la_ciecam02float ( float la ); - static float achromatic_response_to_whitefloat ( float x, float y, float z, float d, float fl, float nbb, int c16); - static void xyz_to_cat02float ( float &r, float &g, float &b, float x, float y, float z, int c16); + static float achromatic_response_to_whitefloat ( float x, float y, float z, float d, float fl, float nbb, int c16, float plum); + static void xyz_to_cat02float ( float &r, float &g, float &b, float x, float y, float z, int c16, float plum); static void cat02_to_hpefloat ( float &rh, float &gh, float &bh, float r, float g, float b, int c16); #ifdef __SSE2__ - static void xyz_to_cat02float ( vfloat &r, vfloat &g, vfloat &b, vfloat x, vfloat y, vfloat z, int c16); + static void xyz_to_cat02float ( vfloat &r, vfloat &g, vfloat &b, vfloat x, vfloat y, vfloat z, int c16, vfloat plum); static void cat02_to_hpefloat ( vfloat &rh, vfloat &gh, vfloat &bh, vfloat r, vfloat g, vfloat b, int c16); static vfloat nonlinear_adaptationfloat ( vfloat c, vfloat fl ); #endif @@ -53,13 +53,13 @@ private: 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, int c16); - static void cat02_to_xyzfloat ( float &x, float &y, float &z, float r, float g, float b, int c16); + static void cat02_to_xyzfloat ( float &x, float &y, float &z, float r, float g, float b, int c16, float plum); #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 void hpe_to_xyzfloat ( vfloat &x, vfloat &y, vfloat &z, vfloat r, vfloat g, vfloat b, int c16); - static void cat02_to_xyzfloat ( vfloat &x, vfloat &y, vfloat &z, vfloat r, vfloat g, vfloat b, int c16); + static void cat02_to_xyzfloat ( vfloat &x, vfloat &y, vfloat &z, vfloat r, vfloat g, vfloat b, int c16, vfloat plum); #endif public: @@ -67,46 +67,52 @@ public: static void curvecolorfloat (float satind, float satval, float &sres, float parsat); static void curveJfloat (float br, float contr, float thr, const LUTu & histogram, LUTf & outCurve ) ; + static void xyz2jzczhz (double &Jz, double &az, double &bz, double x, double y, double z, double pl, double &Lp, double &Mp, double &Sp, bool zcam); + + static void jzczhzxyz (double &x, double &y, double &z, double Jz, double az, double bz, double pl, double &L, double &M, double &S, bool zcam); + + + /** * Inverse transform from CIECAM02 JCh to XYZ. */ static void jch2xyz_ciecam02float ( float &x, float &y, float &z, float J, float C, float h, float xw, float yw, float zw, - float c, float nc, float n, float nbb, float ncb, float fl, float cz, float d, float aw, int c16); + float c, float nc, float n, float nbb, float ncb, float fl, float cz, float d, float aw, int c16, float plum); #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 nc, vfloat n, vfloat nbb, vfloat ncb, vfloat fl, vfloat d, vfloat aw, vfloat reccmcz, int c16 ); + vfloat nc, vfloat n, vfloat nbb, vfloat ncb, vfloat fl, vfloat d, vfloat aw, vfloat reccmcz, int c16, vfloat plum ); #endif /** * Forward transform from XYZ to CIECAM02 JCh. */ static void initcam1float (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, int c16); + float &cz, float &aw, float &wh, float &pfl, float &fl, float c, int c16, float plum); static void initcam2float (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, int c16); + float &cz, float &aw, float &fl, int c16, float plum); 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, int c16); + float c, float nc, float n, float nbb, float ncb, float cz, float d, int c16, float plum); 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, float n, float nbb, float ncb, float pfl, float cz, float d, int c16); + float c, float nc, float n, float nbb, float ncb, float pfl, float cz, float d, int c16, float plum); #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, int c16); + vfloat c, vfloat nc, vfloat n, vfloat nbb, vfloat ncb, vfloat pfl, vfloat cz, vfloat d, int c16, vfloat plum); #endif diff --git a/rtengine/color.cc b/rtengine/color.cc index 3fcd44eb8..085fd41ce 100644 --- a/rtengine/color.cc +++ b/rtengine/color.cc @@ -24,6 +24,7 @@ #include "sleef.h" #include "opthelper.h" #include "iccstore.h" +#include using namespace std; @@ -944,6 +945,7 @@ void Color::xyz2Prophoto (float x, float y, float z, float &r, float &g, float & g = ((prophoto_xyz[1][0] * x + prophoto_xyz[1][1] * y + prophoto_xyz[1][2] * z)) ; b = ((prophoto_xyz[2][0] * x + prophoto_xyz[2][1] * y + prophoto_xyz[2][2] * z)) ; } + void Color::Prophotoxyz (float r, float g, float b, float &x, float &y, float &z) { x = ((xyz_prophoto[0][0] * r + xyz_prophoto[0][1] * g + xyz_prophoto[0][2] * b)) ; @@ -1909,6 +1911,152 @@ void Color::Lch2Luv(float c, float h, float &u, float &v) v = c * sincosval.y; } +void Color::primaries_to_xyz(double p[6], double Wx, double Wz, double *pxyz) +{ + //calculate Xr, Xg, Xb, Yr, Yb, Tg, Zr,Zg Zb + double Wy = 1.0; + double Xr = p[0] / p[1]; + double Yr = 1.0; + double Zr = (1.0 - p[0] - p[1]) / p[1]; + double Xg = p[2] / p[3]; + double Yg = 1.0; + double Zg = (1.0 - p[2] - p[3]) / p[3]; + double Xb = p[4] / p[5]; + double Yb = 1.0; + double Zb = (1.0 - p[4] - p[5]) / p[5]; + + using Triple = std::array; + + using Matrix = std::array; + + Matrix input_prim; + Matrix inv_input_prim = {}; + input_prim[0][0] = Xr; + input_prim[0][1] = Yr; + input_prim[0][2] = Zr; + input_prim[1][0] = Xg; + input_prim[1][1] = Yg; + input_prim[1][2] = Zg; + input_prim[2][0] = Xb; + input_prim[2][1] = Yb; + input_prim[2][2] = Zb; + + //invert matrix + if (!rtengine::invertMatrix(input_prim, inv_input_prim)) { + std::cout << "Matrix is not invertible, skipping" << std::endl; + } + + //white point D50 used by LCMS + double Wdx = 0.96420; + double Wdy = 1.0; + double Wdz = 0.82490; + + double Sr = Wx * inv_input_prim [0][0] + Wy * inv_input_prim [1][0] + Wz * inv_input_prim [2][0]; + double Sg = Wx * inv_input_prim [0][1] + Wy * inv_input_prim [1][1] + Wz * inv_input_prim [2][1]; + double Sb = Wx * inv_input_prim [0][2] + Wy * inv_input_prim [1][2] + Wz * inv_input_prim [2][2]; + + //XYZ matrix for primaries and temp + Matrix mat_xyz = {}; + mat_xyz[0][0] = Sr * Xr; + mat_xyz[0][1] = Sr * Yr; + mat_xyz[0][2] = Sr * Zr; + mat_xyz[1][0] = Sg * Xg; + mat_xyz[1][1] = Sg * Yg; + mat_xyz[1][2] = Sg * Zg; + mat_xyz[2][0] = Sb * Xb; + mat_xyz[2][1] = Sb * Yb; + mat_xyz[2][2] = Sb * Zb; + + //chromatic adaptation Bradford + Matrix MaBradford = {}; + MaBradford[0][0] = 0.8951; + MaBradford[0][1] = -0.7502; + MaBradford[0][2] = 0.0389; + MaBradford[1][0] = 0.2664; + MaBradford[1][1] = 1.7135; + MaBradford[1][2] = -0.0685; + MaBradford[2][0] = -0.1614; + MaBradford[2][1] = 0.0367; + MaBradford[2][2] = 1.0296; + + Matrix Ma_oneBradford = {}; + Ma_oneBradford[0][0] = 0.9869929; + Ma_oneBradford[0][1] = 0.4323053; + Ma_oneBradford[0][2] = -0.0085287; + Ma_oneBradford[1][0] = -0.1470543; + Ma_oneBradford[1][1] = 0.5183603; + Ma_oneBradford[1][2] = 0.0400428; + Ma_oneBradford[2][0] = 0.1599627; + Ma_oneBradford[2][1] = 0.0492912; + Ma_oneBradford[2][2] = 0.9684867; + + //R G B source + double Rs = Wx * MaBradford[0][0] + Wy * MaBradford[1][0] + Wz * MaBradford[2][0]; + double Gs = Wx * MaBradford[0][1] + Wy * MaBradford[1][1] + Wz * MaBradford[2][1]; + double Bs = Wx * MaBradford[0][2] + Wy * MaBradford[1][2] + Wz * MaBradford[2][2]; + + // R G B destination + double Rd = Wdx * MaBradford[0][0] + Wdy * MaBradford[1][0] + Wdz * MaBradford[2][0]; + double Gd = Wdx * MaBradford[0][1] + Wdy * MaBradford[1][1] + Wdz * MaBradford[2][1]; + double Bd = Wdx * MaBradford[0][2] + Wdy * MaBradford[1][2] + Wdz * MaBradford[2][2]; + + //cone destination + Matrix cone_dest_sourc = {}; + cone_dest_sourc [0][0] = Rd / Rs; + cone_dest_sourc [0][1] = 0.; + cone_dest_sourc [0][2] = 0.; + cone_dest_sourc [1][0] = 0.; + cone_dest_sourc [1][1] = Gd / Gs; + cone_dest_sourc [1][2] = 0.; + cone_dest_sourc [2][0] = 0.; + cone_dest_sourc [2][1] = 0.; + cone_dest_sourc [2][2] = Bd / Bs; + + //cone dest + Matrix cone_ma_one = {}; + + for (int i = 0; i < 3; ++i) { + for (int j = 0; j < 3; ++j) { + cone_ma_one[i][j] = 0; + + for (int k = 0; k < 3; ++k) { + cone_ma_one[i][j] += cone_dest_sourc [i][k] * Ma_oneBradford[k][j]; + } + } + } + + //generate adaptation bradford matrix + Matrix adapt_chroma = {}; + + for (int i = 0; i < 3; ++i) { + for (int j = 0; j < 3; ++j) { + adapt_chroma [i][j] = 0; + + for (int k = 0; k < 3; ++k) { + adapt_chroma[i][j] += MaBradford[i][k] * cone_ma_one[k][j]; + } + } + } + + Matrix mat_xyz_brad = {}; + + for (int i = 0; i < 3; ++i) { + for (int j = 0; j < 3; ++j) { + mat_xyz_brad[i][j] = 0; + + for (int k = 0; k < 3; ++k) { + mat_xyz_brad[i][j] += mat_xyz[i][k] * adapt_chroma[k][j]; + } + } + } + + //push result in pxyz + for (int i = 0; i < 3; ++i) { + for (int j = 0; j < 3; ++j) { + pxyz[i * 3 + j] = mat_xyz_brad[i][j]; + } + } +} /* * Gamut mapping algorithm @@ -1930,13 +2078,19 @@ void Color::Lch2Luv(float c, float h, float &u, float &v) * columns of the matrix p=xyz_rgb are RGB tristimulus primaries in XYZ * c is the color fixed on the boundary; and m=0 for c=0, m=1 for c=255 */ + void Color::gamutmap(float &X, float Y, float &Z, const double p[3][3]) { - float u = 4 * X / (X + 15 * Y + 3 * Z) - u0; - float v = 9 * Y / (X + 15 * Y + 3 * Z) - v0; - + float epsil = 0.0001f; + float intermXYZ = X + 15 * Y + 3 * Z; + if(intermXYZ <= 0.f) { + intermXYZ = epsil; + } + + float u = 4 * X / (intermXYZ) - u0; + float v = 9 * Y / (intermXYZ) - v0; float lam[3][2]; - float lam_min = 1.0; + float lam_min = 1.0f; for (int c = 0; c < 3; c++) for (int m = 0; m < 2; m++) { @@ -1954,17 +2108,24 @@ void Color::gamutmap(float &X, float Y, float &Z, const double p[3][3]) p[0][c] * (5 * Y * p[1][c1] + m * 65535 * p[1][c1] * p[2][c2] + Y * p[2][c1] - m * 65535 * p[1][c2] * p[2][c1]) + m * 65535 * p[0][c2] * (p[1][c1] * p[2][c] - p[1][c] * p[2][c1]))); - if (lam[c][m] < lam_min && lam[c][m] > 0) { + if (lam[c][m] < lam_min && lam[c][m] > 0.f) { lam_min = lam[c][m]; } } - u = u * lam_min + u0; - v = v * lam_min + v0; + u = u * (double) lam_min + u0; + v = v * (double) lam_min + v0; X = (9 * u * Y) / (4 * v); - Z = (12 - 3 * u - 20 * v) * Y / (4 * v); + float intermuv = 12 - 3 * u - 20 * v; + if(intermuv < 0.f) { + intermuv = 0.f; + } + Z = (intermuv) * Y / (4 * v); + + + } void Color::skinredfloat ( float J, float h, float sres, float Sp, float dred, float protect_red, int sk, float rstprotection, float ko, float &s) diff --git a/rtengine/color.h b/rtengine/color.h index 0fae99a5d..3622a9e36 100644 --- a/rtengine/color.h +++ b/rtengine/color.h @@ -1847,6 +1847,13 @@ static inline void Lab2XYZ(vfloat L, vfloat a, vfloat b, vfloat &x, vfloat &y, v */ static void gamutmap(float &X, float Y, float &Z, const double p[3][3]); + /** + * @brief Convert primaries in XYZ values in function of illuminant + * @param p primaries red, gree, blue + * @param Wx Wy white for illuminant + * @param pxyz return matrix XYZ + */ + static void primaries_to_xyz (double p[6], double Wx, double Wz, double *pxyz); /** * @brief Get HSV's hue from the Lab's hue @@ -1889,6 +1896,59 @@ static inline void Lab2XYZ(vfloat L, vfloat a, vfloat b, vfloat &x, vfloat &y, v return (hr); } + static inline double huejz_to_huehsv2 (float HH) + { + //hr=translate Hue Jz value (-Pi +Pi) in approximative hr (hsv values) (0 1) + // with multi linear correspondences (I expect another time with Jz there is no error !!) + double hr = 0.0; + //always put h between 0 and 1 + // make with my chart 468 colors... + // HH ==> Hz value ; hr HSv value + if (HH >= 0.2f && HH < 0.75f) { + hr = 0.12727273 * double(HH) + 0.90454551;//hr 0.93 1.00 full red + } else if (HH >= 0.75f && HH < 1.35f) { + hr = 0.15 * double(HH) - 0.1125;//hr 0.00 0.09 red yellow orange + } else if (HH >= 1.35f && HH < 1.85f) { + hr = 0.32 * double(HH) - 0.342; //hr 0.09 0.25 orange yellow + } else if (HH >= 1.85f && HH < 2.46f) { + hr = 0.23442623 * double(HH) -0.18368853;//hr 0.25 0.393 yellow green green + } else if (HH >= 2.46f && HH < 3.14159f) { + hr = 0.177526 * double(HH) -0.043714;//hr 0.393 0.51315 green ==> 0.42 Lab + } else if (HH >= -3.14159f && HH < -2.89f) { + hr = 0.3009078 * double(HH) + 1.459329;//hr 0.51315 0.5897 green cyan ==> -2.30 Lab + } else if (HH >= -2.89f && HH < -2.7f) { + hr = 0.204542 * double(HH) + 1.1808264;//hr 0.5897 0.628563 cyan + } else if (HH >= -2.7f && HH < -2.17f) { + hr = 0.121547 * double(HH) + 0.956399;//hr 0.628563 0.692642 blue blue-sky + } else if (HH >= -2.17f && HH < -0.9f) { + hr = 0.044882 * double(HH) + 0.789901;//hr 0.692642 0.749563 blue blue-sky + } else if (HH >= -0.9f && HH < -0.1f) { + hr = 0.2125 * double(HH) + 0.940813;//hr 0.749563 0.919563 purple magenta + } else if (HH >= -0.1f && HH < 0.2f) { + hr = 0.03479 * double(HH) + 0.923042;//hr 0.919563 0.93 red + } + // in case of ! + if (hr < 0.0) { + hr += 1.0; + } else if(hr > 1.0) { + hr -= 1.0; + } + + return (hr); + } + +// HSV 0.93 1.0 red - Lab 0.0 0.6 Jz 0.20 0.75 +// HSV 0.00 0.9 red orange - Lab 0.6 1.4 Jz 0.50 1.35 +// HSV 0.09 0.25 oran - yellow - Lab 1.4 2.0 Jz 1.35 1.85 +// HSV 0.25 0.39 yellow - gree - Lab 2.0 3.0 Jz 1.85 2.40 +// HSV 0.39 0.50 green - cyan Lab 3.0 -2.8 Jz 2.40 3.10 +// HSV 0.50 0.58 cyan Lab-2.8 -2.3 Jz 3.10 -2.90 +// HSV 0.58 0.69 blue - sky Lab-2.3 -1.3 Jz -2.90 -2.17 +// HSV 0.69 0.75 blue - Lab-1.3 -0.9 Jz -2.17 -0.90 +// HSV 0.75 0.92 purple - Lab-0.9 -0.1 Jz -0.9 -0.10 +// HSV 0.92 0.93 magenta Lab-0.1 0.0 Jz -0.1 0.20 + + static inline void RGB2Y(const float* R, const float* G, const float* B, float* Y1, float * Y2, int W) { int i = 0; #ifdef __SSE2__ diff --git a/rtengine/colortemp.cc b/rtengine/colortemp.cc index 417476876..a4dd8a4d1 100644 --- a/rtengine/colortemp.cc +++ b/rtengine/colortemp.cc @@ -33,7 +33,7 @@ namespace rtengine { -static const double cie_colour_match_jd2[97][3] = {//350nm to 830nm 5 nm J.Desmis 2° Standard Observer. +static double cie_colour_match_jd2[97][3] = {//350nm to 830nm 5 nm J.Desmis 2° Standard Observer. {0.0000000, 0.000000, 0.000000}, {0.0000000, 0.000000, 0.000000}, {0.0001299, 0.0003917, 0.0006061}, {0.0002321, 0.000006965, 0.001086}, {0.0004149, 0.00001239, 0.001946}, {0.0007416, 0.00002202, 0.003846}, {0.001368, 0.000039, 0.006450001}, {0.002236, 0.000064, 0.01054999}, {0.004243, 0.000120, 0.02005001}, @@ -70,7 +70,7 @@ static const double cie_colour_match_jd2[97][3] = {//350nm to 830nm 5 nm J.Des }; -static double cie_colour_match_jd[97][3] = {//350nm to 830nm 5 nm J.Desmis 10° Standard Observer. +static const double cie_colour_match_jd[97][3] = {//350nm to 830nm 5 nm J.Desmis 10° Standard Observer. {0.000000000000, 0.000000000000, 0.000000000000}, {0.000000000000, 0.000000000000, 0.000000000000}, {0.000000122200, 0.000000013398, 0.000000535027}, @@ -3388,7 +3388,7 @@ The next 3 methods are inspired from: this values are often called xBar yBar zBar and are characteristics of a color / illuminant -values cie_colour_match[][3] = 2° Standard Observer x2, y2, z2 +values cie_colour_match2[][3] = 2° Standard Observer x2, y2, z2 E.g. for 380nm: x2=0.001368 y2=0.000039 z2=0.006451 round in J.Walker to 0.0014 0.0000 0.0065 above I have increase precision used by J.Walker and pass to 350nm to 830nm And also add 10° standard observer @@ -3401,9 +3401,9 @@ void ColorTemp::spectrum_to_xyz_daylight(double _m1, double _m2, double &x, doub for (i = 0, lambda = 350.; lambda < 830.1; i++, lambda += 5.) { double Me = daylight_spect(lambda, _m1, _m2); - X += Me * cie_colour_match_jd[i][0]; - Y += Me * cie_colour_match_jd[i][1]; - Z += Me * cie_colour_match_jd[i][2]; + X += Me * cie_colour_match_jd2[i][0]; + Y += Me * cie_colour_match_jd2[i][1]; + Z += Me * cie_colour_match_jd2[i][2]; } XYZ = (X + Y + Z); @@ -3419,9 +3419,9 @@ void ColorTemp::spectrum_to_xyz_blackbody(double _temp, double &x, double &y, do for (i = 0, lambda = 350.; lambda < 830.1; i++, lambda += 5.) { double Me = blackbody_spect(lambda, _temp); - X += Me * cie_colour_match_jd[i][0]; - Y += Me * cie_colour_match_jd[i][1]; - Z += Me * cie_colour_match_jd[i][2]; + X += Me * cie_colour_match_jd2[i][0]; + Y += Me * cie_colour_match_jd2[i][1]; + Z += Me * cie_colour_match_jd2[i][2]; } XYZ = (X + Y + Z); @@ -3447,16 +3447,16 @@ void ColorTemp::spectrum_to_xyz_preset(const double* spec_intens, double &x, dou this values are often called xBar yBar zBar and are characteristics of a color / illuminant - values cie_colour_match[][3] = 2° Standard Observer x2, y2, z2 + values cie_colour_match_jd2[][3] = 2° Standard Observer x2, y2, z2 E.g. for 380nm: x2=0.001368 y2=0.000039 z2=0.006451 round in J.Walker to 0.0014 0.0000 0.0065 above I have increased the precision used by J.Walker and pass from 350nm to 830nm And also add standard observer 10° */ for (i = 0, lambda = 350.; lambda < 830.1; i++, lambda += 5.) { double Me = get_spectral_color(lambda, spec_intens); - X += Me * cie_colour_match_jd[i][0]; - Y += Me * cie_colour_match_jd[i][1]; - Z += Me * cie_colour_match_jd[i][2]; + X += Me * cie_colour_match_jd2[i][0]; + Y += Me * cie_colour_match_jd2[i][1]; + Z += Me * cie_colour_match_jd2[i][2]; } XYZ = (X + Y + Z); @@ -3478,9 +3478,9 @@ void ColorTemp::spectrum_to_color_xyz_preset(const double* spec_color, const dou Me = get_spectral_color(lambda, spec_color); Mc = get_spectral_color(lambda, spec_intens); - X += Mc * cie_colour_match_jd[i][0] * Me; - Y += Mc * cie_colour_match_jd[i][1] * Me; - Z += Mc * cie_colour_match_jd[i][2] * Me; + X += Mc * cie_colour_match_jd2[i][0] * Me; + Y += Mc * cie_colour_match_jd2[i][1] * Me; + Z += Mc * cie_colour_match_jd2[i][2] * Me; } for (i = 0, lambda = 350; lambda < 830.1; i++, lambda += 5) { @@ -3488,7 +3488,7 @@ void ColorTemp::spectrum_to_color_xyz_preset(const double* spec_color, const dou double Ms; Ms = get_spectral_color(lambda, spec_intens); - Yo += cie_colour_match_jd[i][1] * Ms; + Yo += cie_colour_match_jd2[i][1] * Ms; } xx = X / Yo; @@ -3505,9 +3505,9 @@ void ColorTemp::spectrum_to_color_xyz_daylight(const double* spec_color, double for (i = 0, lambda = 350; lambda < 830.1; i++, lambda += 5) { const double Me = spec_color[i]; const double Mc = daylight_spect(lambda, _m1, _m2); - X += Mc * cie_colour_match_jd[i][0] * Me; - Y += Mc * cie_colour_match_jd[i][1] * Me; - Z += Mc * cie_colour_match_jd[i][2] * Me; + X += Mc * cie_colour_match_jd2[i][0] * Me; + Y += Mc * cie_colour_match_jd2[i][1] * Me; + Z += Mc * cie_colour_match_jd2[i][2] * Me; } xx = X / Y; @@ -3524,9 +3524,9 @@ void ColorTemp::spectrum_to_color_xyz_blackbody(const double* spec_color, double for (i = 0, lambda = 350; lambda < 830.1; i++, lambda += 5) { const double Me = spec_color[i]; const double Mc = blackbody_spect(lambda, _temp); - X += Mc * cie_colour_match_jd[i][0] * Me; - Y += Mc * cie_colour_match_jd[i][1] * Me; - Z += Mc * cie_colour_match_jd[i][2] * Me; + X += Mc * cie_colour_match_jd2[i][0] * Me; + Y += Mc * cie_colour_match_jd2[i][1] * Me; + Z += Mc * cie_colour_match_jd2[i][2] * Me; } xx = X / Y; @@ -3544,14 +3544,14 @@ double ColorTemp::daylight_spect(double wavelength, double m1, double m2) 53.30, 56.10, 58.90, 60.40, 61.90 }; //s1 - static const double s1[97] = {41.60, 39.80, 38.00, 40.70, 43.40, 40.95, 38.50, 36.75, 35.00, 39.20, 43.40, 44.85, 46.30, 45.10, 43.90, 40.50, 37.10, 36.90, 36.70, 36.30, 35.90, 34.25, 32.60, 30.25, 27.90, 26.10, 24.30, 22.20, 20.10, 18.15, 16.20, 14.70, + static const double s1[97] = {41.60, 39.80, 38.00, 40.20, 42.40, 40.45, 38.50, 36.75, 35.00, 39.20, 43.40, 44.85, 46.30, 45.10, 43.90, 40.50, 37.10, 36.90, 36.70, 36.30, 35.90, 34.25, 32.60, 30.25, 27.90, 26.10, 24.30, 22.20, 20.10, 18.15, 16.20, 14.70, 13.20, 10.90, 8.60, 7.35, 6.10, 5.15, 4.20, 3.05, 1.90, 0.95, 0.00, -0.80, -1.60, -2.55, -3.50, -3.50, -3.50, -4.65, -5.80, -6.50, -7.20, -7.90, -8.60, -9.05, -9.50, -10.20, -10.90, -10.80, -10.70, -11.35, -12.00, -13.00, -14.00, - -13.80, -13.60, -12.80, -12.00, -12.65, -13.30, -13.10, -12.90, -11.75, -10.60, -11.10, -11.60, -11.90, -12.20, -11.20, -10.20, -9.00, -7.80, -9.50, -11.20, -10.80, -10.50, -10.60, -10.15, -9.70, -9.00, -8.30, + -13.80, -13.60, -12.80, -12.00, -12.65, -13.30, -13.10, -12.90, -11.75, -10.60, -11.10, -11.60, -11.90, -12.20, -11.20, -10.20, -9.00, -7.80, -9.50, -11.20, -10.80, -10.40, -10.50, -10.60, -10.15, -9.70, -9.00, -8.30, -8.80, -9.30, -9.55, -9.80 }; //s2 static const double s2[97] = {6.70, 6.00, 5.30, 5.70, 6.10, 4.55, 3.00, 2.10, 1.20, 0.05, -1.10, -0.80, -0.50, -0.60, -0.70, -0.95, -1.20, -1.90, -2.60, -2.75, -2.90, -2.85, -2.80, -2.70, -2.60, -2.60, -2.60, -2.20, -1.80, -1.65, -1.50, -1.40, -1.30, - -1.25, -1.20, -1.10, -1.00, -0.75, -0.50, -0.40, -0.30, -0.15, 0.00, 0.10, 0.20, 0.35, 0.50, 1.30, 2.10, 2.65, 3.65, 4.10, 4.40, 4.70, 4.90, 5.10, 5.90, 6.70, 7.00, 7.30, 7.95, 8.60, 9.20, 9.80, 10.00, 10.20, 9.25, 8.30, 8.95, + -1.25, -1.20, -1.10, -1.00, -0.75, -0.50, -0.40, -0.30, -0.15, 0.00, 0.10, 0.20, 0.35, 0.50, 1.30, 2.10, 2.65, 3.20, 3.65, 4.10, 4.40, 4.70, 4.90, 5.10, 5.90, 6.70, 7.00, 7.30, 7.95, 8.60, 9.20, 9.80, 10.00, 10.20, 9.25, 8.30, 8.95, 9.60, 9.05, 8.50, 7.75, 7.00, 7.30, 7.60, 7.80, 8.00, 7.35, 6.70, 5.95, 5.20, 6.30, 7.40, 7.10, 6.80, 6.90, 7.00, 6.70, 6.40, 5.95, 5.50, 5.80, 6.10, 6.30, 6.50 }; @@ -3769,11 +3769,11 @@ void ColorTemp::tempxy(bool separated, int repref, float **Tx, float **Ty, float } } - if (settings->itcwb_stdobserver10 == false) { + if (settings->itcwb_stdobserver10 == true) { for (int i = 0; i < 97; i++) { - cie_colour_match_jd[i][0] = cie_colour_match_jd2[i][0]; - cie_colour_match_jd[i][1] = cie_colour_match_jd2[i][1];; - cie_colour_match_jd[i][2] = cie_colour_match_jd2[i][2]; + cie_colour_match_jd2[i][0] = cie_colour_match_jd[i][0]; + cie_colour_match_jd2[i][1] = cie_colour_match_jd[i][1];; + cie_colour_match_jd2[i][2] = cie_colour_match_jd[i][2]; } } diff --git a/rtengine/curves.cc b/rtengine/curves.cc index c6bf86954..81d5b175b 100644 --- a/rtengine/curves.cc +++ b/rtengine/curves.cc @@ -3460,12 +3460,13 @@ void PerceptualToneCurve::BatchApply(const size_t start, const size_t end, float Color::Prophotoxyz(r, g, b, x, y, z); float J, C, h; - int c16 = 1; + int c16 = 1;//always Cat02....to reserve compatibility + float plum = 100.f; Ciecam02::xyz2jch_ciecam02float(J, C, h, aw, fl, x * 0.0015259022f, y * 0.0015259022f, z * 0.0015259022f, xw, yw, zw, - c, nc, pow1, nbb, ncb, cz, d, c16); + c, nc, pow1, nbb, ncb, cz, d, c16, plum); if (!isfinite(J) || !isfinite(C) || !isfinite(h)) { @@ -3583,7 +3584,7 @@ void PerceptualToneCurve::BatchApply(const size_t start, const size_t end, float Ciecam02::jch2xyz_ciecam02float(x, y, z, J, C, h, xw, yw, zw, - c, nc, pow1, nbb, ncb, fl, cz, d, aw, c16); + c, nc, pow1, nbb, ncb, fl, cz, d, aw, c16, plum); if (!isfinite(x) || !isfinite(y) || !isfinite(z)) { // can happen for colours on the rim of being outside gamut, that worked without chroma scaling but not with. Then we return only the curve's result. @@ -3699,8 +3700,9 @@ void PerceptualToneCurve::init() c = 0.69f; nc = 1.00f; int c16 = 1;//with cat02 for compatibility + float plum = 100.f; Ciecam02::initcam1float(yb, 1.f, f, la, xw, yw, zw, n, d, nbb, ncb, - cz, aw, wh, pfl, fl, c, c16); + cz, aw, wh, pfl, fl, c, c16, plum); pow1 = pow_F(1.64f - pow_F(0.29f, n), 0.73f); { diff --git a/rtengine/curves.h b/rtengine/curves.h index 8800e54db..02503aff2 100644 --- a/rtengine/curves.h +++ b/rtengine/curves.h @@ -142,11 +142,19 @@ protected: double lx = xlog(x); return m2 * x + (1.0 - m2) * (2.0 - xexp(k * lx)) * xexp(l * lx); } + static inline double basel_alt(double x) + { + return (2.0 - x) * x * x * x; + } // basic concave function between (0,0) and (1,1). m1 and m2 controls the slope at the start and end point static inline double baseu(double x, double m1, double m2) { return 1.0 - basel(1.0 - x, m1, m2); } + static inline double baseu_alt(double x) + { + return x * (2.0 + (x - 2.0) * x * x); + } // convex curve between (0,0) and (1,1) with slope m at (0,0). hr controls the highlight recovery static inline double cupper(double x, double m, double hr) { @@ -448,6 +456,13 @@ protected: { return (1 - sh) * (1 - hl) * p00(x, prot) + sh * hl * p11(x, prot) + (1 - sh) * hl * p01(x, prot) + sh * (1 - hl) * p10(x, prot); } + static inline double pfull_alt(double x, double sh, double hl) + { + double t = (1.0 - sh) * (1.0 - hl) * CurveFactory::basel_alt(x) + sh * hl * CurveFactory::baseu_alt(x); + return x <= 0.5 + ? t + (1.0 - sh) * hl * CurveFactory::basel_alt(2.0 * x) * 0.5 + sh * (1.0 - hl) * CurveFactory::baseu_alt(2.0 * x) * 0.5 + : t + (1.0 - sh) * hl * (0.5 + CurveFactory::baseu_alt(2.0 * x - 1.0) * 0.5) + sh * (1.0 - hl) * (0.5 + CurveFactory::basel_alt(2.0 * x - 1.0) * 0.5); + } void fillHash(); void fillDyByDx(); diff --git a/rtengine/dcp.cc b/rtengine/dcp.cc index a858a0e71..1f9de0158 100644 --- a/rtengine/dcp.cc +++ b/rtengine/dcp.cc @@ -2114,7 +2114,7 @@ inline void DCPProfile::hsdApply(const HsdTableInfo& table_info, const std::vect } } -bool DCPProfile::isValid() +bool DCPProfile::isValid() const { return valid; } @@ -2196,7 +2196,7 @@ void DCPStore::init(const Glib::ustring& rt_profile_dir, bool loadAll) } } -bool DCPStore::isValidDCPFileName(const Glib::ustring& filename) const +bool DCPStore::isValidDCPFileName(const Glib::ustring& filename) { if (!Glib::file_test(filename, Glib::FILE_TEST_EXISTS) || Glib::file_test(filename, Glib::FILE_TEST_IS_DIR)) { return false; diff --git a/rtengine/dcp.h b/rtengine/dcp.h index 573349348..2aec6da12 100644 --- a/rtengine/dcp.h +++ b/rtengine/dcp.h @@ -63,7 +63,7 @@ public: bool getHasBaselineExposureOffset() const; Illuminants getIlluminants() const; - bool isValid(); + bool isValid() const; void apply( Imagefloat* img, @@ -159,7 +159,7 @@ public: void init(const Glib::ustring& rt_profile_dir, bool loadAll = true); - bool isValidDCPFileName(const Glib::ustring& filename) const; + static bool isValidDCPFileName(const Glib::ustring& filename); DCPProfile* getProfile(const Glib::ustring& filename) const; DCPProfile* getStdProfile(const Glib::ustring& camShortName) const; diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc index 275b35d81..8eca727b4 100644 --- a/rtengine/dcraw.cc +++ b/rtengine/dcraw.cc @@ -21,7 +21,6 @@ /*RT*/#define LOCALTIME /*RT*/#define DJGPP /*RT*/#include "jpeg.h" -/*RT*/#include "lj92.h" /*RT*/#ifdef _OPENMP /*RT*/#include /*RT*/#endif @@ -923,7 +922,7 @@ ushort * CLASS ljpeg_row (int jrow, struct jhead *jh) } getbits(-1); } - FORC3 row[c] = (jh->row + ((jrow & 1) + 1) * (jh->wide*jh->clrs*((jrow+c) & 1))); + FORC3 row[c] = jh->row + jh->wide*jh->clrs*((jrow+c) & 1); for (col=0; col < jh->wide; col++) FORC(jh->clrs) { diff = ljpeg_diff (jh->huff[c]); @@ -1126,61 +1125,6 @@ void CLASS ljpeg_idct (struct jhead *jh) FORC(64) jh->idct[c] = CLIP(((float *)work[2])[c]+0.5); } -void CLASS lossless_dnglj92_load_raw() -{ - BENCHFUN - - tiff_bps = 16; - - int save = ifp->pos; - uint16_t *lincurve = !strncmp(make,"Blackmagic",10) ? curve : nullptr; - tile_width = tile_length < INT_MAX ? tile_width : raw_width; - size_t tileCount = raw_width / tile_width; - - size_t dataOffset[tileCount]; - if(tile_length < INT_MAX) { - for (size_t t = 0; t < tileCount; ++t) { - dataOffset[t] = get4(); - } - } else { - dataOffset[0] = ifp->pos; - } - const int data_length = ifp->size; - const std::unique_ptr data(new uint8_t[data_length]); - fseek(ifp, 0, SEEK_SET); - // read whole file - fread(data.get(), 1, data_length, ifp); - lj92 lj; - int newwidth, newheight, newbps; - lj92_open(&lj, &data[dataOffset[0]], data_length, &newwidth, &newheight, &newbps); - lj92_close(lj); - if (newwidth * newheight * tileCount != raw_width * raw_height) { - // not a lj92 file - fseek(ifp, save, SEEK_SET); - lossless_dng_load_raw(); - return; - } - -#ifdef _OPENMP - #pragma omp parallel for num_threads(std::min(tileCount, omp_get_max_threads())) -#endif - for (size_t t = 0; t < tileCount; ++t) { - size_t tcol = t * tile_width; - lj92 lj; - int newwidth, newheight, newbps; - lj92_open(&lj, &data[dataOffset[t]], data_length, &newwidth, &newheight, &newbps); - - const std::unique_ptr target(new uint16_t[newwidth * newheight]); - lj92_decode(lj, target.get(), tile_width, 0, lincurve, 0x1000); - for (int y = 0; y < height; ++y) { - for(int x = 0; x < tile_width; ++x) { - RAW(y, x + tcol) = target[y * tile_width + x]; - } - } - lj92_close(lj); - } -} - void CLASS lossless_dng_load_raw() { unsigned save, trow=0, tcol=0, jwide, jrow, jcol, row, col, i, j; @@ -2019,7 +1963,7 @@ void CLASS phase_one_load_raw_c() #endif { int len[2], pred[2]; - IMFILE ifpthr = *ifp; + rtengine::IMFILE ifpthr = *ifp; ifpthr.plistener = nullptr; #ifdef _OPENMP @@ -2520,6 +2464,30 @@ void CLASS unpacked_load_raw() } } +// RT - from LibRaw +void CLASS unpacked_load_raw_FujiDBP() +/* +for Fuji DBP for GX680, aka DX-2000 + DBP_tile_width = 688; + DBP_tile_height = 3856; + DBP_n_tiles = 8; +*/ +{ + int scan_line, tile_n; + int nTiles = 8; + tile_width = raw_width / nTiles; + ushort *tile; + tile = (ushort *) calloc(raw_height, tile_width * 2); + for (tile_n = 0; tile_n < nTiles; tile_n++) { + read_shorts(tile, tile_width * raw_height); + for (scan_line = 0; scan_line < raw_height; scan_line++) { + memcpy(&raw_image[scan_line * raw_width + tile_n * tile_width], + &tile[scan_line * tile_width], tile_width * 2); + } + } + free(tile); + fseek(ifp, -2, SEEK_CUR); // avoid EOF error +} // RT void CLASS sony_arq_load_raw() @@ -3373,7 +3341,7 @@ void CLASS sony_arw2_load_raw() { uchar *data = new (std::nothrow) uchar[raw_width + 1]; merror(data, "sony_arw2_load_raw()"); - IMFILE ifpthr = *ifp; + rtengine::IMFILE ifpthr = *ifp; int pos = ifpthr.pos; ushort pix[16]; @@ -4453,6 +4421,12 @@ void CLASS crop_masked_pixels() } } } else { + if (height + top_margin > raw_height) { + top_margin = raw_height - height; + } + if (width + left_margin > raw_width) { + left_margin = raw_width - width; + } #ifdef _OPENMP #pragma omp parallel for #endif @@ -6111,13 +6085,56 @@ get2_256: offsetChannelBlackLevel2 = save1 + (0x0149 << 1); offsetWhiteLevels = save1 + (0x031c << 1); break; + case 2024: // 1D X Mark III, ColorDataSubVer 32 + // imCanon.ColorDataVer = 10; + imCanon.ColorDataSubVer = get2(); + fseek(ifp, save1 + (0x0055 << 1), SEEK_SET); + FORC4 cam_mul[c ^ (c >> 1)/*RGGB_2_RGBG(c)*/] = (float)get2(); + // get2(); + // FORC4 icWBC[LIBRAW_WBI_Auto][RGGB_2_RGBG(c)] = get2(); + // get2(); + // FORC4 icWBC[LIBRAW_WBI_Measured][RGGB_2_RGBG(c)] = get2(); + // fseek(ifp, save1 + (0x0096 << 1), SEEK_SET); + // Canon_WBpresets(2, 12); + // fseek(ifp, save1 + (0x0118 << 1), SEEK_SET); + // Canon_WBCTpresets(0); + offsetChannelBlackLevel = save1 + (0x0326 << 1); + offsetChannelBlackLevel2 = save1 + (0x0157 << 1); + offsetWhiteLevels = save1 + (0x032a << 1); + break; + case 3656: // EOS R6, ColorDataSubVer 33 + // imCanon.ColorDataVer = 10; + imCanon.ColorDataSubVer = get2(); + + // The constant 0x0055 was found in LibRaw; more specifically by + // spelunking in LibRaw:src/metadata/canon.cpp. + fseek(ifp, save1 + (0x0055 << 1), SEEK_SET); + FORC4 cam_mul[c ^ (c >> 1)] = (float)get2(); + + offsetChannelBlackLevel = save1 + (0x326 << 1); + offsetChannelBlackLevel2 = save1 + (0x157 << 1); + offsetWhiteLevels = save1 + (0x32a << 1); + break; + case 3973: // R3; ColorDataSubVer: 34 + case 3778: // R7, R10; ColorDataSubVer: 48 + // imCanon.ColorDataVer = 11; + imCanon.ColorDataSubVer = get2(); + + fseek(ifp, save1 + ((0x0069+0x0064) << 1), SEEK_SET); + FORC4 cam_mul[c ^ (c >> 1)] = (float)get2(); + + offsetChannelBlackLevel2 = save1 + ((0x0069+0x0102) << 1); + offsetChannelBlackLevel = save1 + ((0x0069+0x0213) << 1); + offsetWhiteLevels = save1 + ((0x0069+0x0217) << 1); + break; } if (offsetChannelBlackLevel) { fseek(ifp, offsetChannelBlackLevel, SEEK_SET); FORC4 - bls += (cblack/*imCanon.ChannelBlackLevel*/[c ^ (c >> 1)] = get2()); + bls += (RT_canon_levels_data.cblack/*imCanon.ChannelBlackLevel*/[c ^ (c >> 1)] = get2()); + RT_canon_levels_data.black_ok = true; imCanon.AverageBlackLevel = bls / 4; // RT_blacklevel_from_constant = ThreeValBool::F; } @@ -6129,7 +6146,8 @@ get2_256: imCanon.SpecularWhiteLevel = get2(); // FORC4 // imgdata.color.linear_max[c] = imCanon.SpecularWhiteLevel; - maximum = imCanon.SpecularWhiteLevel; + RT_canon_levels_data.white = imCanon.SpecularWhiteLevel; + RT_canon_levels_data.white_ok = true; // RT_whitelevel_from_constant = ThreeValBool::F; } @@ -6137,7 +6155,8 @@ get2_256: { fseek(ifp, offsetChannelBlackLevel2, SEEK_SET); FORC4 - bls += (cblack/*imCanon.ChannelBlackLevel*/[c ^ (c >> 1)] = get2()); + bls += (RT_canon_levels_data.cblack/*imCanon.ChannelBlackLevel*/[c ^ (c >> 1)] = get2()); + RT_canon_levels_data.black_ok = true; imCanon.AverageBlackLevel = bls / 4; // RT_blacklevel_from_constant = ThreeValBool::F; } @@ -6324,12 +6343,13 @@ void CLASS parse_mos (int offset) void CLASS linear_table (unsigned len) { - int i; - if (len > 0x1000) len = 0x1000; - read_shorts (curve, len); - for (i=len; i < 0x1000; i++) - curve[i] = curve[i-1]; - maximum = curve[0xfff]; + const unsigned maxLen = std::min(0x10000ull, 1ull << tiff_bps); + len = std::min(len, maxLen); + read_shorts(curve, len); + maximum = curve[len - 1]; + for (std::size_t i = len; i < maxLen; ++i) { + curve[i] = maximum; + } } void CLASS parse_kodak_ifd (int base) @@ -6387,7 +6407,7 @@ int CLASS parse_tiff_ifd (int base) unsigned sony_curve[] = { 0,0,0,0,0,4095 }; unsigned *buf, sony_offset=0, sony_length=0, sony_key=0; struct jhead jh; -/*RT*/ IMFILE *sfp; +/*RT*/ rtengine::IMFILE *sfp; /*RT*/ int pana_raw = 0; if (tiff_nifds >= sizeof tiff_ifd / sizeof tiff_ifd[0]) @@ -6454,6 +6474,9 @@ int CLASS parse_tiff_ifd (int base) case 3: case 257: case 61442: /* ImageHeight */ tiff_ifd[ifd].height = getint(type); break; + case 254: + tiff_ifd[ifd].new_sub_file_type = getint(type); + break; case 258: /* BitsPerSample */ case 61443: tiff_ifd[ifd].samples = len & 7; @@ -6787,14 +6810,17 @@ guess_cfa_pc: linear_table (len); break; case 50713: /* BlackLevelRepeatDim */ + if (tiff_ifd[ifd].new_sub_file_type != 0) continue; cblack[4] = get2(); cblack[5] = get2(); if (cblack[4] * cblack[5] > sizeof cblack / sizeof *cblack - 6) cblack[4] = cblack[5] = 1; break; case 61450: + if (tiff_ifd[ifd].new_sub_file_type != 0) continue; cblack[4] = cblack[5] = MIN(sqrt(len),64); case 50714: /* BlackLevel */ + if (tiff_ifd[ifd].new_sub_file_type != 0) continue; RT_blacklevel_from_constant = ThreeValBool::F; //----------------------------------------------------------------------------- // taken from LibRaw. @@ -6912,7 +6938,6 @@ it under the terms of the one of two licenses as you choose: unsigned oldOrder = order; order = 0x4d4d; // always big endian per definition in https://www.adobe.com/content/dam/acom/en/products/photoshop/pdfs/dng_spec_1.4.0.0.pdf chapter 7 unsigned ntags = get4(); // read the number of opcodes - if (ntags < ifp->size / 12) { // rough check for wrong value (happens for example with DNG files from DJI FC6310) while (ntags-- && !ifp->eof) { unsigned opcode = get4(); @@ -6931,8 +6956,48 @@ it under the terms of the one of two licenses as you choose: break; } case 51009: /* OpcodeList2 */ - meta_offset = ftell(ifp); - break; + { + meta_offset = ftell(ifp); + const unsigned oldOrder = order; + order = 0x4d4d; // always big endian per definition in https://www.adobe.com/content/dam/acom/en/products/photoshop/pdfs/dng_spec_1.4.0.0.pdf chapter 7 + unsigned ntags = get4(); // read the number of opcodes + if (ntags < ifp->size / 12) { // rough check for wrong value (happens for example with DNG files from DJI FC6310) + while (ntags-- && !ifp->eof) { + unsigned opcode = get4(); + if (opcode == 9 && gainMaps.size() < 4) { + fseek(ifp, 4, SEEK_CUR); // skip 4 bytes as we know that the opcode 4 takes 4 byte + fseek(ifp, 8, SEEK_CUR); // skip 8 bytes as they don't interest us currently + GainMap gainMap; + gainMap.Top = get4(); + gainMap.Left = get4(); + gainMap.Bottom = get4(); + gainMap.Right = get4(); + gainMap.Plane = get4(); + gainMap.Planes = get4(); + gainMap.RowPitch = get4(); + gainMap.ColPitch = get4(); + gainMap.MapPointsV = get4(); + gainMap.MapPointsH = get4(); + gainMap.MapSpacingV = getreal(12); + gainMap.MapSpacingH = getreal(12); + gainMap.MapOriginV = getreal(12); + gainMap.MapOriginH = getreal(12); + gainMap.MapPlanes = get4(); + const std::size_t n = static_cast(gainMap.MapPointsV) * static_cast(gainMap.MapPointsH) * static_cast(gainMap.MapPlanes); + gainMap.MapGain.reserve(n); + for (std::size_t i = 0; i < n; ++i) { + gainMap.MapGain.push_back(getreal(11)); + } + gainMaps.push_back(std::move(gainMap)); + } else { + fseek(ifp, 8, SEEK_CUR); // skip 8 bytes as they don't interest us currently + fseek(ifp, get4(), SEEK_CUR); + } + } + } + order = oldOrder; + break; + } case 64772: /* Kodak P-series */ if (len < 13) break; fseek (ifp, 16, SEEK_CUR); @@ -6951,7 +7016,7 @@ it under the terms of the one of two licenses as you choose: fread (buf, sony_length, 1, ifp); sony_decrypt (buf, sony_length/4, 1, sony_key); sfp = ifp; -/*RT*/ ifp = fopen (buf, sony_length); +/*RT*/ ifp = rtengine::fopen (buf, sony_length); // if ((ifp = tmpfile())) { // fwrite (buf, sony_length, 1, ifp); // fseek (ifp, 0, SEEK_SET); @@ -7259,7 +7324,7 @@ void CLASS parse_external_jpeg() { const char *file, *ext; char *jname, *jfile, *jext; -/*RT*/ IMFILE *save=ifp; +/*RT*/ rtengine::IMFILE *save=ifp; ext = strrchr (ifname, '.'); file = strrchr (ifname, '/'); @@ -7287,7 +7352,7 @@ void CLASS parse_external_jpeg() *jext = '0'; } if (strcmp (jname, ifname)) { -/*RT*/ if ((ifp = fopen (jname))) { +/*RT*/ if ((ifp = rtengine::fopen (jname))) { // if ((ifp = fopen (jname, "rb"))) { if (verbose) fprintf (stderr,_("Reading metadata from %s ...\n"), jname); @@ -9078,11 +9143,24 @@ void CLASS adobe_coeff (const char *make, const char *model) RT_matrix_from_constant = ThreeValBool::T; } // -- RT -------------------------------------------------------------------- - + for (i=0; i < sizeof table / sizeof *table; i++) if (!strncmp (name, table[i].prefix, strlen(table[i].prefix))) { - if (RT_blacklevel_from_constant == ThreeValBool::T && table[i].black) black = (ushort) table[i].black; - if (RT_whitelevel_from_constant == ThreeValBool::T && table[i].maximum) maximum = (ushort) table[i].maximum; + if (RT_blacklevel_from_constant == ThreeValBool::T && table[i].black) { + if (RT_canon_levels_data.black_ok) { + unsigned c; + FORC4 RT_canon_levels_data.cblack[c] = (ushort) table[i].black; + } else { + black = (ushort) table[i].black; + } + } + if (RT_whitelevel_from_constant == ThreeValBool::T && table[i].maximum) { + if (RT_canon_levels_data.white_ok) { + RT_canon_levels_data.white = (ushort) table[i].maximum; + } else { + maximum = (ushort) table[i].maximum; + } + } if (RT_matrix_from_constant == ThreeValBool::T && table[i].trans[0]) { for (raw_color = j=0; j < 12; j++) ((double *)cam_xyz)[j] = table[i].trans[j] / 10000.0; @@ -9231,6 +9309,7 @@ void CLASS identify() { 3944, 2622, 30, 18, 6, 2 }, { 3948, 2622, 42, 18, 0, 2 }, { 3984, 2622, 76, 20, 0, 2, 14 }, + { 4032, 2656, 112, 44, 10, 0 }, { 4104, 3048, 48, 12, 24, 12 }, { 4116, 2178, 4, 2, 0, 0 }, { 4152, 2772, 192, 12, 0, 0 }, @@ -9761,6 +9840,8 @@ void CLASS identify() if(!dng_version) {top_margin = 18; height -= top_margin; } if (height == 3014 && width == 4096) /* Ricoh GX200 */ width = 4014; + if (height == 3280 && width == 4992 && !strncmp(model, "D5100", 5)) + { --height; } // Last row contains corrupt data. See issue #5654. if (dng_version) { if (filters == UINT_MAX) filters = 0; if (filters) is_raw *= tiff_samples; @@ -9768,7 +9849,7 @@ void CLASS identify() switch (tiff_compress) { case 0: case 1: load_raw = &CLASS packed_dng_load_raw; break; - case 7: load_raw = (!strncmp(make,"Blackmagic",10) || !strncmp(make,"Canon",5)) ? &CLASS lossless_dnglj92_load_raw : &CLASS lossless_dng_load_raw; break; + case 7: load_raw = &CLASS lossless_dng_load_raw; break; case 8: load_raw = &CLASS deflate_dng_load_raw; break; case 34892: load_raw = &CLASS lossy_dng_load_raw; break; default: load_raw = 0; @@ -9865,7 +9946,8 @@ void CLASS identify() filters = 0; tiff_samples = colors = 3; load_raw = &CLASS canon_sraw_load_raw; - FORC4 cblack[c] = 0; // ALB + //FORC4 cblack[c] = 0; // ALB + RT_canon_levels_data.black_ok = RT_canon_levels_data.white_ok = false; } else if (!strcmp(model,"PowerShot 600")) { height = 613; width = 854; @@ -10048,6 +10130,9 @@ canon_a5: } else if (!strcmp(model, "X-Pro3") || !strcmp(model, "X-T3") || !strcmp(model, "X-T30") || !strcmp(model, "X-T4") || !strcmp(model, "X100V") || !strcmp(model, "X-S10")) { width = raw_width = 6384; height = raw_height = 4182; + } else if (!strcmp(model, "DBP for GX680")) { // Special case for #4204 + width = raw_width = 5504; + height = raw_height = 3856; } top_margin = (raw_height - height) >> 2 << 1; left_margin = (raw_width - width ) >> 2 << 1; @@ -10055,6 +10140,16 @@ canon_a5: if (width == 4032 || width == 4952 || width == 6032 || width == 8280) left_margin = 0; if (width == 3328 && (width -= 66)) left_margin = 34; if (width == 4936) left_margin = 4; + if (width == 5504) { // #4204, taken from LibRaw + left_margin = 32; + top_margin = 8; + width = raw_width - 2*left_margin; + height = raw_height - 2*top_margin; + load_raw = &CLASS unpacked_load_raw_FujiDBP; + filters = 0x16161616; + load_flags = 0; + flip = 6; + } if (!strcmp(model,"HS50EXR") || !strcmp(model,"F900EXR")) { width += 2; @@ -10531,6 +10626,14 @@ bw: colors = 1; } } dng_skip: + if (!dng_version && is_raw) { + if (RT_canon_levels_data.black_ok) { + FORC4 cblack[c] = RT_canon_levels_data.cblack[c]; + } + if (RT_canon_levels_data.white_ok) { + maximum = RT_canon_levels_data.white; + } + } if ((use_camera_matrix & (use_camera_wb || dng_version)) && cmatrix[0][0] > 0.125 && strncmp(RT_software.c_str(), "Adobe DNG Converter", 19) != 0 @@ -11015,6 +11118,70 @@ void CLASS nikon_14bit_load_raw() free(buf); } +bool CLASS isGainMapSupported() const { + if (!(dng_version && isBayer())) { + return false; + } + const auto n = gainMaps.size(); + if (n != 4) { // we need 4 gainmaps for bayer files + if (rtengine::settings->verbose) { + std::cout << "GainMap has " << n << " maps, but 4 are needed" << std::endl; + } + return false; + } + unsigned int check = 0; + bool noOp = true; + for (const auto &m : gainMaps) { + if (m.MapGain.size() < 1) { + if (rtengine::settings->verbose) { + std::cout << "GainMap has invalid size of " << m.MapGain.size() << std::endl; + } + return false; + } + if (m.MapGain.size() != static_cast(m.MapPointsV) * static_cast(m.MapPointsH) * static_cast(m.MapPlanes)) { + if (rtengine::settings->verbose) { + std::cout << "GainMap has size of " << m.MapGain.size() << ", but needs " << m.MapPointsV * m.MapPointsH * m.MapPlanes << std::endl; + } + return false; + } + if (m.RowPitch != 2 || m.ColPitch != 2) { + if (rtengine::settings->verbose) { + std::cout << "GainMap needs Row/ColPitch of 2/2, but has " << m.RowPitch << "/" << m.ColPitch << std::endl; + } + return false; + } + if (m.Top == 0){ + if (m.Left == 0) { + check += 1; + } else if (m.Left == 1) { + check += 2; + } + } else if (m.Top == 1) { + if (m.Left == 0) { + check += 4; + } else if (m.Left == 1) { + check += 8; + } + } + for (size_t i = 0; noOp && i < m.MapGain.size(); ++i) { + if (m.MapGain[i] != 1.f) { // we have at least one value != 1.f => map is not a nop + noOp = false; + } + } + } + if (noOp || check != 15) { // all maps are nops or the structure of the combination of 4 maps is not correct + if (rtengine::settings->verbose) { + if (noOp) { + std::cout << "GainMap is a nop" << std::endl; + } else { + std::cout << "GainMap has unsupported type : " << check << std::endl; + } + } + return false; + } + return true; +} + /* RT: Delete from here */ /*RT*/#undef SQR /*RT*/#undef MAX diff --git a/rtengine/dcraw.h b/rtengine/dcraw.h index 89c1fcaff..aadc0b969 100644 --- a/rtengine/dcraw.h +++ b/rtengine/dcraw.h @@ -19,9 +19,13 @@ #pragma once +#include +#include + #include "myfile.h" #include - +#include "dnggainmap.h" +#include "settings.h" class DCraw { @@ -73,7 +77,7 @@ public: protected: int exif_base, ciff_base, ciff_len; - IMFILE *ifp; + rtengine::IMFILE *ifp; FILE *ofp; short order; const char *ifname; @@ -125,7 +129,7 @@ protected: int cur_buf_size; // buffer size uchar *cur_buf; // currently read block int fillbytes; // Counter to add extra byte for block size N*16 - IMFILE *input; + rtengine::IMFILE *input; struct int_pair grad_even[3][41]; // tables of gradients struct int_pair grad_odd[3][41]; ushort *linealloc; @@ -165,6 +169,8 @@ protected: PanasonicRW2Info(): bpp(0), encoding(0) {} }; PanasonicRW2Info RT_pana_info; + std::vector gainMaps; + public: struct CanonCR3Data { // contents of tag CMP1 for relevant track in CR3 file @@ -182,18 +188,41 @@ public: int32_t hasTileCols; int32_t hasTileRows; int32_t mdatHdrSize; + int32_t medianBits; // Not from header, but from datastream uint32_t MediaSize; int64_t MediaOffset; uint32_t MediaType; /* 1 -> /C/RAW, 2-> JPEG */ }; - static constexpr size_t CRXTRACKS_MAXCOUNT = 16; + static constexpr int CRXTRACKS_MAXCOUNT = 16; crx_data_header_t crx_header[CRXTRACKS_MAXCOUNT]; - unsigned int crx_track_selected; + int crx_track_selected; short CR3_CTMDtag; }; + + bool isBayer() const + { + return (filters != 0 && filters != 9); + } + + const std::vector& getGainMaps() const { + return gainMaps; + } + + bool isGainMapSupported() const; + + struct CanonLevelsData { + unsigned cblack[4]; + unsigned white; + bool black_ok; + bool white_ok; + CanonLevelsData(): cblack{0}, white{0}, black_ok(false), white_ok(false) {} + }; + protected: CanonCR3Data RT_canon_CR3_data; + + CanonLevelsData RT_canon_levels_data; float cam_mul[4], pre_mul[4], cmatrix[3][4], rgb_cam[3][4]; @@ -209,7 +238,7 @@ protected: } first_decode[2048], *second_decode, *free_decode; struct tiff_ifd { - int width, height, bps, comp, phint, offset, flip, samples, bytes; + int new_sub_file_type, width, height, bps, comp, phint, offset, flip, samples, bytes; int tile_width, tile_length, sample_format, predictor; float shutter; } tiff_ifd[10]; @@ -278,7 +307,7 @@ void parse_redcine(); class getbithuff_t { public: - getbithuff_t(DCraw *p,IMFILE *&i, unsigned &z):parent(p),bitbuf(0),vbits(0),reset(0),ifp(i),zero_after_ff(z){} + getbithuff_t(DCraw *p,rtengine::IMFILE *&i, unsigned &z):parent(p),bitbuf(0),vbits(0),reset(0),ifp(i),zero_after_ff(z){} unsigned operator()(int nbits, ushort *huff); private: @@ -288,7 +317,7 @@ private: DCraw *parent; unsigned bitbuf; int vbits, reset; - IMFILE *&ifp; + rtengine::IMFILE *&ifp; unsigned &zero_after_ff; }; getbithuff_t getbithuff; @@ -296,7 +325,7 @@ getbithuff_t getbithuff; class nikbithuff_t { public: - explicit nikbithuff_t(IMFILE *&i):bitbuf(0),errors(0),vbits(0),ifp(i){} + explicit nikbithuff_t(rtengine::IMFILE *&i):bitbuf(0),errors(0),vbits(0),ifp(i){} void operator()() {bitbuf = vbits = 0;}; unsigned operator()(int nbits, ushort *huff); unsigned errorCount() { return errors; } @@ -309,7 +338,7 @@ private: } unsigned bitbuf, errors; int vbits; - IMFILE *&ifp; + rtengine::IMFILE *&ifp; }; nikbithuff_t nikbithuff; @@ -329,7 +358,6 @@ void ljpeg_idct (struct jhead *jh); void canon_sraw_load_raw(); void adobe_copy_pixel (unsigned row, unsigned col, ushort **rp); void lossless_dng_load_raw(); -void lossless_dnglj92_load_raw(); void packed_dng_load_raw(); void deflate_dng_load_raw(); void init_fuji_compr(struct fuji_compressed_params* info); @@ -378,7 +406,7 @@ void parse_qt (int end); // ph1_bithuff(int nbits, ushort *huff); class ph1_bithuff_t { public: - ph1_bithuff_t(DCraw *p, IMFILE *i, short &o):order(o),ifp(i),bitbuf(0),vbits(0){} + ph1_bithuff_t(DCraw *p, rtengine::IMFILE *i, short &o):order(o),ifp(i),bitbuf(0),vbits(0){} unsigned operator()(int nbits, ushort *huff); unsigned operator()(int nbits); unsigned operator()(); @@ -412,7 +440,7 @@ private: } short ℴ - IMFILE* const ifp; + rtengine::IMFILE* const ifp; UINT64 bitbuf; int vbits; }; @@ -423,6 +451,7 @@ void parse_hasselblad_gain(); void hasselblad_load_raw(); void leaf_hdr_load_raw(); void unpacked_load_raw(); +void unpacked_load_raw_FujiDBP(); void sinar_4shot_load_raw(); void imacon_full_load_raw(); void packed_load_raw(); @@ -430,11 +459,11 @@ void nokia_load_raw(); class pana_bits_t{ public: - pana_bits_t(IMFILE *i, unsigned &u, unsigned enc): + pana_bits_t(rtengine::IMFILE *i, unsigned &u, unsigned enc): ifp(i), load_flags(u), vbits(0), encoding(enc) {} unsigned operator()(int nbits, unsigned *bytes=nullptr); private: - IMFILE *ifp; + rtengine::IMFILE *ifp; unsigned &load_flags; uchar buf[0x4000]; int vbits; @@ -566,13 +595,13 @@ void parse_canon_cr3(); void selectCRXTrack(unsigned short maxTrack); int parseCR3(unsigned long long oAtomList, unsigned long long szAtomList, short &nesting, - char *AtomNameStack, unsigned short &nTrack, short &TrackType); + char *AtomNameStack, short &nTrack, short &TrackType); bool crxDecodePlane(void *p, uint32_t planeNumber); void crxLoadDecodeLoop(void *img, int nPlanes); void crxConvertPlaneLineDf(void *p, int imageRow); void crxLoadFinalizeLoopE3(void *p, int planeHeight); void crxLoadRaw(); -bool crxParseImageHeader(uchar *cmp1TagData, unsigned int nTrack); +bool crxParseImageHeader(uchar *cmp1TagData, int nTrack, int size); //----------------------------------------------------------------------------- }; diff --git a/rtengine/dcrop.cc b/rtengine/dcrop.cc index 790a2bf0d..f4ac49fc4 100644 --- a/rtengine/dcrop.cc +++ b/rtengine/dcrop.cc @@ -19,9 +19,11 @@ */ #include "cieimage.h" +#include "color.h" #include "curves.h" #include "dcp.h" #include "dcrop.h" +#include "guidedfilter.h" #include "image8.h" #include "imagefloat.h" #include "improccoordinator.h" @@ -30,9 +32,9 @@ #include "procparams.h" #include "refreshmap.h" #include "rt_math.h" -#include "color.h" +#include "utils.h" + #include "../rtgui/editcallbacks.h" -#include "guidedfilter.h" #pragma GCC diagnostic warning "-Wall" #pragma GCC diagnostic warning "-Wextra" @@ -52,7 +54,7 @@ namespace rtengine { Crop::Crop(ImProcCoordinator* parent, EditDataProvider *editDataProvider, bool isDetailWindow) - : PipetteBuffer(editDataProvider), origCrop(nullptr), laboCrop(nullptr), labnCrop(nullptr), + : PipetteBuffer(editDataProvider), origCrop(nullptr), spotCrop(nullptr), laboCrop(nullptr), labnCrop(nullptr), cropImg(nullptr), shbuf_real(nullptr), transCrop(nullptr), cieCrop(nullptr), shbuffer(nullptr), updating(false), newUpdatePending(false), skip(10), cropx(0), cropy(0), cropw(-1), croph(-1), @@ -96,7 +98,7 @@ void Crop::setListener(DetailedCropListener* il) } } -EditUniqueID Crop::getCurrEditID() +EditUniqueID Crop::getCurrEditID() const { const EditSubscriber *subscriber = PipetteBuffer::dataProvider ? PipetteBuffer::dataProvider->getCurrSubscriber() : nullptr; return subscriber ? subscriber->getEditID() : EUID_None; @@ -151,6 +153,7 @@ void Crop::update(int todo) // give possibility to the listener to modify crop window (as the full image dimensions are already known at this point) int wx, wy, ww, wh, ws; const bool overrideWindow = cropImageListener; + bool spotsDone = false; if (overrideWindow) { cropImageListener->getWindow(wx, wy, ww, wh, ws); @@ -278,7 +281,7 @@ void Crop::update(int todo) crW = 250; } - // if(settings->leveldnv ==2) {crW=int(tileWskip/2);crH=int((tileWskip/2));}//adapted to scale of preview + // if (settings->leveldnv ==2) {crW=int(tileWskip/2);crH=int((tileWskip/2));}//adapted to scale of preview if (settings->leveldnv == 2) { crW = int (tileWskip / 2); } @@ -402,7 +405,7 @@ void Crop::update(int todo) crH = 250; } - // if(settings->leveldnv ==2) {crW=int(tileWskip/2);crH=int((tileWskip/2));}//adapted to scale of preview + // if (settings->leveldnv ==2) {crW=int(tileWskip/2);crH=int((tileWskip/2));}//adapted to scale of preview if (settings->leveldnv == 2) { crW = int (tileWskip / 2); crH = int (tileHskip / 2); @@ -607,12 +610,19 @@ void Crop::update(int todo) //end evaluate noise } - // if(params.dirpyrDenoise.Cmethod=="AUT" || params.dirpyrDenoise.Cmethod=="PON") {//reinit origCrop after Auto + // if (params.dirpyrDenoise.Cmethod=="AUT" || params.dirpyrDenoise.Cmethod=="PON") {//reinit origCrop after Auto if ((settings->leveldnautsimpl == 1 && params.dirpyrDenoise.Cmethod == "AUT") || (settings->leveldnautsimpl == 0 && params.dirpyrDenoise.C2method == "AUTO")) { //reinit origCrop after Auto PreviewProps pp(trafx, trafy, trafw * skip, trafh * skip, skip); parent->imgsrc->getImage(parent->currWB, tr, origCrop, pp, params.toneCurve, params.raw); } + if ((todo & M_SPOT) && params.spot.enabled && !params.spot.entries.empty()) { + spotsDone = true; + PreviewProps pp(trafx, trafy, trafw * skip, trafh * skip, skip); + //parent->imgsrc->getImage(parent->currWB, tr, origCrop, pp, params.toneCurve, params.raw); + parent->ipf.removeSpots(origCrop, parent->imgsrc, params.spot.entries, pp, parent->currWB, nullptr, tr); + } + DirPyrDenoiseParams denoiseParams = params.dirpyrDenoise; if (params.dirpyrDenoise.Lmethod == "CUR") { @@ -695,6 +705,28 @@ void Crop::update(int todo) // has to be called after setCropSizes! Tools prior to this point can't handle the Edit mechanism, but that shouldn't be a problem. createBuffer(cropw, croph); + // Apply Spot removal + if ((todo & M_SPOT) && !spotsDone) { + if (params.spot.enabled && !params.spot.entries.empty()) { + if(!spotCrop) { + spotCrop = new Imagefloat (cropw, croph); + } + baseCrop->copyData (spotCrop); + PreviewProps pp (trafx, trafy, trafw * skip, trafh * skip, skip); + int tr = getCoarseBitMask(params.coarse); + parent->ipf.removeSpots (spotCrop, parent->imgsrc, params.spot.entries, pp, parent->currWB, ¶ms.icm, tr); + } else { + if (spotCrop) { + delete spotCrop; + spotCrop = nullptr; + } + } + } + + if (spotCrop) { + baseCrop = spotCrop; + } + std::unique_ptr fattalCrop; if ((todo & M_HDR) && (params.fattal.enabled || params.dehaze.enabled)) { @@ -720,7 +752,7 @@ void Crop::update(int todo) parent->imgsrc->getImage(parent->currWB, tr, f, pp, params.toneCurve, params.raw); parent->imgsrc->convertColorSpace(f, params.icm, parent->currWB); - if (params.dirpyrDenoise.enabled) { + if (params.dirpyrDenoise.enabled || params.filmNegative.enabled || params.spot.enabled) { // copy the denoised crop int oy = trafy / skip; int ox = trafx / skip; @@ -840,6 +872,12 @@ void Crop::update(int todo) auto& lmaskbllocalcurve2 = parent->lmaskbllocalcurve; auto& lmasklclocalcurve2 = parent->lmasklclocalcurve; auto& lmaskloglocalcurve2 = parent->lmaskloglocalcurve; + auto& lmaskcielocalcurve2 = parent->lmaskcielocalcurve; + auto& cielocalcurve2 = parent->cielocalcurve; + auto& cielocalcurve22 = parent->cielocalcurve2; + auto& jzlocalcurve2 = parent->jzlocalcurve; + auto& czlocalcurve2 = parent->czlocalcurve; + auto& czjzlocalcurve2 = parent->czjzlocalcurve; auto& hltonecurveloc2 = parent->hltonecurveloc; auto& shtonecurveloc2 = parent->shtonecurveloc; auto& tonecurveloc2 = parent->tonecurveloc; @@ -849,6 +887,9 @@ void Crop::update(int todo) auto& loclhCurve = parent->loclhCurve; auto& lochhCurve = parent->lochhCurve; auto& locchCurve = parent->locchCurve; + auto& lochhCurvejz = parent->lochhCurvejz; + auto& locchCurvejz = parent->locchCurvejz; + auto& loclhCurvejz = parent->loclhCurvejz; auto& locccmasCurve = parent->locccmasCurve; auto& locllmasCurve = parent->locllmasCurve; auto& lochhmasCurve = parent->lochhmasCurve; @@ -880,12 +921,16 @@ void Crop::update(int todo) auto& locccmaslogCurve = parent->locccmaslogCurve; auto& locllmaslogCurve = parent->locllmaslogCurve; auto& lochhmaslogCurve = parent->lochhmaslogCurve; + auto& locccmascieCurve = parent->locccmascieCurve; + auto& locllmascieCurve = parent->locllmascieCurve; + auto& lochhmascieCurve = parent->lochhmascieCurve; auto& locccmas_Curve = parent->locccmas_Curve; auto& locllmas_Curve = parent->locllmas_Curve; auto& lochhmas_Curve = parent->lochhmas_Curve; auto& lochhhmas_Curve = parent->lochhhmas_Curve; auto& locwavCurve = parent->locwavCurve; + auto& locwavCurvejz = parent->locwavCurvejz; auto& loclmasCurveblwav = parent->loclmasCurveblwav; auto& loclmasCurvecolwav = parent->loclmasCurvecolwav; auto& loclevwavCurve = parent->loclevwavCurve; @@ -897,13 +942,25 @@ void Crop::update(int todo) auto& locwavCurveden = parent->locwavCurveden; auto& lmasklocal_curve2 = parent->lmasklocal_curve; auto& loclmasCurve_wav = parent->loclmasCurve_wav; - +// const int sizespot = (int)params.locallab.spots.size(); +/* float *huerefp = nullptr; + huerefp = new float[sizespot]; + float *chromarefp = nullptr; + chromarefp = new float[sizespot]; + float *lumarefp = nullptr; + lumarefp = new float[sizespot]; + float *fabrefp = nullptr; + fabrefp = new float[sizespot]; +*/ for (int sp = 0; sp < (int)params.locallab.spots.size(); sp++) { locRETgainCurve.Set(params.locallab.spots.at(sp).localTgaincurve); locRETtransCurve.Set(params.locallab.spots.at(sp).localTtranscurve); const bool LHutili = loclhCurve.Set(params.locallab.spots.at(sp).LHcurve); const bool HHutili = lochhCurve.Set(params.locallab.spots.at(sp).HHcurve); const bool CHutili = locchCurve.Set(params.locallab.spots.at(sp).CHcurve); + const bool HHutilijz = lochhCurvejz.Set(params.locallab.spots.at(sp).HHcurvejz); + const bool CHutilijz = locchCurvejz.Set(params.locallab.spots.at(sp).CHcurvejz); + const bool LHutilijz = loclhCurvejz.Set(params.locallab.spots.at(sp).LHcurvejz); const bool lcmasutili = locccmasCurve.Set(params.locallab.spots.at(sp).CCmaskcurve); const bool llmasutili = locllmasCurve.Set(params.locallab.spots.at(sp).LLmaskcurve); const bool lhmasutili = lochhmasCurve.Set(params.locallab.spots.at(sp).HHmaskcurve); @@ -932,6 +989,9 @@ void Crop::update(int todo) const bool lcmaslogutili = locccmaslogCurve.Set(params.locallab.spots.at(sp).CCmaskcurveL); const bool llmaslogutili = locllmaslogCurve.Set(params.locallab.spots.at(sp).LLmaskcurveL); const bool lhmaslogutili = lochhmaslogCurve.Set(params.locallab.spots.at(sp).HHmaskcurveL); + const bool lcmascieutili = locccmascieCurve.Set(params.locallab.spots.at(sp).CCmaskciecurve); + const bool llmascieutili = locllmascieCurve.Set(params.locallab.spots.at(sp).LLmaskciecurve); + const bool lhmascieutili = lochhmascieCurve.Set(params.locallab.spots.at(sp).HHmaskciecurve); const bool lcmas_utili = locccmas_Curve.Set(params.locallab.spots.at(sp).CCmask_curve); const bool llmas_utili = locllmas_Curve.Set(params.locallab.spots.at(sp).LLmask_curve); @@ -944,6 +1004,7 @@ void Crop::update(int todo) const bool llmaslcutili = locllmaslcCurve.Set(params.locallab.spots.at(sp).LLmasklccurve); const bool lhmaslcutili = lochhmaslcCurve.Set(params.locallab.spots.at(sp).HHmasklccurve); const bool locwavutili = locwavCurve.Set(params.locallab.spots.at(sp).locwavcurve); + const bool locwavutilijz = locwavCurvejz.Set(params.locallab.spots.at(sp).locwavcurvejz); const bool locwavhueutili = locwavCurvehue.Set(params.locallab.spots.at(sp).locwavcurvehue); const bool locwavdenutili = locwavCurveden.Set(params.locallab.spots.at(sp).locwavcurveden); const bool loclevwavutili = loclevwavCurve.Set(params.locallab.spots.at(sp).loclevwavcurve); @@ -968,6 +1029,12 @@ void Crop::update(int todo) const bool localmaskblutili = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).Lmaskblcurve, lmaskbllocalcurve2, skip); const bool localmasklogutili = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).LmaskcurveL, lmaskloglocalcurve2, skip); const bool localmask_utili = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).Lmask_curve, lmasklocal_curve2, skip); + const bool localmaskcieutili = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).Lmaskciecurve, lmaskcielocalcurve2, skip); + const bool localcieutili = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).ciecurve, cielocalcurve2, skip); + const bool localcieutili2 = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).ciecurve2, cielocalcurve22, skip); + const bool localjzutili = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).jzcurve, jzlocalcurve2, skip); + const bool localczutili = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).czcurve, czlocalcurve2, skip); + const bool localczjzutili = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).czjzcurve, czjzlocalcurve2, skip); double ecomp = params.locallab.spots.at(sp).expcomp; double black = params.locallab.spots.at(sp).black; @@ -975,7 +1042,7 @@ void Crop::update(int todo) double hlcomprthresh = params.locallab.spots.at(sp).hlcomprthresh; double shcompr = params.locallab.spots.at(sp).shcompr; double br = params.locallab.spots.at(sp).lightness; - if(black < 0. && params.locallab.spots.at(sp).expMethod == "pde" ) { + if (black < 0. && params.locallab.spots.at(sp).expMethod == "pde" ) { black *= 1.5; } @@ -993,7 +1060,7 @@ void Crop::update(int todo) float stdtme = parent->stdtms[sp]; float meanretie = parent->meanretis[sp]; float stdretie = parent->stdretis[sp]; - + float fab = 1.f; float minCD; float maxCD; float mini; @@ -1003,16 +1070,27 @@ void Crop::update(int todo) float Tmin; float Tmax; int lastsav; + +/* huerefp[sp] = huere; + chromarefp[sp] = chromare; + lumarefp[sp] = lumare; +*/ CurveFactory::complexCurvelocal(ecomp, black / 65535., hlcompr, hlcomprthresh, shcompr, br, cont, lumare, hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2, avge, skip); // Locallab mask are only shown for selected spot + int fh = parent->fh; + int fw = parent->fw; + if (sp == params.locallab.selspot) { - parent->ipf.Lab_Local(1, sp, (float**)shbuffer, labnCrop, labnCrop, reservCrop.get(), savenormtmCrop.get(), savenormretiCrop.get(), lastorigCrop.get(), cropx / skip, cropy / skip, skips(parent->fw, skip), skips(parent->fh, skip), skip, locRETgainCurve, locRETtransCurve, + + parent->ipf.Lab_Local(1, sp, (float**)shbuffer, labnCrop, labnCrop, reservCrop.get(), savenormtmCrop.get(), savenormretiCrop.get(), lastorigCrop.get(), fw, fh, cropx / skip, cropy / skip, skips(parent->fw, skip), skips(parent->fh, skip), skip, locRETgainCurve, locRETtransCurve, lllocalcurve2,locallutili, cllocalcurve2, localclutili, lclocalcurve2, locallcutili, loclhCurve, lochhCurve, locchCurve, + lochhCurvejz, locchCurvejz, loclhCurvejz, + lmasklocalcurve2, localmaskutili, lmaskexplocalcurve2, localmaskexputili, lmaskSHlocalcurve2, localmaskSHutili, @@ -1024,6 +1102,12 @@ void Crop::update(int todo) lmasklclocalcurve2, localmasklcutili, lmaskloglocalcurve2, localmasklogutili, lmasklocal_curve2, localmask_utili, + lmaskcielocalcurve2, localmaskcieutili, + cielocalcurve2,localcieutili, + cielocalcurve22,localcieutili2, + jzlocalcurve2,localjzutili, + czlocalcurve2,localczutili, + czjzlocalcurve2,localczjzutili, locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, lochhhmasCurve, lhhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili, locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili, @@ -1036,10 +1120,13 @@ void Crop::update(int todo) locccmaslogCurve, lcmaslogutili, locllmaslogCurve, llmaslogutili, lochhmaslogCurve, lhmaslogutili, locccmas_Curve, lcmas_utili, locllmas_Curve, llmas_utili, lochhmas_Curve, lhmas_utili, + locccmascieCurve, lcmascieutili, locllmascieCurve, llmasSHutili, lochhmascieCurve, lhmascieutili, + lochhhmas_Curve, lhhmas_utili, loclmasCurveblwav,lmasutiliblwav, loclmasCurvecolwav,lmasutilicolwav, locwavCurve, locwavutili, + locwavCurvejz, locwavutilijz, loclevwavCurve, loclevwavutili, locconwavCurve, locconwavutili, loccompwavCurve, loccompwavutili, @@ -1048,12 +1135,14 @@ void Crop::update(int todo) locwavCurveden, locwavdenutili, locedgwavCurve, locedgwavutili, loclmasCurve_wav,lmasutili_wav, - LHutili, HHutili, CHutili, cclocalcurve2, localcutili, rgblocalcurve2, localrgbutili, localexutili, exlocalcurve2, hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2, + LHutili, HHutili, CHutili, HHutilijz, CHutilijz, LHutilijz, cclocalcurve2, localcutili, rgblocalcurve2, localrgbutili, localexutili, exlocalcurve2, hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2, huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, lastsav, parent->previewDeltaE, parent->locallColorMask, parent->locallColorMaskinv, parent->locallExpMask, parent->locallExpMaskinv, parent->locallSHMask, parent->locallSHMaskinv, parent->locallvibMask, parent->localllcMask, parent->locallsharMask, parent->locallcbMask, parent->locallretiMask, parent->locallsoftMask, parent->localltmMask, parent->locallblMask, - parent->localllogMask, parent->locall_Mask, minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax, - meantme, stdtme, meanretie, stdretie); - if(parent->previewDeltaE || parent->locallColorMask == 5 || parent->locallvibMask == 4 || parent->locallExpMask == 5 || parent->locallSHMask == 4 || parent->localllcMask == 4 || parent->localltmMask == 4 || parent->localllogMask == 4 || parent->locallsoftMask == 6 || parent->localllcMask == 4) { + parent->localllogMask, parent->locall_Mask, parent->locallcieMask, minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax, + meantme, stdtme, meanretie, stdretie, fab); + // fabrefp[sp] = fab; + + if (parent->previewDeltaE || parent->locallColorMask == 5 || parent->locallvibMask == 4 || parent->locallExpMask == 5 || parent->locallSHMask == 4 || parent->localllcMask == 4 || parent->localltmMask == 4 || parent->localllogMask == 4 || parent->locallsoftMask == 6 || parent->localllcMask == 4 || parent->locallcieMask == 4) { params.blackwhite.enabled = false; params.colorToning.enabled = false; params.rgbCurves.enabled = false; @@ -1076,12 +1165,20 @@ void Crop::update(int todo) params.epd.enabled = false; params.softlight.enabled = false; } + /* + if (parent->locallListener) { + parent->locallListener->refChanged2(huerefp, chromarefp, lumarefp, fabrefp, params.locallab.selspot); + + } + */ + } else { - parent->ipf.Lab_Local(1, sp, (float**)shbuffer, labnCrop, labnCrop, reservCrop.get(), savenormtmCrop.get(), savenormretiCrop.get(), lastorigCrop.get(), cropx / skip, cropy / skip, skips(parent->fw, skip), skips(parent->fh, skip), skip, locRETgainCurve, locRETtransCurve, + parent->ipf.Lab_Local(1, sp, (float**)shbuffer, labnCrop, labnCrop, reservCrop.get(), savenormtmCrop.get(), savenormretiCrop.get(), lastorigCrop.get(), fw, fh, cropx / skip, cropy / skip, skips(parent->fw, skip), skips(parent->fh, skip), skip, locRETgainCurve, locRETtransCurve, lllocalcurve2,locallutili, cllocalcurve2, localclutili, lclocalcurve2, locallcutili, loclhCurve, lochhCurve, locchCurve, + lochhCurvejz, locchCurvejz, loclhCurvejz, lmasklocalcurve2, localmaskutili, lmaskexplocalcurve2, localmaskexputili, lmaskSHlocalcurve2, localmaskSHutili, @@ -1093,6 +1190,12 @@ void Crop::update(int todo) lmasklclocalcurve2, localmasklcutili, lmaskloglocalcurve2, localmasklogutili, lmasklocal_curve2, localmask_utili, + lmaskcielocalcurve2, localmaskcieutili, + cielocalcurve2,localcieutili, + cielocalcurve22,localcieutili2, + jzlocalcurve2,localjzutili, + czlocalcurve2,localczutili, + czjzlocalcurve2,localczjzutili, locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili,lochhhmasCurve, lhhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili, locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili, @@ -1105,11 +1208,13 @@ void Crop::update(int todo) locccmaslogCurve, lcmaslogutili, locllmaslogCurve, llmaslogutili, lochhmaslogCurve, lhmaslogutili, locccmas_Curve, lcmas_utili, locllmas_Curve, llmas_utili, lochhmas_Curve, lhmas_utili, + locccmascieCurve, lcmascieutili, locllmascieCurve, llmascieutili, lochhmascieCurve, lhmascieutili, lochhhmas_Curve, lhhmas_utili, loclmasCurveblwav,lmasutiliblwav, loclmasCurvecolwav,lmasutilicolwav, locwavCurve, locwavutili, + locwavCurvejz, locwavutilijz, loclevwavCurve, loclevwavutili, locconwavCurve, locconwavutili, loccompwavCurve, loccompwavutili, @@ -1118,10 +1223,10 @@ void Crop::update(int todo) locwavCurveden, locwavdenutili, locedgwavCurve, locedgwavutili, loclmasCurve_wav,lmasutili_wav, - LHutili, HHutili, CHutili, cclocalcurve2, localcutili, rgblocalcurve2, localrgbutili, localexutili, exlocalcurve2, hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2, - huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, lastsav, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + LHutili, HHutili, CHutili, HHutilijz, CHutilijz, LHutilijz, cclocalcurve2, localcutili, rgblocalcurve2, localrgbutili, localexutili, exlocalcurve2, hltonecurveloc2, shtonecurveloc2, tonecurveloc2, lightCurveloc2, + huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, lastsav, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax, - meantme, stdtme, meanretie, stdretie); + meantme, stdtme, meanretie, stdretie, fab); } if (sp + 1u < params.locallab.spots.size()) { // do not copy for last spot as it is not needed anymore @@ -1132,38 +1237,26 @@ void Crop::update(int todo) Glib::usleep(settings->cropsleep); //wait to avoid crash when crop 100% and move window } } + /* + delete [] huerefp; + delete [] chromarefp; + delete [] lumarefp; + delete [] fabrefp; + */ + parent->ipf.lab2rgb(*labnCrop, *baseCrop, params.icm.workingProfile); } if (todo & M_RGBCURVE) { - Imagefloat *workingCrop = baseCrop; -/* - if (params.icm.workingTRC == "Custom") { //exec TRC IN free - const Glib::ustring profile = params.icm.workingProfile; - if (profile == "sRGB" || profile == "Adobe RGB" || profile == "ProPhoto" || profile == "WideGamut" || profile == "BruceRGB" || profile == "Beta RGB" || profile == "BestRGB" || profile == "Rec2020" || profile == "ACESp0" || profile == "ACESp1") { - const int cw = baseCrop->getWidth(); - const int ch = baseCrop->getHeight(); - workingCrop = new Imagefloat(cw, ch); - //first put gamma TRC to 1 - parent->ipf.workingtrc(baseCrop, workingCrop, cw, ch, -5, params.icm.workingProfile, 2.4, 12.92310, parent->getCustomTransformIn(), true, false, true); - //adjust gamma TRC - parent->ipf.workingtrc(workingCrop, workingCrop, cw, ch, 5, params.icm.workingProfile, params.icm.workingTRCGamma, params.icm.workingTRCSlope, parent->getCustomTransformOut(), false, true, true); - } - } -*/ double rrm, ggm, bbm; DCPProfileApplyState as; DCPProfile *dcpProf = parent->imgsrc->getDCP(params.icm, as); LUTu histToneCurve; - parent->ipf.rgbProc (workingCrop, laboCrop, this, parent->hltonecurve, parent->shtonecurve, parent->tonecurve, + parent->ipf.rgbProc (baseCrop, laboCrop, this, parent->hltonecurve, parent->shtonecurve, parent->tonecurve, params.toneCurve.saturation, parent->rCurve, parent->gCurve, parent->bCurve, parent->colourToningSatLimit, parent->colourToningSatLimitOpacity, parent->ctColorCurve, parent->ctOpacityCurve, parent->opautili, parent->clToningcurve, parent->cl2Toningcurve, parent->customToneCurve1, parent->customToneCurve2, parent->beforeToneCurveBW, parent->afterToneCurveBW, rrm, ggm, bbm, parent->bwAutoR, parent->bwAutoG, parent->bwAutoB, dcpProf, as, histToneCurve); - - if (workingCrop != baseCrop) { - delete workingCrop; - } } // apply luminance operations @@ -1228,7 +1321,7 @@ void Crop::update(int todo) int minwin = min(labnCrop->W, labnCrop->H); int maxlevelcrop = 10; - // if(cp.mul[9]!=0)maxlevelcrop=10; + // if (cp.mul[9]!=0)maxlevelcrop=10; // adap maximum level wavelet to size of crop if (minwin * skip < 1024) { maxlevelcrop = 9; //sampling wavelet 512 @@ -1314,7 +1407,7 @@ void Crop::update(int todo) bool proton = WaveParams.exptoning; bool pronois = WaveParams.expnoise; - if(WaveParams.showmask) { + if (WaveParams.showmask) { // WaveParams.showmask = false; // WaveParams.expclari = true; } @@ -1441,7 +1534,7 @@ void Crop::update(int todo) } float indic = 1.f; - if(WaveParams.showmask){ + if (WaveParams.showmask){ mL0 = mC0 = -1.f; indic = -1.f; mL = fabs(mL); @@ -1476,6 +1569,50 @@ void Crop::update(int todo) parent->ipf.softLight(labnCrop, params.softlight); + if (params.icm.workingTRC != ColorManagementParams::WorkingTrc::NONE) { + const int GW = labnCrop->W; + const int GH = labnCrop->H; + std::unique_ptr provis; + const float pres = 0.01f * params.icm.preser; + if (pres > 0.f && params.icm.wprim != ColorManagementParams::Primaries::DEFAULT) { + provis.reset(new LabImage(GW, GH)); + provis->CopyFrom(labnCrop); + } + + const std::unique_ptr tmpImage1(new Imagefloat(GW, GH)); + + parent->ipf.lab2rgb(*labnCrop, *tmpImage1, params.icm.workingProfile); + + const float gamtone = parent->params->icm.workingTRCGamma; + const float slotone = parent->params->icm.workingTRCSlope; + + int illum = rtengine::toUnderlying(params.icm.will); + const int prim = rtengine::toUnderlying(params.icm.wprim); + + Glib::ustring prof = params.icm.workingProfile; + + cmsHTRANSFORM cmsDummy = nullptr; + int ill = 0; + parent->ipf.workingtrc(tmpImage1.get(), tmpImage1.get(), GW, GH, -5, prof, 2.4, 12.92310, ill, 0, cmsDummy, true, false, false); + parent->ipf.workingtrc(tmpImage1.get(), tmpImage1.get(), GW, GH, 5, prof, gamtone, slotone, illum, prim, cmsDummy, false, true, true); + + parent->ipf.rgb2lab(*tmpImage1, *labnCrop, params.icm.workingProfile); + //labnCrop and provis + if (provis) { + parent->ipf.preserv(labnCrop, provis.get(), GW, GH); + } + if (params.icm.fbw) { +#ifdef _OPENMP + #pragma omp parallel for +#endif + for (int x = 0; x < GH; x++) + for (int y = 0; y < GW; y++) { + labnCrop->a[x][y] = 0.f; + labnCrop->b[x][y] = 0.f; + } + } + } + if (params.colorappearance.enabled) { float fnum = parent->imgsrc->getMetaData()->getFNumber(); // F number float fiso = parent->imgsrc->getMetaData()->getISOSpeed() ; // ISO @@ -1487,8 +1624,9 @@ void Crop::update(int todo) adap = 2000.; } else { 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 + double kexp = 0.; + E_V += kexp * params.toneCurve.expcomp;// exposure compensation in tonecurve ==> direct EV + E_V += 0.5 * log2(params.raw.expos); // exposure raw white point ; log2 ==> linear to EV adap = pow(2., E_V - 3.); // cd / m2 // end calculation adaptation scene luminosity } @@ -1519,6 +1657,8 @@ void Crop::update(int todo) // all pipette buffer processing should be finished now PipetteBuffer::setReady(); + + // Computing the preview image, i.e. converting from lab->Monitor color space (soft-proofing disabled) or lab->Output profile->Monitor color space (soft-proofing enabled) parent->ipf.lab2monitorRgb(labnCrop, cropImg); @@ -1620,7 +1760,7 @@ bool check_need_larger_crop_for_lcp_distortion(int fw, int fh, int x, int y, int * If the scale changes, this method will free all buffers and reallocate ones of the new size. * It will then tell to the SizeListener that size has changed (sizeChanged) */ -bool Crop::setCropSizes(int rcx, int rcy, int rcw, int rch, int skip, bool internal) +bool Crop::setCropSizes(int cropX, int cropY, int cropW, int cropH, int skip, bool internal) { if (!internal) { @@ -1629,10 +1769,10 @@ bool Crop::setCropSizes(int rcx, int rcy, int rcw, int rch, int skip, bool inter bool changed = false; - rqcropx = rcx; - rqcropy = rcy; - rqcropw = rcw; - rqcroph = rch; + rqcropx = cropX; + rqcropy = cropY; + rqcropw = cropW; + rqcroph = cropH; // store and set requested crop size int rqx1 = LIM(rqcropx, 0, parent->fullw - 1); diff --git a/rtengine/dcrop.h b/rtengine/dcrop.h index 1840eabfa..19d84c3f3 100644 --- a/rtengine/dcrop.h +++ b/rtengine/dcrop.h @@ -38,6 +38,7 @@ class Crop final : public DetailedCrop, public PipetteBuffer protected: // --- permanently allocated in RAM and only renewed on size changes Imagefloat* origCrop; // "one chunk" allocation + Imagefloat* spotCrop; // "one chunk" allocation LabImage* laboCrop; // "one chunk" allocation LabImage* labnCrop; // "one chunk" allocation Image8* cropImg; // "one chunk" allocation ; displayed image in monitor color space, showing the output profile as well (soft-proofing enabled, which then correspond to workimg) or not @@ -64,7 +65,7 @@ protected: MyMutex cropMutex; ImProcCoordinator* const parent; const bool isDetailWindow; - EditUniqueID getCurrEditID(); + EditUniqueID getCurrEditID() const; bool setCropSizes(int cropX, int cropY, int cropW, int cropH, int skip, bool internal); void freeAll(); diff --git a/rtengine/demosaic_algos.cc b/rtengine/demosaic_algos.cc index 85197d766..e5eb5a5aa 100644 --- a/rtengine/demosaic_algos.cc +++ b/rtengine/demosaic_algos.cc @@ -878,7 +878,7 @@ void RawImageSource::nodemosaic(bool bw) for (int j = 0; j < W; j++) { if (bw) { red[i][j] = green[i][j] = blue[i][j] = rawData[i][j]; - } else if(ri->getSensorType() != ST_FUJI_XTRANS) { + } else if(ri->getSensorType() == ST_BAYER) { switch( FC(i, j)) { case 0: red[i][j] = rawData[i][j]; @@ -895,7 +895,7 @@ void RawImageSource::nodemosaic(bool bw) red[i][j] = green[i][j] = 0; break; } - } else { + } else if(ri->getSensorType() == ST_FUJI_XTRANS) { switch( ri->XTRANSFC(i, j)) { case 0: red[i][j] = rawData[i][j]; @@ -912,6 +912,10 @@ void RawImageSource::nodemosaic(bool bw) red[i][j] = green[i][j] = 0; break; } + } else { + red[i][j] = rawData[i][j * 3 + 0]; + green[i][j] = rawData[i][j * 3 + 1]; + blue[i][j] = rawData[i][j * 3 + 2]; } } } diff --git a/rtengine/dfmanager.cc b/rtengine/dfmanager.cc index f72cc4cde..52de10339 100644 --- a/rtengine/dfmanager.cc +++ b/rtengine/dfmanager.cc @@ -17,28 +17,82 @@ * along with RawTherapee. If not, see . */ -#include -#include +#include #include +#include +#include +#include +#include + #include #include #include "dfmanager.h" -#include "../rtgui/options.h" -#include "rawimage.h" + #include "imagedata.h" +#include "jaggedarray.h" +#include "noncopyable.h" +#include "pixelsmap.h" +#include "rawimage.h" #include "utils.h" -namespace rtengine +#include "../rtgui/options.h" + +namespace { -// *********************** class dfInfo ************************************** +std::string toUppercase(const std::string& string) +{ + return Glib::ustring(string).uppercase(); +} + +class dfInfo final +{ +public: + Glib::ustring pathname; // filename of dark frame + std::list pathNames; // other similar dark frames, used for average + std::string maker; // manufacturer + std::string model; // model + int iso; // ISO (gain) + double shutter; // shutter or exposure time in sec + time_t timestamp; // seconds since 1 Jan 1970 + + + dfInfo(const Glib::ustring &name, const std::string &mak, const std::string &mod, int iso, double shut, time_t t) + : pathname(name), maker(mak), model(mod), iso(iso), shutter(shut), timestamp(t), ri(nullptr) {} + + dfInfo(const dfInfo &o) + : pathname(o.pathname), maker(o.maker), model(o.model), iso(o.iso), shutter(o.shutter), timestamp(o.timestamp), ri(nullptr) {} + ~dfInfo(); + + dfInfo &operator =(const dfInfo &o); + + // Calculate virtual distance between two shots; different model return infinite + double distance(const std::string &mak, const std::string &mod, int iso, double shutter) const; + + static std::string key(const std::string &mak, const std::string &mod, int iso, double shut); + std::string key() const + { + return key(maker, model, iso, shutter); + } + + const rtengine::RawImage* getRawImage(); + const std::vector& getHotPixels(); + +private: + rtengine::RawImage* ri; // Dark Frame raw data + std::vector badPixels; // Extracted hot pixels + + void updateBadPixelList(const rtengine::RawImage* df); + void updateRawImage(); +}; + dfInfo::~dfInfo() { delete ri; } -inline dfInfo& dfInfo::operator =(const dfInfo &o) +inline dfInfo& dfInfo::operator = (const dfInfo &o) { if (this != &o) { pathname = o.pathname; @@ -48,7 +102,7 @@ inline dfInfo& dfInfo::operator =(const dfInfo &o) shutter = o.shutter; timestamp = o.timestamp; - if( ri ) { + if (ri) { delete ri; ri = nullptr; } @@ -57,38 +111,13 @@ inline dfInfo& dfInfo::operator =(const dfInfo &o) return *this; } -bool dfInfo::operator <(const dfInfo &e2) const -{ - if( this->maker.compare( e2.maker) >= 0 ) { - return false; - } - - if( this->model.compare( e2.model) >= 0 ) { - return false; - } - - if( this->iso >= e2.iso ) { - return false; - } - - if( this->shutter >= e2.shutter ) { - return false; - } - - if( this->timestamp >= e2.timestamp ) { - return false; - } - - return true; -} - -std::string dfInfo::key(const std::string &mak, const std::string &mod, int iso, double shut ) +std::string dfInfo::key(const std::string &mak, const std::string &mod, int iso, double shut) { std::ostringstream s; s << mak << " " << mod << " "; s.width(5); s << iso << "ISO "; - s.precision( 2 ); + s.precision(2); s.width(4); s << shut << "s"; return s.str(); @@ -96,115 +125,106 @@ std::string dfInfo::key(const std::string &mak, const std::string &mod, int iso, double dfInfo::distance(const std::string &mak, const std::string &mod, int iso, double shutter) const { - if( this->maker.compare( mak) != 0 ) { + if (this->maker.compare(mak) != 0) { return INFINITY; } - if( this->model.compare( mod) != 0 ) { + if (this->model.compare(mod) != 0) { return INFINITY; } - double dISO = (log(this->iso / 100.) - log(iso / 100.)) / log(2); - double dShutter = (log(this->shutter) - log(shutter)) / log(2); - return sqrt( dISO * dISO + dShutter * dShutter); + const double dISO = (log(this->iso / 100.) - log(iso / 100.)) / log(2); + const double dShutter = (log(this->shutter) - log(shutter)) / log(2); + return std::sqrt(dISO * dISO + dShutter * dShutter); } -RawImage* dfInfo::getRawImage() +const rtengine::RawImage* dfInfo::getRawImage() { - if(ri) { + if (ri) { return ri; } updateRawImage(); - updateBadPixelList( ri ); + updateBadPixelList(ri); return ri; } -std::vector& dfInfo::getHotPixels() +const std::vector& dfInfo::getHotPixels() { - if( !ri ) { + if (!ri) { updateRawImage(); - updateBadPixelList( ri ); + updateBadPixelList(ri); } return badPixels; } + /* updateRawImage() load into ri the actual pixel data from pathname if there is a single shot * otherwise load each file from the pathNames list and extract a template from the media; * the first file is used also for reading all information other than pixels */ void dfInfo::updateRawImage() { - typedef unsigned int acc_t; - if( !pathNames.empty() ) { - std::list::iterator iName = pathNames.begin(); - ri = new RawImage(*iName); // First file used also for extra pixels information (width,height, shutter, filters etc.. ) + if (!pathNames.empty()) { + std::list::const_iterator iName = pathNames.begin(); + ri = new rtengine::RawImage(*iName); // First file used also for extra pixels information (width,height, shutter, filters etc.. ) - if( ri->loadRaw(true)) { + if (ri->loadRaw(true)) { delete ri; ri = nullptr; } else { - int H = ri->get_height(); - int W = ri->get_width(); + const int H = ri->get_height(); + const int W = ri->get_width(); ri->compress_image(0); - int rSize = W * ((ri->getSensorType() == ST_BAYER || ri->getSensorType() == ST_FUJI_XTRANS) ? 1 : 3); - acc_t **acc = new acc_t*[H]; - - for( int row = 0; row < H; row++) { - acc[row] = new acc_t[rSize ]; - } + const int rSize = W * ((ri->getSensorType() == rtengine::ST_BAYER || ri->getSensorType() == rtengine::ST_FUJI_XTRANS) ? 1 : 3); + rtengine::JaggedArray acc(W, H); // copy first image into accumulators - for (int row = 0; row < H; row++) + for (int row = 0; row < H; row++) { for (int col = 0; col < rSize; col++) { acc[row][col] = ri->data[row][col]; } + } int nFiles = 1; // First file data already loaded - for( ++iName; iName != pathNames.end(); ++iName) { - RawImage* temp = new RawImage(*iName); + for (++iName; iName != pathNames.end(); ++iName) { + rtengine::RawImage temp(*iName); - if( !temp->loadRaw(true)) { - temp->compress_image(0); //\ TODO would be better working on original, because is temporary + if (!temp.loadRaw(true)) { + temp.compress_image(0); //\ TODO would be better working on original, because is temporary nFiles++; - if( ri->getSensorType() == ST_BAYER || ri->getSensorType() == ST_FUJI_XTRANS ) { - for( int row = 0; row < H; row++) { - for( int col = 0; col < W; col++) { - acc[row][col] += temp->data[row][col]; + if (ri->getSensorType() == rtengine::ST_BAYER || ri->getSensorType() == rtengine::ST_FUJI_XTRANS) { + for (int row = 0; row < H; row++) { + for (int col = 0; col < W; col++) { + acc[row][col] += temp.data[row][col]; } } } else { - for( int row = 0; row < H; row++) { - for( int col = 0; col < W; col++) { - acc[row][3 * col + 0] += temp->data[row][3 * col + 0]; - acc[row][3 * col + 1] += temp->data[row][3 * col + 1]; - acc[row][3 * col + 2] += temp->data[row][3 * col + 2]; + for (int row = 0; row < H; row++) { + for (int col = 0; col < W; col++) { + acc[row][3 * col + 0] += temp.data[row][3 * col + 0]; + acc[row][3 * col + 1] += temp.data[row][3 * col + 1]; + acc[row][3 * col + 2] += temp.data[row][3 * col + 2]; } } } } - - delete temp; } - + const float factor = 1.f / nFiles; for (int row = 0; row < H; row++) { for (int col = 0; col < rSize; col++) { - ri->data[row][col] = acc[row][col] / nFiles; + ri->data[row][col] = acc[row][col] * factor; } - - delete [] acc[row]; } - - delete [] acc; } } else { - ri = new RawImage(pathname); + ri = new rtengine::RawImage(pathname); - if( ri->loadRaw(true)) { + if (ri->loadRaw(true)) { delete ri; ri = nullptr; } else { @@ -213,35 +233,36 @@ void dfInfo::updateRawImage() } } -void dfInfo::updateBadPixelList( RawImage *df ) +void dfInfo::updateBadPixelList(const rtengine::RawImage *df) { - if(!df) { + if (!df) { return; } - const float threshold = 10.f / 8.f; + constexpr float threshold = 10.f / 8.f; - if( df->getSensorType() == ST_BAYER || df->getSensorType() == ST_FUJI_XTRANS ) { - std::vector badPixelsTemp; + if (df->getSensorType() == rtengine::ST_BAYER || df->getSensorType() == rtengine::ST_FUJI_XTRANS) { + std::vector badPixelsTemp; #ifdef _OPENMP #pragma omp parallel #endif { - std::vector badPixelsThread; + std::vector badPixelsThread; #ifdef _OPENMP #pragma omp for nowait #endif - for( int row = 2; row < df->get_height() - 2; row++) - for( int col = 2; col < df->get_width() - 2; col++) { - float m = (df->data[row - 2][col - 2] + df->data[row - 2][col] + df->data[row - 2][col + 2] + - df->data[row][col - 2] + df->data[row][col + 2] + - df->data[row + 2][col - 2] + df->data[row + 2][col] + df->data[row + 2][col + 2]); + for (int row = 2; row < df->get_height() - 2; ++row) { + for (int col = 2; col < df->get_width() - 2; ++col) { + const float m = df->data[row - 2][col - 2] + df->data[row - 2][col] + df->data[row - 2][col + 2] + + df->data[row][col - 2] + df->data[row][col + 2] + + df->data[row + 2][col - 2] + df->data[row + 2][col] + df->data[row + 2][col + 2]; - if( df->data[row][col] > m * threshold ) { + if (df->data[row][col] > m * threshold) { badPixelsThread.emplace_back(col, row); } } + } #ifdef _OPENMP #pragma omp critical @@ -250,48 +271,78 @@ void dfInfo::updateBadPixelList( RawImage *df ) } badPixels.insert(badPixels.end(), badPixelsTemp.begin(), badPixelsTemp.end()); } else { - for( int row = 1; row < df->get_height() - 1; row++) - for( int col = 1; col < df->get_width() - 1; col++) { + for (int row = 1; row < df->get_height() - 1; ++row) { + for (int col = 1; col < df->get_width() - 1; ++col) { float m[3]; - for( int c = 0; c < 3; c++) { - m[c] = (df->data[row - 1][3 * (col - 1) + c] + df->data[row - 1][3 * col + c] + df->data[row - 1][3 * (col + 1) + c] + - df->data[row] [3 * (col - 1) + c] + df->data[row] [3 * col + c] + - df->data[row + 1][3 * (col - 1) + c] + df->data[row + 1][3 * col + c] + df->data[row + 1][3 * (col + 1) + c]); + for (int c = 0; c < 3; c++) { + m[c] = df->data[row - 1][3 * (col - 1) + c] + df->data[row - 1][3 * col + c] + df->data[row - 1][3 * (col + 1) + c] + + df->data[row] [3 * (col - 1) + c] + df->data[row] [3 * col + c] + + df->data[row + 1][3 * (col - 1) + c] + df->data[row + 1][3 * col + c] + df->data[row + 1][3 * (col + 1) + c]; } - if( df->data[row][3 * col] > m[0]*threshold || df->data[row][3 * col + 1] > m[1]*threshold || df->data[row][3 * col + 2] > m[2]*threshold) { + if (df->data[row][3 * col] > m[0]*threshold || df->data[row][3 * col + 1] > m[1]*threshold || df->data[row][3 * col + 2] > m[2]*threshold) { badPixels.emplace_back(col, row); } } + } } - if( settings->verbose ) { + if (rtengine::settings->verbose) { std::cout << "Extracted " << badPixels.size() << " pixels from darkframe:" << df->get_filename().c_str() << std::endl; } } -// ************************* class DFManager ********************************* +} -void DFManager::init(const Glib::ustring& pathname) +class rtengine::DFManager::Implementation final : + public NonCopyable +{ +public: + void init(const Glib::ustring& pathname); + Glib::ustring getPathname() const + { + return currentPath; + }; + void getStat(int& totFiles, int& totTemplates) const; + const RawImage* searchDarkFrame(const std::string& mak, const std::string& mod, int iso, double shut, time_t t); + const RawImage* searchDarkFrame(const Glib::ustring& filename); + const std::vector* getHotPixels(const std::string& mak, const std::string& mod, int iso, double shut, time_t t); + const std::vector* getHotPixels(const Glib::ustring& filename); + const std::vector* getBadPixels(const std::string& mak, const std::string& mod, const std::string& serial) const; + +private: + typedef std::multimap dfList_t; + typedef std::map > bpList_t; + dfList_t dfList; + bpList_t bpList; + bool initialized; + Glib::ustring currentPath; + dfInfo* addFileInfo(const Glib::ustring &filename, bool pool = true); + dfInfo* find(const std::string &mak, const std::string &mod, int isospeed, double shut, time_t t); + int scanBadPixelsFile(const Glib::ustring &filename); +}; + + +void rtengine::DFManager::Implementation::init(const Glib::ustring& pathname) { if (pathname.empty()) { return; } std::vector names; - auto dir = Gio::File::create_for_path (pathname); + const auto dir = Gio::File::create_for_path(pathname); if (!dir || !dir->query_exists()) { return; } try { - auto enumerator = dir->enumerate_children ("standard::name"); + const auto enumerator = dir->enumerate_children("standard::name"); - while (auto file = enumerator->next_file ()) { - names.emplace_back (Glib::build_filename (pathname, file->get_name ())); + while (const auto file = enumerator->next_file()) { + names.emplace_back(Glib::build_filename(pathname, file->get_name())); } } catch (Glib::Exception&) {} @@ -299,40 +350,40 @@ void DFManager::init(const Glib::ustring& pathname) dfList.clear(); bpList.clear(); - for (size_t i = 0; i < names.size(); i++) { - size_t lastdot = names[i].find_last_of ('.'); + for (const auto &name : names) { + const auto lastdot = name.find_last_of('.'); - if (lastdot != Glib::ustring::npos && names[i].substr(lastdot) == ".badpixels" ) { - int n = scanBadPixelsFile( names[i] ); + if (lastdot != Glib::ustring::npos && name.substr(lastdot) == ".badpixels") { + const int n = scanBadPixelsFile(name); - if( n > 0 && settings->verbose) { - printf("Loaded %s: %d pixels\n", names[i].c_str(), n); + if (n > 0 && settings->verbose) { + printf("Loaded %s: %d pixels\n", name.c_str(), n); } continue; } try { - addFileInfo(names[i]); - } catch( std::exception& e ) {} + addFileInfo(name); + } catch(std::exception& e) {} } // Where multiple shots exist for same group, move filename to list - for( dfList_t::iterator iter = dfList.begin(); iter != dfList.end(); ++iter ) { - dfInfo &i = iter->second; + for (auto &df : dfList) { + dfInfo &i = df.second; - if( !i.pathNames.empty() && !i.pathname.empty() ) { - i.pathNames.push_back( i.pathname ); + if (!i.pathNames.empty() && !i.pathname.empty()) { + i.pathNames.push_back(i.pathname); i.pathname.clear(); } - if( settings->verbose ) { - if( !i.pathname.empty() ) { - printf( "%s: %s\n", i.key().c_str(), i.pathname.c_str()); + if (settings->verbose) { + if (!i.pathname.empty()) { + printf("%s: %s\n", i.key().c_str(), i.pathname.c_str()); } else { - printf( "%s: MEAN of \n ", i.key().c_str()); + printf("%s: MEAN of \n ", i.key().c_str()); - for(std::list::iterator path = i.pathNames.begin(); path != i.pathNames.end(); ++path) { + for (std::list::iterator path = i.pathNames.begin(); path != i.pathNames.end(); ++path) { printf("%s, ", path->c_str()); } @@ -345,9 +396,140 @@ void DFManager::init(const Glib::ustring& pathname) return; } -dfInfo* DFManager::addFileInfo (const Glib::ustring& filename, bool pool) +void rtengine::DFManager::Implementation::getStat(int& totFiles, int& totTemplates) const { - auto ext = getFileExtension(filename); + totFiles = 0; + totTemplates = 0; + + for (const auto &df : dfList) { + const dfInfo &i = df.second; + + if (i.pathname.empty()) { + totTemplates++; + totFiles += i.pathNames.size(); + } else { + totFiles++; + } + } +} + +/* The search for the best match is twofold: + * if perfect matches for iso and shutter are found, then the list is scanned for lesser distance in time + * otherwise if no match is found, the whole list is searched for lesser distance in iso and shutter + */ +const rtengine::RawImage* rtengine::DFManager::Implementation::searchDarkFrame(const std::string& mak, const std::string& mod, int iso, double shut, time_t t) +{ + dfInfo* df = find(toUppercase(mak), toUppercase(mod), iso, shut, t); + + if (df) { + return df->getRawImage(); + } else { + return nullptr; + } +} + +const rtengine::RawImage* rtengine::DFManager::Implementation::searchDarkFrame(const Glib::ustring& filename) +{ + for (auto& df : dfList) { + if (df.second.pathname.compare(filename) == 0) { + return df.second.getRawImage(); + } + } + + dfInfo *df = addFileInfo(filename, false); + + if (df) { + return df->getRawImage(); + } + + return nullptr; +} + +const std::vector* rtengine::DFManager::Implementation::getHotPixels(const Glib::ustring& filename) +{ + for (auto& df : dfList) { + if (df.second.pathname.compare(filename) == 0) { + return &df.second.getHotPixels(); + } + } + + return nullptr; +} + +const std::vector* rtengine::DFManager::Implementation::getHotPixels(const std::string& mak, const std::string& mod, int iso, double shut, time_t t) +{ + dfInfo* df = find(toUppercase(mak), toUppercase(mod), iso, shut, t); + + if (df) { + if (settings->verbose) { + if (!df->pathname.empty()) { + printf("Searched hotpixels from %s\n", df->pathname.c_str()); + } else { + if (!df->pathNames.empty()) { + printf("Searched hotpixels from template (first %s)\n", df->pathNames.begin()->c_str()); + } + } + } + + return &df->getHotPixels(); + } else { + return nullptr; + } +} + +const std::vector* rtengine::DFManager::Implementation::getBadPixels(const std::string& mak, const std::string& mod, const std::string& serial) const +{ + bpList_t::const_iterator iter; + bool found = false; + + if (!serial.empty()) { + // search with serial number first + std::ostringstream s; + s << mak << " " << mod << " " << serial; + iter = bpList.find(s.str()); + + if (iter != bpList.end()) { + found = true; + } + + if (settings->verbose) { + if (found) { + printf("%s.badpixels found\n", s.str().c_str()); + } else { + printf("%s.badpixels not found\n", s.str().c_str()); + } + } + } + + if (!found) { + // search without serial number + std::ostringstream s; + s << mak << " " << mod; + iter = bpList.find(s.str()); + + if (iter != bpList.end()) { + found = true; + } + + if (settings->verbose) { + if (found) { + printf("%s.badpixels found\n", s.str().c_str()); + } else { + printf("%s.badpixels not found\n", s.str().c_str()); + } + } + } + + if (!found) { + return nullptr; + } else { + return &(iter->second); + } +} + +dfInfo* rtengine::DFManager::Implementation::addFileInfo(const Glib::ustring& filename, bool pool) +{ + const auto ext = getFileExtension(filename); if (ext.empty() || !options.is_extention_enabled(ext)) { return nullptr; @@ -367,7 +549,7 @@ dfInfo* DFManager::addFileInfo (const Glib::ustring& filename, bool pool) auto info = file->query_info("standard::name,standard::type,standard::is-hidden"); - if (!info && info->get_file_type() == Gio::FILE_TYPE_DIRECTORY) { + if (!info || info->get_file_type() == Gio::FILE_TYPE_DIRECTORY) { return nullptr; } @@ -376,37 +558,34 @@ dfInfo* DFManager::addFileInfo (const Glib::ustring& filename, bool pool) } RawImage ri(filename); - int res = ri.loadRaw(false); // Read information about shot - if (res != 0) { + if (ri.loadRaw(false) != 0) { // Read information about shot return nullptr; } - dfList_t::iterator iter; - - if(!pool) { - dfInfo n(filename, "", "", 0, 0, 0); - iter = dfList.emplace("", n); + if (!pool) { + const dfInfo n(filename, "", "", 0, 0, 0); + auto iter = dfList.emplace("", n); return &(iter->second); } FramesData idata(filename); /* Files are added in the map, divided by same maker/model,ISO and shutter*/ - std::string key(dfInfo::key(((Glib::ustring)idata.getMake()).uppercase(), ((Glib::ustring)idata.getModel()).uppercase(), idata.getISOSpeed(), idata.getShutterSpeed())); - iter = dfList.find(key); + std::string key(dfInfo::key(toUppercase(idata.getMake()), toUppercase(idata.getModel()), idata.getISOSpeed(), idata.getShutterSpeed())); + auto iter = dfList.find(key); - if(iter == dfList.end()) { - dfInfo n(filename, ((Glib::ustring)idata.getMake()).uppercase(), ((Glib::ustring)idata.getModel()).uppercase(), idata.getISOSpeed(), idata.getShutterSpeed(), idata.getDateTimeAsTS()); + if (iter == dfList.end()) { + dfInfo n(filename, toUppercase(idata.getMake()), toUppercase(idata.getModel()), idata.getISOSpeed(), idata.getShutterSpeed(), idata.getDateTimeAsTS()); iter = dfList.emplace(key, n); } else { while(iter != dfList.end() && iter->second.key() == key && ABS(iter->second.timestamp - idata.getDateTimeAsTS()) > 60 * 60 * 6) { // 6 hour difference ++iter; } - if(iter != dfList.end()) { + if (iter != dfList.end()) { iter->second.pathNames.push_back(filename); } else { - dfInfo n(filename, ((Glib::ustring)idata.getMake()).uppercase(), ((Glib::ustring)idata.getModel()).uppercase(), idata.getISOSpeed(), idata.getShutterSpeed(), idata.getDateTimeAsTS()); + dfInfo n(filename, toUppercase(idata.getMake()), toUppercase(idata.getModel()), idata.getISOSpeed(), idata.getShutterSpeed(), idata.getDateTimeAsTS()); iter = dfList.emplace(key, n); } } @@ -418,44 +597,23 @@ dfInfo* DFManager::addFileInfo (const Glib::ustring& filename, bool pool) return nullptr; } -void DFManager::getStat( int &totFiles, int &totTemplates) +dfInfo* rtengine::DFManager::Implementation::find(const std::string& mak, const std::string& mod, int isospeed, double shut, time_t t) { - totFiles = 0; - totTemplates = 0; - - for( dfList_t::iterator iter = dfList.begin(); iter != dfList.end(); ++iter ) { - dfInfo &i = iter->second; - - if( i.pathname.empty() ) { - totTemplates++; - totFiles += i.pathNames.size(); - } else { - totFiles++; - } - } -} - -/* The search for the best match is twofold: - * if perfect matches for iso and shutter are found, then the list is scanned for lesser distance in time - * otherwise if no match is found, the whole list is searched for lesser distance in iso and shutter - */ -dfInfo* DFManager::find( const std::string &mak, const std::string &mod, int isospeed, double shut, time_t t ) -{ - if( dfList.empty() ) { + if (dfList.empty()) { return nullptr; } - std::string key( dfInfo::key(mak, mod, isospeed, shut) ); - dfList_t::iterator iter = dfList.find( key ); + const std::string key(dfInfo::key(mak, mod, isospeed, shut)); + dfList_t::iterator iter = dfList.find(key); - if( iter != dfList.end() ) { + if (iter != dfList.end()) { dfList_t::iterator bestMatch = iter; time_t bestDeltaTime = ABS(iter->second.timestamp - t); - for(++iter; iter != dfList.end() && !key.compare( iter->second.key() ); ++iter ) { - time_t d = ABS(iter->second.timestamp - t ); + for (++iter; iter != dfList.end() && !key.compare(iter->second.key()); ++iter) { + const time_t d = ABS(iter->second.timestamp - t); - if( d < bestDeltaTime ) { + if (d < bestDeltaTime) { bestMatch = iter; bestDeltaTime = d; } @@ -465,12 +623,12 @@ dfInfo* DFManager::find( const std::string &mak, const std::string &mod, int iso } else { iter = dfList.begin(); dfList_t::iterator bestMatch = iter; - double bestD = iter->second.distance( mak, mod, isospeed, shut ); + double bestD = iter->second.distance(mak, mod, isospeed, shut); - for( ++iter; iter != dfList.end(); ++iter ) { - double d = iter->second.distance( mak, mod, isospeed, shut ); + for (++iter; iter != dfList.end(); ++iter) { + const double d = iter->second.distance(mak, mod, isospeed, shut); - if( d < bestD ) { + if (d < bestD) { bestD = d; bestMatch = iter; } @@ -480,170 +638,107 @@ dfInfo* DFManager::find( const std::string &mak, const std::string &mod, int iso } } -RawImage* DFManager::searchDarkFrame( const std::string &mak, const std::string &mod, int iso, double shut, time_t t ) +int rtengine::DFManager::Implementation::scanBadPixelsFile(const Glib::ustring& filename) { - dfInfo *df = find( ((Glib::ustring)mak).uppercase(), ((Glib::ustring)mod).uppercase(), iso, shut, t ); + FILE *file = ::fopen( filename.c_str(), "r" ); - if( df ) { - return df->getRawImage(); - } else { - return nullptr; - } -} - -RawImage* DFManager::searchDarkFrame( const Glib::ustring filename ) -{ - for ( dfList_t::iterator iter = dfList.begin(); iter != dfList.end(); ++iter ) { - if( iter->second.pathname.compare( filename ) == 0 ) { - return iter->second.getRawImage(); - } + if (!file) { + return 0; } - dfInfo *df = addFileInfo( filename, false ); + const auto lastdot = filename.find_last_of('.'); + auto dirpos1 = filename.find_last_of('/'); + auto dirpos2 = filename.find_last_of('\\'); - if(df) { - return df->getRawImage(); - } - - return nullptr; -} -std::vector *DFManager::getHotPixels ( const Glib::ustring filename ) -{ - for ( dfList_t::iterator iter = dfList.begin(); iter != dfList.end(); ++iter ) { - if( iter->second.pathname.compare( filename ) == 0 ) { - return &iter->second.getHotPixels(); - } - } - - return nullptr; -} -std::vector *DFManager::getHotPixels ( const std::string &mak, const std::string &mod, int iso, double shut, time_t t ) -{ - dfInfo *df = find( ((Glib::ustring)mak).uppercase(), ((Glib::ustring)mod).uppercase(), iso, shut, t ); - - if( df ) { - if( settings->verbose ) { - if( !df->pathname.empty() ) { - printf( "Searched hotpixels from %s\n", df->pathname.c_str()); - } else { - if( !df->pathNames.empty() ) { - printf( "Searched hotpixels from template (first %s)\n", df->pathNames.begin()->c_str()); - } - } - } - - return &df->getHotPixels(); - } else { - return nullptr; - } -} - -int DFManager::scanBadPixelsFile( Glib::ustring filename ) -{ - FILE *file = fopen( filename.c_str(), "r" ); - - if( !file ) { - return false; - } - - size_t lastdot = filename.find_last_of ('.'); - size_t dirpos1 = filename.find_last_of ('/'); - size_t dirpos2 = filename.find_last_of ('\\'); - - if( dirpos1 == Glib::ustring::npos && dirpos2 == Glib::ustring::npos ) { + if (dirpos1 == Glib::ustring::npos && dirpos2 == Glib::ustring::npos) { dirpos1 = 0; - } else if( dirpos1 != Glib::ustring::npos && dirpos2 != Glib::ustring::npos ) { + } else if (dirpos1 != Glib::ustring::npos && dirpos2 != Glib::ustring::npos) { dirpos1 = (dirpos1 > dirpos2 ? dirpos1 : dirpos2); - } else if( dirpos1 == Glib::ustring::npos ) { + } else if (dirpos1 == Glib::ustring::npos) { dirpos1 = dirpos2; } - std::string makmodel(filename, dirpos1 + 1, lastdot - (dirpos1 + 1) ); + const std::string makmodel(filename, dirpos1 + 1, lastdot - (dirpos1 + 1)); std::vector bp; char line[256]; - if(fgets(line, sizeof(line), file )) { + if (fgets(line, sizeof(line), file)) { int x, y; int offset = 0; int numparms = sscanf(line, "%d %d", &x, &y); - if( numparms == 1 ) { // only one number in first line means, that this is the offset. + if (numparms == 1) { // only one number in first line means, that this is the offset. offset = x; - } else if(numparms == 2) { + } else if (numparms == 2) { bp.emplace_back(x + offset, y + offset); } - while( fgets(line, sizeof(line), file ) ) { - if( sscanf(line, "%d %d", &x, &y) == 2 ) { + while(fgets(line, sizeof(line), file)) { + if (sscanf(line, "%d %d", &x, &y) == 2) { bp.emplace_back(x + offset, y + offset); } } } - int numPixels = bp.size(); + const int numPixels = bp.size(); - if( numPixels > 0 ) { - bpList[ makmodel ] = bp; + if (numPixels > 0) { + bpList[makmodel] = bp; } fclose(file); return numPixels; } -std::vector *DFManager::getBadPixels ( const std::string &mak, const std::string &mod, const std::string &serial) +rtengine::DFManager& rtengine::DFManager::getInstance() { - bpList_t::iterator iter; - bool found = false; - - if( !serial.empty() ) { - // search with serial number first - std::ostringstream s; - s << mak << " " << mod << " " << serial; - iter = bpList.find( s.str() ); - - if( iter != bpList.end() ) { - found = true; - } - - if( settings->verbose ) { - if(found) { - printf("%s.badpixels found\n", s.str().c_str()); - } else { - printf("%s.badpixels not found\n", s.str().c_str()); - } - } - - } - - if(!found) { - // search without serial number - std::ostringstream s; - s << mak << " " << mod; - iter = bpList.find( s.str() ); - - if( iter != bpList.end() ) { - found = true; - } - - if( settings->verbose ) { - if(found) { - printf("%s.badpixels found\n", s.str().c_str()); - } else { - printf("%s.badpixels not found\n", s.str().c_str()); - } - } - } - - if(!found) { - return nullptr; - } else { - return &(iter->second); - } + static DFManager instance; + return instance; } -// Global variable -DFManager dfm; - - +void rtengine::DFManager::init(const Glib::ustring& pathname) +{ + implementation->init(pathname); } +Glib::ustring rtengine::DFManager::getPathname() const +{ + return implementation->getPathname(); +} + +void rtengine::DFManager::getStat(int& totFiles, int& totTemplates) const +{ + implementation->getStat(totFiles, totTemplates); +} + +const rtengine::RawImage* rtengine::DFManager::searchDarkFrame(const std::string& mak, const std::string& mod, int iso, double shut, time_t t) +{ + return implementation->searchDarkFrame(mak, mod, iso, shut, t); +} + +const rtengine::RawImage* rtengine::DFManager::searchDarkFrame(const Glib::ustring& filename) +{ + return implementation->searchDarkFrame(filename); +} + +const std::vector* rtengine::DFManager::getHotPixels(const std::string& mak, const std::string& mod, int iso, double shut, time_t t) +{ + return implementation->getHotPixels(mak, mod, iso, shut, t); +} + +const std::vector* rtengine::DFManager::getHotPixels(const Glib::ustring& filename) +{ + return implementation->getHotPixels(filename); +} + +const std::vector* rtengine::DFManager::getBadPixels(const std::string& mak, const std::string& mod, const std::string& serial) const +{ + return implementation->getBadPixels(mak, mod, serial); +} + +rtengine::DFManager::DFManager() : + implementation(new Implementation) +{ +} + +rtengine::DFManager::~DFManager() = default; diff --git a/rtengine/dfmanager.h b/rtengine/dfmanager.h index b23981ffb..01ee7479a 100644 --- a/rtengine/dfmanager.h +++ b/rtengine/dfmanager.h @@ -18,89 +18,40 @@ */ #pragma once -#include -#include -#include +#include #include +#include #include -#include "pixelsmap.h" - namespace rtengine { +struct badPix; + class RawImage; -class dfInfo final -{ -public: - - Glib::ustring pathname; // filename of dark frame - std::list pathNames; // other similar dark frames, used for average - std::string maker; ///< manufacturer - std::string model; ///< model - int iso; ///< ISO (gain) - double shutter; ///< shutter or exposure time in sec - time_t timestamp; ///< seconds since 1 Jan 1970 - - - dfInfo(const Glib::ustring &name, const std::string &mak, const std::string &mod, int iso, double shut, time_t t) - : pathname(name), maker(mak), model(mod), iso(iso), shutter(shut), timestamp(t), ri(nullptr) {} - - dfInfo( const dfInfo &o) - : pathname(o.pathname), maker(o.maker), model(o.model), iso(o.iso), shutter(o.shutter), timestamp(o.timestamp), ri(nullptr) {} - ~dfInfo(); - - dfInfo &operator =(const dfInfo &o); - bool operator <(const dfInfo &e2) const; - - // Calculate virtual distance between two shots; different model return infinite - double distance(const std::string &mak, const std::string &mod, int iso, double shutter) const; - - static std::string key(const std::string &mak, const std::string &mod, int iso, double shut ); - std::string key() - { - return key( maker, model, iso, shutter); - } - - RawImage *getRawImage(); - std::vector &getHotPixels(); - -protected: - RawImage *ri; ///< Dark Frame raw data - std::vector badPixels; ///< Extracted hot pixels - - void updateBadPixelList( RawImage *df ); - void updateRawImage(); -}; class DFManager final { public: - void init(const Glib::ustring &pathname); - Glib::ustring getPathname() - { - return currentPath; - }; - void getStat( int &totFiles, int &totTemplate); - RawImage *searchDarkFrame( const std::string &mak, const std::string &mod, int iso, double shut, time_t t ); - RawImage *searchDarkFrame( const Glib::ustring filename ); - std::vector *getHotPixels ( const std::string &mak, const std::string &mod, int iso, double shut, time_t t ); - std::vector *getHotPixels ( const Glib::ustring filename ); - std::vector *getBadPixels ( const std::string &mak, const std::string &mod, const std::string &serial); + static DFManager& getInstance(); -protected: - typedef std::multimap dfList_t; - typedef std::map > bpList_t; - dfList_t dfList; - bpList_t bpList; - bool initialized; - Glib::ustring currentPath; - dfInfo *addFileInfo(const Glib::ustring &filename, bool pool = true ); - dfInfo *find( const std::string &mak, const std::string &mod, int isospeed, double shut, time_t t ); - int scanBadPixelsFile( Glib::ustring filename ); + void init(const Glib::ustring& pathname); + Glib::ustring getPathname() const; + void getStat(int& totFiles, int& totTemplates) const; + const RawImage* searchDarkFrame(const std::string& mak, const std::string& mod, int iso, double shut, time_t t); + const RawImage* searchDarkFrame(const Glib::ustring& filename); + const std::vector* getHotPixels(const std::string& mak, const std::string& mod, int iso, double shut, time_t t); + const std::vector* getHotPixels(const Glib::ustring& filename); + const std::vector* getBadPixels(const std::string& mak, const std::string& mod, const std::string& serial) const; + +private: + DFManager(); + ~DFManager(); + + class Implementation; + + const std::unique_ptr implementation; }; -extern DFManager dfm; - } diff --git a/rtengine/diagonalcurves.cc b/rtengine/diagonalcurves.cc index 622683ea2..1173f8803 100644 --- a/rtengine/diagonalcurves.cc +++ b/rtengine/diagonalcurves.cc @@ -116,8 +116,8 @@ DiagonalCurve::DiagonalCurve (const std::vector& p, int poly_pn) } mc = -xlog(2.0) / xlog(x[2]); - double mbase = pfull (0.5, x[8], x[6], x[5]); - mfc = mbase <= 1e-14 ? 0.0 : xexp(xlog(mbase) / mc); // value of the curve at the center point + double mbase = pfull_alt (0.5, x[6], x[5]); + mfc = xexp(xlog(mbase) / mc); // value of the curve at the center point msc = -xlog(2.0) / xlog(x[1] / x[2]); mhc = -xlog(2.0) / xlog((x[3] - x[2]) / (1 - x[2])); } @@ -424,7 +424,6 @@ void DiagonalCurve::catmull_rom_set() /*****************************************************************************/ - double DiagonalCurve::getVal (double t) const { @@ -435,20 +434,24 @@ double DiagonalCurve::getVal (double t) const return 0.0; } - double tv = xexp(mc * xlog(t)); - double base = pfull (tv, x[8], x[6], x[5]); - double stretched = base <= 1e-14 ? 0.0 : xexp(xlog(base) / mc); + double tv = xexp(max(mc * xlog(t),-236.0)); // prevents numerical issues when calling pfull, at the cost of minor artifacts + double base = pfull_alt (tv, x[6], x[5]); + double stretched = xexp(xlog(base) / mc); if (t < x[2]) { // add shadows effect: - double stv = xexp(msc * xlog(stretched / mfc)); - double sbase = pfull (stv, x[8], x[7], 0.5); - return mfc * (sbase <= 1e-14 ? 0.0 : xexp(xlog(sbase) / msc)); + double stv = xexp(max(msc * xlog(stretched / mfc),-236.0)); + double sbase = pfull_alt (stv, x[7], 0.5); + return mfc * xexp(xlog(sbase) / msc); } else { // add highlights effect: - double htv = xexp(mhc * xlog((stretched - mfc) / (1 - mfc))); - double hbase = pfull (htv, x[8], 0.5, x[4]); - return mfc + (1 - mfc) * (hbase <= 1e-14 ? 0.0 : xexp(xlog(hbase) / mhc)); + double htv = xexp(max(mhc * xlog((stretched - mfc) / (1.0 - mfc)),-236.0)); + if (htv < 1e-6) { + return stretched; // this part of the curve isn't affected by highlight, return the base curve + } else { + double hbase = pfull_alt (htv, 0.5, x[4]); + return mfc + (1.0 - mfc) * xexp(xlog(hbase) / mhc); + } } break; diff --git a/rtengine/dnggainmap.h b/rtengine/dnggainmap.h new file mode 100644 index 000000000..25a01fd0f --- /dev/null +++ b/rtengine/dnggainmap.h @@ -0,0 +1,43 @@ +/* + * This file is part of RawTherapee. + * + * Copyright (c) 2021 Ingo Weyrich + * + * 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 . + */ + +#pragma once + +#include +#include + +struct GainMap +{ + std::uint32_t Top; + std::uint32_t Left; + std::uint32_t Bottom; + std::uint32_t Right; + std::uint32_t Plane; + std::uint32_t Planes; + std::uint32_t RowPitch; + std::uint32_t ColPitch; + std::uint32_t MapPointsV; + std::uint32_t MapPointsH; + double MapSpacingV; + double MapSpacingH; + double MapOriginV; + double MapOriginH; + std::uint32_t MapPlanes; + std::vector MapGain; +}; diff --git a/rtengine/dynamicprofile.cc b/rtengine/dynamicprofile.cc index c0592e24b..82e4fda5f 100644 --- a/rtengine/dynamicprofile.cc +++ b/rtengine/dynamicprofile.cc @@ -77,7 +77,7 @@ bool DynamicProfileRule::operator< (const DynamicProfileRule &other) const } -bool DynamicProfileRule::matches (const rtengine::FramesMetaData *im) const +bool DynamicProfileRule::matches (const rtengine::FramesMetaData *im, const Glib::ustring& filename) const { return (iso (im->getISOSpeed()) && fnumber (im->getFNumber()) @@ -86,6 +86,7 @@ bool DynamicProfileRule::matches (const rtengine::FramesMetaData *im) const && expcomp (im->getExpComp()) && camera (im->getCamera()) && lens (im->getLens()) + && path (filename) && imagetype(im->getImageType())); } @@ -214,6 +215,7 @@ bool DynamicProfileRules::loadRules() get_double_range (rule.expcomp, kf, group, "expcomp"); get_optional (rule.camera, kf, group, "camera"); get_optional (rule.lens, kf, group, "lens"); + get_optional (rule.path, kf, group, "path"); get_optional (rule.imagetype, kf, group, "imagetype"); try { @@ -247,6 +249,7 @@ bool DynamicProfileRules::storeRules() set_double_range (kf, group, "expcomp", rule.expcomp); set_optional (kf, group, "camera", rule.camera); set_optional (kf, group, "lens", rule.lens); + set_optional (kf, group, "path", rule.path); set_optional (kf, group, "imagetype", rule.imagetype); kf.set_string (group, "profilepath", rule.profilepath); } diff --git a/rtengine/dynamicprofile.h b/rtengine/dynamicprofile.h index d91b91aee..654db3a8e 100644 --- a/rtengine/dynamicprofile.h +++ b/rtengine/dynamicprofile.h @@ -51,7 +51,7 @@ public: }; DynamicProfileRule(); - bool matches (const rtengine::FramesMetaData *im) const; + bool matches (const rtengine::FramesMetaData *im, const Glib::ustring& filename) const; bool operator< (const DynamicProfileRule &other) const; int serial_number; @@ -62,6 +62,7 @@ public: Range expcomp; Optional camera; Optional lens; + Optional path; Optional imagetype; Glib::ustring profilepath; }; diff --git a/rtengine/iimage.h b/rtengine/iimage.h index 984b98a6f..2c75a0d59 100644 --- a/rtengine/iimage.h +++ b/rtengine/iimage.h @@ -347,6 +347,23 @@ public: } } + /** Copy the a sub-region of the data to another PlanarRGBData */ + void copyData(PlanarWhateverData *dest, int x, int y, int width, int height) + { + assert (dest != NULL); + // Make sure that the size is the same, reallocate if necessary + dest->allocate(width, height); + + if (dest->width == -1) { + printf("ERROR: PlanarRGBData::copyData >>> allocation failed!\n"); + return; + } + + for (int i = y, j = 0; i < y + height; ++i, ++j) { + memcpy (dest->v(i) + x, v(j), width * sizeof(T)); + } + } + void rotate (int deg) override { @@ -756,6 +773,25 @@ public: } } + /** Copy the a sub-region of the data to another PlanarRGBData */ + void copyData(PlanarRGBData *dest, int x, int y, int width, int height) + { + assert (dest != NULL); + // Make sure that the size is the same, reallocate if necessary + dest->allocate(width, height); + + if (dest->width == -1) { + printf("ERROR: PlanarRGBData::copyData >>> allocation failed!\n"); + return; + } + + for (int i = y, j = 0; i < y + height; ++i, ++j) { + memcpy (dest->r(i) + x, r(j), width * sizeof(T)); + memcpy (dest->g(i) + x, g(j), width * sizeof(T)); + memcpy (dest->b(i) + x, b(j), width * sizeof(T)); + } + } + void rotate (int deg) final { @@ -1392,6 +1428,23 @@ public: memcpy (dest->data, data, 3 * width * height * sizeof(T)); } + /** Copy the a sub-region of the data to another PlanarRGBData */ + void copyData(ChunkyRGBData *dest, int x, int y, int width, int height) + { + assert (dest != NULL); + // Make sure that the size is the same, reallocate if necessary + dest->allocate(width, height); + + if (dest->width == -1) { + printf("ERROR: PlanarRGBData::copyData >>> allocation failed!\n"); + return; + } + + for (int i = y, j = 0; i < y + height; ++i, ++j) { + memcpy (dest->r(i) + x, r(j), 3 * width * sizeof(T)); + } + } + void rotate (int deg) final { diff --git a/rtengine/image16.cc b/rtengine/image16.cc index 1a9130b5d..ae981c7bd 100644 --- a/rtengine/image16.cc +++ b/rtengine/image16.cc @@ -134,7 +134,21 @@ Image16* Image16::copy() const return cp; } -void Image16::getStdImage(const ColorTemp &ctemp, int tran, Imagefloat* image, PreviewProps pp) const +Image16* Image16::copySubRegion (int x, int y, int width, int height) +{ + Image16* cp = NULL; + int realWidth = LIM(x + width, 0, this->width) - x; + int realHeight = LIM(y + height, 0, this->height) - y; + + if (realWidth > 0 && realHeight > 0) { + cp = new Image16 (realWidth, realHeight); + copyData(cp, x, y, realWidth, realHeight); + } + + return cp; +} + +void Image16::getStdImage(const ColorTemp &ctemp, int tran, Imagefloat* image, const PreviewProps &pp) const { // compute channel multipliers diff --git a/rtengine/image16.h b/rtengine/image16.h index de9718708..25b777832 100644 --- a/rtengine/image16.h +++ b/rtengine/image16.h @@ -39,8 +39,9 @@ public: ~Image16() override; Image16* copy() const; + Image16* copySubRegion (int x, int y, int width, int height); - void getStdImage(const ColorTemp &ctemp, int tran, Imagefloat* image, PreviewProps pp) const override; + void getStdImage(const ColorTemp &ctemp, int tran, Imagefloat* image, const PreviewProps &pp) const override; const char* getType() const override { diff --git a/rtengine/image8.cc b/rtengine/image8.cc index 67b38d0c1..1b4e49d84 100644 --- a/rtengine/image8.cc +++ b/rtengine/image8.cc @@ -100,7 +100,7 @@ Image8* Image8::copy () const return cp; } -void Image8::getStdImage (const ColorTemp &ctemp, int tran, Imagefloat* image, PreviewProps pp) const +void Image8::getStdImage (const ColorTemp &ctemp, int tran, Imagefloat* image, const PreviewProps &pp) const { // compute channel multipliers float rm = 1.f, gm = 1.f, bm = 1.f; diff --git a/rtengine/image8.h b/rtengine/image8.h index dd3be5d9b..76a580bb6 100644 --- a/rtengine/image8.h +++ b/rtengine/image8.h @@ -38,7 +38,7 @@ public: Image8* copy () const; - void getStdImage (const ColorTemp &ctemp, int tran, Imagefloat* image, PreviewProps pp) const override; + void getStdImage (const ColorTemp &ctemp, int tran, Imagefloat* image, const PreviewProps &pp) const override; const char* getType () const override { diff --git a/rtengine/imagedata.cc b/rtengine/imagedata.cc index d035760db..4dbc3f0a0 100644 --- a/rtengine/imagedata.cc +++ b/rtengine/imagedata.cc @@ -19,6 +19,7 @@ #include #include +#include #include #include #include @@ -61,12 +62,22 @@ FramesMetaData* FramesMetaData::fromFile(const Glib::ustring& fname) return new FramesData(fname); } -FramesData::FramesData(const Glib::ustring &fname) : +static struct tm timeFromTS(const time_t ts) +{ +#if !defined(WIN32) + struct tm tm; + return *gmtime_r(&ts, &tm); +#else + return *gmtime(&ts); +#endif +} + +FramesData::FramesData(const Glib::ustring &fname, time_t ts) : ok_(false), fname_(fname), dcrawFrameCount(0), - time{}, - timeStamp{}, + time{timeFromTS(ts)}, + timeStamp{ts}, iso_speed(0), aperture(0.), focal_len(0.), @@ -85,6 +96,11 @@ FramesData::FramesData(const Glib::ustring &fname) : w_(-1), h_(-1) { + GStatBuf statbuf = {}; + g_stat(fname.c_str(), &statbuf); + modTimeStamp = statbuf.st_mtime; + modTime = timeFromTS(modTimeStamp); + make.clear(); model.clear(); serial.clear(); diff --git a/rtengine/imagedata.h b/rtengine/imagedata.h index 88c0ec48d..08f55bd62 100644 --- a/rtengine/imagedata.h +++ b/rtengine/imagedata.h @@ -55,13 +55,15 @@ private: int rating; std::string lens; IIOSampleFormat sampleFormat; + struct tm modTime; + time_t modTimeStamp; bool isPixelShift; bool isHDR; int w_; int h_; public: - explicit FramesData(const Glib::ustring& fname); + explicit FramesData(const Glib::ustring& fname, time_t ts = 0); void setDCRawFrameCount(unsigned int frameCount); unsigned int getFrameCount() const override; diff --git a/rtengine/imagedimensions.cc b/rtengine/imagedimensions.cc index 5b60e5da7..5e780558c 100644 --- a/rtengine/imagedimensions.cc +++ b/rtengine/imagedimensions.cc @@ -54,6 +54,14 @@ int PreviewProps::getSkip() const return skip; } +void PreviewProps::set (int x, int y, int w, int h, int skip) { + this->x = x; + this->y = y; + this->width = w; + this->height = h; + this->skip = skip; +} + ImageDimensions::ImageDimensions() : width(-1), height(-1) diff --git a/rtengine/imagedimensions.h b/rtengine/imagedimensions.h index eb92798c3..fce7a4dea 100644 --- a/rtengine/imagedimensions.h +++ b/rtengine/imagedimensions.h @@ -29,6 +29,7 @@ public: int getWidth() const; int getHeight() const; int getSkip() const; + void set (int x, int y, int w, int h, int skip); private: int x; diff --git a/rtengine/imagefloat.cc b/rtengine/imagefloat.cc index d9ac841eb..7bc75fe6d 100644 --- a/rtengine/imagefloat.cc +++ b/rtengine/imagefloat.cc @@ -165,8 +165,22 @@ Imagefloat* Imagefloat::copy () const return cp; } +Imagefloat* Imagefloat::copySubRegion (int x, int y, int width, int height) +{ + Imagefloat* cp = NULL; + int realWidth = LIM(x + width, 0, this->width) - x; + int realHeight = LIM(y + height, 0, this->height) - y; + + if (realWidth > 0 && realHeight > 0) { + cp = new Imagefloat (realWidth, realHeight); + copyData(cp, x, y, realWidth, realHeight); + } + + return cp; +} + // This is called by the StdImageSource class. We assume that fp images from StdImageSource don't have to deal with gamma -void Imagefloat::getStdImage (const ColorTemp &ctemp, int tran, Imagefloat* image, PreviewProps pp) const +void Imagefloat::getStdImage (const ColorTemp &ctemp, int tran, Imagefloat* image, const PreviewProps &pp) const { // compute channel multipliers diff --git a/rtengine/imagefloat.h b/rtengine/imagefloat.h index 3362afcda..fc3ba318d 100644 --- a/rtengine/imagefloat.h +++ b/rtengine/imagefloat.h @@ -44,8 +44,9 @@ public: ~Imagefloat () override; Imagefloat* copy () const; + Imagefloat* copySubRegion (int x, int y, int width, int height); - void getStdImage (const ColorTemp &ctemp, int tran, Imagefloat* image, PreviewProps pp) const override; + void getStdImage (const ColorTemp &ctemp, int tran, Imagefloat* image, const PreviewProps &pp) const override; const char* getType () const override { diff --git a/rtengine/imageio.h b/rtengine/imageio.h index 26e7164e6..e50188b95 100644 --- a/rtengine/imageio.h +++ b/rtengine/imageio.h @@ -81,7 +81,7 @@ public: void setSampleArrangement(IIOSampleArrangement sArrangement); IIOSampleArrangement getSampleArrangement() const; - virtual void getStdImage (const ColorTemp &ctemp, int tran, Imagefloat* image, PreviewProps pp) const = 0; + virtual void getStdImage (const ColorTemp &ctemp, int tran, Imagefloat* image, const PreviewProps &pp) const = 0; virtual int getBPS () const = 0; virtual void getScanline (int row, unsigned char* buffer, int bps, bool isFloat = false) const = 0; virtual void setScanline (int row, const unsigned char* buffer, int bps, unsigned int numSamples = 3) = 0; diff --git a/rtengine/imagesource.h b/rtengine/imagesource.h index d89681137..926987ec0 100644 --- a/rtengine/imagesource.h +++ b/rtengine/imagesource.h @@ -137,6 +137,7 @@ public: virtual ImageMatrices* getImageMatrices () = 0; virtual bool isRAW () const = 0; + virtual bool isGainMapSupported () const = 0; virtual DCPProfile* getDCP (const procparams::ColorManagementParams &cmp, DCPProfileApplyState &as) { return nullptr; @@ -171,7 +172,7 @@ public: outCurve = { 0.0 }; } - double getDirPyrDenoiseExpComp ( ) + double getDirPyrDenoiseExpComp () const { return dirpyrdenoiseExpComp; } diff --git a/rtengine/improccoordinator.cc b/rtengine/improccoordinator.cc index b74a137ff..1c3142c65 100644 --- a/rtengine/improccoordinator.cc +++ b/rtengine/improccoordinator.cc @@ -17,6 +17,7 @@ * along with RawTherapee. If not, see . */ #include + #include #include "improccoordinator.h" @@ -27,6 +28,7 @@ #include "colortemp.h" #include "curves.h" #include "dcp.h" +#include "guidedfilter.h" #include "iccstore.h" #include "image8.h" #include "imagefloat.h" @@ -35,8 +37,9 @@ #include "labimage.h" #include "lcp.h" #include "procparams.h" +#include "tweakoperator.h" #include "refreshmap.h" -#include "guidedfilter.h" +#include "utils.h" #include "../rtgui/options.h" @@ -57,6 +60,7 @@ namespace rtengine ImProcCoordinator::ImProcCoordinator() : orig_prev(nullptr), oprevi(nullptr), + spotprev(nullptr), oprevl(nullptr), nprevl(nullptr), fattal_11_dcrop_cache(nullptr), @@ -166,6 +170,7 @@ ImProcCoordinator::ImProcCoordinator() : hListener(nullptr), resultValid(false), params(new procparams::ProcParams), + tweakOperator(nullptr), lastOutputProfile("BADFOOD"), lastOutputIntent(RI__COUNT), lastOutputBPC(false), @@ -212,6 +217,12 @@ ImProcCoordinator::ImProcCoordinator() : lmasklclocalcurve(65536, LUT_CLIP_OFF), lmaskloglocalcurve(65536, LUT_CLIP_OFF), lmasklocal_curve(65536, LUT_CLIP_OFF), + lmaskcielocalcurve(65536, LUT_CLIP_OFF), + cielocalcurve(65536, LUT_CLIP_OFF), + cielocalcurve2(65536, LUT_CLIP_OFF), + jzlocalcurve(65536, LUT_CLIP_OFF), + czlocalcurve(65536, LUT_CLIP_OFF), + czjzlocalcurve(65536, LUT_CLIP_OFF), lastspotdup(false), previewDeltaE(false), locallColorMask(0), @@ -230,6 +241,7 @@ ImProcCoordinator::ImProcCoordinator() : locallsharMask(0), localllogMask(0), locall_Mask(0), + locallcieMask(0), retistrsav(nullptr) { } @@ -279,9 +291,32 @@ void ImProcCoordinator::assign(ImageSource* imgsrc) this->imgsrc = imgsrc; } -void ImProcCoordinator::getParams(procparams::ProcParams* dst) +void ImProcCoordinator::getParams(procparams::ProcParams* dst, bool tweaked) { - *dst = *params; + if (!tweaked && paramsBackup.operator bool()) { + *dst = *paramsBackup; + } else { + *dst = *params; + } +} + +void ImProcCoordinator::backupParams() +{ + if (!params) { + return; + } + if (!paramsBackup) { + paramsBackup.reset(new ProcParams()); + } + *paramsBackup = *params; +} + +void ImProcCoordinator::restoreParams() +{ + if (!paramsBackup || !params) { + return; + } + *params = *paramsBackup; } DetailedCrop* ImProcCoordinator::createCrop(::EditDataProvider *editDataProvider, bool isDetailWindow) @@ -321,6 +356,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) RAWParams rp = params->raw; ColorManagementParams cmp = params->icm; LCurveParams lcur = params->labCurve; + bool spotsDone = false; if (!highDetailNeeded) { // if below 100% magnification, take a fast path @@ -372,7 +408,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) // 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, imgsrc->isMono()); + imageTypeListener->imageTypeChanged(imgsrc->isRAW(), imgsrc->getSensorType() == ST_BAYER, imgsrc->getSensorType() == ST_FUJI_XTRANS, imgsrc->isMono(), imgsrc->isGainMapSupported()); } if ((todo & M_RAW) @@ -541,12 +577,12 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) params->wb.green = currWB.getGreen(); } - if (autowb && awbListener && params->wb.method == "autitcgreen") { - awbListener->WBChanged(params->wb.temperature, params->wb.green, studgood); - } - - if (autowb && awbListener && params->wb.method == "autold") { - awbListener->WBChanged(params->wb.temperature, params->wb.green, -1.f); + if (autowb && awbListener) { + if (params->wb.method == "autitcgreen") { + awbListener->WBChanged(params->wb.temperature, params->wb.green, studgood); + } else if (params->wb.method == "autold") { + awbListener->WBChanged(params->wb.temperature, params->wb.green, -1.f); + } } /* @@ -584,6 +620,13 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) ipf.setScale(scale); imgsrc->getImage(currWB, tr, orig_prev, pp, params->toneCurve, params->raw); + + if ((todo & M_SPOT) && params->spot.enabled && !params->spot.entries.empty()) { + spotsDone = true; + PreviewProps pp(0, 0, fw, fh, scale); + ipf.removeSpots(orig_prev, imgsrc, params->spot.entries, pp, currWB, nullptr, tr); + } + denoiseInfoStore.valid = false; //ColorTemp::CAT02 (orig_prev, ¶ms) ; // printf("orig_prevW=%d\n scale=%d",orig_prev->width, scale); @@ -601,16 +644,16 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) float max_r[nbw*nbh]; float max_b[nbw*nbh]; - if(denoiseParams.Lmethod == "CUR") { - if(noiseLCurve) + if (denoiseParams.Lmethod == "CUR") { + if (noiseLCurve) denoiseParams.luma = 0.5f; else denoiseParams.luma = 0.0f; - } else if(denoiseParams.Lmethod == "SLI") + } else if (denoiseParams.Lmethod == "SLI") noiseLCurve.Reset(); - if(noiseLCurve || noiseCCurve){//only allocate memory if enabled and scale=1 + if (noiseLCurve || noiseCCurve){//only allocate memory if enabled and scale=1 // we only need image reduced to 1/4 here calclum = new Imagefloat ((pW+1)/2, (pH+1)/2);//for luminance denoise curve for(int ii=0;iispot.enabled && !params->spot.entries.empty()) { + allocCache(spotprev); + orig_prev->copyData(spotprev); + PreviewProps pp(0, 0, fw, fh, scale); + ipf.removeSpots(spotprev, imgsrc, params->spot.entries, pp, currWB, ¶ms->icm, tr); + } else { + if (spotprev) { + delete spotprev; + spotprev = nullptr; + } + } + } + if (spotprev) { + spotprev->copyData(orig_prev); + } + if ((todo & M_HDR) && (params->fattal.enabled || params->dehaze.enabled)) { if (fattal_11_dcrop_cache) { delete fattal_11_dcrop_cache; @@ -667,12 +729,12 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) } } - oprevi = orig_prev; - // Remove transformation if unneeded bool needstransform = ipf.needsTransform(fw, fh, imgsrc->getRotateDegree(), imgsrc->getMetaData()); + if ((needstransform || ((todo & (M_TRANSFORM | M_RGBCURVE)) && params->dirpyrequalizer.cbdlMethod == "bef" && params->dirpyrequalizer.enabled && !params->colorappearance.enabled))) { + // Forking the image assert(oprevi); Imagefloat *op = oprevi; oprevi = new Imagefloat(pW, pH); @@ -685,6 +747,14 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) } } + for (int sp = 0; sp < (int)params->locallab.spots.size(); sp++) { + if(params->locallab.spots.at(sp).expsharp && params->dirpyrequalizer.cbdlMethod == "bef") { + if(params->locallab.spots.at(sp).shardamping < 1) { + params->locallab.spots.at(sp).shardamping = 1; + } + } + } + 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(); @@ -732,6 +802,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) // Encoding log with locallab if (params->locallab.enabled && !params->locallab.spots.empty()) { const int sizespot = (int)params->locallab.spots.size(); + const LocallabParams::LocallabSpot defSpot; float *sourceg = nullptr; sourceg = new float[sizespot]; @@ -741,6 +812,8 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) targetg = new float[sizespot]; bool *log = nullptr; log = new bool[sizespot]; + bool *cie = nullptr; + cie = new bool[sizespot]; bool *autocomput = nullptr; autocomput = new bool[sizespot]; float *blackev = nullptr; @@ -749,6 +822,9 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) whiteev = new float[sizespot]; bool *Autogr = nullptr; Autogr = new bool[sizespot]; + bool *autocie = nullptr; + autocie = new bool[sizespot]; + float *locx = nullptr; locx = new float[sizespot]; @@ -765,7 +841,9 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) for (int sp = 0; sp < sizespot; sp++) { log[sp] = params->locallab.spots.at(sp).explog; + cie[sp] = params->locallab.spots.at(sp).expcie; autocomput[sp] = params->locallab.spots.at(sp).autocompute; + autocie[sp] = params->locallab.spots.at(sp).Autograycie; blackev[sp] = params->locallab.spots.at(sp).blackEv; whiteev[sp] = params->locallab.spots.at(sp).whiteEv; sourceg[sp] = params->locallab.spots.at(sp).sourceGray; @@ -779,9 +857,10 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) centx[sp] = params->locallab.spots.at(sp).centerX / 2000.0 + 0.5; centy[sp] = params->locallab.spots.at(sp).centerY / 2000.0 + 0.5; - const bool fullim = params->locallab.spots.at(sp).fullimage; + const bool fullimstd = params->locallab.spots.at(sp).fullimage;//for log encoding standard + const bool fullimjz = true;//always force fullimage in log encoding Jz - always possible to put a checkbox if need - if (log[sp] && autocomput[sp]) { + if ((log[sp] && autocomput[sp]) || (cie[sp] && autocie[sp])) { constexpr int SCALE = 10; int fw, fh, tr = TR_NONE; imgsrc->getFullSize(fw, fh, tr); @@ -792,7 +871,14 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) float xsta = std::max(static_cast(centx[sp] - locxL[sp]), 0.f); float xend = std::min(static_cast(centx[sp] + locx[sp]), 1.f); - if (fullim) { + if (fullimstd && (log[sp] && autocomput[sp])) { + ysta = 0.f; + yend = 1.f; + xsta = 0.f; + xend = 1.f; + } + + if (fullimjz && (cie[sp] && autocie[sp])) { ysta = 0.f; yend = 1.f; xsta = 0.f; @@ -800,14 +886,18 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) } ipf.getAutoLogloc(sp, imgsrc, sourceg, blackev, whiteev, Autogr, sourceab, fw, fh, xsta, xend, ysta, yend, SCALE); - //printf("sg=%f sab=%f\n", sourceg[sp], sourceab[sp]); + // printf("sp=%i sg=%f sab=%f\n", sp, sourceg[sp], sourceab[sp]); params->locallab.spots.at(sp).blackEv = blackev[sp]; params->locallab.spots.at(sp).whiteEv = whiteev[sp]; + params->locallab.spots.at(sp).blackEvjz = blackev[sp]; + params->locallab.spots.at(sp).whiteEvjz = whiteev[sp]; params->locallab.spots.at(sp).sourceGray = sourceg[sp]; params->locallab.spots.at(sp).sourceabs = sourceab[sp]; - + params->locallab.spots.at(sp).sourceGraycie = sourceg[sp]; + params->locallab.spots.at(sp).sourceabscie = sourceab[sp]; + float jz1 = defSpot.jz100; if (locallListener) { - locallListener->logencodChanged(blackev[sp], whiteev[sp], sourceg[sp], sourceab[sp], targetg[sp]); + locallListener->logencodChanged(blackev[sp], whiteev[sp], sourceg[sp], sourceab[sp], targetg[sp], autocomput[sp], autocie[sp], jz1); } } } @@ -819,53 +909,21 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) delete [] centx; delete [] centy; + delete [] autocie; delete [] Autogr; delete [] whiteev; delete [] blackev; delete [] targetg; delete [] sourceab; delete [] sourceg; + delete [] cie; delete [] log; delete [] autocomput; } } - if (todo & (M_AUTOEXP | M_RGBCURVE)) { - /* if (params->icm.workingTRC == "Custom") { //exec TRC IN free - if (oprevi == orig_prev) { - oprevi = new Imagefloat(pW, pH); - orig_prev->copyData(oprevi); - } - const Glib::ustring profile = params->icm.workingProfile; - - if (profile == "sRGB" || profile == "Adobe RGB" || profile == "ProPhoto" || profile == "WideGamut" || profile == "BruceRGB" || profile == "Beta RGB" || profile == "BestRGB" || profile == "Rec2020" || profile == "ACESp0" || profile == "ACESp1") { - const int cw = oprevi->getWidth(); - const int ch = oprevi->getHeight(); - - // put gamma TRC to 1 - if (customTransformIn) { - cmsDeleteTransform(customTransformIn); - customTransformIn = nullptr; - } - - ipf.workingtrc(oprevi, oprevi, cw, ch, -5, params->icm.workingProfile, 2.4, 12.92310, customTransformIn, true, false, true); - - //adjust TRC - if (customTransformOut) { - cmsDeleteTransform(customTransformOut); - customTransformOut = nullptr; - } - - ipf.workingtrc(oprevi, oprevi, cw, ch, 5, params->icm.workingProfile, params->icm.workingTRCGamma, params->icm.workingTRCSlope, customTransformOut, false, true, true); - } - } - */ - } - - // if ((todo & (M_LUMINANCE + M_COLOR)) || (todo & M_AUTOEXP)) { - // if (todo & M_RGBCURVE) { - if (((todo & (M_AUTOEXP | M_RGBCURVE)) || (todo & M_CROP)) && params->locallab.enabled && !params->locallab.spots.empty()) { + if ((todo & (M_AUTOEXP | M_RGBCURVE | M_CROP)) && params->locallab.enabled && !params->locallab.spots.empty()) { ipf.rgb2lab(*oprevi, *oprevl, params->icm.workingProfile); @@ -904,7 +962,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) int sca = 1; double huere, chromare, lumare, huerefblu, chromarefblu, lumarefblu, sobelre; float avge, meantme, stdtme, meanretie, stdretie; - std::vector locallref; + //std::vector locallref; std::vector locallretiminmax; huerefs.resize(params->locallab.spots.size()); huerefblurs.resize(params->locallab.spots.size()); @@ -918,14 +976,24 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) stdtms.resize(params->locallab.spots.size()); meanretis.resize(params->locallab.spots.size()); stdretis.resize(params->locallab.spots.size()); + const int sizespot = (int)params->locallab.spots.size(); + + float *huerefp = nullptr; + huerefp = new float[sizespot]; + float *chromarefp = nullptr; + chromarefp = new float[sizespot]; + float *lumarefp = nullptr; + lumarefp = new float[sizespot]; + float *fabrefp = nullptr; + fabrefp = new float[sizespot]; for (int sp = 0; sp < (int)params->locallab.spots.size(); sp++) { - if(params->locallab.spots.at(sp).equiltm && params->locallab.spots.at(sp).exptonemap) { + if (params->locallab.spots.at(sp).equiltm && params->locallab.spots.at(sp).exptonemap) { savenormtm.reset(new LabImage(*oprevl, true)); } - if(params->locallab.spots.at(sp).equilret && params->locallab.spots.at(sp).expreti) { + if (params->locallab.spots.at(sp).equilret && params->locallab.spots.at(sp).expreti) { savenormreti.reset(new LabImage(*oprevl, true)); } // Set local curves of current spot to LUT @@ -934,6 +1002,9 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) const bool LHutili = loclhCurve.Set(params->locallab.spots.at(sp).LHcurve); const bool HHutili = lochhCurve.Set(params->locallab.spots.at(sp).HHcurve); const bool CHutili = locchCurve.Set(params->locallab.spots.at(sp).CHcurve); + const bool HHutilijz = lochhCurvejz.Set(params->locallab.spots.at(sp).HHcurvejz); + const bool CHutilijz = locchCurvejz.Set(params->locallab.spots.at(sp).CHcurvejz); + const bool LHutilijz = loclhCurvejz.Set(params->locallab.spots.at(sp).LHcurvejz); const bool lcmasutili = locccmasCurve.Set(params->locallab.spots.at(sp).CCmaskcurve); const bool llmasutili = locllmasCurve.Set(params->locallab.spots.at(sp).LLmaskcurve); const bool lhmasutili = lochhmasCurve.Set(params->locallab.spots.at(sp).HHmaskcurve); @@ -965,6 +1036,9 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) const bool llmaslogutili = locllmaslogCurve.Set(params->locallab.spots.at(sp).LLmaskcurveL); const bool lcmaslogutili = locccmaslogCurve.Set(params->locallab.spots.at(sp).CCmaskcurveL); const bool lhmaslogutili = lochhmaslogCurve.Set(params->locallab.spots.at(sp).HHmaskcurveL); + const bool llmascieutili = locllmascieCurve.Set(params->locallab.spots.at(sp).LLmaskciecurve); + const bool lcmascieutili = locccmascieCurve.Set(params->locallab.spots.at(sp).CCmaskciecurve); + const bool lhmascieutili = lochhmascieCurve.Set(params->locallab.spots.at(sp).HHmaskciecurve); const bool lcmas_utili = locccmas_Curve.Set(params->locallab.spots.at(sp).CCmask_curve); const bool llmas_utili = locllmas_Curve.Set(params->locallab.spots.at(sp).LLmask_curve); @@ -973,6 +1047,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) const bool lmasutiliblwav = loclmasCurveblwav.Set(params->locallab.spots.at(sp).LLmaskblcurvewav); const bool lmasutilicolwav = loclmasCurvecolwav.Set(params->locallab.spots.at(sp).LLmaskcolcurvewav); const bool locwavutili = locwavCurve.Set(params->locallab.spots.at(sp).locwavcurve); + const bool locwavutilijz = locwavCurvejz.Set(params->locallab.spots.at(sp).locwavcurvejz); const bool loclevwavutili = loclevwavCurve.Set(params->locallab.spots.at(sp).loclevwavcurve); const bool locconwavutili = locconwavCurve.Set(params->locallab.spots.at(sp).locconwavcurve); const bool loccompwavutili = loccompwavCurve.Set(params->locallab.spots.at(sp).loccompwavcurve); @@ -998,6 +1073,12 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) const bool localmasklcutili = CurveFactory::diagonalCurve2Lut(params->locallab.spots.at(sp).Lmasklccurve, lmasklclocalcurve, sca); const bool localmasklogutili = CurveFactory::diagonalCurve2Lut(params->locallab.spots.at(sp).LmaskcurveL, lmaskloglocalcurve, sca); const bool localmask_utili = CurveFactory::diagonalCurve2Lut(params->locallab.spots.at(sp).Lmask_curve, lmasklocal_curve, sca); + const bool localmaskcieutili = CurveFactory::diagonalCurve2Lut(params->locallab.spots.at(sp).Lmaskciecurve, lmaskcielocalcurve, sca); + const bool localcieutili = CurveFactory::diagonalCurve2Lut(params->locallab.spots.at(sp).ciecurve, cielocalcurve, sca); + const bool localcieutili2 = CurveFactory::diagonalCurve2Lut(params->locallab.spots.at(sp).ciecurve2, cielocalcurve2, sca); + const bool localjzutili = CurveFactory::diagonalCurve2Lut(params->locallab.spots.at(sp).jzcurve, jzlocalcurve, sca); + const bool localczutili = CurveFactory::diagonalCurve2Lut(params->locallab.spots.at(sp).czcurve, czlocalcurve, sca); + const bool localczjzutili = CurveFactory::diagonalCurve2Lut(params->locallab.spots.at(sp).czjzcurve, czjzlocalcurve, sca); double ecomp = params->locallab.spots.at(sp).expcomp; double black = params->locallab.spots.at(sp).black; double hlcompr = params->locallab.spots.at(sp).hlcompr; @@ -1016,12 +1097,12 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) } else { ipf.calc_ref(sp, nprevl, nprevl, 0, 0, pW, pH, scale, huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, avge, locwavCurveden, locwavdenutili); } - // + meantme = 0.f; stdtme = 0.f; meanretie = 0.f; stdretie = 0.f; - + float fab = 1.f; bool istm = params->locallab.spots.at(sp).equiltm && params->locallab.spots.at(sp).exptonemap; bool isreti = params->locallab.spots.at(sp).equilret && params->locallab.spots.at(sp).expreti; //preparation for mean and sigma on current RT-spot @@ -1035,7 +1116,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) float yend = 1.f; float xsta = 0.f; float xend = 1.f; - if(istm || isreti) { + if (istm || isreti) { locx = params->locallab.spots.at(sp).loc.at(0) / 2000.0; locy = params->locallab.spots.at(sp).loc.at(2) / 2000.0; locxl= params->locallab.spots.at(sp).loc.at(1) / 2000.0; @@ -1055,10 +1136,10 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) int yys = ysta * hh; int yye = yend * hh; - if(istm) { //calculate mean and sigma on full image for RT-spot use by normalize_mean_dt + if (istm) { //calculate mean and sigma on full image for RT-spot use by normalize_mean_dt ipf.mean_sig (nprevl->L, meantme, stdtme, xxs, xxe, yys, yye); } - if(isreti) { //calculate mean and sigma on full image for RT-spot use by normalize_mean_dt + if (isreti) { //calculate mean and sigma on full image for RT-spot use by normalize_mean_dt ipf.mean_sig (nprevl->L, meanretie, stdretie,xxs, xxe, yys, yye) ; } @@ -1075,16 +1156,23 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) float meanreti = meanretis[sp] = meanretie; float stdreti = stdretis[sp] = stdretie; + huerefp[sp] = huer; + chromarefp[sp] = chromar; + lumarefp[sp] = lumar; + CurveFactory::complexCurvelocal(ecomp, black / 65535., hlcompr, hlcomprthresh, shcompr, br, cont, lumar, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, avg, sca); // Save Locallab mask curve references for current spot + /* LocallabListener::locallabRef spotref; spotref.huer = huer; spotref.lumar = lumar; spotref.chromar = chromar; + spotref.fab = 1.f; locallref.push_back(spotref); + */ // Locallab tools computation /* Notes: * - shbuffer is used as nullptr @@ -1100,11 +1188,13 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) float Tmin; float Tmax; int lastsav; - ipf.Lab_Local(3, sp, (float**)shbuffer, nprevl, nprevl, reserv.get(), savenormtm.get(), savenormreti.get(), lastorigimp.get(), 0, 0, pW, pH, scale, locRETgainCurve, locRETtransCurve, + + ipf.Lab_Local(3, sp, (float**)shbuffer, nprevl, nprevl, reserv.get(), savenormtm.get(), savenormreti.get(), lastorigimp.get(), fw, fh, 0, 0, pW, pH, scale, locRETgainCurve, locRETtransCurve, lllocalcurve, locallutili, cllocalcurve, localclutili, lclocalcurve, locallcutili, loclhCurve, lochhCurve, locchCurve, + lochhCurvejz, locchCurvejz, loclhCurvejz, lmasklocalcurve, localmaskutili, lmaskexplocalcurve, localmaskexputili, lmaskSHlocalcurve, localmaskSHutili, @@ -1116,6 +1206,12 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) lmasklclocalcurve, localmasklcutili, lmaskloglocalcurve, localmasklogutili, lmasklocal_curve, localmask_utili, + lmaskcielocalcurve, localmaskcieutili, + cielocalcurve, localcieutili, + cielocalcurve2, localcieutili2, + jzlocalcurve, localjzutili, + czlocalcurve, localczutili, + czjzlocalcurve, localczjzutili, locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, lochhhmasCurve, lhhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili, locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili, @@ -1128,10 +1224,13 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) locccmaslogCurve, lcmaslogutili, locllmaslogCurve, llmaslogutili, lochhmaslogCurve, lhmaslogutili, locccmas_Curve, lcmas_utili, locllmas_Curve, llmas_utili, lochhmas_Curve, lhmas_utili, + locccmascieCurve, lcmascieutili, locllmascieCurve, llmascieutili, lochhmascieCurve, lhmascieutili, + lochhhmas_Curve, lhhmas_utili, loclmasCurveblwav, lmasutiliblwav, loclmasCurvecolwav, lmasutilicolwav, locwavCurve, locwavutili, + locwavCurvejz, locwavutilijz, loclevwavCurve, loclevwavutili, locconwavCurve, locconwavutili, loccompwavCurve, loccompwavutili, @@ -1140,27 +1239,27 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) locwavCurveden, locwavdenutili, locedgwavCurve, locedgwavutili, loclmasCurve_wav, lmasutili_wav, - LHutili, HHutili, CHutili, cclocalcurve, localcutili, rgblocalcurve, localrgbutili, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, - huerblu, chromarblu, lumarblu, huer, chromar, lumar, sobeler, lastsav, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + LHutili, HHutili, CHutili, HHutilijz, CHutilijz, LHutilijz, cclocalcurve, localcutili, rgblocalcurve, localrgbutili, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, + huerblu, chromarblu, lumarblu, huer, chromar, lumar, sobeler, lastsav, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax, - meantm, stdtm, meanreti, stdreti); + meantm, stdtm, meanreti, stdreti, fab); - - if(istm) { //calculate mean and sigma on full image for use by normalize_mean_dt + fabrefp[sp] = fab; + if (istm) { //calculate mean and sigma on full image for use by normalize_mean_dt float meanf = 0.f; float stdf = 0.f; - ipf.mean_sig (savenormtm.get()->L, meanf, stdf, xxs, xxe, yys, yye); + ipf.mean_sig (savenormtm->L, meanf, stdf, xxs, xxe, yys, yye); //using 2 unused variables noiselumc and softradiustm params->locallab.spots.at(sp).noiselumc = (int) meanf; params->locallab.spots.at(sp).softradiustm = stdf ; } - if(isreti) { //calculate mean and sigma on full image for use by normalize_mean_dt + if (isreti) { //calculate mean and sigma on full image for use by normalize_mean_dt float meanf = 0.f; float stdf = 0.f; - ipf.mean_sig (savenormreti.get()->L, meanf, stdf,xxs, xxe, yys, yye ); + ipf.mean_sig (savenormreti->L, meanf, stdf,xxs, xxe, yys, yye ); //using 2 unused variables sensihs and sensiv params->locallab.spots.at(sp).sensihs = (int) meanf; params->locallab.spots.at(sp).sensiv = (int) stdf; @@ -1190,20 +1289,46 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) } else { ipf.calc_ref(sp, nprevl, nprevl, 0, 0, pW, pH, scale, huerefblu, chromarefblu, lumarefblu, huer, chromar, lumar, sobeler, avg, locwavCurveden, locwavdenutili); } - // Update Locallab reference values according to recurs parameter if (params->locallab.spots.at(sp).recurs) { + /* + spotref.huer = huer; + spotref.lumar = lumar; + spotref.chromar = chromar; + spotref.fab = fab; locallref.at(sp).chromar = chromar; locallref.at(sp).lumar = lumar; locallref.at(sp).huer = huer; + locallref.at(sp).fab = fab; + */ + huerefp[sp] = huer; + chromarefp[sp] = chromar; + lumarefp[sp] = lumar; + fabrefp[sp] = fab; + } + // spotref.fab = fab; + // locallref.at(sp).fab = fab; + + // locallref.push_back(spotref); + if (locallListener) { + // locallListener->refChanged(locallref, params->locallab.selspot); + locallListener->refChanged2(huerefp, chromarefp, lumarefp, fabrefp, params->locallab.selspot); + locallListener->minmaxChanged(locallretiminmax, params->locallab.selspot); } + } + delete [] huerefp; + delete [] chromarefp; + delete [] lumarefp; + delete [] fabrefp; // Transmit Locallab reference values and Locallab Retinex min/max to LocallabListener + /* if (locallListener) { locallListener->refChanged(locallref, params->locallab.selspot); locallListener->minmaxChanged(locallretiminmax, params->locallab.selspot); } + */ ipf.lab2rgb(*nprevl, *oprevi, params->icm.workingProfile); //************************************************************* // end locallab @@ -1335,7 +1460,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) lhist16.clear(); #ifdef _OPENMP const int numThreads = min(max(pW * pH / (int)lhist16.getSize(), 1), omp_get_max_threads()); - #pragma omp parallel num_threads(numThreads) if(numThreads>1) + #pragma omp parallel num_threads(numThreads) if (numThreads>1) #endif { LUTu lhist16thr(lhist16.getSize()); @@ -1415,7 +1540,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) bool proton = WaveParams.exptoning; bool pronois = WaveParams.expnoise; - if(WaveParams.showmask) { + if (WaveParams.showmask) { // WaveParams.showmask = false; // WaveParams.expclari = true; } @@ -1541,7 +1666,7 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) } float indic = 1.f; - if(WaveParams.showmask){ + if (WaveParams.showmask){ mL0 = mC0 = -1.f; indic = -1.f; mL = fabs(mL); @@ -1612,6 +1737,134 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) ipf.softLight(nprevl, params->softlight); + if (params->icm.workingTRC != ColorManagementParams::WorkingTrc::NONE) { + const int GW = nprevl->W; + const int GH = nprevl->H; + std::unique_ptr provis; + const float pres = 0.01f * params->icm.preser; + if (pres > 0.f && params->icm.wprim != ColorManagementParams::Primaries::DEFAULT) { + provis.reset(new LabImage(GW, GH)); + provis->CopyFrom(nprevl); + } + + std::unique_ptr tmpImage1(new Imagefloat(GW, GH)); + + ipf.lab2rgb(*nprevl, *tmpImage1, params->icm.workingProfile); + + const float gamtone = params->icm.workingTRCGamma; + const float slotone = params->icm.workingTRCSlope; + + int illum = toUnderlying(params->icm.will); + const int prim = toUnderlying(params->icm.wprim); + + Glib::ustring prof = params->icm.workingProfile; + cmsHTRANSFORM dummy = nullptr; + int ill = 0; + ipf.workingtrc(tmpImage1.get(), tmpImage1.get(), GW, GH, -5, prof, 2.4, 12.92310, ill, 0, dummy, true, false, false); + ipf.workingtrc(tmpImage1.get(), tmpImage1.get(), GW, GH, 5, prof, gamtone, slotone, illum, prim, dummy, false, true, true); + + ipf.rgb2lab(*tmpImage1, *nprevl, params->icm.workingProfile); + //nprevl and provis + if (provis) { + ipf.preserv(nprevl, provis.get(), GW, GH); + } + if (params->icm.fbw) { +#ifdef _OPENMP + #pragma omp parallel for +#endif + for (int x = 0; x < GH; x++) + for (int y = 0; y < GW; y++) { + nprevl->a[x][y] = 0.f; + nprevl->b[x][y] = 0.f; + } + } + + tmpImage1.reset(); + + if (prim == 12) {//pass red gre blue xy in function of area dats Ciexy + float redgraphx = params->icm.labgridcieALow; + float redgraphy = params->icm.labgridcieBLow; + float blugraphx = params->icm.labgridcieAHigh; + float blugraphy = params->icm.labgridcieBHigh; + float gregraphx = params->icm.labgridcieGx; + float gregraphy = params->icm.labgridcieGy; + float redxx = 0.55f * (redgraphx + 1.f) - 0.1f; + redxx = rtengine::LIM(redxx, 0.41f, 1.f); + float redyy = 0.55f * (redgraphy + 1.f) - 0.1f; + redyy = rtengine::LIM(redyy, 0.f, 0.7f); + float bluxx = 0.55f * (blugraphx + 1.f) - 0.1f; + bluxx = rtengine::LIM(bluxx, -0.1f, 0.5f); + float bluyy = 0.55f * (blugraphy + 1.f) - 0.1f; + bluyy = rtengine::LIM(bluyy, -0.1f, 0.5f); + + float grexx = 0.55f * (gregraphx + 1.f) - 0.1f; + grexx = rtengine::LIM(grexx, -0.1f, 0.4f); + float greyy = 0.55f * (gregraphy + 1.f) - 0.1f; + greyy = rtengine::LIM(greyy, 0.5f, 1.f); + + if (primListener) { + primListener->primChanged (redxx, redyy, bluxx, bluyy, grexx, greyy); + } + } else {//all other cases - pass Cie xy to update graph Ciexy + float r_x = params->icm.redx; + float r_y = params->icm.redy; + float b_x = params->icm.blux; + float b_y = params->icm.bluy; + float g_x = params->icm.grex; + float g_y = params->icm.grey; + //printf("rx=%f ry=%f \n", (double) r_x, (double) r_y); + float wx = 0.33f; + float wy = 0.33f; + + switch (illum) { + case 1://D41 + wx = 0.37798f; + wy = 0.38123f; + break; + case 2://D50 + wx = 0.3457f; + wy = 0.3585f; + break; + case 3://D55 + wx = 0.3324f; + wy = 0.3474f; + break; + case 4://D60 + wx = 0.3217f; + wy = 0.3377f; + break; + case 5://D65 + wx = 0.3127f; + wy = 0.3290f; + break; + case 6://D80 + wx = 0.2937f; + wy = 0.3092f; + break; + case 7://D120 + wx = 0.2697f; + wy = 0.2808f; + break; + case 8://stdA + wx = 0.4476f; + wy = 0.4074f; + break; + case 9://2000K + wx = 0.5266f; + wy = 0.4133f; + break; + case 10://1500K + wx = 0.5857f; + wy = 0.3932f; + break; + } + + if (primListener) { + primListener->iprimChanged (r_x, r_y, b_x, b_y, g_x, g_y, wx, wy); + } + } + } + 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 @@ -1645,12 +1898,15 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) adap = 2000.; } else { 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 + double kexp = 0.; + E_V += kexp * params->toneCurve.expcomp;// exposure compensation in tonecurve ==> direct EV + E_V += 0.5 * log2(params->raw.expos); // exposure raw white point ; log2 ==> linear to EV adap = pow(2.0, E_V - 3.0); // cd / m2 // end calculation adaptation scene luminosity } - + if(params->colorappearance.catmethod == "symg") {//force abolute luminance scenescene to 400 in symmetric + adap = 400.; + } float d, dj, yb; bool execsharp = false; @@ -1672,24 +1928,60 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) CAMBrightCurveQ.dirty = true; ipf.ciecam_02float(ncie, float (adap), pW, 2, nprevl, params.get(), customColCurve1, customColCurve2, customColCurve3, histLCAM, histCCAM, CAMBrightCurveJ, CAMBrightCurveQ, CAMMean, 0, scale, execsharp, d, dj, yb, 1); - - if ((params->colorappearance.autodegree || params->colorappearance.autodegreeout) && acListener && params->colorappearance.enabled && !params->colorappearance.presetcat02) { - acListener->autoCamChanged(100.* (double)d, 100.* (double)dj); + //call listener + if ((params->colorappearance.autodegree || params->colorappearance.autodegreeout) && acListener && params->colorappearance.enabled) { + if(params->colorappearance.catmethod == "symg") {//force chromatic adaptation to 90 in symmetric + d = 0.9; + dj = 0.9; + } + acListener->autoCamChanged(100.* (double)d, 100.* (double)dj); } - if (params->colorappearance.autoadapscen && acListener && params->colorappearance.enabled && !params->colorappearance.presetcat02) { - acListener->adapCamChanged(adap); //real value of adapt scene + if (params->colorappearance.autoadapscen && acListener && params->colorappearance.enabled) { + acListener->adapCamChanged(adap); //real value of adapt scene, force to 400 in symmetric } - if (params->colorappearance.autoybscen && acListener && params->colorappearance.enabled && !params->colorappearance.presetcat02) { + if (params->colorappearance.autoybscen && acListener && params->colorappearance.enabled) { + if(params->colorappearance.catmethod == "symg") {//force yb scene to 18 in symmetric + yb = 18; + } + acListener->ybCamChanged((int) yb); //real value Yb scene } + double tempsym = 5003.; + int wmodel = 0;//wmodel allows - arbitrary - choice of illuminant and temp with choice + if (params->colorappearance.wbmodel == "RawT") { + wmodel = 0; + } else if (params->colorappearance.wbmodel == "RawTCAT02") { + wmodel = 1; + } else if (params->colorappearance.wbmodel == "free") { + wmodel = 2;//force white balance in symmetric + } - // if (params->colorappearance.enabled && params->colorappearance.presetcat02 && params->colorappearance.autotempout) { - // if (params->colorappearance.enabled && params->colorappearance.presetcat02) { - // acListener->wbCamChanged(params->wb.temperature, params->wb.green); //real temp and tint - // acListener->wbCamChanged(params->wb.temperature, 1.f); //real temp and tint = 1. - // } + if(params->colorappearance.catmethod == "symg" && wmodel == 2) { + tempsym = params->wb.temperature;//force white balance in symmetric + } else { + if (params->colorappearance.illum == "iA") {//otherwise force illuminant source + tempsym = 2856.; + } else if (params->colorappearance.illum == "i41") { + tempsym = 4100.; + } else if (params->colorappearance.illum == "i50") { + tempsym = 5003.; + } else if (params->colorappearance.illum == "i55") { + tempsym = 5503.; + } else if (params->colorappearance.illum == "i60") { + tempsym = 6000. ; + } else if (params->colorappearance.illum == "i65") { + tempsym = 6504.; + } else if (params->colorappearance.illum == "i75") { + tempsym = 7504.; + } else if (params->colorappearance.illum == "ifree") { + tempsym = params->wb.temperature;//force white balance in symmetric + } + } + if (params->colorappearance.enabled && params->colorappearance.autotempout) { + acListener->wbCamChanged(tempsym, 1.f); //real temp and tint = 1. + } } else { // CIECAM is disabled, we free up its image buffer to save some space @@ -1709,6 +2001,8 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) } } + // if (todo & (M_AUTOEXP | M_RGBCURVE)) { + // Update the monitor color transform if necessary if ((todo & M_MONITOR) || (lastOutputProfile != params->icm.outputProfile) || lastOutputIntent != params->icm.outputIntent || lastOutputBPC != params->icm.outputBPC) { lastOutputProfile = params->icm.outputProfile; @@ -1778,15 +2072,31 @@ void ImProcCoordinator::updatePreviewImage(int todo, bool panningRelatedChange) delete oprevi; oprevi = nullptr; } - - } +void ImProcCoordinator::setTweakOperator (TweakOperator *tOperator) +{ + if (tOperator) { + tweakOperator = tOperator; + } +} + +void ImProcCoordinator::unsetTweakOperator (TweakOperator *tOperator) +{ + if (tOperator && tOperator == tweakOperator) { + tweakOperator = nullptr; + } +} void ImProcCoordinator::freeAll() { if (allocated) { + if (spotprev && spotprev != oprevi) { + delete spotprev; + } + spotprev = nullptr; + if (orig_prev != oprevi) { delete oprevi; } @@ -1819,6 +2129,15 @@ void ImProcCoordinator::freeAll() allocated = false; } +void ImProcCoordinator::allocCache (Imagefloat* &imgfloat) +{ + if (imgfloat == nullptr) { + imgfloat = new Imagefloat(pW, pH); + } else { + imgfloat->allocate(pW, pH); + } +} + /** @brief Handles image buffer (re)allocation and trigger sizeChanged of SizeListener[s] * If the scale change, this method will free all buffers and reallocate ones of the new size. * It will then tell to the SizeListener that size has changed (sizeChanged) @@ -1837,9 +2156,9 @@ void ImProcCoordinator::setScale(int prevscale) do { 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 + PreviewProps pp (0, 0, fw, fh, prevscale); + imgsrc->getSize (pp, nW, nH); + } while (nH < 400 && prevscale > 1 && (nW * nH < 1000000)); // actually hardcoded values, perhaps a better choice is possible if (nW != pW || nH != pH) { @@ -2127,7 +2446,7 @@ bool ImProcCoordinator::getAutoWB(double& temp, double& green, double equal, dou if (lastAwbEqual != equal || lastAwbTempBias != tempBias || lastAwbauto != params->wb.method) { // Issue 2500 MyMutex::MyLock lock(minit); // Also used in crop window double rm, gm, bm; - params->wb.method = "autold";//same result as before muliple Auto WB + params->wb.method = "autold";//same result as before multiple Auto WB // imgsrc->getAutoWBMultipliers(rm, gm, bm); double tempitc = 5000.; @@ -2280,35 +2599,37 @@ void ImProcCoordinator::saveInputICCReference(const Glib::ustring& fname, bool a MyMutex::MyLock lock(mProcessing); int fW, fH; + std::unique_ptr validParams(new ProcParams()); + getParams(validParams.get()); - int tr = getCoarseBitMask(params->coarse); + int tr = getCoarseBitMask(validParams->coarse); imgsrc->getFullSize(fW, fH, tr); PreviewProps pp(0, 0, fW, fH, 1); - ProcParams ppar = *params; + ProcParams ppar = *validParams; ppar.toneCurve.hrenabled = false; ppar.icm.inputProfile = "(none)"; Imagefloat* im = new Imagefloat(fW, fH); imgsrc->preprocess(ppar.raw, ppar.lensProf, ppar.coarse); double dummy = 0.0; imgsrc->demosaic(ppar.raw, false, dummy); - ColorTemp currWB = ColorTemp(params->wb.temperature, params->wb.green, params->wb.equal, params->wb.method); + ColorTemp currWB = ColorTemp(validParams->wb.temperature, validParams->wb.green, validParams->wb.equal, validParams->wb.method); - if (params->wb.method == "Camera") { + if (validParams->wb.method == "Camera") { currWB = imgsrc->getWB(); - } else if (params->wb.method == "autold") { - if (lastAwbEqual != params->wb.equal || lastAwbTempBias != params->wb.tempBias) { + } else if (validParams->wb.method == "autold") { + if (lastAwbEqual != validParams->wb.equal || lastAwbTempBias != validParams->wb.tempBias) { double rm, gm, bm; imgsrc->getAutoWBMultipliers(rm, gm, bm); if (rm != -1.) { - autoWB.update(rm, gm, bm, params->wb.equal, params->wb.tempBias); - lastAwbEqual = params->wb.equal; - lastAwbTempBias = params->wb.tempBias; + autoWB.update(rm, gm, bm, validParams->wb.equal, validParams->wb.tempBias); + lastAwbEqual = validParams->wb.equal; + lastAwbTempBias = validParams->wb.tempBias; } else { lastAwbEqual = -1.; lastAwbTempBias = 0.0; - autoWB.useDefaults(params->wb.equal); + autoWB.useDefaults(validParams->wb.equal); } } @@ -2330,12 +2651,12 @@ void ImProcCoordinator::saveInputICCReference(const Glib::ustring& fname, bool a im = trImg; } - if (params->crop.enabled) { - Imagefloat *tmpim = new Imagefloat(params->crop.w, params->crop.h); - int cx = params->crop.x; - int cy = params->crop.y; - int cw = params->crop.w; - int ch = params->crop.h; + if (validParams->crop.enabled) { + Imagefloat *tmpim = new Imagefloat(validParams->crop.w, validParams->crop.h); + int cx = validParams->crop.x; + int cy = validParams->crop.y; + int cw = validParams->crop.w; + int ch = validParams->crop.h; #ifdef _OPENMP #pragma omp parallel for #endif @@ -2366,7 +2687,7 @@ void ImProcCoordinator::saveInputICCReference(const Glib::ustring& fname, bool a } int imw, imh; - double tmpScale = ipf.resizeScale(params.get(), fW, fH, imw, imh); + double tmpScale = ipf.resizeScale(validParams.get(), fW, fH, imw, imh); if (tmpScale != 1.0) { Imagefloat* tempImage = new Imagefloat(imw, imh); @@ -2475,12 +2796,22 @@ void ImProcCoordinator::process() || params->dehaze != nextParams->dehaze || params->pdsharpening != nextParams->pdsharpening || params->filmNegative != nextParams->filmNegative + || params->spot.enabled != nextParams->spot.enabled || sharpMaskChanged; sharpMaskChanged = false; *params = *nextParams; int change = changeSinceLast; changeSinceLast = 0; + + if (tweakOperator) { + // TWEAKING THE PROCPARAMS FOR THE SPOT ADJUSTMENT MODE + backupParams(); + tweakOperator->tweakParams(*params); + } else if (paramsBackup) { + paramsBackup.release(); + } + paramsUpdateMutex.unlock(); // M_VOID means no update, and is a bit higher that the rest diff --git a/rtengine/improccoordinator.h b/rtengine/improccoordinator.h index 9735f8be8..85f28004a 100644 --- a/rtengine/improccoordinator.h +++ b/rtengine/improccoordinator.h @@ -42,6 +42,7 @@ namespace rtengine using namespace procparams; class Crop; +class TweakOperator; /** @brief Manages the image processing, espc. of the preview windows * @@ -62,6 +63,7 @@ class ImProcCoordinator final : public StagedImageProcessor, public HistogramObs protected: Imagefloat *orig_prev; Imagefloat *oprevi; + Imagefloat *spotprev; LabImage *oprevl; LabImage *nprevl; Imagefloat *fattal_11_dcrop_cache; // global cache for ToneMapFattal02 used in 1:1 detail windows (except when denoise is active) @@ -190,6 +192,7 @@ protected: ImageTypeListener *imageTypeListener; FilmNegListener *filmNegListener; AutoColorTonListener* actListener; + AutoprimListener* primListener; AutoChromaListener* adnListener; WaveletListener* awavListener; RetinexListener* dehaListener; @@ -205,6 +208,9 @@ protected: MyMutex minit; // to gain mutually exclusive access to ... to what exactly? + void backupParams(); + void restoreParams(); + void allocCache (Imagefloat* &imgfloat); void notifyHistogramChanged(); void reallocAll(); /// Updates L, R, G, and B histograms. Returns true unless not updated. @@ -219,7 +225,9 @@ protected: void updatePreviewImage (int todo, bool panningRelatedChange); MyMutex mProcessing; - const std::unique_ptr params; + const std::unique_ptr params; // used for the rendering, can be eventually tweaked + std::unique_ptr paramsBackup; // backup of the untweaked procparams + TweakOperator* tweakOperator; // for optimization purpose, the output profile, output rendering intent and // output BPC will trigger a regeneration of the profile on parameter change only @@ -276,6 +284,12 @@ protected: LUTf lmasklclocalcurve; LUTf lmaskloglocalcurve; LUTf lmasklocal_curve; + LUTf lmaskcielocalcurve; + LUTf cielocalcurve; + LUTf cielocalcurve2; + LUTf jzlocalcurve; + LUTf czlocalcurve; + LUTf czjzlocalcurve; LocretigainCurve locRETgainCurve; LocretitransCurve locRETtransCurve; @@ -283,6 +297,9 @@ protected: LocLHCurve loclhCurve; LocHHCurve lochhCurve; LocCHCurve locchCurve; + LocHHCurve lochhCurvejz; + LocCHCurve locchCurvejz; + LocLHCurve loclhCurvejz; LocCCmaskCurve locccmasCurve; LocLLmaskCurve locllmasCurve; LocHHmaskCurve lochhmasCurve; @@ -318,6 +335,9 @@ protected: LocCCmaskCurve locccmaslogCurve; LocLLmaskCurve locllmaslogCurve; LocHHmaskCurve lochhmaslogCurve; + LocCCmaskCurve locccmascieCurve; + LocLLmaskCurve locllmascieCurve; + LocHHmaskCurve lochhmascieCurve; LocwavCurve locwavCurve; LocwavCurve loclmasCurveblwav; @@ -330,6 +350,7 @@ protected: LocwavCurve locedgwavCurve; LocwavCurve loclmasCurve_wav; LocwavCurve locwavCurvehue; + LocwavCurve locwavCurvejz; std::vector huerefs; std::vector huerefblurs; @@ -361,6 +382,7 @@ protected: int locallsharMask; int localllogMask; int locall_Mask; + int locallcieMask; public: @@ -368,7 +390,7 @@ public: ~ImProcCoordinator () override; void assign (ImageSource* imgsrc); - void getParams (procparams::ProcParams* dst) override; + void getParams (procparams::ProcParams* dst, bool tweaked=false) override; void startProcessing (int changeCode) override; ProcParams* beginUpdateParams () override; @@ -409,6 +431,8 @@ public: DetailedCrop* createCrop (::EditDataProvider *editDataProvider, bool isDetailWindow) override; + void setTweakOperator (TweakOperator *tOperator) override; + void unsetTweakOperator (TweakOperator *tOperator) override; bool getAutoWB (double& temp, double& green, double equal, double tempBias) override; void getCamWB (double& temp, double& green) override; void getSpotWB (int x, int y, int rectSize, double& temp, double& green) override; @@ -430,7 +454,7 @@ public: updaterThreadStart.unlock(); } - void setLocallabMaskVisibility(bool previewDeltaE, int locallColorMask, int locallColorMaskinv, int locallExpMask, int locallExpMaskinv, int locallSHMask, int locallSHMaskinv, int locallvibMask, int locallsoftMask, int locallblMask, int localltmMask, int locallretiMask, int locallsharMask, int localllcMask, int locallcbMask, int localllogMask, int locall_Mask) override + void setLocallabMaskVisibility(bool previewDeltaE, int locallColorMask, int locallColorMaskinv, int locallExpMask, int locallExpMaskinv, int locallSHMask, int locallSHMaskinv, int locallvibMask, int locallsoftMask, int locallblMask, int localltmMask, int locallretiMask, int locallsharMask, int localllcMask, int locallcbMask, int localllogMask, int locall_Mask, int locallcieMask) override { this->previewDeltaE = previewDeltaE; this->locallColorMask = locallColorMask; @@ -449,6 +473,7 @@ public: this->locallcbMask = locallcbMask; this->localllogMask = localllogMask; this->locall_Mask = locall_Mask; + this->locallcieMask = locallcieMask; } void setProgressListener (ProgressListener* pl) override @@ -501,6 +526,10 @@ public: { actListener = bwct; } + void setAutoprimListener (AutoprimListener* pri) override + { + primListener = pri; + } void setAutoChromaListener (AutoChromaListener* adn) override { adnListener = adn; diff --git a/rtengine/improcfun.cc b/rtengine/improcfun.cc index 861cc8d7d..317f5bc38 100644 --- a/rtengine/improcfun.cc +++ b/rtengine/improcfun.cc @@ -54,7 +54,8 @@ #pragma GCC diagnostic warning "-Wextra" #pragma GCC diagnostic warning "-Wdouble-promotion" -namespace { +namespace +{ using namespace rtengine; @@ -218,32 +219,37 @@ void proPhotoBlue(float *rtemp, float *gtemp, float *btemp, int istart, int tH, } } -void customToneCurve(const ToneCurve &customToneCurve, ToneCurveMode curveMode, float *rtemp, float *gtemp, float *btemp, int istart, int tH, int jstart, int tW, int tileSize, PerceptualToneCurveState ptcApplyState) { +void customToneCurve(const ToneCurve &customToneCurve, ToneCurveMode curveMode, float *rtemp, float *gtemp, float *btemp, int istart, int tH, int jstart, int tW, int tileSize, PerceptualToneCurveState ptcApplyState) +{ if (curveMode == ToneCurveMode::STD) { // Standard - const StandardToneCurve& userToneCurve = static_cast (customToneCurve); + const StandardToneCurve& userToneCurve = static_cast(customToneCurve); + for (int i = istart, ti = 0; i < tH; i++, ti++) { userToneCurve.BatchApply(0, tW - jstart, &rtemp[ti * tileSize], >emp[ti * tileSize], &btemp[ti * tileSize]); } } else if (curveMode == ToneCurveMode::FILMLIKE) { // Adobe like - const AdobeToneCurve& userToneCurve = static_cast (customToneCurve); + const AdobeToneCurve& userToneCurve = static_cast(customToneCurve); + for (int i = istart, ti = 0; i < tH; i++, ti++) { userToneCurve.BatchApply(0, tW - jstart, &rtemp[ti * tileSize], >emp[ti * tileSize], &btemp[ti * tileSize]); } } else if (curveMode == ToneCurveMode::SATANDVALBLENDING) { // apply the curve on the saturation and value channels - const SatAndValueBlendingToneCurve& userToneCurve = static_cast (customToneCurve); + const SatAndValueBlendingToneCurve& userToneCurve = static_cast(customToneCurve); + for (int i = istart, ti = 0; i < tH; i++, ti++) { for (int j = jstart, tj = 0; j < tW; j++, tj++) { userToneCurve.Apply(rtemp[ti * tileSize + tj], gtemp[ti * tileSize + tj], btemp[ti * tileSize + tj]); } } } else if (curveMode == ToneCurveMode::WEIGHTEDSTD) { // apply the curve to the rgb channels, weighted - const WeightedStdToneCurve& userToneCurve = static_cast (customToneCurve); + const WeightedStdToneCurve& userToneCurve = static_cast(customToneCurve); + for (int i = istart, ti = 0; i < tH; i++, ti++) { userToneCurve.BatchApply(0, tW - jstart, &rtemp[ti * tileSize], >emp[ti * tileSize], &btemp[ti * tileSize]); } } else if (curveMode == ToneCurveMode::LUMINANCE) { // apply the curve to the luminance channel - const LuminanceToneCurve& userToneCurve = static_cast (customToneCurve); + const LuminanceToneCurve& userToneCurve = static_cast(customToneCurve); for (int i = istart, ti = 0; i < tH; i++, ti++) { for (int j = jstart, tj = 0; j < tW; j++, tj++) { @@ -251,7 +257,8 @@ void customToneCurve(const ToneCurve &customToneCurve, ToneCurveMode curveMode, } } } else if (curveMode == ToneCurveMode::PERCEPTUAL) { // apply curve while keeping color appearance constant - const PerceptualToneCurve& userToneCurve = static_cast (customToneCurve); + const PerceptualToneCurve& userToneCurve = static_cast(customToneCurve); + for (int i = istart, ti = 0; i < tH; i++, ti++) { userToneCurve.BatchApply(0, tW - jstart, &rtemp[ti * tileSize], >emp[ti * tileSize], &btemp[ti * tileSize], ptcApplyState); } @@ -277,7 +284,7 @@ namespace rtengine using namespace procparams; -ImProcFunctions::~ImProcFunctions () +ImProcFunctions::~ImProcFunctions() { if (monitorTransform) { cmsDeleteTransform(monitorTransform); @@ -307,7 +314,7 @@ void ImProcFunctions::updateColorProfiles(const Glib::ustring& monitorProfile, R #if !defined(__APPLE__) // No support for monitor profiles on OS X, all data is sRGB monitor = ICCStore::getInstance()->getProfile(monitorProfile); #else - monitor = ICCStore::getInstance()->getProfile (settings->srgb); + monitor = ICCStore::getInstance()->getProfile(settings->srgb); #endif } @@ -325,7 +332,7 @@ void ImProcFunctions::updateColorProfiles(const Glib::ustring& monitorProfile, R if (softProof) { cmsHPROFILE oprof = nullptr; RenderingIntent outIntent; - + flags = cmsFLAGS_SOFTPROOFING | cmsFLAGS_NOOPTIMIZE | cmsFLAGS_NOCACHE; if (!settings->printerProfile.empty()) { @@ -334,9 +341,11 @@ void ImProcFunctions::updateColorProfiles(const Glib::ustring& monitorProfile, R if (settings->printerBPC) { flags |= cmsFLAGS_BLACKPOINTCOMPENSATION; } + outIntent = RenderingIntent(settings->printerIntent); } else { oprof = ICCStore::getInstance()->getProfile(params->icm.outputProfile); + if (params->icm.outputBPC) { flags |= cmsFLAGS_BLACKPOINTCOMPENSATION; } @@ -352,20 +361,23 @@ void ImProcFunctions::updateColorProfiles(const Glib::ustring& monitorProfile, R // } const auto make_gamma_table = - [](cmsHPROFILE prof, cmsTagSignature tag) -> void + [](cmsHPROFILE prof, cmsTagSignature tag) -> void { + cmsToneCurve *tc = static_cast(cmsReadTag(prof, tag)); + + if (tc) { - cmsToneCurve *tc = static_cast(cmsReadTag(prof, tag)); - if (tc) { - const cmsUInt16Number *table = cmsGetToneCurveEstimatedTable(tc); - cmsToneCurve *tc16 = cmsBuildTabulatedToneCurve16(nullptr, cmsGetToneCurveEstimatedTableEntries(tc), table); - if (tc16) { - cmsWriteTag(prof, tag, tc16); - cmsFreeToneCurve(tc16); - } + const cmsUInt16Number *table = cmsGetToneCurveEstimatedTable(tc); + cmsToneCurve *tc16 = cmsBuildTabulatedToneCurve16(nullptr, cmsGetToneCurveEstimatedTableEntries(tc), table); + + if (tc16) { + cmsWriteTag(prof, tag, tc16); + cmsFreeToneCurve(tc16); } - }; + } + }; cmsHPROFILE softproof = ProfileContent(oprof).toProfile(); + if (softproof) { make_gamma_table(softproof, cmsSigRedTRCTag); make_gamma_table(softproof, cmsSigGreenTRCTag); @@ -439,7 +451,7 @@ void ImProcFunctions::updateColorProfiles(const Glib::ustring& monitorProfile, R void ImProcFunctions::firstAnalysis(const Imagefloat* const original, const ProcParams ¶ms, LUTu & histogram) { - TMatrix wprof = ICCStore::getInstance()->workingSpaceMatrix (params.icm.workingProfile); + TMatrix wprof = ICCStore::getInstance()->workingSpaceMatrix(params.icm.workingProfile); lumimul[0] = wprof[1][0]; lumimul[1] = wprof[1][1]; @@ -956,18 +968,20 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb float cz, wh, pfl; int c16 = 1; + if (params->colorappearance.modelmethod == "02") { c16 = 1; - }else if (params->colorappearance.modelmethod == "16") { + } else if (params->colorappearance.modelmethod == "16") { c16 = 16; - } + } //I don't use PQ here...hence no 21 - Ciecam02::initcam1float (yb, pilot, f, la, xw, yw, zw, n, d, nbb, ncb, cz, aw, wh, pfl, fl, c, c16); + float plum = 100.f; + Ciecam02::initcam1float(yb, pilot, f, la, xw, yw, zw, n, d, nbb, ncb, cz, aw, wh, pfl, fl, c, c16, plum); //printf ("wh=%f \n", wh); const float pow1 = pow_F(1.64f - pow_F(0.29f, n), 0.73f); float nj, nbbj, ncbj, czj, awj, flj; - Ciecam02::initcam2float (yb2, pilotout, f2, la2, xw2, yw2, zw2, nj, dj, nbbj, ncbj, czj, awj, flj, c16); + Ciecam02::initcam2float(yb2, pilotout, f2, la2, xw2, yw2, zw2, nj, dj, nbbj, ncbj, czj, awj, flj, c16, plum); #ifdef __SSE2__ const float reccmcz = 1.f / (c2 * czj); #endif @@ -1011,7 +1025,7 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb //matrix for current working space - TMatrix wiprof = ICCStore::getInstance()->workingSpaceInverseMatrix (params->icm.workingProfile); + TMatrix wiprof = ICCStore::getInstance()->workingSpaceInverseMatrix(params->icm.workingProfile); const float wip[3][3] = { { (float)wiprof[0][0], (float)wiprof[0][1], (float)wiprof[0][2]}, { (float)wiprof[1][0], (float)wiprof[1][1], (float)wiprof[1][2]}, @@ -1054,11 +1068,13 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb x = x / c655d35; y = y / c655d35; z = z / c655d35; + float plum = 100.f; + vfloat plumv = F2V(plum); Ciecam02::xyz2jchqms_ciecam02float(J, C, h, Q, M, s, F2V(aw), F2V(fl), F2V(wh), x, y, z, F2V(xw1), F2V(yw1), F2V(zw1), - F2V(c), F2V(nc), F2V(pow1), F2V(nbb), F2V(ncb), F2V(pfl), F2V(cz), F2V(d), c16); + F2V(c), F2V(nc), F2V(pow1), F2V(nbb), F2V(ncb), F2V(pfl), F2V(cz), F2V(d), c16, plumv); STVF(Jbuffer[k], J); STVF(Cbuffer[k], C); STVF(hbuffer[k], h); @@ -1082,7 +1098,7 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb Q, M, s, aw, fl, wh, x, y, z, xw1, yw1, zw1, - c, nc, pow1, nbb, ncb, pfl, cz, d, c16); + c, nc, pow1, nbb, ncb, pfl, cz, d, c16, plum); Jbuffer[k] = J; Cbuffer[k] = C; hbuffer[k] = h; @@ -1120,7 +1136,7 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb Q, M, s, aw, fl, wh, x, y, z, xw1, yw1, zw1, - c, nc, pow1, nbb, ncb, pfl, cz, d, c16); + c, nc, pow1, nbb, ncb, pfl, cz, d, c16, plum); #endif float Jpro, Cpro, hpro, Qpro, Mpro, spro; Jpro = J; @@ -1129,6 +1145,31 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb Qpro = Q; Mpro = M; spro = s; + bool jp = false; + + if ((hasColCurve1) && (curveMode == ColorAppearanceParams::TcMode::BRIGHT)) { + jp = true; + float Qq = Qpro * coefQ; + float Qold = Qpro; + const Brightcurve& userColCurveB1 = static_cast(customColCurve1); + userColCurveB1.Apply(Qq); + Qq = Qq / coefQ; + Qpro = 0.2f * (Qq - Qold) + Qold; + } + + if ((hasColCurve2) && (curveMode2 == ColorAppearanceParams::TcMode::BRIGHT)) { + jp = true; + float Qq2 = Qpro * coefQ; + float Qold2 = Qpro; + const Brightcurve& userColCurveB2 = static_cast(customColCurve2); + userColCurveB2.Apply(Qq2); + Qq2 = Qq2 / coefQ; + Qpro = 0.2f * (Qq2 - Qold2) + Qold2; + } + + if (jp) { + Jpro = SQR((10.f * Qpro) / wh); + } // we cannot have all algorithms with all chroma curves if (alg == 0) { @@ -1216,167 +1257,73 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb } } - if (hasColCurve1) {//curve 1 with Lightness and Brightness - if (curveMode == ColorAppearanceParams::TcMode::LIGHT) { - float Jj = (float) Jpro * 327.68f; - float Jold = Jj; - float Jold100 = (float) Jpro; - float redu = 25.f; - float reduc = 1.f; - const Lightcurve& userColCurveJ1 = static_cast(customColCurve1); - userColCurveJ1.Apply(Jj); + if (hasColCurve1 && (curveMode == ColorAppearanceParams::TcMode::LIGHT)) { + float Jj = (float) Jpro * 327.68f; + float Jold = Jj; + float Jold100 = (float) Jpro; + float redu = 25.f; + float reduc = 1.f; + const Lightcurve& userColCurveJ1 = static_cast(customColCurve1); + userColCurveJ1.Apply(Jj); - if (Jj > Jold) { - if (Jj < 65535.f) { - if (Jold < 327.68f * redu) { - Jj = 0.3f * (Jj - Jold) + Jold; //divide sensibility - } else { - reduc = LIM((100.f - Jold100) / (100.f - redu), 0.f, 1.f); - Jj = 0.3f * reduc * (Jj - Jold) + Jold; //reduct sensibility in highlights - } + if (Jj > Jold) { + if (Jj < 65535.f) { + if (Jold < 327.68f * redu) { + Jj = 0.3f * (Jj - Jold) + Jold; //divide sensibility + } else { + reduc = LIM((100.f - Jold100) / (100.f - redu), 0.f, 1.f); + Jj = 0.3f * reduc * (Jj - Jold) + Jold; //reduct sensibility in highlights } - } else if (Jj > 10.f) { - Jj = 0.8f * (Jj - Jold) + Jold; - } else if (Jj >= 0.f) { - Jj = 0.90f * (Jj - Jold) + Jold; // not zero ==>artifacts } + } else if (Jj > 10.f) { + Jj = 0.8f * (Jj - Jold) + Jold; + } else if (Jj >= 0.f) { + Jj = 0.90f * (Jj - Jold) + Jold; // not zero ==>artifacts + } - Jpro = (float)(Jj / 327.68f); + Jpro = (float)(Jj / 327.68f); - if (Jpro < 1.f) { - Jpro = 1.f; - } - } else if (curveMode == ColorAppearanceParams::TcMode::BRIGHT) { - //attention! Brightness curves are open - unlike Lightness or Lab or RGB==> rendering and algorithms 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; - - float Qold = Qq; - float redu = 20.f; - float reduc = 1.f; - - const Brightcurve& userColCurveB1 = static_cast(customColCurve1); - userColCurveB1.Apply(Qq); - - if (Qq > Qold) { - if (Qq < 65535.f) { - if (Qold < 327.68f * redu) { - Qq = 0.25f * (Qq - Qold) + Qold; //divide sensibility - } else { - reduc = LIM((100.f - Qold100) / (100.f - redu), 0.f, 1.f); - Qq = 0.25f * reduc * (Qq - Qold) + Qold; //reduct sensibility in highlights - } - } - } else if (Qq > 10.f) { - Qq = 0.5f * (Qq - Qold) + Qold; - } else if (Qq >= 0.f) { - Qq = 0.7f * (Qq - Qold) + Qold; // not zero ==>artifacts - } - - if (Qold == 0.f) { - Qold = 0.001f; - } - - Qpro = Qanc * (Qq / Qold); - Jpro = SQR ((10.f * Qpro) / wh); - - if (Jpro < 1.f) { - Jpro = 1.f; - } + if (Jpro < 1.f) { + Jpro = 1.f; } } - if (hasColCurve2) {//curve 2 with Lightness and Brightness - if (curveMode2 == ColorAppearanceParams::TcMode::LIGHT) { - float Jj = (float) Jpro * 327.68f; - float Jold = Jj; - float Jold100 = (float) Jpro; - float redu = 25.f; - float reduc = 1.f; - const Lightcurve& userColCurveJ2 = static_cast(customColCurve2); - userColCurveJ2.Apply(Jj); + if (hasColCurve2 && (curveMode2 == ColorAppearanceParams::TcMode::LIGHT)) { + float Jj = (float) Jpro * 327.68f; + float Jold = Jj; + float Jold100 = (float) Jpro; + float redu = 25.f; + float reduc = 1.f; + const Lightcurve& userColCurveJ2 = static_cast(customColCurve2); + userColCurveJ2.Apply(Jj); - if (Jj > Jold) { - if (Jj < 65535.f) { - if (Jold < 327.68f * redu) { - Jj = 0.3f * (Jj - Jold) + Jold; //divide sensibility - } else { - reduc = LIM((100.f - Jold100) / (100.f - redu), 0.f, 1.f); - Jj = 0.3f * reduc * (Jj - Jold) + Jold; //reduct sensibility in highlights - } - } - } else if (Jj > 10.f) { - if (!t1L) { - Jj = 0.8f * (Jj - Jold) + Jold; - } else { - Jj = 0.4f * (Jj - Jold) + Jold; - } - } else if (Jj >= 0.f) { - if (!t1L) { - Jj = 0.90f * (Jj - Jold) + Jold; // not zero ==>artifacts - } else { - Jj = 0.5f * (Jj - Jold) + Jold; + if (Jj > Jold) { + if (Jj < 65535.f) { + if (Jold < 327.68f * redu) { + Jj = 0.3f * (Jj - Jold) + Jold; //divide sensibility + } else { + reduc = LIM((100.f - Jold100) / (100.f - redu), 0.f, 1.f); + Jj = 0.3f * reduc * (Jj - Jold) + Jold; //reduct sensibility in highlights } } - - Jpro = (float)(Jj / 327.68f); - - if (Jpro < 1.f) { - Jpro = 1.f; + } else if (Jj > 10.f) { + if (!t1L) { + Jj = 0.8f * (Jj - Jold) + Jold; + } else { + Jj = 0.4f * (Jj - Jold) + Jold; } - - } else if (curveMode2 == ColorAppearanceParams::TcMode::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; - - float Qold = Qq; - float redu = 20.f; - float reduc = 1.f; - - const Brightcurve& userColCurveB2 = static_cast(customColCurve2); - userColCurveB2.Apply(Qq); - - if (Qq > Qold) { - if (Qq < 65535.f) { - if (Qold < 327.68f * redu) { - Qq = 0.25f * (Qq - Qold) + Qold; //divide sensibility - } else { - reduc = LIM((100.f - Qold100) / (100.f - redu), 0.f, 1.f); - Qq = 0.25f * reduc * (Qq - Qold) + Qold; //reduct sensibility in highlights - } - } - } else if (Qq > 10.f) { - Qq = 0.5f * (Qq - Qold) + Qold; - } else if (Qq >= 0.f) { - Qq = 0.7f * (Qq - Qold) + Qold; // not zero ==>artifacts + } else if (Jj >= 0.f) { + if (!t1L) { + Jj = 0.90f * (Jj - Jold) + Jold; // not zero ==>artifacts + } else { + Jj = 0.5f * (Jj - Jold) + Jold; } + } - if (Qold == 0.f) { - Qold = 0.001f; - } + Jpro = (float)(Jj / 327.68f); - Qpro = Qanc * (Qq / Qold); - Jpro = SQR ((10.f * Qpro) / wh); - - 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 - Qq = (float) Qpro * coef; - Qold = Qq; - const Lightcurve& userColCurveJ1 = static_cast(customColCurve1); - userColCurveJ1.Apply(Qq); - Qq = 0.05f * (Qq - Qold) + Qold; //approximative adaptation - Qpro = (float)(Qq / coef); - Jpro = 100.f * (Qpro * Qpro) / ((4.0f / c) * (4.0f / c) * (aw + 4.0f) * (aw + 4.0f)); - } - - if (Jpro < 1.f) { - Jpro = 1.f; - } + if (Jpro < 1.f) { + Jpro = 1.f; } } @@ -1527,47 +1474,33 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb #else float xx, yy, zz; //process normal==> viewing + TMatrix wprofc = ICCStore::getInstance()->workingSpaceMatrix(params->icm.workingProfile); + const double wpc[3][3] = {//improve precision with double + {wprofc[0][0], wprofc[0][1], wprofc[0][2]}, + {wprofc[1][0], wprofc[1][1], wprofc[1][2]}, + {wprofc[2][0], wprofc[2][1], wprofc[2][2]} + }; Ciecam02::jch2xyz_ciecam02float(xx, yy, zz, J, C, h, xw2, yw2, zw2, - c2, nc2, pow1n, nbbj, ncbj, flj, czj, dj, awj, c16); + c2, nc2, pow1n, nbbj, ncbj, flj, czj, dj, awj, c16, plum); float x, y, z; x = xx * 655.35f; y = yy * 655.35f; z = zz * 655.35f; float Ll, aa, bb; + //convert xyz=>lab - Color::XYZ2Lab(x, y, z, Ll, aa, bb); - - // gamut control in Lab mode; I must study how to do with cIECAM only if (gamu == 1) { - float Lprov1, Chprov1; - Lprov1 = Ll / 327.68f; - Chprov1 = sqrtf(SQR(aa) + SQR(bb)) / 327.68f; - float2 sincosval; - - if (Chprov1 == 0.0f) { - sincosval.y = 1.f; - sincosval.x = 0.0f; - } else { - sincosval.y = aa / (Chprov1 * 327.68f); - sincosval.x = bb / (Chprov1 * 327.68f); - } - - - //gamut control : Lab values are in gamut - Color::gamutLchonly(sincosval, Lprov1, Chprov1, wip, highlight, 0.15f, 0.96f); - lab->L[i][j] = Lprov1 * 327.68f; - lab->a[i][j] = 327.68f * Chprov1 * sincosval.y; - lab->b[i][j] = 327.68f * Chprov1 * sincosval.x; - - } else { - lab->L[i][j] = Ll; - lab->a[i][j] = aa; - lab->b[i][j] = bb; + Color::gamutmap(x, y, z, wpc); } + Color::XYZ2Lab(x, y, z, Ll, aa, bb); + lab->L[i][j] = Ll; + lab->a[i][j] = aa; + lab->b[i][j] = bb; + #endif } } @@ -1583,7 +1516,7 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb Ciecam02::jch2xyz_ciecam02float(x, y, z, LVF(Jbuffer[k]), LVF(Cbuffer[k]), LVF(hbuffer[k]), F2V(xw2), F2V(yw2), F2V(zw2), - F2V(nc2), F2V(pow1n), F2V(nbbj), F2V(ncbj), F2V(flj), F2V(dj), F2V(awj), F2V(reccmcz), c16); + F2V(nc2), F2V(pow1n), F2V(nbbj), F2V(ncbj), F2V(flj), F2V(dj), F2V(awj), F2V(reccmcz), c16, F2V(plum)); STVF(xbuffer[k], x * c655d35); STVF(ybuffer[k], y * c655d35); STVF(zbuffer[k], z * c655d35); @@ -1663,7 +1596,7 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb if (params->defringe.enabled) if (execsharp) { lab->deleteLab(); - defringecam (ncie);//defringe adapted to CIECAM + defringecam(ncie); //defringe adapted to CIECAM lab->reallocLab(); } @@ -1674,7 +1607,7 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb const bool hotbad = params->dirpyrequalizer.skinprotect != 0.0; lab->deleteLab(); - badpixcam (ncie, artifact / scale, 5, 2, chrom, hotbad); //enabled remove artifacts for cbDL + badpixcam(ncie, artifact / scale, 5, 2, chrom, hotbad); //enabled remove artifacts for cbDL lab->reallocLab(); } @@ -1682,7 +1615,7 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb if (params->colorappearance.badpixsl > 0 && execsharp) { int mode = params->colorappearance.badpixsl; lab->deleteLab(); - badpixcam (ncie, 3.0, 10, mode, 0, true);//for bad pixels CIECAM + badpixcam(ncie, 3.0, 10, mode, 0, true); //for bad pixels CIECAM lab->reallocLab(); } @@ -1691,17 +1624,17 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb buffers[0] = lab->L; buffers[1] = lab->a; buffers[2] = lab->b; - impulsedenoisecam (ncie, buffers); //impulse adapted to CIECAM + impulsedenoisecam(ncie, buffers); //impulse adapted to CIECAM } if (params->sharpenMicro.enabled)if (execsharp) { - MLmicrocontrastcam (ncie); + MLmicrocontrastcam(ncie); } if (params->sharpening.enabled) if (execsharp) { float **buffer = lab->L; // We can use the L-buffer from lab as buffer to save some memory - sharpeningcam (ncie, buffer, showSharpMask); // sharpening adapted to CIECAM + sharpeningcam(ncie, buffer, showSharpMask); // sharpening adapted to CIECAM } //if(params->dirpyrequalizer.enabled) if(execsharp) { @@ -1714,7 +1647,7 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb float t_l = static_cast(params->dirpyrequalizer.hueskin.getTopLeft()) / 100.0f; float t_r = static_cast(params->dirpyrequalizer.hueskin.getTopRight()) / 100.0f; lab->deleteLab(); - dirpyr_equalizercam (ncie, ncie->sh_p, ncie->sh_p, ncie->W, ncie->H, ncie->h_p, ncie->C_p, params->dirpyrequalizer.mult, params->dirpyrequalizer.threshold, params->dirpyrequalizer.skinprotect, b_l, t_l, t_r, scale); //contrast by detail adapted to CIECAM + dirpyr_equalizercam(ncie, ncie->sh_p, ncie->sh_p, ncie->W, ncie->H, ncie->h_p, ncie->C_p, params->dirpyrequalizer.mult, params->dirpyrequalizer.threshold, params->dirpyrequalizer.skinprotect, b_l, t_l, t_r, scale); //contrast by detail adapted to CIECAM lab->reallocLab(); } @@ -1737,6 +1670,7 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb #ifdef _OPENMP #pragma omp for schedule(dynamic, 10) #endif + for (int i = 0; i < height; i++) // update CieImages with new values after sharpening, defringe, contrast by detail level for (int j = 0; j < width; j++) { float interm = fabsf(ncie->sh_p[i][j] / (32768.f)); @@ -1756,7 +1690,7 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb if (epdEnabled && params->colorappearance.tonecie && algepd) { lab->deleteLab(); - EPDToneMapCIE (ncie, a_w, c_, width, height, minQ, maxQ, Iterates, scale ); + EPDToneMapCIE(ncie, a_w, c_, width, height, minQ, maxQ, Iterates, scale); lab->reallocLab(); } @@ -1840,7 +1774,7 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb Ciecam02::jch2xyz_ciecam02float(xx, yy, zz, ncie->J_p[i][j], ncie_C_p, ncie->h_p[i][j], xw2, yw2, zw2, - c2, nc2, pow1n, nbbj, ncbj, flj, czj, dj, awj, c16); + c2, nc2, pow1n, nbbj, ncbj, flj, czj, dj, awj, c16, plum); float x = (float)xx * 655.35f; float y = (float)yy * 655.35f; float z = (float)zz * 655.35f; @@ -1888,7 +1822,7 @@ void ImProcFunctions::ciecam_02float(CieImage* ncie, float adap, int pW, int pwb Ciecam02::jch2xyz_ciecam02float(x, y, z, LVF(Jbuffer[k]), LVF(Cbuffer[k]), LVF(hbuffer[k]), F2V(xw2), F2V(yw2), F2V(zw2), - F2V(nc2), F2V(pow1n), F2V(nbbj), F2V(ncbj), F2V(flj), F2V(dj), F2V(awj), F2V(reccmcz), c16); + F2V(nc2), F2V(pow1n), F2V(nbbj), F2V(ncbj), F2V(flj), F2V(dj), F2V(awj), F2V(reccmcz), c16, F2V(plum)); x *= c655d35; y *= c655d35; z *= c655d35; @@ -1965,7 +1899,7 @@ void ImProcFunctions::moyeqt(Imagefloat* working, float &moyS, float &eqty) for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { - const double s = Color::rgb2s(CLIP(working->r (i, j)), CLIP(working->g (i, j)), CLIP(working->b (i, j))); + const double s = Color::rgb2s(CLIP(working->r(i, j)), CLIP(working->g(i, j)), CLIP(working->b(i, j))); moy += s; sqrs += SQR(s); } @@ -2017,12 +1951,12 @@ filmlike_clip(float *r, float *g, float *b) } } -void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer *pipetteBuffer, const LUTf& hltonecurve, const LUTf& shtonecurve, const LUTf& tonecurve, - int sat, const LUTf& rCurve, const LUTf& gCurve, const LUTf& bCurve, float satLimit, float satLimitOpacity, - const ColorGradientCurve& ctColorCurve, const OpacityCurve& ctOpacityCurve, bool opautili, const LUTf& clToningcurve, const LUTf& cl2Toningcurve, - 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 DCPProfileApplyState& asIn, - LUTu& histToneCurve, size_t chunkSize, bool measure) +void ImProcFunctions::rgbProc(Imagefloat* working, LabImage* lab, PipetteBuffer *pipetteBuffer, const LUTf& hltonecurve, const LUTf& shtonecurve, const LUTf& tonecurve, + int sat, const LUTf& rCurve, const LUTf& gCurve, const LUTf& bCurve, float satLimit, float satLimitOpacity, + const ColorGradientCurve& ctColorCurve, const OpacityCurve& ctOpacityCurve, bool opautili, const LUTf& clToningcurve, const LUTf& cl2Toningcurve, + 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 DCPProfileApplyState& asIn, + LUTu& histToneCurve, size_t chunkSize, bool measure) { rgbProc(working, lab, pipetteBuffer, hltonecurve, shtonecurve, tonecurve, sat, rCurve, gCurve, bCurve, satLimit, satLimitOpacity, ctColorCurve, ctOpacityCurve, opautili, clToningcurve, cl2Toningcurve, customToneCurve1, customToneCurve2, customToneCurvebw1, customToneCurvebw2, rrm, ggm, bbm, autor, autog, autob, @@ -2030,12 +1964,12 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer } // Process RGB image and convert to LAB space -void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer *pipetteBuffer, const LUTf& hltonecurve, const LUTf& shtonecurve, const LUTf& tonecurve, - int sat, const LUTf& rCurve, const LUTf& gCurve, const LUTf& bCurve, float satLimit, float satLimitOpacity, - const ColorGradientCurve& ctColorCurve, const OpacityCurve& ctOpacityCurve, bool opautili, const LUTf& clToningcurve, const LUTf& cl2Toningcurve, - 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 DCPProfileApplyState& asIn, LUTu& histToneCurve, size_t chunkSize, bool measure) +void ImProcFunctions::rgbProc(Imagefloat* working, LabImage* lab, PipetteBuffer *pipetteBuffer, const LUTf& hltonecurve, const LUTf& shtonecurve, const LUTf& tonecurve, + int sat, const LUTf& rCurve, const LUTf& gCurve, const LUTf& bCurve, float satLimit, float satLimitOpacity, + const ColorGradientCurve& ctColorCurve, const OpacityCurve& ctOpacityCurve, bool opautili, const LUTf& clToningcurve, const LUTf& cl2Toningcurve, + 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 DCPProfileApplyState& asIn, LUTu& histToneCurve, size_t chunkSize, bool measure) { std::unique_ptr stop; @@ -2066,8 +2000,8 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer } } - TMatrix wprof = ICCStore::getInstance()->workingSpaceMatrix (params->icm.workingProfile); - TMatrix wiprof = ICCStore::getInstance()->workingSpaceInverseMatrix (params->icm.workingProfile); + TMatrix wprof = ICCStore::getInstance()->workingSpaceMatrix(params->icm.workingProfile); + TMatrix wiprof = ICCStore::getInstance()->workingSpaceInverseMatrix(params->icm.workingProfile); float toxyz[3][3] = { { @@ -2221,13 +2155,13 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer PerceptualToneCurveState ptc1ApplyState, ptc2ApplyState; if (hasToneCurve1 && curveMode == ToneCurveMode::PERCEPTUAL) { - const PerceptualToneCurve& userToneCurve = static_cast (customToneCurve1); - userToneCurve.initApplyState (ptc1ApplyState, params->icm.workingProfile); + const PerceptualToneCurve& userToneCurve = static_cast(customToneCurve1); + userToneCurve.initApplyState(ptc1ApplyState, params->icm.workingProfile); } if (hasToneCurve2 && curveMode2 == ToneCurveMode::PERCEPTUAL) { - const PerceptualToneCurve& userToneCurve = static_cast (customToneCurve2); - userToneCurve.initApplyState (ptc2ApplyState, params->icm.workingProfile); + const PerceptualToneCurve& userToneCurve = static_cast(customToneCurve2); + userToneCurve.initApplyState(ptc2ApplyState, params->icm.workingProfile); } bool hasColorToning = params->colorToning.enabled && bool (ctOpacityCurve) && bool (ctColorCurve) && params->colorToning.method != "LabGrid"; @@ -2422,6 +2356,7 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer } highlightToneCurve(hltonecurve, rtemp, gtemp, btemp, istart, tH, jstart, tW, TS, exp_scale, comp, hlrange); + if (params->toneCurve.black != 0.0) { shadowToneCurve(shtonecurve, rtemp, gtemp, btemp, istart, tH, jstart, tW, TS); } @@ -2473,7 +2408,7 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer float tmpg[4] ALIGNED16; float tmpb[4] ALIGNED16; - for (; j < tW - 3; j+=4, tj+=4) { + for (; j < tW - 3; j += 4, tj += 4) { //brightness/contrast STVF(tmpr[0], tonecurve(LVF(rtemp[ti * TS + tj]))); STVF(tmpg[0], tonecurve(LVF(gtemp[ti * TS + tj]))); @@ -2754,6 +2689,7 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer else if (params->colorToning.method == "Splitco") { constexpr float reducac = 0.3f; constexpr int mode = 0; + for (int i = istart, ti = 0; i < tH; i++, ti++) { for (int j = jstart, tj = 0; j < tW; j++, tj++) { const float r = rtemp[ti * TS + tj]; @@ -3184,9 +3120,9 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer Color::RGB2Lab(&rtemp[ti * TS], >emp[ti * TS], &btemp[ti * TS], &(lab->L[i][jstart]), &(lab->a[i][jstart]), &(lab->b[i][jstart]), toxyz, tW - jstart); } - // if (hasColorToningLabGrid) { - // colorToningLabGrid(lab, jstart, tW, istart, tH, false); - // } + // if (hasColorToningLabGrid) { + // colorToningLabGrid(lab, jstart, tW, istart, tH, false); + // } } else { // black & white // Auto channel mixer needs whole image, so we now copy to tmpImage and close the tiled processing for (int i = istart, ti = 0; i < tH; i++, ti++) { @@ -3565,9 +3501,9 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer for (int i = 0; i < tH; i++) { Color::RGB2Lab(tmpImage->r(i), tmpImage->g(i), tmpImage->b(i), lab->L[i], lab->a[i], lab->b[i], toxyz, tW); - // if (hasColorToningLabGrid) { - // colorToningLabGrid(lab, 0, tW, i, i + 1, false); - // } + // if (hasColorToningLabGrid) { + // colorToningLabGrid(lab, 0, tW, i, i + 1, false); + // } } @@ -3589,14 +3525,6 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer delete vCurve; } - // shadowsHighlights(lab); - // shadowsHighlights(lab, params->sh.enabled, params->sh.lab,params->sh.highlights ,params->sh.shadows, params->sh.radius, scale, params->sh.htonalwidth, params->sh.stonalwidth); -/* - if (params->localContrast.enabled) { - // Alberto's local contrast - localContrast(lab, lab->L, params->localContrast, false, scale); - } - */ } /** @@ -3691,7 +3619,7 @@ void ImProcFunctions::secondeg_begin(float reducac, float vend, float &aam, floa * @param RedHigh [-1..1] value after transformations of sliders [-100..100] for highlights * @param GreenHigh [-1..1] value after transformations of sliders [-100..100] for highlights * @param BlueHigh [-1..1] value after transformations of sliders [-100..100] for highlights -* @param reducac value of the reduction in the middle of the range for second degree increse or decrease action +* @param reducac value of the reduction in the middle of the range for second degree increase or decrease action * @param mode 0 = colour, 1 = Black and White * @param strProtect ? **/ @@ -4034,7 +3962,7 @@ void ImProcFunctions::toning2col(float r, float g, float b, float &ro, float &go * @param iplow iphigh [0..1] luminance * @param wp wip 3x3 matrix and inverse conversion rgb XYZ **/ -void ImProcFunctions::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, const LUTf & clToningcurve, const LUTf & cl2Toningcurve, float iplow, float iphigh, double wp[3][3], double wip[3][3] ) +void ImProcFunctions::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, const LUTf & clToningcurve, const LUTf & cl2Toningcurve, float iplow, float iphigh, double wp[3][3], double wip[3][3]) { ro = CLIP(r); go = CLIP(g); @@ -4093,7 +4021,7 @@ void ImProcFunctions::labtoning (float r, float g, float b, float &ro, float &go } -void ImProcFunctions::luminanceCurve (LabImage* lold, LabImage* lnew, const LUTf& curve) +void ImProcFunctions::luminanceCurve(LabImage* lold, LabImage* lnew, const LUTf& curve) { int W = lold->W; @@ -4113,7 +4041,7 @@ void ImProcFunctions::luminanceCurve (LabImage* lold, LabImage* lnew, const LUTf -void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW, LabImage* lold, LabImage* lnew, const LUTf& acurve, const LUTf& bcurve, const LUTf& satcurve, const LUTf& lhskcurve, const LUTf& clcurve, LUTf & curve, bool utili, bool autili, bool butili, bool ccutili, bool cclutili, bool clcutili, LUTu &histCCurve, LUTu &histLCurve) +void ImProcFunctions::chromiLuminanceCurve(PipetteBuffer *pipetteBuffer, int pW, LabImage* lold, LabImage* lnew, const LUTf& acurve, const LUTf& bcurve, const LUTf& satcurve, const LUTf& lhskcurve, const LUTf& clcurve, LUTf & curve, bool utili, bool autili, bool butili, bool ccutili, bool cclutili, bool clcutili, LUTu &histCCurve, LUTu &histLCurve) { int W = lold->W; int H = lold->H; @@ -4148,7 +4076,8 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW // !params->labCurve.enabled. It is ugly, but it's the smallest code // change that I could find //------------------------------------------------------------------------- - class TempParams { + class TempParams + { const ProcParams **p_; const ProcParams *old_; ProcParams tmp_; @@ -4170,11 +4099,13 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW bool pipette_for_colortoning_labregions = editPipette && params->colorToning.enabled && params->colorToning.method == "LabRegions"; + if (!params->labCurve.enabled && pipette_for_colortoning_labregions) { utili = autili = butili = ccutili = cclutili = clcutili = false; tempparams.reset(new TempParams(¶ms)); curve.makeIdentity(); } + //------------------------------------------------------------------------- @@ -4183,6 +4114,7 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW // fill pipette buffer with zeros to avoid crashes editWhatever->fill(0.f); } + if (params->blackwhite.enabled && !params->colorToning.enabled) { for (int i = 0; i < lnew->H; ++i) { for (int j = 0; j < lnew->W; ++j) { @@ -4190,6 +4122,7 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW } } } + return; } @@ -4251,7 +4184,7 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW // if(params->labCurve.avoidclip ){ // parameter to adapt curve C=f(C) to gamut - if (params->icm.workingProfile == "ProPhoto") { + if (params->icm.workingProfile == "ProPhoto") { adjustr = 1.2f; // 1.2 instead 1.0 because it's very rare to have C>170.. } else if (params->icm.workingProfile == "Adobe RGB") { adjustr = 1.8f; @@ -4282,7 +4215,22 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW const bool clut = clcutili; const double rstprotection = 100. - params->labCurve.rstprotection; // Red and Skin Tones Protection // avoid color shift is disabled when bwToning is activated and enabled if gamut is true in colorappearanace - const bool avoidColorShift = (params->labCurve.avoidcolorshift || (params->colorappearance.gamut && params->colorappearance.enabled)) && !bwToning ; + // const bool avoidColorShift = (params->labCurve.avoidcolorshift || (params->colorappearance.gamut && params->colorappearance.enabled)) && !bwToning ; + //const bool avoidColorS = params->labCurve.avoidcolorshift; + int gamutmuns = 0; + + if (params->labCurve.gamutmunselmethod == "NONE") { + gamutmuns = 0; + } else if (params->labCurve.gamutmunselmethod == "LAB") { + gamutmuns = 1; + } else if (params->labCurve.gamutmunselmethod == "XYZ") { + gamutmuns = 2; + } else if (params->labCurve.gamutmunselmethod == "XYZREL") { + gamutmuns = 3; + } else if (params->labCurve.gamutmunselmethod == "MUN") { + gamutmuns = 4; + } + const float protectRed = (float)settings->protectred; const double protectRedH = settings->protectredh; const float protect_red = rtengine::LIM(protectRed, 20.f, 180.f); //default=60 chroma: one can put more or less if necessary...in 'option' 40...160 @@ -4307,17 +4255,17 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW const float scaleConst = 100.0f / 100.1f; - const bool gamutLch = settings->gamutLch; + //const bool gamutLch = settings->gamutLch; const float amountchroma = (float) settings->amchroma; - TMatrix wiprof = ICCStore::getInstance()->workingSpaceInverseMatrix (params->icm.workingProfile); + TMatrix wiprof = ICCStore::getInstance()->workingSpaceInverseMatrix(params->icm.workingProfile); const double wip[3][3] = { {wiprof[0][0], wiprof[0][1], wiprof[0][2]}, {wiprof[1][0], wiprof[1][1], wiprof[1][2]}, {wiprof[2][0], wiprof[2][1], wiprof[2][2]} }; - TMatrix wprof = ICCStore::getInstance()->workingSpaceMatrix (params->icm.workingProfile); + TMatrix wprof = ICCStore::getInstance()->workingSpaceMatrix(params->icm.workingProfile); const double wp[3][3] = { {wprof[0][0], wprof[0][1], wprof[0][2]}, {wprof[1][0], wprof[1][1], wprof[1][2]}, @@ -4337,12 +4285,12 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW #endif for (int i = 0; i < H; i++) { - if (avoidColorShift) + // if (avoidColorShift) - // only if user activate Lab adjustments - if (autili || butili || ccutili || cclutili || chutili || lhutili || hhutili || clcutili || utili || chromaticity) { - Color::LabGamutMunsell(lold->L[i], lold->a[i], lold->b[i], W, /*corMunsell*/true, /*lumaMuns*/false, params->toneCurve.hrenabled, /*gamut*/true, wip); - } + // only if user activate Lab adjustments + // if (autili || butili || ccutili || cclutili || chutili || lhutili || hhutili || clcutili || utili || chromaticity) { + // Color::LabGamutMunsell(lold->L[i], lold->a[i], lold->b[i], W, /*corMunsell*/true, /*lumaMuns*/false, params->toneCurve.hrenabled, /*gamut*/true, wip); + // } #ifdef __SSE2__ @@ -4356,7 +4304,7 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW av = LVFU(lold->a[i][k]); bv = LVFU(lold->b[i][k]); STVF(HHBuffer[k], xatan2f(bv, av)); - STVF (CCBuffer[k], vsqrtf (SQRV (av) + SQRV (bv)) / c327d68v); + STVF(CCBuffer[k], vsqrtf(SQRV(av) + SQRV(bv)) / c327d68v); } for (; k < W; k++) { @@ -4510,8 +4458,8 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW float fx = (0.002f * aprov1) + fy; float fz = fy - (0.005f * bprov1); - float x_ = 65535.f * Color::f2xyz (fx) * Color::D50x; - float z_ = 65535.f * Color::f2xyz (fz) * Color::D50z; + float x_ = 65535.f * Color::f2xyz(fx) * Color::D50x; + float z_ = 65535.f * Color::f2xyz(fz) * Color::D50z; float y_ = Lprov1 > Color::epskapf ? 65535.f * fy * fy * fy : 65535.f * Lprov1 / Color::kappaf; float R, G, B; Color::xyz2rgb(x_, y_, z_, R, G, B, wip); @@ -4783,24 +4731,57 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW btmp -= lold->b[i][j]; } - if (avoidColorShift) { - //gamutmap Lch ==> preserve Hue,but a little slower than gamutbdy for high values...and little faster for low values - if (gamutLch) { - float R, G, B; - //gamut control : Lab values are in gamut - Color::gamutLchonly(HH, sincosval, Lprov1, Chprov1, R, G, B, wip, highlight, 0.15f, 0.96f); - lnew->L[i][j] = Lprov1 * 327.68f; - lnew->a[i][j] = 327.68f * Chprov1 * sincosval.y; - lnew->b[i][j] = 327.68f * Chprov1 * sincosval.x; - } else { - //use gamutbdy - //Luv limiter - float Y, u, v; - Color::Lab2Yuv(lnew->L[i][j], atmp, btmp, Y, u, v); - //Yuv2Lab includes gamut restriction map - Color::Yuv2Lab(Y, u, v, lnew->L[i][j], lnew->a[i][j], lnew->b[i][j], wp); + lnew->L[i][j] = Lprov1 * 327.68f; + lnew->a[i][j] = 327.68f * Chprov1 * sincosval.y; + lnew->b[i][j] = 327.68f * Chprov1 * sincosval.x; + + //gamutmap Lch ==> preserve Hue,but a little slower than gamutbdy for high values...and little faster for low values + if (gamutmuns == 1) { + float R, G, B; + //gamut control : Lab values are in gamut + Color::gamutLchonly(HH, sincosval, Lprov1, Chprov1, R, G, B, wip, highlight, 0.15f, 0.96f); + lnew->L[i][j] = Lprov1 * 327.68f; + lnew->a[i][j] = 327.68f * Chprov1 * sincosval.y; + lnew->b[i][j] = 327.68f * Chprov1 * sincosval.x; + } + + if (gamutmuns == 2 || gamutmuns == 3) { + + float xg, yg, zg; + Color::Lab2XYZ(lnew->L[i][j], atmp, btmp, xg, yg, zg); + float x0 = xg; + float y0 = yg; + float z0 = zg; + + Color::gamutmap(xg, yg, zg, wp); + + if (gamutmuns == 3) {//0.5f arbitrary coeff + xg = xg + 0.5f * (x0 - xg); + yg = yg + 0.5f * (y0 - yg); + zg = zg + 0.5f * (z0 - zg); } + float Lag, aag2, bbg2; + Color::XYZ2Lab(xg, yg, zg, Lag, aag2, bbg2); + Lprov1 = Lag / 327.68f; + HH = xatan2f(bbg2, aag2); + Chprov1 = std::sqrt(SQR(aag2) + SQR(bbg2)) / 327.68f; + + if (Chprov1 == 0.0f) { + sincosval.y = 1.f; + sincosval.x = 0.0f; + } else { + sincosval.y = aag2 / (Chprov1 * 327.68f); + sincosval.x = bbg2 / (Chprov1 * 327.68f); + } + + lnew->L[i][j] = Lprov1 * 327.68f; + lnew->a[i][j] = 327.68f * Chprov1 * sincosval.y; + lnew->b[i][j] = 327.68f * Chprov1 * sincosval.x; + + } + + if (gamutmuns > 0) { if (utili || autili || butili || ccut || clut || cclutili || chutili || lhutili || hhutili || clcutili || chromaticity) { float correctionHue = 0.f; // Munsell's correction float correctlum = 0.f; @@ -4826,7 +4807,10 @@ void ImProcFunctions::chromiLuminanceCurve (PipetteBuffer *pipetteBuffer, int pW lnew->a[i][j] = 327.68f * Chprov * sincosval.y; // apply Munsell lnew->b[i][j] = 327.68f * Chprov * sincosval.x; } - } else { + } + + if (gamutmuns == 0) { + // if(Lprov1 > maxlp) maxlp=Lprov1; // if(Lprov1 < minlp) minlp=Lprov1; if (!bwToning) { @@ -5019,11 +5003,12 @@ void ImProcFunctions::EPDToneMapCIE(CieImage *ncie, float a_w, float c_, int Wid if (!params->epd.enabled) { return; } -/* - if (params->wavelet.enabled && params->wavelet.tmrs != 0) { - return; - } -*/ + + /* + if (params->wavelet.enabled && params->wavelet.tmrs != 0) { + return; + } + */ float stren = params->epd.strength; const float edgest = std::min(params->epd.edgeStopping, params->localContrast.enabled ? 3.0 : 4.0); float sca = params->epd.scale; @@ -5033,7 +5018,7 @@ void ImProcFunctions::EPDToneMapCIE(CieImage *ncie, float a_w, float c_, int Wid float *Qpr = ncie->Q_p[0]; if (settings->verbose) { - printf ("minQ=%f maxQ=%f Qpro=%f\n", static_cast(minQ), static_cast(maxQ), static_cast(Qpro)); + printf("minQ=%f maxQ=%f Qpro=%f\n", static_cast(minQ), static_cast(maxQ), static_cast(Qpro)); } if (maxQ > Qpro) { @@ -5072,6 +5057,7 @@ void ImProcFunctions::EPDToneMapCIE(CieImage *ncie, float a_w, float c_, int Wid #ifdef _OPENMP #pragma omp parallel for schedule(dynamic,10) #endif + for (int i = 0; i < Hei; i++) for (int j = 0; j < Wid; j++) { ncie->Q_p[i][j] = (ncie->Q_p[i][j] * Qpro) / gamm; @@ -5122,7 +5108,7 @@ void ImProcFunctions::EPDToneMaplocal(int sp, LabImage *lab, LabImage *tmp1, uns float stren = ((float)params->locallab.spots.at(sp).stren); const float edgest = std::min(params->locallab.spots.at(sp).estop, params->localContrast.enabled ? 3.0 : 4.0); - + float sca = ((float)params->locallab.spots.at(sp).scaltm); float gamm = ((float)params->locallab.spots.at(sp).gamma); float satur = ((float)params->locallab.spots.at(sp).satur) / 100.f; @@ -5143,6 +5129,7 @@ void ImProcFunctions::EPDToneMaplocal(int sp, LabImage *lab, LabImage *tmp1, uns #ifdef _OPENMP #pragma omp parallel for reduction(max:maxL) reduction(min:minL) schedule(dynamic,16) #endif + for (std::size_t i = 0; i < N; i++) { minL = rtengine::min(minL, L[i]); maxL = rtengine::max(maxL, L[i]); @@ -5160,8 +5147,8 @@ void ImProcFunctions::EPDToneMaplocal(int sp, LabImage *lab, LabImage *tmp1, uns #ifdef _OPENMP #pragma omp parallel for #endif - for (std::size_t i = 0; i < N; i++) - { + + for (std::size_t i = 0; i < N; i++) { L[i] = (L[i] - minL) * mult; } @@ -5190,8 +5177,12 @@ void ImProcFunctions::EPDToneMaplocal(int sp, LabImage *lab, LabImage *tmp1, uns //Restore past range, also desaturate a bit per Mantiuk's Color correction for tone mapping. float s = (1.0f + 38.7889f) * powf(Compression, 1.5856f) / (1.0f + 38.7889f * powf(Compression, 1.5856f)); float sat = s + 0.3f * s * satur; + //printf("s=%f sat=%f \n", s, sat); - if(sat == 1.f) sat = 1.001f; + if (sat == 1.f) { + sat = 1.001f; + } + #ifdef _OPENMP #pragma omp parallel for // removed schedule(dynamic,10) #endif @@ -5238,6 +5229,7 @@ void ImProcFunctions::EPDToneMap(LabImage *lab, unsigned int Iterates, int skip) #ifdef _OPENMP #pragma omp parallel for reduction(min:minL) reduction(max:maxL) #endif + for (size_t i = 1; i < N; i++) { minL = std::min(minL, L[i]); maxL = std::max(maxL, L[i]); @@ -5252,6 +5244,7 @@ void ImProcFunctions::EPDToneMap(LabImage *lab, unsigned int Iterates, int skip) #ifdef _OPENMP #pragma omp parallel for #endif + for (size_t i = 0; i < N; ++i) { L[i] = (L[i] - minL) * (gamm / maxL); } @@ -5265,7 +5258,7 @@ void ImProcFunctions::EPDToneMap(LabImage *lab, unsigned int Iterates, int skip) Iterates = edgest * 15.f; } - epd.CompressDynamicRange (L, sca / skip, edgest, Compression, DetailBoost, Iterates, rew); + epd.CompressDynamicRange(L, sca / skip, edgest, Compression, DetailBoost, Iterates, rew); //Restore past range, also desaturate a bit per Mantiuk's Color correction for tone mapping. const float s = (1.f + 38.7889f) * std::pow(Compression, 1.5856f) / (1.f + 38.7889f * std::pow(Compression, 1.5856f)); @@ -5274,6 +5267,7 @@ void ImProcFunctions::EPDToneMap(LabImage *lab, unsigned int Iterates, int skip) #ifdef _OPENMP #pragma omp parallel for #endif + for (size_t ii = 0; ii < N; ++ii) { a[ii] *= s; b[ii] *= s; @@ -5321,7 +5315,7 @@ void ImProcFunctions::getAutoExp(const LUTu &histogram, int histcompr, double cl int j = 0; - for (; j < min ((int)ave, imax); ++j) { + for (; j < min((int)ave, imax); ++j) { if (count < 8) { octile[count] += histogram[j]; @@ -5414,7 +5408,7 @@ void ImProcFunctions::getAutoExp(const LUTu &histogram, int histcompr, double cl } //compute clipped white point - unsigned int clippable = (int) (static_cast(sum) * clip / 100.0 ); + unsigned int clippable = (int)(static_cast(sum) * clip / 100.0); clipped = 0; int whiteclip = (imax) - 1; @@ -5493,7 +5487,7 @@ void ImProcFunctions::getAutoExp(const LUTu &histogram, int histcompr, double cl contr = (int) 50.0f * (1.1f - ospread); contr = max(0, min(100, contr)); //take gamma into account - double whiteclipg = (int) (CurveFactory::gamma2(whiteclip * static_cast(corr) / 65536.0) * 65536.0); + double whiteclipg = (int)(CurveFactory::gamma2(whiteclip * static_cast(corr) / 65536.0) * 65536.0); float gavg = 0.; @@ -5673,7 +5667,8 @@ void ImProcFunctions::rgb2lab(const Imagefloat &src, LabImage &dst, const Glib:: } void ImProcFunctions::rgb2lab(const Image8 &src, int x, int y, int w, int h, float L[], float a[], float b[], const procparams::ColorManagementParams &icm, bool consider_histogram_settings) const -{ // Adapted from ImProcFunctions::lab2rgb +{ + // Adapted from ImProcFunctions::lab2rgb const int src_width = src.getWidth(); const int src_height = src.getHeight(); @@ -5705,6 +5700,7 @@ void ImProcFunctions::rgb2lab(const Image8 &src, int x, int y, int w, int h, flo if (icm.outputProfile.empty() || icm.outputProfile == ColorManagementParams::NoICMString) { profile = "sRGB"; } + oprof = ICCStore::getInstance()->getProfile(profile); } @@ -5717,7 +5713,7 @@ void ImProcFunctions::rgb2lab(const Image8 &src, int x, int y, int w, int h, flo lcmsMutex->lock(); cmsHPROFILE LabIProf = cmsCreateLab4Profile(nullptr); - cmsHTRANSFORM hTransform = cmsCreateTransform (oprof, TYPE_RGB_8, LabIProf, TYPE_Lab_FLT, icm.outputIntent, flags); + cmsHTRANSFORM hTransform = cmsCreateTransform(oprof, TYPE_RGB_8, LabIProf, TYPE_Lab_FLT, icm.outputIntent, flags); cmsCloseProfile(LabIProf); lcmsMutex->unlock(); @@ -5741,7 +5737,7 @@ void ImProcFunctions::rgb2lab(const Image8 &src, int x, int y, int w, int h, flo float* ra = a + (i - y) * w; float* rb = b + (i - y) * w; - cmsDoTransform (hTransform, src.data + ix, outbuffer, w); + cmsDoTransform(hTransform, src.data + ix, outbuffer, w); for (int j = 0; j < w; j++) { rL[j] = outbuffer[iy++] * 327.68f; @@ -5770,6 +5766,7 @@ void ImProcFunctions::rgb2lab(const Image8 &src, int x, int y, int w, int h, flo for (int i = y; i < y2; i++) { int offset = (i - y) * w; + for (int j = x; j < x2; j++) { float X, Y, Z; // lab2rgb uses gamma2curve, which is gammatab_srgb. @@ -5861,7 +5858,7 @@ void ImProcFunctions::colorToningLabGrid(LabImage *lab, int xstart, int xend, in float b_scale = (params->colorToning.labgridBHigh - params->colorToning.labgridBLow) / factor / scaling; float b_base = params->colorToning.labgridBLow / scaling; - #ifdef _OPENMP +#ifdef _OPENMP #pragma omp parallel for if (MultiThread) #endif diff --git a/rtengine/improcfun.h b/rtengine/improcfun.h index c11f0810b..36c571291 100644 --- a/rtengine/improcfun.h +++ b/rtengine/improcfun.h @@ -23,6 +23,7 @@ #include "coord2d.h" #include "gamutwarning.h" +#include "imagedimensions.h" #include "jaggedarray.h" #include "pipettebuffer.h" #include "array2D.h" @@ -78,12 +79,15 @@ class Image8; class Imagefloat; class LabImage; class wavelet_decomposition; +class ImageSource; +class ColorTemp; namespace procparams { class ProcParams; +struct SpotEntry; struct DehazeParams; struct FattalToneMappingParams; struct ColorManagementParams; @@ -187,12 +191,14 @@ enum class BlurType { void moyeqt(Imagefloat* working, float &moyS, float &eqty); void luminanceCurve(LabImage* lold, LabImage* lnew, const LUTf &curve); - void ciecamloc_02float(int sp, LabImage* lab, int call); + void ciecamloc_02float(const struct local_params& lp, int sp, LabImage* lab, int bfw, int bfh, int call, int sk, const LUTf& cielocalcurve, bool localcieutili, const LUTf& cielocalcurve2, bool localcieutili2, const LUTf& jzlocalcurve, bool localjzutili, const LUTf& czlocalcurve, bool localczutili, const LUTf& czjzlocalcurve, bool localczjzutili, const LocCHCurve& locchCurvejz, const LocHHCurve& lochhCurve, const LocLHCurve& loclhCurve, bool HHcurvejz, bool CHcurvejz, bool LHcurvejz, const LocwavCurve& locwavCurvejz, bool locwavutilijz); void ciecam_02float(CieImage* ncie, float adap, int pW, int pwb, LabImage* lab, const procparams::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, float &dj, float &yb, int rtt, bool showSharpMask = false); + void clarimerge(const struct local_params& lp, float &mL, float &mC, bool &exec, LabImage *tmpresid, int wavelet_level, int sk, int numThreads); + void chromiLuminanceCurve(PipetteBuffer *pipetteBuffer, int pW, LabImage* lold, LabImage* lnew, const LUTf& acurve, const LUTf& bcurve, const LUTf& satcurve, const LUTf& satclcurve, const LUTf& clcurve, LUTf &curve, bool utili, bool autili, bool butili, bool ccutili, bool cclutili, bool clcutili, LUTu &histCCurve, LUTu &histLurve); void vibrance(LabImage* lab, const procparams::VibranceParams &vibranceParams, bool highlight, const Glib::ustring &workingProfile); //Jacques' vibrance void softprocess(const LabImage* bufcolorig, array2D &buflight, /* float ** bufchro, float ** buf_a, float ** buf_b, */ float rad, int bfh, int bfw, double epsilmax, double epsilmin, float thres, int sk, bool multiThread); @@ -249,9 +255,9 @@ enum class BlurType { const LUTf& lmasklocalcurve, bool localmaskutili, const LocwavCurve & loclmasCurvecolwav, bool lmasutilicolwav, int level_bl, int level_hl, int level_br, int level_hr, int shortcu, bool delt, const float hueref, const float chromaref, const float lumaref, - float maxdE, float mindE, float maxdElim, float mindElim, float iterat, float limscope, int scope, bool fftt, float blu_ma, float cont_ma, int indic); + float maxdE, float mindE, float maxdElim, float mindElim, float iterat, float limscope, int scope, bool fftt, float blu_ma, float cont_ma, int indic, float &fab); - void avoidcolshi(const struct local_params& lp, int sp, LabImage * original, LabImage *transformed, int cy, int cx, int sk); + void avoidcolshi(const struct local_params& lp, int sp, LabImage *transformed, LabImage *reserved, int cy, int cx, int sk); void deltaEforMask(float **rdE, int bfw, int bfh, LabImage* bufcolorig, const float hueref, const float chromaref, const float lumaref, float maxdE, float mindE, float maxdElim, float mindElim, float iterat, float limscope, int scope, float balance, float balanceh); @@ -259,6 +265,7 @@ enum class BlurType { void laplacian(const array2D &src, array2D &dst, int bfw, int bfh, float threshold, float ceiling, float factor, bool multiThread); void detail_mask(const array2D &src, array2D &mask, int bfw, int bfh, float scaling, float threshold, float ceiling, float factor, BlurType blur_type, float blur, bool multithread); void NLMeans(float **img, int strength, int detail_thresh, int patch, int radius, float gam, int bfw, int bfh, float scale, bool multithread); + void loccont(int bfw, int bfh, LabImage* tmp1, float rad, float stren, int sk); void rex_poisson_dct(float * data, size_t nx, size_t ny, double m); void mean_dt(const float * data, size_t size, double& mean_p, double& dt_p); @@ -280,7 +287,7 @@ enum class BlurType { float maxdE, float mindE, float maxdElim, float mindElim, float iterat, float limscope, int scope, float balance, float balanceh, float lumask); //3 functions from Alberto Griggio, adapted J.Desmis 2019 - void filmGrain(Imagefloat *rgb, int isogr, int strengr, int scalegr,float divgr, int bfw, int bfh); + void filmGrain(Imagefloat *rgb, int isogr, int strengr, int scalegr,float divgr, int bfw, int bfh, int call, int fw, int fh); void log_encode(Imagefloat *rgb, struct local_params & lp, bool multiThread, int bfw, int bfh); void getAutoLogloc(int sp, ImageSource *imgsrc, float *sourceg, float *blackev, float *whiteev, bool *Autogr, float *sourceab, int fw, int fh, float xsta, float xend, float ysta, float yend, int SCALE); @@ -298,11 +305,12 @@ enum class BlurType { void calc_ref(int sp, LabImage* original, LabImage* transformed, int cx, int cy, int oW, int oH, int sk, double &huerefblur, double &chromarefblur, double &lumarefblur, double &hueref, double &chromaref, double &lumaref, double &sobelref, float &avg, const LocwavCurve & locwavCurveden, bool locwavdenutili); void copy_ref(LabImage* spotbuffer, LabImage* original, LabImage* transformed, int cx, int cy, int sk, const struct local_params & lp, double &huerefspot, double &chromarefspot, double &lumarefspot); void paste_ref(LabImage* spotbuffer, LabImage* transformed, int cx, int cy, int sk, const struct local_params & lp); - void Lab_Local(int call, int sp, float** shbuffer, LabImage* original, LabImage* transformed, LabImage* reserved, LabImage * savenormtm, LabImage * savenormreti, LabImage* lastorig, int cx, int cy, int oW, int oH, int sk, const LocretigainCurve& locRETgainCcurve, const LocretitransCurve &locRETtransCcurve, + void Lab_Local(int call, int sp, float** shbuffer, LabImage* original, LabImage* transformed, LabImage* reserved, LabImage * savenormtm, LabImage * savenormreti, LabImage* lastorig, int fw, int fh, int cx, int cy, int oW, int oH, int sk, const LocretigainCurve& locRETgainCcurve, const LocretitransCurve &locRETtransCcurve, const LUTf& lllocalcurve, bool locallutili, const LUTf& cllocalcurve, bool localclutili, const LUTf& lclocalcurve, bool locallcutili, const LocLHCurve& loclhCurve, const LocHHCurve& lochhCurve, const LocCHCurve& locchCurve, + const LocHHCurve& lochhCurvejz, const LocCHCurve& locchCurvejz, const LocLHCurve& loclhCurvejz, const LUTf& lmasklocalcurve, bool localmaskutili, const LUTf& lmaskexplocalcurve, bool localmaskexputili, const LUTf& lmaskSHlocalcurve, bool localmaskSHutili, @@ -314,6 +322,12 @@ enum class BlurType { const LUTf& lmasklclocalcurve, bool localmasklcutili, const LUTf& lmaskloglocalcurve, bool localmasklogutili, const LUTf& lmasklocal_curve, bool localmask_utili, + const LUTf& lmaskcielocalcurve, bool localmaskcieutili, + const LUTf& cielocalcurve, bool localcieutili, + const LUTf& cielocalcurve2, bool localcieutili2, + const LUTf& jzlocalcurve, bool localjzutili, + const LUTf& czlocalcurve, bool localczutili, + const LUTf& czjzlocalcurve, bool localczjzutili, const LocCCmaskCurve& locccmasCurve, bool lcmasutili, const LocLLmaskCurve& locllmasCurve, bool llmasutili, const LocHHmaskCurve& lochhmasCurve, bool lhmasutili, const LocHHmaskCurve& llochhhmasCurve, bool lhhmasutili, const LocCCmaskCurve& locccmasexpCurve, bool lcmasexputili, const LocLLmaskCurve& locllmasexpCurve, bool llmasexputili, const LocHHmaskCurve& lochhmasexpCurve, bool lhmasexputili, @@ -326,11 +340,14 @@ enum class BlurType { const LocCCmaskCurve& locccmaslcCurve, bool lcmaslcutili, const LocLLmaskCurve& locllmaslcCurve, bool llmaslcutili, const LocHHmaskCurve& lochhmaslcCurve, bool lhmaslcutili, const LocCCmaskCurve& locccmaslogCurve, bool lcmaslogutili, const LocLLmaskCurve& locllmaslogCurve, bool llmaslogutili, const LocHHmaskCurve& lochhmaslogCurve, bool lhmaslogutili, const LocCCmaskCurve& locccmas_Curve, bool lcmas_utili, const LocLLmaskCurve& locllmas_Curve, bool llmas_utili, const LocHHmaskCurve& lochhmas_Curve, bool lhmas_utili, + const LocCCmaskCurve& locccmascieCurve, bool lcmascieutili, const LocLLmaskCurve& locllmascieCurve, bool llmascieutili, const LocHHmaskCurve& lochhmascieCurve, bool lhmascieutili, + const LocHHmaskCurve& lochhhmas_Curve, bool lhhmas_utili, const LocwavCurve& loclmasCurveblwav, bool lmasutiliblwav, const LocwavCurve& loclmasCurvecolwav, bool lmasutilicolwav, const LocwavCurve& locwavCurve, bool locwavutili, + const LocwavCurve& locwavCurvejz, bool locwavutilijz, const LocwavCurve& loclevwavCurve, bool loclevwavutili, const LocwavCurve& locconwavCurve, bool locconwavutili, const LocwavCurve& loccompwavCurve, bool loccompwavutili, @@ -339,11 +356,11 @@ enum class BlurType { const LocwavCurve& locwavCurveden, bool locwavdenutili, const LocwavCurve& locedgwavCurve, bool locedgwavutili, const LocwavCurve& loclmasCurve_wav, bool lmasutili_wav, - bool LHutili, bool HHutili, bool CHutili, const LUTf& cclocalcurve, bool localcutili, const LUTf& rgblocalcurve, bool localrgbutili, bool localexutili, const LUTf& exlocalcurve, const LUTf& hltonecurveloc, const LUTf& shtonecurveloc, const LUTf& tonecurveloc, const LUTf& lightCurveloc, + bool LHutili, bool HHutili, bool CHutili, bool HHutilijz, bool CHutilijz, bool LHutilijz, const LUTf& cclocalcurve, bool localcutili, const LUTf& rgblocalcurve, bool localrgbutili, bool localexutili, const LUTf& exlocalcurve, const LUTf& hltonecurveloc, const LUTf& shtonecurveloc, const LUTf& tonecurveloc, const LUTf& lightCurveloc, double& huerefblur, double &chromarefblur, double& lumarefblur, double &hueref, double &chromaref, double &lumaref, double &sobelref, int &lastsav, - bool prevDeltaE, int llColorMask, int llColorMaskinv, int llExpMask, int llExpMaskinv, int llSHMask, int llSHMaskinv, int llvibMask, int lllcMask, int llsharMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask, int llblMask, int lllogMask, int ll_Mask, + bool prevDeltaE, int llColorMask, int llColorMaskinv, int llExpMask, int llExpMaskinv, int llSHMask, int llSHMaskinv, int llvibMask, int lllcMask, int llsharMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask, int llblMask, int lllogMask, int ll_Mask, int llcieMask, float &minCD, float &maxCD, float &mini, float &maxi, float &Tmean, float &Tsigma, float &Tmin, float &Tmax, - float& meantm, float& stdtm, float& meanreti, float& stdreti); + float& meantm, float& stdtm, float& meanreti, float& stdreti, float &fab); void addGaNoise(LabImage *lab, LabImage *dst, const float mean, const float variance, const int sk); void BlurNoise_Localold(int call, const struct local_params& lp, LabImage* original, LabImage* transformed, const LabImage* const tmp1, int cx, int cy); @@ -367,6 +384,8 @@ enum class BlurType { const LocwavCurve & loccomprewavCurve, bool loccomprewavutili, float radlevblur, int process, float chromablu, float thres, float sigmadc, float deltad); + void wavlc(wavelet_decomposition& wdspot, int level_bl, int level_hl, int maxlvl, int level_hr, int level_br, float ahigh, float bhigh, float alow, float blow, float sigmalc, float strength, const LocwavCurve & locwavCurve, int numThreads); + void wavcbd(wavelet_decomposition &wdspot, int level_bl, int maxlvl, const LocwavCurve& locconwavCurve, bool locconwavutili, float sigm, float offs, float chromalev, int sk); @@ -448,6 +467,9 @@ enum class BlurType { float Mad(const float * DataList, int datalen); float MadRgb(const float * DataList, int datalen); + // spot removal tool + void removeSpots (rtengine::Imagefloat* img, rtengine::ImageSource* imgsrc, const std::vector &entries, const PreviewProps &pp, const rtengine::ColorTemp &currWB, const procparams::ColorManagementParams *cmp, int tr); + // pyramid wavelet void cbdl_local_temp(float ** src, float ** loctemp, int srcwidth, int srcheight, const float * mult, float kchro, const double dirpyrThreshold, const float mergeL, const float contres, const double skinprot, const bool gamutlab, float b_l, float t_l, float t_r, float b_r, int choice, int scale, bool multiThread); void dirpyr_equalizer(const float * const * src, float ** dst, int srcwidth, int srcheight, const float * const * l_a, const float * const * l_b, const double * mult, double dirpyrThreshold, double skinprot, float b_l, float t_l, float t_r, int scale); //Emil's directional pyramid wavelet @@ -477,7 +499,8 @@ enum class BlurType { void rgb2lab(const Image8 &src, int x, int y, int w, int h, float L[], float a[], float b[], const procparams::ColorManagementParams &icm, bool consider_histogram_settings = true) const; Imagefloat* lab2rgbOut(LabImage* lab, int cx, int cy, int cw, int ch, const procparams::ColorManagementParams &icm); // CieImage *ciec; - void workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, int ch, int mul, const Glib::ustring &profile, double gampos, double slpos, cmsHTRANSFORM &transform, bool normalizeIn = true, bool normalizeOut = true, bool keepTransForm = false) const; + void workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, int ch, int mul, Glib::ustring &profile, double gampos, double slpos, int &illum, int prim, cmsHTRANSFORM &transform, bool normalizeIn = true, bool normalizeOut = true, bool keepTransForm = false) const; + void preserv(LabImage *nprevl, LabImage *provis, int cw, int ch); 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) const; bool transCoord(int W, int H, const std::vector &src, std::vector &red, std::vector &green, std::vector &blue, double ascaleDef = -1, const LensCorrection *pLCPMap = nullptr) const; diff --git a/rtengine/init.cc b/rtengine/init.cc index a73118e46..b7c6b9f56 100644 --- a/rtengine/init.cc +++ b/rtengine/init.cc @@ -59,10 +59,20 @@ int init (const Settings* s, const Glib::ustring& baseDir, const Glib::ustring& #pragma omp section #endif { + bool ok; + if (s->lensfunDbDirectory.empty() || Glib::path_is_absolute(s->lensfunDbDirectory)) { - LFDatabase::init(s->lensfunDbDirectory); + ok = LFDatabase::init(s->lensfunDbDirectory); } else { - LFDatabase::init(Glib::build_filename(baseDir, s->lensfunDbDirectory)); + ok = LFDatabase::init(Glib::build_filename(baseDir, s->lensfunDbDirectory)); + } + + if (!ok && !s->lensfunDbBundleDirectory.empty() && s->lensfunDbBundleDirectory != s->lensfunDbDirectory) { + if (Glib::path_is_absolute(s->lensfunDbBundleDirectory)) { + LFDatabase::init(s->lensfunDbBundleDirectory); + } else { + LFDatabase::init(Glib::build_filename(baseDir, s->lensfunDbBundleDirectory)); + } } } #ifdef _OPENMP @@ -93,7 +103,7 @@ int init (const Settings* s, const Glib::ustring& baseDir, const Glib::ustring& #pragma omp section #endif { - dfm.init(s->darkFramesPath); + DFManager::getInstance().init(s->darkFramesPath); } #ifdef _OPENMP #pragma omp section diff --git a/rtengine/ipdehaze.cc b/rtengine/ipdehaze.cc index 6ae8be27b..5ccec4a1e 100644 --- a/rtengine/ipdehaze.cc +++ b/rtengine/ipdehaze.cc @@ -210,6 +210,10 @@ float estimate_ambient_light(const array2D &R, const array2D &G, c } } + if (p.empty()) { + return 0.f; + } + const int pos = p.size() * 0.95; std::nth_element(p.begin(), p.begin() + pos, p.end()); darklim = p[pos]; diff --git a/rtengine/ipgrain.cc b/rtengine/ipgrain.cc index d03a3ba33..648565036 100644 --- a/rtengine/ipgrain.cc +++ b/rtengine/ipgrain.cc @@ -89,7 +89,7 @@ const int permutation[] class GrainEvaluator { public: - GrainEvaluator(int offset_x, int offset_y, int full_width, int full_height, double scale, float divgr): + GrainEvaluator(int offset_x, int offset_y, int full_width, int full_height, double scale, float divgr, int call, int fww, int fhh): ox(offset_x), oy(offset_y), fw(full_width), @@ -101,28 +101,34 @@ public: evaluate_grain_lut(mb, divgr); } - void operator()(int isogr, int strengr, int scalegr, float divgr, Imagefloat *lab, bool multithread) + void operator()(int isogr, int strengr, int scalegr, float divgr, Imagefloat *lab, bool multithread, int call, int fww, int fhh) { const double strength = (strengr / 100.0); const double octaves = 3.; const double wd = std::min(fw, fh); + const double wdf = std::min(fww, fhh); + const double zoom = (1.0 + 8 * (double(isogr) / GRAIN_SCALE_FACTOR) / 100.0) / 800.0; const double s = std::max(scale / 3.0, 1.0) / (double(std::max(scalegr, 1)) / 100.0); - // printf("s=%f \n", s); const int W = lab->getWidth(); const int H = lab->getHeight(); float **lab_L = lab->g.ptrs; + double wddf = wd; + if (call == 1 || call == 3) { + wddf = wdf; + } + #ifdef _OPENMP # pragma omp parallel for if (multithread) #endif for (int j = 0; j < H; ++j) { double wy = oy + j; - double y = wy / wd; + double y = wy / wddf; for (int i = 0; i < W; ++i) { double wx = ox + i; - double x = wx / wd; - double noise = simplex_2d_noise(x, y, octaves, 1.0, zoom) / s; + double x = wx / wddf; + double noise = simplex_2d_noise(x, y, octaves, zoom) / s; lab_L[j][i] += lut_lookup(noise * strength * GRAIN_LIGHTNESS_STRENGTH_SCALE, lab_L[j][i] / 32768.f); } } @@ -284,7 +290,7 @@ private: return 32.0 * (n0 + n1 + n2 + n3); } - double simplex_2d_noise(double x, double y, uint32_t octaves, double persistance, double z) + double simplex_2d_noise(double x, double y, uint32_t octaves, double z) { double total = 0; @@ -371,14 +377,14 @@ private: } // namespace -void ImProcFunctions::filmGrain(Imagefloat *rgb, int isogr, int strengr, int scalegr, float divgr, int bfw, int bfh) +void ImProcFunctions::filmGrain(Imagefloat *rgb, int isogr, int strengr, int scalegr, float divgr, int bfw, int bfh, int call, int fw, int fh) { if (settings->verbose) { printf("iso=%i strength=%i scale=%i gamma=%f\n", isogr, strengr, scalegr, divgr); } - GrainEvaluator ge(0, 0, bfw, bfh, scale, divgr); - ge(isogr, strengr, scalegr, divgr, rgb, multiThread); + GrainEvaluator ge(0, 0, bfw, bfh, scale, divgr, call, fw, fh); + ge(isogr, strengr, scalegr, divgr, rgb, multiThread, call, fw, fh); } } // namespace rtengine diff --git a/rtengine/iplab2rgb.cc b/rtengine/iplab2rgb.cc index 81a304fd3..dd02b8f0f 100644 --- a/rtengine/iplab2rgb.cc +++ b/rtengine/iplab2rgb.cc @@ -16,18 +16,20 @@ * You should have received a copy of the GNU General Public License * along with RawTherapee. If not, see . */ -#include "rtengine.h" -#include "image8.h" -#include "imagefloat.h" -#include "labimage.h" -#include "improcfun.h" #include -#include "iccstore.h" -#include "iccmatrices.h" -#include "settings.h" + #include "alignedbuffer.h" #include "color.h" +#include "iccmatrices.h" +#include "iccstore.h" +#include "image8.h" +#include "imagefloat.h" +#include "improcfun.h" +#include "labimage.h" #include "procparams.h" +#include "rtengine.h" +#include "settings.h" +#include "utils.h" namespace rtengine { @@ -120,6 +122,19 @@ inline void copyAndClamp(const LabImage *src, unsigned char *dst, const double r } // namespace + +float gammalog(float x, float p, float s, float g3, float g4) +{ + return x <= g3 ? x * s : (1.f + g4) * xexpf(xlogf(x) / p) - g4;//continuous +} + +#ifdef __SSE2__ +vfloat gammalog(vfloat x, vfloat p, vfloat s, vfloat g3, vfloat g4) +{ + return vself(vmaskf_le(x, g3), x * s, (F2V(1.f) + g4) * xexpf(xlogf(x) / p) - g4);//continuous +} +#endif + // Used in ImProcCoordinator::updatePreviewImage (rtengine/improccoordinator.cc) // Crop::update (rtengine/dcrop.cc) // Thumbnail::processImage (rtengine/rtthumbnail.cc) @@ -373,11 +388,36 @@ Imagefloat* ImProcFunctions::lab2rgbOut(LabImage* lab, int cx, int cy, int cw, i return image; } +void ImProcFunctions::preserv(LabImage *nprevl, LabImage *provis, int cw, int ch) +{//avoid too strong in middle values chroma when changing primaries + float pres = 0.01f * params->icm.preser; + float neutral = 2000000000.f;//if a2 + b2 < 200000000 scale 0..100 a and b about : 140 > a & b > -140 decrease effect + float medneutral = 10000000.f;//plein effect 10 > a & b > -10 + float aaneu = 1.f / (medneutral - neutral); + float bbneu = - aaneu * neutral; +#ifdef _OPENMP + #pragma omp for schedule(dynamic, 16) nowait +#endif + for (int i = 0; i < ch; ++i) + for (int j = 0; j < cw; ++j) { + float neu = SQR(provis->a[i][j]) + SQR(provis->b[i][j]); + if (neu < medneutral) {//plein effect + nprevl->a[i][j] = intp(pres, provis->a[i][j], nprevl->a[i][j]); + nprevl->b[i][j] = intp(pres, provis->b[i][j], nprevl->b[i][j]); + } else if (neu < neutral) {//decrease effect + float presred = aaneu * neu + bbneu; + nprevl->a[i][j] = intp(pres * presred, provis->a[i][j], nprevl->a[i][j]); + nprevl->b[i][j] = intp(pres * presred, provis->b[i][j], nprevl->b[i][j]); + } + } +} -void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, int ch, int mul, const Glib::ustring &profile, double gampos, double slpos, cmsHTRANSFORM &transform, bool normalizeIn, bool normalizeOut, bool keepTransForm) const +void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, int ch, int mul, Glib::ustring &profile, double gampos, double slpos, int &illum, int prim, cmsHTRANSFORM &transform, bool normalizeIn, bool normalizeOut, bool keepTransForm) const { const TMatrix wprof = ICCStore::getInstance()->workingSpaceMatrix(params->icm.workingProfile); + double wprofprim[3][3];//store primaries to XYZ + bool gamutcontrol = params->icm.gamut; const float toxyz[3][3] = { { static_cast(wprof[0][0] / ((normalizeIn ? 65535.0 : 1.0))), //I have suppressed / Color::D50x @@ -394,7 +434,204 @@ void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, } }; + if (profile == "sRGB" || profile == "Adobe RGB" || profile == "ProPhoto" || profile == "WideGamut" || profile == "BruceRGB" || profile == "Beta RGB" || profile == "BestRGB" || profile == "Rec2020" || profile == "ACESp0" || profile == "ACESp1") { + if (settings->verbose) { + printf("Profile=%s\n", profile.c_str()); + } + } else { + if (settings->verbose) { + printf("profile not accepted\n"); + } + + return; + } + + if (mul == -5 && gampos == 2.4 && slpos == 12.92310) {//must be change if we change settings RT sRGB + //only in this case we can shortcut..all process..no gamut control..because we reduce...leads to very small differences, but big speedup +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic, 16) if (multiThread) +#endif + + for (int i = 0; i < ch; ++i) + for (int j = 0; j < cw; ++j) { + float r = src->r(i, j); + float g = src->g(i, j); + float b = src->b(i, j); + r = (Color::igammatab_srgb[r]) / 65535.f; + g = (Color::igammatab_srgb[g]) / 65535.f; + b = (Color::igammatab_srgb[b]) / 65535.f; + dst->r(i, j) = r; + dst->g(i, j) = g; + dst->b(i, j) = b; + } + + return; + + } + + if (mul == 1 || (params->icm.wprim == ColorManagementParams::Primaries::DEFAULT && params->icm.will == ColorManagementParams::Illuminant::DEFAULT)) { //shortcut and speedup when no call primaries and illuminant - no gamut control...in this case be careful + GammaValues g_a; //gamma parameters + double pwr = 1.0 / static_cast(gampos); + Color::calcGamma(pwr, slpos, g_a); // call to calcGamma with selected gamma and slope + +#ifdef _OPENMP + # pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + + for (int y = 0; y < ch; ++y) { + int x = 0; +#ifdef __SSE2__ + + for (; x < cw - 3; x += 4) { + STVFU(dst->r(y, x), F2V(65536.f) * gammalog(LVFU(src->r(y, x)), F2V(gampos), F2V(slpos), F2V(g_a[3]), F2V(g_a[4]))); + STVFU(dst->g(y, x), F2V(65536.f) * gammalog(LVFU(src->g(y, x)), F2V(gampos), F2V(slpos), F2V(g_a[3]), F2V(g_a[4]))); + STVFU(dst->b(y, x), F2V(65536.f) * gammalog(LVFU(src->b(y, x)), F2V(gampos), F2V(slpos), F2V(g_a[3]), F2V(g_a[4]))); + } + +#endif + + for (; x < cw; ++x) { + dst->r(y, x) = 65536.f * gammalog(src->r(y, x), gampos, slpos, g_a[3], g_a[4]); + dst->g(y, x) = 65536.f * gammalog(src->g(y, x), gampos, slpos, g_a[3], g_a[4]); + dst->b(y, x) = 65536.f * gammalog(src->b(y, x), gampos, slpos, g_a[3], g_a[4]); + } + } + + return; + } + + + float redxx = params->icm.redx; + float redyy = params->icm.redy; + float bluxx = params->icm.blux; + float bluyy = params->icm.bluy; + float grexx = params->icm.grex; + float greyy = params->icm.grey; + float epsil = 0.0001f; + + if (prim == 12) {//convert datas area to xy + float redgraphx = params->icm.labgridcieALow; + float redgraphy = params->icm.labgridcieBLow; + float blugraphx = params->icm.labgridcieAHigh; + float blugraphy = params->icm.labgridcieBHigh; + float gregraphx = params->icm.labgridcieGx; + float gregraphy = params->icm.labgridcieGy; + redxx = 0.55f * (redgraphx + 1.f) - 0.1f; + redxx = rtengine::LIM(redxx, 0.41f, 1.f);//limit values for xy (arbitrary) + redyy = 0.55f * (redgraphy + 1.f) - 0.1f; + redyy = rtengine::LIM(redyy, 0.f, 0.7f); + bluxx = 0.55f * (blugraphx + 1.f) - 0.1f; + bluxx = rtengine::LIM(bluxx, -0.1f, 0.5f); + bluyy = 0.55f * (blugraphy + 1.f) - 0.1f; + bluyy = rtengine::LIM(bluyy, -0.1f, 0.49f); + grexx = 0.55f * (gregraphx + 1.f) - 0.1f; + grexx = rtengine::LIM(grexx, -0.1f, 0.4f); + greyy = 0.55f * (gregraphy + 1.f) - 0.1f; + greyy = rtengine::LIM(greyy, 0.5f, 1.f); + } + + //fixed crash when there is no space or too small..just a line...Possible if bx, by aligned with Gx,Gy Rx,Ry + //fix crash if user select 0 for redyy, bluyy, greyy + if (redyy == 0.f) { + redyy = epsil; + } + + if (bluyy == 0.f) { + bluyy = epsil; + } + + if (greyy == 0.f) { + greyy = epsil; + } + + //fix crash if grexx - redxx = 0 + float grered = 1.f; + grered = grexx - redxx; + + if (grered == 0.f) { + grered = epsil; + } + + float ac = (greyy - redyy) / grered; + float bc = greyy - ac * grexx; + float yc = ac * bluxx + bc; + + if ((bluyy < yc + 0.0004f) && (bluyy > yc - 0.0004f)) { //under 0.0004 in some case crash because space too small + return; + } + + + switch (ColorManagementParams::Primaries(prim)) { + case ColorManagementParams::Primaries::DEFAULT: { + break; + } + + case ColorManagementParams::Primaries::SRGB: { + profile = "sRGB"; + break; + } + + case ColorManagementParams::Primaries::ADOBE_RGB: { + profile = "Adobe RGB"; + break; + } + + case ColorManagementParams::Primaries::PRO_PHOTO: { + profile = "ProPhoto"; + break; + } + + case ColorManagementParams::Primaries::REC2020: { + profile = "Rec2020"; + break; + } + + case ColorManagementParams::Primaries::ACES_P1: { + profile = "ACESp1"; + break; + } + + case ColorManagementParams::Primaries::WIDE_GAMUT: { + profile = "WideGamut"; + break; + } + + case ColorManagementParams::Primaries::ACES_P0: { + break; + } + + case ColorManagementParams::Primaries::BRUCE_RGB: { + profile = "BruceRGB"; + break; + } + + case ColorManagementParams::Primaries::BETA_RGB: { + profile = "Beta RGB"; + break; + } + + case ColorManagementParams::Primaries::BEST_RGB: { + profile = "BestRGB"; + break; + } + + case ColorManagementParams::Primaries::CUSTOM: { + profile = "Custom"; + break; + } + + case ColorManagementParams::Primaries::CUSTOM_GRID: { + profile = "Custom"; + break; + } + } + + if (settings->verbose && prim != 0) { + printf("prim=%i Profile Destination=%s\n", prim, profile.c_str()); + } + cmsHTRANSFORM hTransform = nullptr; + if (transform) { hTransform = transform; } else { @@ -418,9 +655,10 @@ void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, D60 = 6005 // for ACES AP0 and AP1 }; - ColorTemp temp = ColorTemp::D50; - - float p[6]; //primaries + double tempv4 = 5003.; + double p[6]; //primaries + double Wx = 1.0; + double Wz = 1.0; //primaries for 10 working profiles ==> output profiles if (profile == "WideGamut") { @@ -430,6 +668,10 @@ void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, p[3] = 0.8260; p[4] = 0.1570; p[5] = 0.0180; + illum = toUnderlying(ColorManagementParams::Illuminant::D50); + Wx = 0.964295676; + Wz = 0.825104603; + } else if (profile == "Adobe RGB") { p[0] = 0.6400; //Adobe primaries p[1] = 0.3300; @@ -437,7 +679,11 @@ void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, p[3] = 0.7100; p[4] = 0.1500; p[5] = 0.0600; - temp = ColorTemp::D65; + tempv4 = 6504.; + illum = toUnderlying(ColorManagementParams::Illuminant::D65); + Wx = 0.95045471; + Wz = 1.08905029; + } else if (profile == "sRGB") { p[0] = 0.6400; // sRGB primaries p[1] = 0.3300; @@ -445,7 +691,11 @@ void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, p[3] = 0.6000; p[4] = 0.1500; p[5] = 0.0600; - temp = ColorTemp::D65; + tempv4 = 6504.; + illum = toUnderlying(ColorManagementParams::Illuminant::D65); + Wx = 0.95045471; + Wz = 1.08905029; + } else if (profile == "BruceRGB") { p[0] = 0.6400; // Bruce primaries p[1] = 0.3300; @@ -453,7 +703,11 @@ void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, p[3] = 0.6500; p[4] = 0.1500; p[5] = 0.0600; - temp = ColorTemp::D65; + tempv4 = 6504.; + illum = toUnderlying(ColorManagementParams::Illuminant::D65); + Wx = 0.95045471; + Wz = 1.08905029; + } else if (profile == "Beta RGB") { p[0] = 0.6888; // Beta primaries p[1] = 0.3112; @@ -461,6 +715,10 @@ void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, p[3] = 0.7551; p[4] = 0.1265; p[5] = 0.0352; + illum = toUnderlying(ColorManagementParams::Illuminant::D50); + Wx = 0.964295676; + Wz = 0.825104603; + } else if (profile == "BestRGB") { p[0] = 0.7347; // Best primaries p[1] = 0.2653; @@ -468,6 +726,10 @@ void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, p[3] = 0.7750; p[4] = 0.1300; p[5] = 0.0350; + illum = toUnderlying(ColorManagementParams::Illuminant::D50); + Wx = 0.964295676; + Wz = 0.825104603; + } else if (profile == "Rec2020") { p[0] = 0.7080; // Rec2020 primaries p[1] = 0.2920; @@ -475,7 +737,11 @@ void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, p[3] = 0.7970; p[4] = 0.1310; p[5] = 0.0460; - temp = ColorTemp::D65; + tempv4 = 6504.; + illum = toUnderlying(ColorManagementParams::Illuminant::D65); + Wx = 0.95045471; + Wz = 1.08905029; + } else if (profile == "ACESp0") { p[0] = 0.7347; // ACES P0 primaries p[1] = 0.2653; @@ -483,7 +749,11 @@ void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, p[3] = 1.0; p[4] = 0.0001; p[5] = -0.0770; - temp = ColorTemp::D60; + tempv4 = 6004.; + illum = toUnderlying(ColorManagementParams::Illuminant::D60); + Wx = 0.952646075; + Wz = 1.008825184; + } else if (profile == "ACESp1") { p[0] = 0.713; // ACES P1 primaries p[1] = 0.293; @@ -491,7 +761,11 @@ void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, p[3] = 0.830; p[4] = 0.128; p[5] = 0.044; - temp = ColorTemp::D60; + tempv4 = 6004.; + illum = toUnderlying(ColorManagementParams::Illuminant::D60); + Wx = 0.952646075; + Wz = 1.008825184; + } else if (profile == "ProPhoto") { p[0] = 0.7347; //ProPhoto and default primaries p[1] = 0.2653; @@ -499,6 +773,17 @@ void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, p[3] = 0.8404; p[4] = 0.0366; p[5] = 0.0001; + illum = toUnderlying(ColorManagementParams::Illuminant::D50); + Wx = 0.964295676; + Wz = 0.825104603; + + } else if (profile == "Custom") { + p[0] = redxx; + p[1] = redyy; + p[2] = grexx; + p[3] = greyy; + p[4] = bluxx; + p[5] = bluyy; } else { p[0] = 0.7347; //default primaries always unused p[1] = 0.2653; @@ -524,35 +809,199 @@ void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, gammaParams[3] = 1. / slpos; gammaParams[5] = 0.0; gammaParams[6] = 0.0; - // printf("ga0=%f ga1=%f ga2=%f ga3=%f ga4=%f\n", ga0, ga1, ga2, ga3, ga4); + // printf("ga0=%f ga1=%f ga2=%f ga3=%f ga4=%f\n", ga0, ga1, ga2, ga3, ga4); // 7 parameters for smoother curves cmsCIExyY xyD; - cmsWhitePointFromTemp(&xyD, (double)temp); - if (profile == "ACESp0") { - xyD = {0.32168, 0.33767, 1.0};//refine white point to avoid differences + + Glib::ustring ills = "D50"; + + switch (ColorManagementParams::Illuminant(illum)) { + case ColorManagementParams::Illuminant::DEFAULT: + case ColorManagementParams::Illuminant::STDA: + case ColorManagementParams::Illuminant::TUNGSTEN_2000K: + case ColorManagementParams::Illuminant::TUNGSTEN_1500K: { + break; + } + + case ColorManagementParams::Illuminant::D41: { + tempv4 = 4100.; + ills = "D41"; + break; + } + + case ColorManagementParams::Illuminant::D50: { + tempv4 = 5003.; + ills = "D50"; + break; + } + + case ColorManagementParams::Illuminant::D55: { + tempv4 = 5500.; + ills = "D55"; + break; + } + + case ColorManagementParams::Illuminant::D60: { + tempv4 = 6004.; + ills = "D60"; + break; + } + + case ColorManagementParams::Illuminant::D65: { + tempv4 = 6504.; + ills = "D65"; + break; + } + + case ColorManagementParams::Illuminant::D80: { + tempv4 = 8000.; + ills = "D80"; + break; + } + + case ColorManagementParams::Illuminant::D120: { + tempv4 = 12000.; + ills = "D120"; + break; + } } + cmsWhitePointFromTemp(&xyD, tempv4); + + switch (ColorManagementParams::Illuminant(illum)) { + case ColorManagementParams::Illuminant::DEFAULT: { + break; + } + + case ColorManagementParams::Illuminant::D55: { + Wx = 0.956565934; + Wz = 0.920253249; + break; + } + + case ColorManagementParams::Illuminant::D80: { + Wx = 0.950095542; + Wz = 1.284213976; + break; + } + + case ColorManagementParams::Illuminant::D41: { + Wx = 0.991488263; + Wz = 0.631604625; + break; + } + + case ColorManagementParams::Illuminant::D50: { + xyD = {0.3457, 0.3585, 1.0}; // near LCMS values but not perfect... it's a compromise!! + Wx = 0.964295676; + Wz = 0.825104603; + break; + } + + case ColorManagementParams::Illuminant::D60: { + Wx = 0.952646075; + Wz = 1.008825184; + xyD = {0.32168, 0.33767, 1.0}; + break; + } + + case ColorManagementParams::Illuminant::D65: { + Wx = 0.95045471; + Wz = 1.08905029; + xyD = {0.312700492, 0.329000939, 1.0}; + break; + } + + case ColorManagementParams::Illuminant::D120: { + Wx = 0.979182; + Wz = 1.623623; + xyD = {0.269669, 0.28078, 1.0}; + break; + } + + case ColorManagementParams::Illuminant::STDA: { + Wx = 1.098500393; + Wz = 0.355848714; + xyD = {0.447573, 0.407440, 1.0}; + ills = "stdA 2875K"; + break; + } + + case ColorManagementParams::Illuminant::TUNGSTEN_2000K: { + Wx = 1.274335; + Wz = 0.145233; + xyD = {0.526591, 0.41331, 1.0}; + ills = "Tungsten 2000K"; + break; + } + + case ColorManagementParams::Illuminant::TUNGSTEN_1500K: { + Wx = 1.489921; + Wz = 0.053826; + xyD = {0.585703, 0.393157, 1.0}; + ills = "Tungsten 1500K"; + break; + } + } + + double wprofpri[9]; + + if (gamutcontrol) { + //xyz in functiuon primaries and illuminant + Color::primaries_to_xyz(p, Wx, Wz, wprofpri); + + for (int i = 0; i < 3; ++i) { + for (int j = 0; j < 3; ++j) { + wprofprim[i][j] = (double) wprofpri[j * 3 + i]; + //xyz in TMatrix format + } + } + } + + //D41 0.377984 0.381229 + //D55 0.332424 0.347426 + //D80 0.293755 0.309185 + //D75 0.299021 0.314852 cmsToneCurve* GammaTRC[3]; GammaTRC[0] = GammaTRC[1] = GammaTRC[2] = cmsBuildParametricToneCurve(NULL, five, gammaParams);//5 = more smoother than 4 + cmsHPROFILE oprofdef = nullptr; const cmsCIExyYTRIPLE Primaries = { {p[0], p[1], 1.0}, // red {p[2], p[3], 1.0}, // green {p[4], p[5], 1.0} // blue }; - const cmsHPROFILE oprofdef = cmsCreateRGBProfile(&xyD, &Primaries, GammaTRC); + oprofdef = cmsCreateRGBProfile(&xyD, &Primaries, GammaTRC); + cmsWriteTag(oprofdef, cmsSigRedTRCTag, GammaTRC[0]); + cmsWriteTag(oprofdef, cmsSigGreenTRCTag, GammaTRC[1]); + cmsWriteTag(oprofdef, cmsSigBlueTRCTag, GammaTRC[2]); + + //to read XYZ values and illuminant + if (rtengine::settings->verbose) { + cmsCIEXYZ *redT = static_cast(cmsReadTag(oprofdef, cmsSigRedMatrixColumnTag)); + cmsCIEXYZ *greenT = static_cast(cmsReadTag(oprofdef, cmsSigGreenMatrixColumnTag)); + cmsCIEXYZ *blueT = static_cast(cmsReadTag(oprofdef, cmsSigBlueMatrixColumnTag)); + printf("Illuminant=%s\n", ills.c_str()); + printf("rX=%f gX=%f bX=%f\n", redT->X, greenT->X, blueT->X); + printf("rY=%f gY=%f bY=%f\n", redT->Y, greenT->Y, blueT->Y); + printf("rZ=%f gZ=%f bZ=%f\n", redT->Z, greenT->Z, blueT->Z); + } + cmsFreeToneCurve(GammaTRC[0]); if (oprofdef) { - constexpr cmsUInt32Number flags = cmsFLAGS_NOOPTIMIZE | cmsFLAGS_NOCACHE; + constexpr cmsUInt32Number flags = cmsFLAGS_NOOPTIMIZE | cmsFLAGS_NOCACHE | cmsFLAGS_BLACKPOINTCOMPENSATION | cmsFLAGS_GAMUTCHECK; const cmsHPROFILE iprof = ICCStore::getInstance()->getXYZProfile(); lcmsMutex->lock(); - hTransform = cmsCreateTransform(iprof, TYPE_RGB_FLT, oprofdef, TYPE_RGB_FLT, params->icm.outputIntent, flags); + hTransform = cmsCreateTransform(iprof, TYPE_RGB_FLT, oprofdef, TYPE_RGB_FLT, params->icm.aRendIntent, flags); lcmsMutex->unlock(); } } + if (hTransform) { + + #ifdef _OPENMP #pragma omp parallel if (multiThread) #endif @@ -564,19 +1013,30 @@ void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, #pragma omp for schedule(dynamic, 16) nowait #endif - for (int i = 0; i < ch; ++i) { + for (int i = 0; i < ch; ++i) + { float *p = pBuf.data; + for (int j = 0; j < cw; ++j) { const float r = src->r(i, j); const float g = src->g(i, j); const float b = src->b(i, j); + float X = toxyz[0][0] * r + toxyz[0][1] * g + toxyz[0][2] * b; + float Y = toxyz[1][0] * r + toxyz[1][1] * g + toxyz[1][2] * b; + float Z = toxyz[2][0] * r + toxyz[2][1] * g + toxyz[2][2] * b; - *(p++) = toxyz[0][0] * r + toxyz[0][1] * g + toxyz[0][2] * b; - *(p++) = toxyz[1][0] * r + toxyz[1][1] * g + toxyz[1][2] * b; - *(p++) = toxyz[2][0] * r + toxyz[2][1] * g + toxyz[2][2] * b; + if (gamutcontrol) { + Color::gamutmap(X, Y, Z, wprofprim);//gamut control + } + + *(p++) = X; + *(p++) = Y; + *(p++) = Z; } + p = pBuf.data; cmsDoTransform(hTransform, p, p, cw); + for (int j = 0; j < cw; ++j) { dst->r(i, j) = *(p++) * normalize; dst->g(i, j) = *(p++) * normalize; @@ -584,10 +1044,12 @@ void ImProcFunctions::workingtrc(const Imagefloat* src, Imagefloat* dst, int cw, } } } + if (!keepTransForm) { cmsDeleteTransform(hTransform); hTransform = nullptr; } + transform = hTransform; } } diff --git a/rtengine/iplocallab.cc b/rtengine/iplocallab.cc index c97c0c3a6..30c48adc1 100644 --- a/rtengine/iplocallab.cc +++ b/rtengine/iplocallab.cc @@ -37,6 +37,7 @@ #include "settings.h" #include "../rtgui/options.h" #include "utils.h" +#include "iccmatrices.h" #ifdef _OPENMP #include #endif @@ -52,6 +53,8 @@ #include "boxblur.h" #include "rescale.h" + + #pragma GCC diagnostic warning "-Wall" #pragma GCC diagnostic warning "-Wextra" #pragma GCC diagnostic warning "-Wdouble-promotion" @@ -62,13 +65,14 @@ namespace constexpr int limscope = 80; constexpr int mSPsharp = 39; //minimum size Spot Sharp due to buildblendmask constexpr int mSPwav = 32; //minimum size Spot Wavelet -constexpr int mDEN = 64; //minimum size Spot Denoise +constexpr int mDEN = 128; //minimum size Spot Denoise constexpr int mSP = 5; //minimum size Spot constexpr float MAXSCOPE = 1.25f; constexpr float MINSCOPE = 0.025f; constexpr int TS = 64; // Tile size constexpr float epsilonw = 0.001f / (TS * TS); //tolerance constexpr int offset = 25; // shift between tiles +constexpr double czlim = rtengine::RT_SQRT1_2;// 0.70710678118654752440; constexpr float clipLoc(float x) { @@ -90,6 +94,22 @@ constexpr float clipChro(float x) return rtengine::LIM(x, 0.f, 140.f); } +constexpr double clipazbz(double x) +{ + return rtengine::LIM(x, -0.5, 0.5); +} + +constexpr double clipcz(double x) +{ + return rtengine::LIM(x, 0., czlim); +} + + +constexpr double clipjz05(double x) +{ + return rtengine::LIM(x, 0.0006, 1.0); +} + float softlig(float a, float b, float minc, float maxc) { // as Photoshop @@ -154,7 +174,7 @@ constexpr float exclusion(float a, float b) void calcdif(float lmr, float &lmrc) { //approximative change between gamma sRGB g=2.4 s=12.92 and gamma LAB g=3.0 s=9.03 //useful to calculate action with dark and light area mask - //differences in 3 parts linear...very small diffrences with real... + //differences in 3 parts linear...very small differences with real... float a0 = 7.6f / 11.6f;//11.6 sRGB - 7.6 Lab...11.6 max difference float a01 = 62.f - 7.6f; //60 sRGB 62 Lab 60 max difference float a11 = 60.f - 11.6f; @@ -392,6 +412,7 @@ void SobelCannyLuma(float **sobelL, float **luma, int bfw, int bfh, float radius } } + float igammalog(float x, float p, float s, float g2, float g4) { return x <= g2 ? x / s : pow_F((x + g4) / (1.f + g4), p);//continuous @@ -400,19 +421,22 @@ float igammalog(float x, float p, float s, float g2, float g4) #ifdef __SSE2__ vfloat igammalog(vfloat x, vfloat p, vfloat s, vfloat g2, vfloat g4) { - return x <= g2 ? x / s : pow_F((x + g4) / (1.f + g4), p);//continuous + // return x <= g2 ? x / s : pow_F((x + g4) / (1.f + g4), p);//continuous + return vself(vmaskf_le(x, g2), x / s, pow_F((x + g4) / (F2V(1.f) + g4), p)); } #endif float gammalog(float x, float p, float s, float g3, float g4) { - return x <= g3 ? x * s : (1.f + g4) * xexpf(xlogf(x) / p) - g4;//continuous + return x <= g3 ? x * s : (1.f + g4) * xexpf(xlogf(x) / p) - g4;//used by Nlmeans } #ifdef __SSE2__ vfloat gammalog(vfloat x, vfloat p, vfloat s, vfloat g3, vfloat g4) { - return x <= g3 ? x * s : (1.f + g4) * xexpf(xlogf(x) / p) - g4;//continuous + // return x <= g3 ? x * s : (1.f + g4) * xexpf(xlogf(x) / p) - g4;//continuous + return vself(vmaskf_le(x, g3), x * s, (F2V(1.f) + g4) * xexpf(xlogf(x) / p) - g4);//improve by Ingo - used by Nlmeans + } #endif } @@ -439,6 +463,8 @@ struct local_params { float thr; float stru; int chro, cont, sens, sensh, senscb, sensbn, senstm, sensex, sensexclu, sensden, senslc, senssf, senshs, senscolor; + float reparden; + float repartm; float clarityml; float contresid; bool deltaem; @@ -530,6 +556,9 @@ struct local_params { float contcolmask; float blurSH; float ligh; + float gamc; + float gamlc; + float gamex; float lowA, lowB, highA, highB; float lowBmerg, highBmerg, lowAmerg, highAmerg; int shamo, shdamp, shiter, senssha, sensv; @@ -583,10 +612,12 @@ struct local_params { int showmaskblmet; int showmasklogmet; int showmask_met; + int showmaskciemet; bool fftbl; float laplacexp; float balanexp; float linear; + int fullim; int expmet; int softmet; int blurmet; @@ -649,6 +680,11 @@ struct local_params { float lowthrl; float higthrl; float decayl; + float recothrcie; + float lowthrcie; + float higthrcie; + float decaycie; + int noiselequal; float noisechrodetail; float bilat; @@ -657,6 +693,7 @@ struct local_params { int nlpat; int nlrad; float nlgam; + float noisegam; float noiselc; float noiselc4; float noiselc5; @@ -691,6 +728,7 @@ struct local_params { bool logena; bool islocal; bool maskena; + bool cieena; bool cut_past; float past; float satur; @@ -727,6 +765,7 @@ struct local_params { bool enablMask; bool enaLMask; bool ena_Mask; + bool enacieMask; int highlihs; int shadowhs; int radiushs; @@ -739,6 +778,7 @@ struct local_params { float whiteev; float detail; int sensilog; + int sensicie; int sensimas; bool Autogray; bool autocompute; @@ -756,6 +796,8 @@ struct local_params { float residshathr; float residhi; float residhithr; + float residgam; + float residslop; bool blwh; bool fftma; float blurma; @@ -765,10 +807,17 @@ struct local_params { float thrhigh; bool usemask; float lnoiselow; + float radmacie; + float blendmacie; + float chromacie; + float denoichmask; + float mLjz; + float mCjz; + float softrjz; }; -static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locallab, struct local_params& lp, bool prevDeltaE, int llColorMask, int llColorMaskinv, int llExpMask, int llExpMaskinv, int llSHMask, int llSHMaskinv, int llvibMask, int lllcMask, int llsharMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask, int llblMask, int lllogMask, int ll_Mask, const LocwavCurve & locwavCurveden, bool locwavdenutili) +static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locallab, struct local_params& lp, bool prevDeltaE, int llColorMask, int llColorMaskinv, int llExpMask, int llExpMaskinv, int llSHMask, int llSHMaskinv, int llvibMask, int lllcMask, int llsharMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask, int llblMask, int lllogMask, int ll_Mask, int llcieMask, const LocwavCurve & locwavCurveden, bool locwavdenutili) { int w = oW; int h = oH; @@ -847,7 +896,15 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall lp.laplacexp = locallab.spots.at(sp).laplacexp; lp.balanexp = locallab.spots.at(sp).balanexp; lp.linear = locallab.spots.at(sp).linear; - + if (locallab.spots.at(sp).spotMethod == "norm") { + lp.fullim = 0; + } else if(locallab.spots.at(sp).spotMethod == "exc"){ + lp.fullim = 1; + } else if (locallab.spots.at(sp).spotMethod == "full"){ + lp.fullim = 2; + } + // printf("Lpfullim=%i\n", lp.fullim); + lp.fftColorMask = locallab.spots.at(sp).fftColorMask; lp.prevdE = prevDeltaE; lp.showmaskcolmet = llColorMask; @@ -867,22 +924,24 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall lp.showmaskblmet = llblMask; lp.showmasklogmet = lllogMask; lp.showmask_met = ll_Mask; - - lp.enaColorMask = locallab.spots.at(sp).enaColorMask && llsoftMask == 0 && llColorMask == 0 && lllcMask == 0 && llsharMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0;// Exposure mask is deactivated if Color & Light mask is visible - lp.enaColorMaskinv = locallab.spots.at(sp).enaColorMask && llColorMaskinv == 0 && llsoftMask == 0 && lllcMask == 0 && llsharMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0;// Exposure mask is deactivated if Color & Light mask is visible - lp.enaExpMask = locallab.spots.at(sp).enaExpMask && llExpMask == 0 && llColorMask == 0 && llsoftMask == 0 && lllcMask == 0 && llsharMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0;// Exposure mask is deactivated if Color & Light mask is visible - lp.enaExpMaskinv = locallab.spots.at(sp).enaExpMask && llExpMaskinv == 0 && llColorMask == 0 && llsoftMask == 0 && lllcMask == 0 && llsharMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0;// Exposure mask is deactivated if Color & Light mask is visible - lp.enaSHMask = locallab.spots.at(sp).enaSHMask && llSHMask == 0 && llColorMask == 0 && llsoftMask == 0 && lllcMask == 0 && llsharMask == 0 && llExpMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0; - lp.enaSHMaskinv = locallab.spots.at(sp).enaSHMask && llSHMaskinv == 0 && lllcMask == 0 && llsoftMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0; - lp.enacbMask = locallab.spots.at(sp).enacbMask && llcbMask == 0 && lllcMask == 0 && llsoftMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0; - lp.enaretiMask = locallab.spots.at(sp).enaretiMask && lllcMask == 0 && llsharMask == 0 && llsoftMask == 0 && llretiMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0; - lp.enatmMask = locallab.spots.at(sp).enatmMask && lltmMask == 0 && lllcMask == 0 && llsoftMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && llblMask == 0 && llvibMask == 0&& lllogMask == 0 && ll_Mask == 0; - lp.enablMask = locallab.spots.at(sp).enablMask && llblMask == 0 && lllcMask == 0 && llsoftMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0; - lp.enavibMask = locallab.spots.at(sp).enavibMask && llvibMask == 0 && lllcMask == 0 && llsoftMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llSHMask == 0 && lllogMask == 0 && ll_Mask == 0; - lp.enalcMask = locallab.spots.at(sp).enalcMask && lllcMask == 0 && llcbMask == 0 && llsoftMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 ; - lp.enasharMask = lllcMask == 0 && llcbMask == 0 && llsharMask == 0 && llsoftMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0; - lp.ena_Mask = locallab.spots.at(sp).enamask && lllcMask == 0 && llcbMask == 0 && llsoftMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && lllogMask == 0 && llvibMask == 0; - lp.enaLMask = locallab.spots.at(sp).enaLMask && lllogMask == 0 && llColorMask == 0 && lllcMask == 0 && llsharMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && ll_Mask == 0;// Exposure mask is deactivated if Color & Light mask is visible + lp.showmaskciemet = llcieMask; +//printf("CIEmask=%i\n", lp.showmaskciemet); + lp.enaColorMask = locallab.spots.at(sp).enaColorMask && llsoftMask == 0 && llColorMaskinv == 0 && llSHMaskinv == 0 && llColorMask == 0 && llExpMaskinv == 0 && lllcMask == 0 && llsharMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0;// Exposure mask is deactivated if Color & Light mask is visible + lp.enaColorMaskinv = locallab.spots.at(sp).enaColorMask && llColorMaskinv == 0 && llSHMaskinv == 0 && llsoftMask == 0 && lllcMask == 0 && llsharMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0;// Exposure mask is deactivated if Color & Light mask is visible + lp.enaExpMask = locallab.spots.at(sp).enaExpMask && llExpMask == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llColorMask == 0 && llColorMaskinv == 0 && llsoftMask == 0 && lllcMask == 0 && llsharMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0;// Exposure mask is deactivated if Color & Light mask is visible + lp.enaExpMaskinv = locallab.spots.at(sp).enaExpMask && llExpMaskinv == 0 && llColorMask == 0 && llSHMaskinv == 0 && llColorMaskinv == 0 && llsoftMask == 0 && lllcMask == 0 && llsharMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0;// Exposure mask is deactivated if Color & Light mask is visible + lp.enaSHMask = locallab.spots.at(sp).enaSHMask && llSHMask == 0 && llColorMask == 0 && llColorMaskinv == 0 && llSHMaskinv == 0 && llExpMaskinv == 0 && llsoftMask == 0 && lllcMask == 0 && llsharMask == 0 && llExpMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.enaSHMaskinv = locallab.spots.at(sp).enaSHMask && llColorMaskinv == 0 && llSHMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && lllcMask == 0 && llsoftMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.enacbMask = locallab.spots.at(sp).enacbMask && llColorMaskinv == 0 && llcbMask == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && lllcMask == 0 && llsoftMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.enaretiMask = locallab.spots.at(sp).enaretiMask && llColorMaskinv == 0 && lllcMask == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llsharMask == 0 && llsoftMask == 0 && llretiMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.enatmMask = locallab.spots.at(sp).enatmMask && llColorMaskinv == 0 && lltmMask == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && lllcMask == 0 && llsoftMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && llblMask == 0 && llvibMask == 0&& lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.enablMask = locallab.spots.at(sp).enablMask && llColorMaskinv == 0 && llblMask == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && lllcMask == 0 && llsoftMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.enavibMask = locallab.spots.at(sp).enavibMask && llvibMask == 0 && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && lllcMask == 0 && llsoftMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llSHMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.enalcMask = locallab.spots.at(sp).enalcMask && lllcMask == 0 && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llcbMask == 0 && llsoftMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.enasharMask = lllcMask == 0 && llcbMask == 0 && llsharMask == 0 && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llsoftMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.ena_Mask = locallab.spots.at(sp).enamask && lllcMask == 0 && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llcbMask == 0 && llsoftMask == 0 && llsharMask == 0 && llColorMask == 0 && llExpMask == 0 && llSHMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && lllogMask == 0 && llvibMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.enaLMask = locallab.spots.at(sp).enaLMask && lllogMask == 0 && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llColorMask == 0 && llsoftMask == 0 && lllcMask == 0 && llsharMask == 0 && llExpMask == 0 && llSHMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && ll_Mask == 0 && llcieMask == 0;// Exposure mask is deactivated if Color & Light mask is visible + lp.enacieMask = locallab.spots.at(sp).enacieMask && llcieMask == 0 && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llColorMask == 0 && llSHMask == 0 && llsoftMask == 0 && lllcMask == 0 && llsharMask == 0 && llExpMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llblMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0; lp.thrlow = locallab.spots.at(sp).levelthrlow; @@ -1124,6 +1183,8 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall int local_noiselequal = locallab.spots.at(sp).noiselequal; float local_noisechrodetail = (float)locallab.spots.at(sp).noisechrodetail; int local_sensiden = locallab.spots.at(sp).sensiden; + float local_reparden = locallab.spots.at(sp).reparden; + float local_repartm = locallab.spots.at(sp).repartm; float local_detailthr = (float)locallab.spots.at(sp).detailthr; float local_recothr = (float)locallab.spots.at(sp).recothres; float local_lowthr = (float)locallab.spots.at(sp).lowthres; @@ -1174,6 +1235,11 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall float local_higthrs = (float)locallab.spots.at(sp).higthress; float local_decays = (float)locallab.spots.at(sp).decays; + float local_recothrcie = (float)locallab.spots.at(sp).recothrescie; + float local_lowthrcie = (float)locallab.spots.at(sp).lowthrescie; + float local_higthrcie = (float)locallab.spots.at(sp).higthrescie; + float local_decaycie = (float)locallab.spots.at(sp).decaycie; + float local_recothrl = (float)locallab.spots.at(sp).recothresl; float local_lowthrl = (float)locallab.spots.at(sp).lowthresl; float local_higthrl = (float)locallab.spots.at(sp).higthresl; @@ -1222,6 +1288,9 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall float labgridBHighlocmerg = locallab.spots.at(sp).labgridBHighmerg; float labgridALowlocmerg = locallab.spots.at(sp).labgridALowmerg; float labgridAHighlocmerg = locallab.spots.at(sp).labgridAHighmerg; + float local_gamlc = (float) locallab.spots.at(sp).gamlc; + float local_gamc = (float) locallab.spots.at(sp).gamc; + float local_gamex = (float) locallab.spots.at(sp).gamex; float blendmasklc = ((float) locallab.spots.at(sp).blendmasklc) / 100.f ; float radmasklc = ((float) locallab.spots.at(sp).radmasklc); @@ -1355,7 +1424,10 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall lp.autocompute = locallab.spots.at(sp).autocompute; lp.baselog = (float) locallab.spots.at(sp).baselog; lp.sensimas = locallab.spots.at(sp).sensimask; - + lp.sensicie = locallab.spots.at(sp).sensicie; + float blendmaskcie = ((float) locallab.spots.at(sp).blendmaskcie) / 100.f ; + float radmaskcie = ((float) locallab.spots.at(sp).radmaskcie); + float chromaskcie = ((float) locallab.spots.at(sp).chromaskcie); lp.deltaem = locallab.spots.at(sp).deltae; lp.scalereti = scaleret; lp.cir = circr; @@ -1479,6 +1551,9 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall lp.highBmerg = labgridBHighlocmerg; lp.lowAmerg = labgridALowlocmerg; lp.highAmerg = labgridAHighlocmerg; + lp.gamlc = local_gamlc; + lp.gamc = local_gamc; + lp.gamex = local_gamex; lp.senssf = local_sensisf; lp.strng = strlight; @@ -1547,6 +1622,12 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall lp.lowthrs = local_lowthrs; lp.higthrs = local_higthrs; lp.decays = local_decays; + + lp.recothrcie = local_recothrcie; + lp.lowthrcie = local_lowthrcie; + lp.higthrcie = local_higthrcie; + lp.decaycie = local_decaycie; + lp.recothrv = local_recothrv; lp.lowthrv = local_lowthrv; lp.higthrv = local_higthrv; @@ -1582,12 +1663,15 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall lp.noisecf = local_noisecf; lp.noisecc = local_noisecc; lp.sensden = local_sensiden; + lp.reparden = local_reparden; + lp.repartm = local_repartm; lp.bilat = locallab.spots.at(sp).bilateral; lp.nldet = locallab.spots.at(sp).nldet; lp.nlstr = locallab.spots.at(sp).nlstr; lp.nlpat = locallab.spots.at(sp).nlpat; lp.nlrad = locallab.spots.at(sp).nlrad; lp.nlgam = locallab.spots.at(sp).nlgam; + lp.noisegam = locallab.spots.at(sp).noisegam; lp.adjch = (float) locallab.spots.at(sp).adjblur; lp.strengt = streng; lp.gamm = gam; @@ -1600,6 +1684,11 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall lp.fftma = locallab.spots.at(sp).fftmask; lp.contma = (float) locallab.spots.at(sp).contmask; + lp.blendmacie = blendmaskcie; + lp.radmacie = radmaskcie; + lp.chromacie = chromaskcie; + lp.denoichmask = locallab.spots.at(sp).denoichmask; + for (int y = 0; y < 6; y++) { lp.mulloc[y] = LIM(multi[y], 0.f, 4.f);//to prevent crash with old pp3 integer } @@ -1608,27 +1697,29 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall lp.mullocsh[y] = multish[y]; } lp.activspot = locallab.spots.at(sp).activ; - + lp.detailsh = locallab.spots.at(sp).detailSH; lp.threshol = thresho; lp.chromacb = chromcbdl; lp.expvib = locallab.spots.at(sp).expvibrance && lp.activspot ; - lp.colorena = locallab.spots.at(sp).expcolor && lp.activspot && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0; // Color & Light tool is deactivated if Exposure mask is visible or SHMask - lp.blurena = locallab.spots.at(sp).expblur && lp.activspot && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0; - lp.tonemapena = locallab.spots.at(sp).exptonemap && lp.activspot && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llColorMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0; - lp.retiena = locallab.spots.at(sp).expreti && lp.activspot && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && llSHMask == 0 && lllogMask == 0 && ll_Mask == 0; - lp.lcena = locallab.spots.at(sp).expcontrast && lp.activspot && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && llsharMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && llSHMask == 0 && lllogMask == 0 && ll_Mask == 0; - lp.cbdlena = locallab.spots.at(sp).expcbdl && lp.activspot && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llretiMask == 0 && lllcMask == 0 && llsharMask == 0 && lllcMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0; - lp.exposena = locallab.spots.at(sp).expexpose && lp.activspot && llColorMask == 0 && llsoftMask == 0 && llSHMask == 0 && lllcMask == 0 && llsharMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0; // Exposure tool is deactivated if Color & Light mask SHmask is visible - lp.hsena = locallab.spots.at(sp).expshadhigh && lp.activspot && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0;// Shadow Highlight tool is deactivated if Color & Light mask or SHmask is visible - lp.vibena = locallab.spots.at(sp).expvibrance && lp.activspot && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0 && lllogMask == 0 && ll_Mask == 0;// vibrance tool is deactivated if Color & Light mask or SHmask is visible - lp.sharpena = locallab.spots.at(sp).expsharp && lp.activspot && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0; - lp.sfena = locallab.spots.at(sp).expsoft && lp.activspot && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0; - lp.maskena = locallab.spots.at(sp).expmask && lp.activspot && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && lllogMask == 0 && llSHMask == 0;// vibrance tool is deactivated if Color & Light mask or SHmask is visible - lp.logena = locallab.spots.at(sp).explog && lp.activspot && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0;// vibrance tool is deactivated if Color & Light mask or SHmask is visible + lp.colorena = locallab.spots.at(sp).expcolor && lp.activspot && llExpMaskinv == 0 && llSHMaskinv == 0 && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; // Color & Light tool is deactivated if Exposure mask is visible or SHMask + lp.blurena = locallab.spots.at(sp).expblur && lp.activspot && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.tonemapena = locallab.spots.at(sp).exptonemap && lp.activspot && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llColorMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.retiena = locallab.spots.at(sp).expreti && lp.activspot && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && llSHMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.lcena = locallab.spots.at(sp).expcontrast && lp.activspot && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llcbMask == 0 && llsharMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && llSHMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.cbdlena = locallab.spots.at(sp).expcbdl && lp.activspot && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llExpMask == 0 && llsoftMask == 0 && llSHMask == 0 && llretiMask == 0 && lllcMask == 0 && llsharMask == 0 && lllcMask == 0 && llColorMask == 0 && lltmMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.exposena = locallab.spots.at(sp).expexpose && lp.activspot && llColorMaskinv == 0 && llSHMaskinv == 0 && llColorMask == 0 && llsoftMask == 0 && llSHMask == 0 && lllcMask == 0 && llsharMask == 0 && llcbMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; // Exposure tool is deactivated if Color & Light mask SHmask is visible + lp.hsena = locallab.spots.at(sp).expshadhigh && lp.activspot && llColorMaskinv == 0 && llExpMaskinv == 0 && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0;// Shadow Highlight tool is deactivated if Color & Light mask or SHmask is visible + lp.vibena = locallab.spots.at(sp).expvibrance && lp.activspot && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0;// vibrance tool is deactivated if Color & Light mask or SHmask is visible + lp.sharpena = locallab.spots.at(sp).expsharp && lp.activspot && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.sfena = locallab.spots.at(sp).expsoft && lp.activspot && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llColorMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0 && llcieMask == 0; + lp.maskena = locallab.spots.at(sp).expmask && lp.activspot && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && lllogMask == 0 && llSHMask == 0 && llcieMask == 0;// vibrance tool is deactivated if Color & Light mask or SHmask is visible + lp.logena = locallab.spots.at(sp).explog && lp.activspot && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && llcbMask == 0 && lltmMask == 0 && llSHMask == 0 && ll_Mask == 0 && llcieMask == 0;// vibrance tool is deactivated if Color & Light mask or SHmask is visible + lp.cieena = locallab.spots.at(sp).expcie && lp.activspot && llColorMaskinv == 0 && llExpMaskinv == 0 && llSHMaskinv == 0 && llColorMask == 0 && llsoftMask == 0 && llExpMask == 0 && llcbMask == 0 && lllcMask == 0 && llsharMask == 0 && llretiMask == 0 && lltmMask == 0 && llvibMask == 0 && lllogMask == 0 && ll_Mask == 0;// Shadow Highlight tool is deactivated if Color & Light mask or SHmask is visible - lp.islocal = (lp.expvib || lp.colorena || lp.blurena || lp.tonemapena || lp.retiena || lp.lcena || lp.cbdlena || lp.exposena || lp.hsena || lp.vibena || lp.sharpena || lp.sfena || lp.maskena || lp.logena); + + lp.islocal = (lp.expvib || lp.colorena || lp.blurena || lp.tonemapena || lp.retiena || lp.lcena || lp.cbdlena || lp.exposena || lp.hsena || lp.vibena || lp.sharpena || lp.sfena || lp.maskena || lp.logena || lp.cieena); lp.sensv = local_sensiv; lp.past = chromaPastel; @@ -1641,13 +1732,6 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall lp.hlcomp = locallab.spots.at(sp).hlcompr; lp.hlcompthr = locallab.spots.at(sp).hlcomprthresh; lp.expcomp = LIM(locallab.spots.at(sp).expcomp, -2.0, 4.0); //to prevent crash with Old pp3 with integer - //increase sensitivity for low values - float proexp = lp.expcomp; - if (std::fabs(proexp) < 0.6f) { - float interm = std::fabs(proexp) / 0.6f; - interm = pow(interm, 3.f); - lp.expcomp = proexp * interm; - } lp.expchroma = locallab.spots.at(sp).expchroma / 100.; lp.sensex = local_sensiex; lp.war = local_warm; @@ -1668,6 +1752,8 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall lp.residshathr = locallab.spots.at(sp).residshathr; lp.residhi = locallab.spots.at(sp).residhi; lp.residhithr = locallab.spots.at(sp).residhithr; + lp.residgam = locallab.spots.at(sp).residgam; + lp.residslop = locallab.spots.at(sp).residslop; lp.blwh = locallab.spots.at(sp).blwh; lp.senscolor = (int) locallab.spots.at(sp).colorscope; //replace scope color vibrance shadows @@ -1675,6 +1761,10 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall lp.sensv = lp.senscolor; lp.senshs = lp.senscolor; + lp.mLjz = locallab.spots.at(sp).clarilresjz / 100.0; + lp.mCjz = locallab.spots.at(sp).claricresjz / 100.0; + lp.softrjz = locallab.spots.at(sp).clarisoftjz; + } static void calcTransitionrect(const float lox, const float loy, const float ach, const local_params& lp, int &zone, float &localFactor) @@ -1771,9 +1861,6 @@ static void calcTransition(const float lox, const float loy, const float ach, co } // Copyright 2018 Alberto Griggio -//J.Desmis 12 2019 - I will try to port a raw process in local adjustments -// I choose this one because, it is "new" -// Perhaps - probably no result, but perhaps ?? float find_gray(float source_gray, float target_gray) { @@ -1792,7 +1879,7 @@ float find_gray(float source_gray, float target_gray) const auto f = [ = ](float x) -> float { - return std::pow(x, source_gray) - 1 - target_gray * x + target_gray; + return std::pow(x, source_gray) - 1.f - target_gray * x + target_gray; }; // first find the interval we are interested in @@ -1852,6 +1939,43 @@ void ImProcFunctions::mean_sig (const float* const * const savenormL, float &mea stdf = std::sqrt(stdd); meanf = meand; } +// taken from darktable +inline float power_norm(float r, float g, float b) +{ + r = std::abs(r); + g = std::abs(g); + b = std::abs(b); + + float r2 = SQR(r); + float g2 = SQR(g); + float b2 = SQR(b); + float d = r2 + g2 + b2; + float n = r*r2 + g*g2 + b*b2; + + return n / std::max(d, 1e-12f); +} + +inline float ev2gray(float ev) +{ + return std::pow(2.f, -ev + std::log2(0.18f)); +} + + +inline float gray2ev(float gray) +{ + return std::log2(0.18f / gray); +} + + +inline float norm2(float r, float g, float b, TMatrix ws) +{ + return (power_norm(r, g, b) + Color::rgbLuminance(r, g, b, ws)) / 2.f; +} + +inline float norm(float r, float g, float b, TMatrix ws) +{ + return (Color::rgbLuminance(r, g, b, ws)); +} // basic log encoding taken from ACESutil.Lin_to_Log2, from @@ -1859,24 +1983,19 @@ void ImProcFunctions::mean_sig (const float* const * const savenormL, float &mea // (as seen on pixls.us) void ImProcFunctions::log_encode(Imagefloat *rgb, struct local_params & lp, bool multiThread, int bfw, int bfh) { - /* J.Desmis 12 2019 - small adaptations to local adjustments - replace log2 by log(lp.baselog) allows diferentiation between low and high lights - */ // BENCHFUN - const float gray = lp.sourcegray / 100.f; + const float gray = 0.01f * lp.sourcegray; const float shadows_range = lp.blackev; - float dynamic_range = lp.whiteev - lp.blackev; - if (dynamic_range < 0.5f) { - dynamic_range = 0.5f; - } + float dynamic_range = max(lp.whiteev - lp.blackev, 0.5f); const float noise = pow_F(2.f, -16.f); - // const float log2 = xlogf(lp.baselog); const float log2 = xlogf(2.f); - const float base = lp.targetgray > 1 && lp.targetgray < 100 && dynamic_range > 0 ? find_gray(std::abs(lp.blackev) / dynamic_range, lp.targetgray / 100.f) : 0.f; - const float linbase = rtengine::max(base, 0.f); + const float base = lp.targetgray > 1 && lp.targetgray < 100 && dynamic_range > 0 ? find_gray(std::abs(lp.blackev) / dynamic_range, 0.01f * lp.targetgray) : 0.f; + const float linbase = rtengine::max(base, 2.f);//2 to avoid bad behavior TMatrix ws = ICCStore::getInstance()->workingSpaceMatrix(params->icm.workingProfile); + if (settings->verbose) { + printf("Base Log encoding std=%5.1f\n", (double) linbase); + } const auto apply = [ = ](float x, bool scale = true) -> float { @@ -1903,35 +2022,6 @@ void ImProcFunctions::log_encode(Imagefloat *rgb, struct local_params & lp, bool } }; - const auto norm = - [&](float r, float g, float b) -> float { - return Color::rgbLuminance(r, g, b, ws); - - // other possible alternatives (so far, luminance seems to work - // fine though). See also - // https://discuss.pixls.us/t/finding-a-norm-to-preserve-ratios-across-non-linear-operations - // - // MAX - //return max(r, g, b); - // - // Euclidean - //return std::sqrt(SQR(r) + SQR(g) + SQR(b)); - - // weighted yellow power norm from https://youtu.be/Z0DS7cnAYPk - // float rr = 1.22f * r / 65535.f; - // float gg = 1.20f * g / 65535.f; - // float bb = 0.58f * b / 65535.f; - // float rr4 = SQR(rr) * SQR(rr); - // float gg4 = SQR(gg) * SQR(gg); - // float bb4 = SQR(bb) * SQR(bb); - // float den = (rr4 + gg4 + bb4); - // if (den > 0.f) { - // return 0.8374319f * ((rr4 * rr + gg4 * gg + bb4 * bb) / den) * 65535.f; - // } else { - // return 0.f; - // } - }; - const float detail = lp.detail; const int W = rgb->getWidth(), H = rgb->getHeight(); @@ -1944,7 +2034,7 @@ void ImProcFunctions::log_encode(Imagefloat *rgb, struct local_params & lp, bool float r = rgb->r(y, x); float g = rgb->g(y, x); float b = rgb->b(y, x); - float m = norm(r, g, b); + float m = norm2(r, g, b, ws); if (m > noise) { float mm = apply(m); @@ -1980,7 +2070,7 @@ void ImProcFunctions::log_encode(Imagefloat *rgb, struct local_params & lp, bool #endif for (int y = 0; y < H; ++y) { for (int x = 0; x < W; ++x) { - Y2[y][x] = norm(rgb->r(y, x), rgb->g(y, x), rgb->b(y, x)) / 65535.f; + Y2[y][x] = norm2(rgb->r(y, x), rgb->g(y, x), rgb->b(y, x), ws) / 65535.f; float l = xlogf(rtengine::max(Y2[y][x], 1e-9f)); float ll = round(l * base_posterization) / base_posterization; Y[y][x] = xexpf(ll); @@ -2004,7 +2094,7 @@ void ImProcFunctions::log_encode(Imagefloat *rgb, struct local_params & lp, bool float t = Y[y][x]; float t2; - if (t > noise && (t2 = norm(r, g, b)) > noise) { + if (t > noise && (t2 = norm2(r, g, b, ws)) > noise) { float c = apply(t, false); float f = c / t; // float t2 = norm(r, g, b); @@ -2025,25 +2115,24 @@ void ImProcFunctions::log_encode(Imagefloat *rgb, struct local_params & lp, bool } } } + } } -void ImProcFunctions::getAutoLogloc(int sp, ImageSource *imgsrc, float *sourceg, float *blackev, float *whiteev, bool *Autogr, float *sourceab, int fw, int fh, float xsta, float xend, float ysta, float yend, int SCALE) +void ImProcFunctions::getAutoLogloc(int sp, ImageSource *imgsrc, float *sourceg, float *blackev, float *whiteev, bool *Autogr, float *sourceab, int fw, int fh, float xsta, float xend, float ysta, float yend, int SCALE) { //BENCHFUN -//adpatation to local adjustments Jacques Desmis 12 2019 +//adpatation to local adjustments Jacques Desmis 12 2019 and 11 2021 (from ART) const PreviewProps pp(0, 0, fw, fh, SCALE); Imagefloat img(int(fw / SCALE + 0.5), int(fh / SCALE + 0.5)); const ProcParams neutral; + imgsrc->getImage(imgsrc->getWB(), TR_NONE, &img, pp, params->toneCurve, neutral.raw); imgsrc->convertColorSpace(&img, params->icm, imgsrc->getWB()); float minVal = RT_INFINITY; float maxVal = -RT_INFINITY; - float ec = 1.f; - if(params->toneCurve.autoexp) {//take into account exposure, only if autoexp, in other cases now it's after LA - ec = std::pow(2.f, params->toneCurve.expcomp); - } + TMatrix ws = ICCStore::getInstance()->workingSpaceMatrix(params->icm.workingProfile); constexpr float noise = 1e-5; const int h = fh / SCALE; @@ -2054,26 +2143,38 @@ void ImProcFunctions::getAutoLogloc(int sp, ImageSource *imgsrc, float *sourceg, const int wsta = xsta * w; const int wend = xend * w; - + int www = int(fw / SCALE + 0.5); + int hhh = int(fh / SCALE + 0.5); + array2D YY(www, hhh); + double mean = 0.0; int nc = 0; for (int y = hsta; y < hend; ++y) { for (int x = wsta; x < wend; ++x) { const float r = img.r(y, x), g = img.g(y, x), b = img.b(y, x); - mean += static_cast(0.2126f * Color::gamma_srgb(r) + 0.7152f * Color::gamma_srgb(g) + 0.0722f * Color::gamma_srgb(b)); + YY[y][x] = norm2(r, g, b, ws) / 65535.f;//norm2 to find a best color luminance response in RGB + mean += static_cast((float) ws[1][0] * Color::gamma_srgb(r) + (float) ws[1][1] * Color::gamma_srgb(g) + (float) ws[1][2] * Color::gamma_srgb(b)); + //alternative to fing gray in case of above process does not works nc++; + } + } - const float m = rtengine::max(0.f, r, g, b) / 65535.f * ec; - if (m > noise) { - const float l = rtengine::min(r, g, b) / 65535.f * ec; - minVal = rtengine::min(minVal, l > noise ? l : m); - maxVal = rtengine::max(maxVal, m); + for (int y = hsta; y < hend; ++y) { + for (int x = wsta; x < wend; ++x) { + float l = YY[y][x]; + if (l > noise) { + minVal = min(minVal, l); + maxVal = max(maxVal, l); } } } - maxVal *= 1.2f; //or 1.5f;slightly increase max - //approximation sourcegray yb source = 0.4 * yb - + + maxVal *= 1.45f; //(or 1.5f...) slightly increase max to take into account illuminance incident light + minVal *= 0.55f; //(or 0.5f...) slightly decrease min to take into account illuminance incident light + //E = 2.5*2^EV => e=2.5 depends on the sensor type C=250 e=2.5 to C=330 e=3.3 + //repartition with 2.5 between 1.45 Light and shadows 0.58 => a little more 0.55... + // https://www.pixelsham.com/2020/12/26/exposure-value-measurements/ + // https://en.wikipedia.org/wiki/Light_meter if (maxVal > minVal) { const float log2 = std::log(2.f); const float dynamic_range = -xlogf(minVal / maxVal) / log2; @@ -2086,6 +2187,7 @@ void ImProcFunctions::getAutoLogloc(int sp, ImageSource *imgsrc, float *sourceg, if (Autogr[sp]) { double tot = 0.0; int n = 0; + //0.05 0.25 arbitrary values around gray point 0.18 to find a good value as "gray" for "gain" const float gmax = rtengine::min(maxVal / 2.f, 0.25f); const float gmin = rtengine::max(minVal * std::pow(2.f, rtengine::max((dynamic_range - 1.f) / 2.f, 1.f)), 0.05f); @@ -2093,7 +2195,7 @@ void ImProcFunctions::getAutoLogloc(int sp, ImageSource *imgsrc, float *sourceg, std::cout << " gray boundaries: " << gmin << ", " << gmax << std::endl; } - for (int y = ysta; y < yend; ++y) { + for (int y = hsta; y < hend; ++y) { for (int x = wsta; x < wend; ++x) { const float l = img.g(y, x) / 65535.f; @@ -2110,33 +2212,18 @@ void ImProcFunctions::getAutoLogloc(int sp, ImageSource *imgsrc, float *sourceg, if (settings->verbose) { std::cout << " computed gray point from " << n << " samples: " << sourceg[sp] << std::endl; } - } else { + } else {//I change slightly this part of algo - more progressivity...best response in very low exposure images mean /= (nc * 65535.0); float yb; + yb = 1.5f + 100.f * pow_F(mean, 1.8f);//empirical formula for Jz and log encode for low exposure images - if (mean < 0.15) { - yb = 3.0f; - } else if (mean < 0.3) { - yb = 5.0f; - } else if (mean < 0.4) { - yb = 10.0f; - } else if (mean < 0.45) { - yb = 15.0f; - } else if (mean < 0.5) { - yb = 18.0f; - } else if (mean < 0.55) { - yb = 23.0f; - } else if (mean < 0.6) { - yb = 30.0f; - } else { - yb = 45.f; - } - sourceg[sp] = 0.4f * yb; + sourceg[sp] = yb; if (settings->verbose) { std::cout << " no samples found in range, resorting to Yb gray point value " << sourceg[sp] << std::endl; } } } + constexpr float MIN_WHITE = 2.f; constexpr float MAX_BLACK = -3.5f; @@ -2159,13 +2246,15 @@ void ImProcFunctions::getAutoLogloc(int sp, ImageSource *imgsrc, float *sourceg, adap = 2000.; } else { double E_V = fcomp + std::log2(double ((fnum * fnum) / fspeed / (fiso / 100.f))); - E_V += params->toneCurve.expcomp;// exposure compensation in tonecurve ==> direct EV - E_V += std::log2(params->raw.expos); // exposure raw white point ; log2 ==> linear to EV - adap = pow(2.0, E_V - 3.0); // cd / m2 + double kexp = 0.; + E_V += kexp * params->toneCurve.expcomp;// exposure compensation in tonecurve ==> direct EV + E_V += 0.5 * std::log2(params->raw.expos); // exposure raw white point ; log2 ==> linear to EV + adap = pow(2.0, E_V - 3.0); // cd / m2 ==> 3.0 = log2(8) =>fnum*fnum/speed = Luminance (average scene) * fiso / K (K is the reflected-light meter calibration constant according to the sensors about 12.5 or 14 // end calculation adaptation scene luminosity } sourceab[sp] = adap; + } } @@ -2395,15 +2484,160 @@ void tone_eq(array2D &R, array2D &G, array2D &B, const str } } - - -void ImProcFunctions::ciecamloc_02float(int sp, LabImage* lab, int call) +void ImProcFunctions::loccont(int bfw, int bfh, LabImage* tmp1, float rad, float stren, int sk) { - //BENCHFUN + if (rad > 0.f) { + array2D guide(bfw, bfh); + array2D LL(bfw, bfh); +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic,16) +#endif + for (int y = 0; y < bfh ; y++) { + for (int x = 0; x < bfw; x++) { + LL[y][x] = tmp1->L[y][x]; + float ll = LL[y][x] / 32768.f; + guide[y][x] = xlin2log(rtengine::max(ll, 0.f), 10.f); + } + } + array2D iL(bfw, bfh, LL, 0); + float gu = stren * rad; + int r = rtengine::max(int(gu / sk), 1); + const double epsil = 0.001 * std::pow(2.f, -10); + float st = 0.01f * rad; + rtengine::guidedFilterLog(guide, 10.f, LL, r, epsil, false); + +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic,16) +#endif + for (int y = 0; y < bfh ; y++) { + for (int x = 0; x < bfw; x++) { + LL[y][x] = intp(st, LL[y][x] , iL[y][x]); + tmp1->L[y][x] = LL[y][x]; + } + } + } +} + +void sigmoidla (float &valj, float thresj, float lambda) +{ + //thres : shifts the action of sigmoid to darker tones or lights + //lambda : changes the "slope" of the sigmoid. Low values give a flat curve, high values a "rectangular / orthogonal" curve + valj = 1.f / (1.f + xexpf(lambda - (lambda / thresj) * valj)); +} + + +void gamutjz (double &Jz, double &az, double &bz, double pl, const double wip[3][3], const float higherCoef, const float lowerCoef) +{//Not used...bad results + constexpr float ClipLevel = 65535.0f; + bool inGamut; + // int nb = 0; + do { + inGamut = true; + double L_, M_, S_; + double xx, yy, zz; + bool zcam = false; + Ciecam02::jzczhzxyz (xx, yy, zz, Jz, az, bz, pl, L_, M_, S_, zcam); + double x, y, z; + x = 65535. * (d65_d50[0][0] * xx + d65_d50[0][1] * yy + d65_d50[0][2] * zz); + y = 65535. * (d65_d50[1][0] * xx + d65_d50[1][1] * yy + d65_d50[1][2] * zz); + z = 65535. * (d65_d50[2][0] * xx + d65_d50[2][1] * yy + d65_d50[2][2] * zz); + float R,G,B; + Color:: xyz2rgb(x, y, z, R, G, B, wip); + if (rtengine::min(R, G, B) < 0.f || rtengine::max(R, G, B) > ClipLevel) { + // nb++; + double hz = xatan2f(bz, az); + float2 sincosval = xsincosf(hz); + double Cz = sqrt(az * az + bz * bz); + // printf("cz=%f jz=%f" , (double) Cz, (double) Jz); + Cz *= (double) higherCoef; + if(Cz < 0.01 && Jz > 0.05) {//empirical values + Jz -= (double) lowerCoef; + } + az = clipazbz(Cz * (double) sincosval.y); + bz = clipazbz(Cz * (double) sincosval.x); + + inGamut = false; + } + } while (!inGamut); +} + +void ImProcFunctions::ciecamloc_02float(const struct local_params& lp, int sp, LabImage* lab, int bfw, int bfh, int call, int sk, const LUTf& cielocalcurve, bool localcieutili, const LUTf& cielocalcurve2, bool localcieutili2, const LUTf& jzlocalcurve, bool localjzutili, const LUTf& czlocalcurve, bool localczutili, const LUTf& czjzlocalcurve, bool localczjzutili, const LocCHCurve& locchCurvejz, const LocHHCurve& lochhCurvejz, const LocLHCurve& loclhCurvejz, bool HHcurvejz, bool CHcurvejz, bool LHcurvejz, const LocwavCurve& locwavCurvejz, bool locwavutilijz +) +{ +// BENCHFUN +//possibility to reenable Zcam + if(!params->locallab.spots.at(sp).activ) {//disable all ciecam functions + return; + } bool ciec = false; + bool iscie = false; if (params->locallab.spots.at(sp).ciecam && params->locallab.spots.at(sp).explog && call == 1) { ciec = true; + iscie = false; } + else if (params->locallab.spots.at(sp).expcie && call == 0) { + ciec = true; + iscie = true; + } + bool z_cam = false; //params->locallab.spots.at(sp).jabcie; //alaways use normal algorithm, Zcam giev often bad results + bool jabcie = false;//always disabled + bool islogjz = params->locallab.spots.at(sp).forcebw; + bool issigjz = params->locallab.spots.at(sp).sigjz; + bool issigq = params->locallab.spots.at(sp).sigq; + bool islogq = params->locallab.spots.at(sp).logcie; + + //sigmoid J Q variables + const float sigmoidlambda = params->locallab.spots.at(sp).sigmoidldacie; + const float sigmoidth = params->locallab.spots.at(sp).sigmoidthcie; + const float sigmoidbl = params->locallab.spots.at(sp).sigmoidblcie; + const bool sigmoidqj = params->locallab.spots.at(sp).sigmoidqjcie; + + TMatrix wiprof = ICCStore::getInstance()->workingSpaceInverseMatrix(params->icm.workingProfile); + const double wip[3][3] = {//improve precision with double + {wiprof[0][0], wiprof[0][1], wiprof[0][2]}, + {wiprof[1][0], wiprof[1][1], wiprof[1][2]}, + {wiprof[2][0], wiprof[2][1], wiprof[2][2]} + }; + float plum = (float) params->locallab.spots.at(sp).pqremapcam16; + + int mocam = 1; + if(params->locallab.spots.at(sp).modecam == "all") { + mocam = 10;//à remettre à 0 si modecam = "all" + } else if(params->locallab.spots.at(sp).modecam == "cam16") { + mocam = 1; + } else if(params->locallab.spots.at(sp).modecam == "jz") { + mocam = 2; +// } else if(params->locallab.spots.at(sp).modecam == "zcam") { +// mocam = 3; + } + + int mecamcurve = 0; + if(params->locallab.spots.at(sp).toneMethodcie == "one") { + mecamcurve = 0; + } else if(params->locallab.spots.at(sp).toneMethodcie == "two") { + mecamcurve = 1; + } + + int mecamcurve2 = 0; + if(params->locallab.spots.at(sp).toneMethodcie2 == "onec") { + mecamcurve2 = 0; + } else if(params->locallab.spots.at(sp).toneMethodcie2 == "twoc") { + mecamcurve2 = 1; + } else if(params->locallab.spots.at(sp).toneMethodcie2 == "thrc") { + mecamcurve2 = 2; + } + + float th = 1.f; + const float at = 1.f - sigmoidth; + const float bt = sigmoidth; + + const float ath = sigmoidth - 1.f; + const float bth = 1; + float sila = pow_F(sigmoidlambda, 0.5f); + const float sigm = 3.3f + 7.1f *(1.f - sila);//e^10.4 = 32860 => sigm vary from 3.3 to 10.4 + const float bl = sigmoidbl; + //end sigmoid + int width = lab->W, height = lab->H; float Yw; Yw = 1.0f; @@ -2421,6 +2655,7 @@ void ImProcFunctions::ciecamloc_02float(int sp, LabImage* lab, int call) LUTf CAMBrightCurveJ(32768, LUT_CLIP_BELOW | LUT_CLIP_ABOVE); LUTf CAMBrightCurveQ(32768, LUT_CLIP_BELOW | LUT_CLIP_ABOVE); + #ifdef _OPENMP const int numThreads = min(max(width * height / 65536, 1), omp_get_max_threads()); #pragma omp parallel num_threads(numThreads) if(numThreads>1) @@ -2492,12 +2727,29 @@ void ImProcFunctions::ciecamloc_02float(int sp, LabImage* lab, int call) //evaluate lightness, contrast if (ciec) { - const float contL = 0.6 * params->locallab.spots.at(sp).contl; //0.6 less effect, no need 1. - const float lightL = 0.4 * params->locallab.spots.at(sp).lightl; //0.4 less effect, no need 1. - const float contQ = 0.5 * params->locallab.spots.at(sp).contq; //0.5 less effect, no need 1. - const float lightQ = 0.4 * params->locallab.spots.at(sp).lightq; //0.4 less effect, no need 1. + float contL = 0.f; + float lightL = 0.f; + float contQ = 0.f; + float lightQ = 0.f; + if(iscie) { + contL = 0.6 * params->locallab.spots.at(sp).contlcie; //0.6 less effect, no need 1. + lightL = 0.4 * params->locallab.spots.at(sp).lightlcie; //0.4 less effect, no need 1. + contQ = 0.5 * params->locallab.spots.at(sp).contqcie; //0.5 less effect, no need 1. + lightQ = 0.4 * params->locallab.spots.at(sp).lightqcie; //0.4 less effect, no need 1. + } else { + contL = 0.6 * params->locallab.spots.at(sp).contl; //0.6 less effect, no need 1. + lightL = 0.4 * params->locallab.spots.at(sp).lightl; //0.4 less effect, no need 1. + contQ = 0.5 * params->locallab.spots.at(sp).contq; //0.5 less effect, no need 1. + lightQ = 0.4 * params->locallab.spots.at(sp).lightq; //0.4 less effect, no need 1. + + } + float contthresL = 0.f; - float contthresL = params->locallab.spots.at(sp).contthres; + if(iscie) { + contthresL = params->locallab.spots.at(sp).contthrescie; + } else { + contthresL = params->locallab.spots.at(sp).contthres; + } float contthresQ = contthresL; if(contL < 0.f) { contthresL *= -1; @@ -2515,6 +2767,8 @@ void ImProcFunctions::ciecamloc_02float(int sp, LabImage* lab, int call) Ciecam02::curveJfloat(lightQ, contQ, thQ, hist16Q, CAMBrightCurveQ); //brightness Q and contrast Q } + + int tempo = 5000; if(params->locallab.spots.at(sp).expvibrance && call == 2) { if (params->locallab.spots.at(sp).warm > 0) { @@ -2524,11 +2778,20 @@ void ImProcFunctions::ciecamloc_02float(int sp, LabImage* lab, int call) } } + if(ciec) { - if (params->locallab.spots.at(sp).catad > 0) { - tempo = 5000 - 30 * params->locallab.spots.at(sp).catad; - } else if (params->locallab.spots.at(sp).catad < 0){ - tempo = 5000 - 70 * params->locallab.spots.at(sp).catad; + if(iscie) { + if (params->locallab.spots.at(sp).catadcie > 0) { + tempo = 5000 - 30 * params->locallab.spots.at(sp).catadcie; + } else if (params->locallab.spots.at(sp).catadcie < 0){ + tempo = 5000 - 70 * params->locallab.spots.at(sp).catadcie; + } + } else { + if (params->locallab.spots.at(sp).catad > 0) { + tempo = 5000 - 30 * params->locallab.spots.at(sp).catad; + } else if (params->locallab.spots.at(sp).catad < 0){ + tempo = 5000 - 70 * params->locallab.spots.at(sp).catad; + } } } @@ -2543,30 +2806,67 @@ void ImProcFunctions::ciecamloc_02float(int sp, LabImage* lab, int call) //viewing condition for surround f2 = 1.0f, c2 = 0.69f, nc2 = 1.0f; if(ciec) { + if(iscie) { //surround source with only 2 choices (because Log encoding before) - if (params->locallab.spots.at(sp).sursour == "Average") { - f = 1.0f, c = 0.69f, nc = 1.0f; - } else if (params->locallab.spots.at(sp).sursour == "Dim") { - f = 0.9f; - c = 0.59f; - nc = 0.9f; + if (params->locallab.spots.at(sp).sursourcie == "Average") { + f = 1.0f, c = 0.69f, nc = 1.0f; + } else if (params->locallab.spots.at(sp).sursourcie == "Dim") { + f = 0.9f; + c = 0.59f; + nc = 0.9f; + } else if (params->locallab.spots.at(sp).sursourcie == "Dark") { + f = 0.8f; + c = 0.525f; + nc = 0.8f; + } + } else { + if (params->locallab.spots.at(sp).sursour == "Average") { + f = 1.0f, c = 0.69f, nc = 1.0f; + } else if (params->locallab.spots.at(sp).sursour == "Dim") { + f = 0.9f; + c = 0.59f; + nc = 0.9f; + } else if (params->locallab.spots.at(sp).sursour == "Dark") { + f = 0.8f; + c = 0.525f; + nc = 0.8f; + } } //viewing condition for surround - if (params->locallab.spots.at(sp).surround == "Average") { - f2 = 1.0f, c2 = 0.69f, nc2 = 1.0f; - } else if (params->locallab.spots.at(sp).surround == "Dim") { - f2 = 0.9f; - c2 = 0.59f; - nc2 = 0.9f; - } else if (params->locallab.spots.at(sp).surround == "Dark") { - f2 = 0.8f; - c2 = 0.525f; - nc2 = 0.8f; - } else if (params->locallab.spots.at(sp).surround == "ExtremelyDark") { - f2 = 0.8f; - c2 = 0.41f; - nc2 = 0.8f; + if(iscie) { + if (params->locallab.spots.at(sp).surroundcie == "Average") { + f2 = 1.0f, c2 = 0.69f, nc2 = 1.0f; + } else if (params->locallab.spots.at(sp).surroundcie == "Dim") { + f2 = 0.9f; + c2 = 0.59f; + nc2 = 0.9f; + } else if (params->locallab.spots.at(sp).surroundcie == "Dark") { + f2 = 0.8f; + c2 = 0.525f; + nc2 = 0.8f; + } else if (params->locallab.spots.at(sp).surroundcie == "ExtremelyDark") { + f2 = 0.8f; + c2 = 0.41f; + nc2 = 0.8f; + } + } else { + if (params->locallab.spots.at(sp).surround == "Average") { + f2 = 1.0f, c2 = 0.69f, nc2 = 1.0f; + } else if (params->locallab.spots.at(sp).surround == "Dim") { + f2 = 0.9f; + c2 = 0.59f; + nc2 = 0.9f; + } else if (params->locallab.spots.at(sp).surround == "Dark") { + f2 = 0.8f; + c2 = 0.525f; + nc2 = 0.8f; + } else if (params->locallab.spots.at(sp).surround == "ExtremelyDark") { + f2 = 0.8f; + c2 = 0.41f; + nc2 = 0.8f; + } + } } @@ -2583,44 +2883,115 @@ void ImProcFunctions::ciecamloc_02float(int sp, LabImage* lab, int call) la = 400.f; float la2 = 400.f; if(ciec) { - la = params->locallab.spots.at(sp).sourceabs; - - la2 = params->locallab.spots.at(sp).targabs; + if(iscie) { + la = params->locallab.spots.at(sp).sourceabscie; + la2 = params->locallab.spots.at(sp).targabscie; + } else { + la = params->locallab.spots.at(sp).sourceabs; + la2 = params->locallab.spots.at(sp).targabs; + } } const float pilot = 2.f; const float pilotout = 2.f; - + double avgm = 0.; //algoritm's params float yb = 18.f; yb2 = 18; if(ciec) { - yb = params->locallab.spots.at(sp).targetGray;//target because we are after Log encoding - - yb2 = params->locallab.spots.at(sp).targetGray; + if(iscie) { + yb = params->locallab.spots.at(sp).sourceGraycie;// + avgm = (double) pow_F(0.01f * (yb - 1.f), 0.45f);; + yb2 = params->locallab.spots.at(sp).targetGraycie; + } else { + yb = params->locallab.spots.at(sp).targetGray;//target because we are after Log encoding + yb2 = params->locallab.spots.at(sp).targetGray; + } + } + if(params->locallab.spots.at(sp).expcie && call == 10 && params->locallab.spots.at(sp).modecam == "jz") { + yb = params->locallab.spots.at(sp).sourceGraycie;//for Jz calculate Yb and surround in Lab and cam16 before process Jz + la = params->locallab.spots.at(sp).sourceabscie; + + if (params->locallab.spots.at(sp).sursourcie == "Average") { + f = 1.0f, c = 0.69f, nc = 1.0f; + } else if (params->locallab.spots.at(sp).sursourcie == "Dim") { + f = 0.9f; + c = 0.59f; + nc = 0.9f; + } else if (params->locallab.spots.at(sp).sursourcie == "Dark") { + f = 0.8f; + c = 0.525f; + nc = 0.8f; + } } float schr = 0.f; float mchr = 0.f; - + float cchr = 0.f; + float rstprotection = 0.f; + float hue = 0.f; +/* + float mchrz = 0.f; + float schrz = 0.f; + float cchrz = 0.f; +*/ if (ciec) { - schr = params->locallab.spots.at(sp).saturl; + if(iscie) { + rstprotection = params->locallab.spots.at(sp).rstprotectcie; + hue = params->locallab.spots.at(sp).huecie; - if (schr > 0.f) { - schr = schr / 2.f; //divide sensibility for saturation - } + cchr = params->locallab.spots.at(sp).chromlcie; + if (cchr == -100.0f) { + cchr = -99.8f; + } - if (schr == -100.f) { - schr = -99.8f; - } + schr = params->locallab.spots.at(sp).saturlcie; - mchr = params->locallab.spots.at(sp).colorfl; + if (schr > 0.f) { + schr = schr / 2.f; //divide sensibility for saturation + } - if (mchr == -100.0f) { - mchr = -99.8f ; - } - if (mchr == 100.0f) { - mchr = 99.9f; + if (schr == -100.f) { + schr = -99.8f; + } + + mchr = params->locallab.spots.at(sp).colorflcie; + + if (mchr == -100.0f) { + mchr = -99.8f ; + } + if (mchr == 100.0f) { + mchr = 99.9f; + } +/* + mchrz = 0.5f * (float) params->locallab.spots.at(sp).colorflzcam; + schrz = 0.5f * (float) params->locallab.spots.at(sp).saturzcam; + cchrz = 0.5f * (float) params->locallab.spots.at(sp).chromzcam; +*/ + } else { + cchr = params->locallab.spots.at(sp).chroml; + if (cchr == -100.0f) { + cchr = -99.8f; + } + + schr = params->locallab.spots.at(sp).saturl; + + if (schr > 0.f) { + schr = schr / 2.f; //divide sensibility for saturation + } + + if (schr == -100.f) { + schr = -99.8f; + } + + mchr = params->locallab.spots.at(sp).colorfl; + + if (mchr == -100.0f) { + mchr = -99.8f ; + } + if (mchr == 100.0f) { + mchr = 99.9f; + } } } @@ -2633,229 +3004,1407 @@ void ImProcFunctions::ciecamloc_02float(int sp, LabImage* lab, int call) float xw1 = xws, yw1 = yws, zw1 = zws, xw2 = xwd, yw2 = ywd, zw2 = zwd; float cz, wh, pfl; int c16 = 16;//always cat16 - Ciecam02::initcam1float(yb, pilot, f, la, xw, yw, zw, n, d, nbb, ncb, cz, aw, wh, pfl, fl, c, c16); + bool c20 = true; + if(c20 && plum > 100.f) { + c16 = 21;//I define 21...for 2021 :) + } + int level_bljz = params->locallab.spots.at(sp).csthresholdjz.getBottomLeft(); + int level_hljz = params->locallab.spots.at(sp).csthresholdjz.getTopLeft(); + int level_brjz = params->locallab.spots.at(sp).csthresholdjz.getBottomRight(); + int level_hrjz = params->locallab.spots.at(sp).csthresholdjz.getTopRight(); + + float alowjz = 1.f; + float blowjz = 0.f; + + if (level_hljz != level_bljz) { + alowjz = 1.f / (level_hljz - level_bljz); + blowjz = -alowjz * level_bljz; + } + + float ahighjz = 1.f; + float bhighjz = 0.f; + + if (level_hrjz != level_brjz) { + ahighjz = 1.f / (level_hrjz - level_brjz); + bhighjz = -ahighjz * level_brjz; + } + float sigmalcjz = params->locallab.spots.at(sp).sigmalcjz; + float jzamountchr = 0.01 * params->locallab.spots.at(sp).thrhjzcie; + bool jzch = params->locallab.spots.at(sp).chjzcie; + double jzamountchroma = 0.01 * settings->amchromajz; + if(jzamountchroma < 0.05) { + jzamountchroma = 0.05; + } + if(jzamountchroma > 2.) { + jzamountchroma = 2.; + } + + Ciecam02::initcam1float(yb, pilot, f, la, xw, yw, zw, n, d, nbb, ncb, cz, aw, wh, pfl, fl, c, c16, plum); const float pow1 = pow_F(1.64f - pow_F(0.29f, n), 0.73f); float nj, nbbj, ncbj, czj, awj, flj; - Ciecam02::initcam2float(yb2, pilotout, f2, la2, xw2, yw2, zw2, nj, dj, nbbj, ncbj, czj, awj, flj, c16); + Ciecam02::initcam2float(yb2, pilotout, f2, la2, xw2, yw2, zw2, nj, dj, nbbj, ncbj, czj, awj, flj, c16, plum); #ifdef __SSE2__ const float reccmcz = 1.f / (c2 * czj); #endif const float epsil = 0.0001f; const float coefQ = 32767.f / wh; + const float coefq = 1 / wh; const float pow1n = pow_F(1.64f - pow_F(0.29f, nj), 0.73f); const float coe = pow_F(fl, 0.25f); const float QproFactor = (0.4f / c) * (aw + 4.0f) ; + const double shadows_range = params->locallab.spots.at(sp).blackEvjz; + const double targetgray = params->locallab.spots.at(sp).targetjz; + double targetgraycor = 0.15; + double dynamic_range = std::max(params->locallab.spots.at(sp).whiteEvjz - shadows_range, 0.5); + const double noise = pow(2., -16.6);//16.6 instead of 16 a little less than others, but we work in double + const double log2 = xlog(2.); + const float log2f = xlogf(2.f); -#ifdef __SSE2__ - int bufferLength = ((width + 3) / 4) * 4; // bufferLength has to be a multiple of 4 -#endif + if((mocam == 0 || mocam ==2) && call == 0) {//Jz az bz ==> Jz Cz Hz before Ciecam16 + double mini = 1000.; + double maxi = -1000.; + double sum = 0.; + int nc = 0; + double epsiljz = 0.0001; + //Remapping see https://hal.inria.fr/hal-02131890/document I took some ideas in this text, and add my personal adaptation + // image quality assessment of HDR and WCG images https://tel.archives-ouvertes.fr/tel-02378332/document + double adapjz = params->locallab.spots.at(sp).adapjzcie; + double jz100 = params->locallab.spots.at(sp).jz100; + double pl = params->locallab.spots.at(sp).pqremap; + double jzw, azw, bzw; + jzw = 0.18;//Jz white + + bool Qtoj = params->locallab.spots.at(sp).qtoj;//betwwen lightness to brightness + const bool logjz = params->locallab.spots.at(sp).logjz;//log encoding + +//calculate min, max, mean for Jz #ifdef _OPENMP - #pragma omp parallel if (multiThread) + #pragma omp parallel for reduction(min:mini) reduction(max:maxi) reduction(+:sum) if(multiThread) #endif - { -#ifdef __SSE2__ - // one line buffer per channel and thread - float Jbuffer[bufferLength] ALIGNED16; - float Cbuffer[bufferLength] ALIGNED16; - float hbuffer[bufferLength] ALIGNED16; - float Qbuffer[bufferLength] ALIGNED16; - float Mbuffer[bufferLength] ALIGNED16; - float sbuffer[bufferLength] ALIGNED16; -#endif -#ifdef _OPENMP - #pragma omp for schedule(dynamic, 16) -#endif - for (int i = 0; i < height; i++) { -#ifdef __SSE2__ - // vectorized conversion from Lab to jchqms - int k; - vfloat c655d35 = F2V(655.35f); - - for (k = 0; k < width - 3; k += 4) { - vfloat x, y, z; - Color::Lab2XYZ(LVFU(lab->L[i][k]), LVFU(lab->a[i][k]), LVFU(lab->b[i][k]), x, y, z); - x = x / c655d35; - y = y / c655d35; - z = z / c655d35; - vfloat J, C, h, Q, M, s; - Ciecam02::xyz2jchqms_ciecam02float(J, C, h, - Q, M, s, F2V(aw), F2V(fl), F2V(wh), - x, y, z, - F2V(xw1), F2V(yw1), F2V(zw1), - F2V(c), F2V(nc), F2V(pow1), F2V(nbb), F2V(ncb), F2V(pfl), F2V(cz), F2V(d), c16); - STVF(Jbuffer[k], J); - STVF(Cbuffer[k], C); - STVF(hbuffer[k], h); - STVF(Qbuffer[k], Q); - STVF(Mbuffer[k], M); - STVF(sbuffer[k], s); - } - - for (; k < width; k++) { + for (int i = 0; i < height; i+=1) { + for (int k = 0; k < width; k+=1) { float L = lab->L[i][k]; float a = lab->a[i][k]; float b = lab->b[i][k]; float x, y, z; //convert Lab => XYZ Color::Lab2XYZ(L, a, b, x, y, z); - x = x / 655.35f; - y = y / 655.35f; - z = z / 655.35f; - float J, C, h, Q, M, s; - Ciecam02::xyz2jchqms_ciecam02float(J, C, h, + x = x / 65535.f; + y = y / 65535.f; + z = z / 65535.f; + double Jz, az, bz; + double xx, yy, zz; + //D50 ==> D65 + xx = (d50_d65[0][0] * (double) x + d50_d65[0][1] * (double) y + d50_d65[0][2] * (double) z); + yy = (d50_d65[1][0] * (double) x + d50_d65[1][1] * (double) y + d50_d65[1][2] * (double) z); + zz = (d50_d65[2][0] * (double) x + d50_d65[2][1] * (double) y + d50_d65[2][2] * (double) z); + + double L_p, M_p, S_p; + bool zcam = z_cam; + + Ciecam02::xyz2jzczhz (Jz, az, bz, xx, yy, zz, pl, L_p, M_p, S_p, zcam); + if(Jz > maxi) { + maxi = Jz; + } + if(Jz < mini) { + mini = Jz; + } + sum += Jz; + // I read bz, az values and Hz ==> with low chroma values Hz are very different from lab always around 1.4 radians ???? for blue... + } + } + nc = height * width; + sum = sum / nc; + maxi += epsiljz; + sum += epsiljz; + //remapping Jz + double ijz100 = 1./jz100; + double ajz = (ijz100 - 1.)/9.;//9 = sqrt(100) - 1 with a parabolic curve after jz100 - we can change for others curve ..log...(you must change also in locallabtool2) + double bjz = 1. - ajz; + //relation between adapjz and Absolute luminance source (La), adapjz =sqrt(La) - see locallabtool2 adapjzcie + double interm = jz100 * (adapjz * ajz + bjz); + double bj = (10. - maxi) / 9.; + double aj = maxi -bj; + double to_screen = (aj * interm + bj) / maxi; + //to screen - remapping of Jz in function real scene absolute luminance + +// if (settings->verbose) { +// printf("ajz=%f bjz=%f adapjz=%f jz100=%f interm=%f to-scrp=%f to_screen=%f\n", ajz, bjz, adapjz, jz100, interm ,to_screenp, to_screen); +// } + double to_one = 1.;//only for calculation in range 0..1 or 0..32768 + to_one = 1 / (maxi * to_screen); + if(adapjz == 10.) {//force original algorithm if La > 10000 + to_screen = 1.; + } + if(Qtoj) { + double xxw = (d50_d65[0][0] * (double) Xw + d50_d65[0][1] * (double) Yw + d50_d65[0][2] * (double) Zw); + double yyw = (d50_d65[1][0] * (double) Xw + d50_d65[1][1] * (double) Yw + d50_d65[1][2] * (double) Zw); + double zzw = (d50_d65[2][0] * (double) Xw + d50_d65[2][1] * (double) Yw + d50_d65[2][2] * (double) Zw); + double L_pa, M_pa, S_pa; + Ciecam02::xyz2jzczhz (jzw, azw, bzw, xxw, yyw, zzw, pl, L_pa, M_pa, S_pa, z_cam); + if (settings->verbose) { //calculate Jz white for use of lightness instead brightness + printf("Jzwhite=%f \n", jzw); + } + + } + const std::unique_ptr temp(new LabImage(width, height)); + const std::unique_ptr tempresid(new LabImage(width, height)); + const std::unique_ptr tempres(new LabImage(width, height)); + array2D JJz(width, height); + array2D Aaz(width, height); + array2D Bbz(width, height); + int highhs = params->locallab.spots.at(sp).hljzcie; + int hltonahs = params->locallab.spots.at(sp).hlthjzcie; + int shadhs = params->locallab.spots.at(sp).shjzcie; + int shtonals = params->locallab.spots.at(sp).shthjzcie; + int radhs = params->locallab.spots.at(sp).radjzcie; + float softjz = (float) params->locallab.spots.at(sp).softjzcie; + + avgm = 0.5 * (sum * to_screen * to_one + avgm);//empirical formula + double miny = 0.1; + double delta = 0.015 * (double) sqrt(std::max(100.f, la) / 100.f);//small adaptation in function La scene + double maxy = 0.65;//empirical value + double maxreal = maxi*to_screen; + double maxjzw = jzw*to_screen; + if (settings->verbose) { + printf("La=%4.1f PU_adap=%2.1f maxi=%f mini=%f mean=%f, avgm=%f to_screen=%f Max_real=%f to_one=%f\n", (double) la, adapjz, maxi, mini, sum, avgm, to_screen, maxreal, to_one); + } + + const float sigmoidlambdajz = params->locallab.spots.at(sp).sigmoidldajzcie; + const float sigmoidthjz = params->locallab.spots.at(sp).sigmoidthjzcie; + const float sigmoidbljz = params->locallab.spots.at(sp).sigmoidbljzcie; + + float thjz = 1.f; + const float atjz = 1.f - sigmoidthjz; + const float btjz = sigmoidthjz; + + const float athjz = sigmoidthjz - 1.f; + const float bthjz = 1.f; + float powsig = pow_F(sigmoidlambdajz, 0.5f); + const float sigmjz = 3.3f + 7.1f *(1.f - powsig);// e^10.4 = 32860 + const float bljz = sigmoidbljz; + + double contreal = 0.2 * params->locallab.spots.at(sp).contjzcie; + DiagonalCurve jz_contrast({ + DCT_NURBS, + 0, 0, + avgm - avgm * (0.6 - contreal / 250.0), avgm - avgm * (0.6 + contreal / 250.0), + avgm + (1. - avgm) * (0.6 - contreal / 250.0), avgm + (1. - avgm) * (0.6 + contreal / 250.0), + 1, 1 + }); + //all calculations in double for best results...but slow + double lightreal = 0.2 * params->locallab.spots.at(sp).lightjzcie; + double chromz = params->locallab.spots.at(sp).chromjzcie; + double saturz = params->locallab.spots.at(sp).saturjzcie; + double dhue = 0.0174 * params->locallab.spots.at(sp).huejzcie; + DiagonalCurve jz_light({ + DCT_NURBS, + 0, 0, + miny, miny + lightreal / 150., + maxy, min (1.0, maxy + delta + lightreal / 300.0), + 1, 1 + }); + DiagonalCurve jz_lightn({ + DCT_NURBS, + 0, 0, + max(0.0, miny - lightreal / 150.), miny , + maxy + delta - lightreal / 300.0, maxy + delta, + 1, 1 + }); + bool wavcurvejz = false; + if (locwavCurvejz && locwavutilijz) { + for (int i = 0; i < 500; i++) { + if (locwavCurvejz[i] != 0.5f) { + wavcurvejz = true; + break; + } + } + } + float mjjz = lp.mLjz; + if(wavcurvejz && lp.mLjz == 0.f) { + mjjz = 0.0f;//to enable clarity if need in some cases mjjz = 0.0001f + } + + //log encoding Jz + double gray = 0.15; + /* + const double shadows_range = params->locallab.spots.at(sp).blackEvjz; + const double targetgray = params->locallab.spots.at(sp).targetjz; + double targetgraycor = 0.15; + double dynamic_range = std::max(params->locallab.spots.at(sp).whiteEvjz - shadows_range, 0.5); + const double noise = pow(2., -16.6);//16.6 instead of 16 a little less than others, but we work in double + const double log2 = xlog(2.); + */ + double base = 10.; + double linbase = 10.; + if(logjz) {//with brightness Jz + gray = 0.01 * params->locallab.spots.at(sp).sourceGraycie;//acts as amplifier (gain) : needs same type of modifications than targetgraycor with pow + gray = pow(gray, 1.2);//or 1.15 => modification to increase sensitivity gain, only on defaults, of course we can change this value manually...take into account suuround and Yb Cam16 + targetgraycor = pow(0.01 * targetgray, 1.15);//or 1.2 small reduce effect -> take into account a part of surround (before it was at 1.2) + base = targetgray > 1. && targetgray < 100. && dynamic_range > 0. ? (double) find_gray(std::abs((float) shadows_range) / (float) dynamic_range, (float) (targetgraycor)) : 0.; + linbase = std::max(base, 2.);//2. minimal base log to avoid very bad results + if (settings->verbose) { + printf("Base logarithm encoding Jz=%5.1f\n", linbase); + } + } + + const auto applytojz = + [ = ](double x) -> double { + + x = std::max(x, noise); + x = std::max(x / gray, noise);//gray = gain - before log conversion + x = std::max((xlog(x) / log2 - shadows_range) / dynamic_range, noise);//x in range EV + assert(x == x); + + if (linbase > 0.)//apply log base in function of targetgray blackEvjz and Dynamic Range + { + x = xlog2lin(x, linbase); + } + return x; + }; + +#ifdef _OPENMP + #pragma omp parallel for if(multiThread) +#endif + for (int i = 0; i < height; i++) { + for (int k = 0; k < width; k++) { + float L = lab->L[i][k]; + float a = lab->a[i][k]; + float b = lab->b[i][k]; + float x, y, z; + //convert Lab => XYZ + Color::Lab2XYZ(L, a, b, x, y, z); + x = x / 65535.f; + y = y / 65535.f; + z = z / 65535.f; + double Jz, az, bz;//double need because matrix with const(1.6295499532821566e-11) and others + double xx, yy, zz; + //change WP to D65 + xx = (d50_d65[0][0] * (double) x + d50_d65[0][1] * (double) y + d50_d65[0][2] * (double) z); + yy = (d50_d65[1][0] * (double) x + d50_d65[1][1] * (double) y + d50_d65[1][2] * (double) z); + zz = (d50_d65[2][0] * (double) x + d50_d65[2][1] * (double) y + d50_d65[2][2] * (double) z); + + double L_p, M_p, S_p; + bool zcam = z_cam; + Ciecam02::xyz2jzczhz (Jz, az, bz, xx, yy, zz, pl, L_p, M_p, S_p, zcam); + //remapping Jz + Jz = Jz * to_screen; + az = az * to_screen; + bz = bz * to_screen; + JJz[i][k] = Jz; + Aaz[i][k] = az; + Bbz[i][k] = bz; + if(highhs > 0 || shadhs > 0 || wavcurvejz || mjjz != 0.f || lp.mCjz != 0.f || LHcurvejz || HHcurvejz || CHcurvejz) { + //here we work in float with usual functions SH / wavelets / curves H + temp->L[i][k] = tempresid->L[i][k] = tempres->L[i][k] = (float) to_one * 32768.f * (float) JJz[i][k]; + temp->a[i][k] = tempresid->a[i][k] = tempres->a[i][k] = (float) to_one * 32768.f * (float) Aaz[i][k]; + temp->b[i][k] = tempresid->b[i][k] = tempres->b[i][k] = (float) to_one * 32768.f * (float) Bbz[i][k]; + } + } + } + + if(highhs > 0 || shadhs > 0) { + ImProcFunctions::shadowsHighlights(temp.get(), true, 1, highhs, shadhs, radhs, sk, hltonahs * maxi * to_screen * to_one, shtonals * maxi * to_screen * to_one); +#ifdef _OPENMP + #pragma omp parallel for if(multiThread) +#endif + for (int i = 0; i < height; i++) { + for (int k = 0; k < width; k++) {//reinitialize datas after SH...: guide, etc. + tempresid->L[i][k] = tempres->L[i][k] = temp->L[i][k]; + tempresid->a[i][k] = tempres->a[i][k] = temp->a[i][k]; + tempresid->b[i][k] = tempres->b[i][k] = temp->b[i][k]; + } + } + } + //others "Lab" treatment...to adapt + + if(wavcurvejz || mjjz != 0.f || lp.mCjz != 0.f) {//local contrast wavelet and clarity +#ifdef _OPENMP + const int numThreads = omp_get_max_threads(); +#else + const int numThreads = 1; + +#endif + // adap maximum level wavelet to size of RT-spot + int wavelet_level = 1 + params->locallab.spots.at(sp).csthresholdjz.getBottomRight();//retrieve with +1 maximum wavelet_level + int minwin = rtengine::min(width, height); + int maxlevelspot = 10;//maximum possible + + // adapt maximum level wavelet to size of crop + while ((1 << maxlevelspot) >= (minwin * sk) && maxlevelspot > 1) { + --maxlevelspot ; + } + + + wavelet_level = rtengine::min(wavelet_level, maxlevelspot); + int maxlvl = wavelet_level; + //simple local contrast in function luminance + if (locwavCurvejz && locwavutilijz && wavcurvejz) { + float strengthjz = 1.2; + std::unique_ptr wdspot(new wavelet_decomposition(temp->L[0], bfw, bfh, maxlvl, 1, sk, numThreads, lp.daubLen));//lp.daubLen + if (wdspot->memory_allocation_failed()) { + return; + } + maxlvl = wdspot->maxlevel(); + wavlc(*wdspot, level_bljz, level_hljz, maxlvl, level_hrjz, level_brjz, ahighjz, bhighjz, alowjz, blowjz, sigmalcjz, strengthjz, locwavCurvejz, numThreads); + wdspot->reconstruct(temp->L[0], 1.f); + + } + float thr = 0.001f; + int flag = 2; + + // begin clarity wavelet jz + if(mjjz != 0.f || lp.mCjz != 0.f) { + float mL0 = 0.f; + float mC0 = 0.f; + bool exec = false; + float mL = mjjz; + float mC = lp.mCjz; + clarimerge(lp, mL, mC, exec, tempresid.get(), wavelet_level, sk, numThreads); + + if (maxlvl <= 4) { + mL0 = 0.f; + mC0 = 0.f; + mL = -1.5f * mL;//increase only for sharpen + mC = -mC; + thr = 1.f; + flag = 0; + + } else { + mL0 = mL; + mC0 = mC; + thr = 1.f; + flag = 2; + } + LabImage *mergfile = temp.get(); +#ifdef _OPENMP + #pragma omp parallel for if (multiThread) +#endif + for (int x = 0; x < height; x++) + for (int y = 0; y < width; y++) { + temp->L[x][y] = clipLoc((1.f + mL0) * mergfile->L[x][y] - mL * tempresid->L[x][y]); + temp->a[x][y] = clipC((1.f + mC0) * mergfile->a[x][y] - mC * tempresid->a[x][y]); + temp->b[x][y] = clipC((1.f + mC0) * mergfile->b[x][y] - mC * tempresid->b[x][y]); + } + } + + if (lp.softrjz >= 0.5f && (wavcurvejz || std::fabs(mjjz) > 0.001f)) {//guidedfilter + softproc(tempres.get(), temp.get(), lp.softrjz, height, width, 0.001, 0.00001, thr, sk, multiThread, flag); + } + } + +//new curves Hz +#ifdef _OPENMP + #pragma omp parallel for if (multiThread) +#endif + for (int i = 0; i < height; i++) { + for (int k = 0; k < width; k++) { + float j_z = temp->L[i][k]; + float C_z = sqrt(SQR(temp->a[i][k]) + SQR(temp->b[i][k])); + float c_z = C_z / 32768.f; + if (loclhCurvejz && LHcurvejz) {//Jz=f(Hz) curve + float kcz = (float) jzamountchr; + float Hz = xatan2f (temp->b[i][k], temp->a[i][k]); + float l_r = j_z / 32768.f; + float kcc = SQR(c_z / kcz); + jzch = true; + if(jzch == false) { + kcc = 1.f; + } else if(kcc > 1.f) { + kcc = 1.f; //cbrt(kcc); + } + float valparam = loclhCurvejz[500.f *static_cast(Color::huejz_to_huehsv2((float) Hz))] - 0.5f; + + float valparamneg; + valparamneg = valparam; + valparam *= 2.f * kcc; + valparamneg *= kcc; + if (valparam > 0.f) { + l_r = (1.f - valparam) * l_r + valparam * (1.f - SQR(((SQR(1.f - min(l_r, 1.0f)))))); + } else + //for negative + { + float khue = 1.9f; //in reserve in case of! + l_r *= (1.f + khue * valparamneg); + } + temp->L[i][k] = l_r * 32768.f; + } + + if (locchCurvejz && CHcurvejz) {//Cz=f(Hz) curve + float Hz = xatan2f (temp->b[i][k], temp->a[i][k]); + const float valparam = 1.5f * (locchCurvejz[500.f * static_cast(Color::huejz_to_huehsv2((float)Hz))] - 0.5f); //get valp=f(H) + float chromaCzfactor = 1.0f + valparam; + temp->a[i][k] *= chromaCzfactor; + temp->b[i][k] *= chromaCzfactor; + } + + + if (lochhCurvejz && HHcurvejz) { // Hz=f(Hz) + float Hz = xatan2f (temp->b[i][k], temp->a[i][k]); + const float valparam = 1.4f * (lochhCurvejz[500.f * static_cast(Color::huejz_to_huehsv2((float)Hz))] - 0.5f) + static_cast(Hz); + Hz = valparam; + if ( Hz < 0.0f ) { + Hz += (2.f * rtengine::RT_PI_F); + } + + float2 sincosval = xsincosf(Hz); + temp->a[i][k] = C_z * sincosval.y; + temp->b[i][k] = C_z * sincosval.x; + } + } + } + + if (loclhCurvejz && LHcurvejz && softjz > 0.f) {//Guidedilter for artifacts curve J(H) + float thr = 0.00001f; + int flag = 2; + float softjzr = 0.05f * softjz; + softproc(tempres.get(), temp.get(), softjzr, height, width, 0.000001, 0.00000001, thr, sk, multiThread, flag); + } + + + if ((lochhCurvejz && HHcurvejz) || (locchCurvejz && CHcurvejz)) { //for artifacts curve H(H) + if(softjz > 0.f) { + array2D chro(width, height); + array2D hue(width, height); + array2D guid(width, height); + +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < height; y++) { + for (int x = 0; x < width; x++) { + hue[y][x] = xatan2f(temp->b[y][x], temp->a[y][x]); + chro[y][x] = sqrt(SQR(temp->b[y][x]) + SQR(temp->a[y][x]))/32768.f; + if ( hue[y][x] < 0.0f ) { + hue[y][x] += (2.f * rtengine::RT_PI_F); + } + hue[y][x] /= (2.f * rtengine::RT_PI_F); + guid[y][x] = tempres->L[y][x] / 32768.f; + } + } + float softr = softjz; + const float tmpblur = softr < 0.f ? -1.f / softr : 1.f + softr; + const int r2 = rtengine::max(10 / sk * tmpblur + 0.2f, 1); + const int r1 = rtengine::max(4 / sk * tmpblur + 0.5f, 1); + constexpr float epsilmax = 0.0005f; + constexpr float epsilmin = 0.0000001f; + constexpr float aepsil = (epsilmax - epsilmin) / 100.f; + constexpr float bepsil = epsilmin; + const float epsil = softr < 0.f ? 0.001f : aepsil * softr + bepsil; + if (lochhCurvejz && HHcurvejz) { + rtengine::guidedFilter(guid, hue, hue, r2, 0.5f * epsil, multiThread); + } + if (locchCurvejz && CHcurvejz) { + rtengine::guidedFilter(guid, chro, chro, r1, 0.4f * epsil, multiThread); + } + +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < height; y++) { + for (int x = 0; x < width; x++) { + hue[y][x] *= (2.f * rtengine::RT_PI_F); + chro[y][x] *= 32768.f; + float2 sincosval = xsincosf(hue[y][x]); + temp->a[y][x] = chro[y][x] * sincosval.y; + temp->b[y][x] = chro[y][x] * sincosval.x; + } + } + } + } + + +/////////////////// + + +#ifdef _OPENMP + #pragma omp parallel for if(multiThread) +#endif + for (int i = 0; i < height; i++) { + for (int k = 0; k < width; k++) { + //reconvert to double + if(highhs > 0 || shadhs > 0 || wavcurvejz || mjjz != 0.f || lp.mCjz != 0.f || LHcurvejz || HHcurvejz || CHcurvejz) { + //now we work in double necessary for matrix conversion and when in range 0..1 with use of PQ + JJz[i][k] = (double) (temp->L[i][k] / (32768.f * (float) to_one)); + Aaz[i][k] = (double) (temp->a[i][k] / (32768.f * (float) to_one)); + Bbz[i][k] = (double) (temp->b[i][k] / (32768.f * (float) to_one)); + } + + double az = Aaz[i][k]; + double bz = Bbz[i][k]; + double Jz = LIM01(JJz[i][k]); + Jz *= to_one; + double Cz = sqrt(az * az + bz * bz); + //log encoding + if(logjz) { + double jmz = Jz; + if (jmz > noise) { + double mm = applytojz(jmz); + double f = mm / jmz; + Jz *= f; + //Cz *= f; + Jz = LIM01(Jz);//clip values + //Cz = clipcz(Cz); + } + } + //sigmoid + if(issigjz && iscie) {//sigmoid Jz + float val = Jz; + if(islogjz) { + val = std::max((xlog(Jz) / log2 - shadows_range) / (dynamic_range + 1.5), noise);//in range EV + } + if(sigmoidthjz >= 1.f) { + thjz = athjz * val + bthjz;//threshold + } else { + thjz = atjz * val + btjz; + } + sigmoidla (val, thjz, sigmjz);//sigmz "slope" of sigmoid + + + Jz = LIM01((double) bljz * Jz + (double) val); + } + + if(Qtoj == true) {//lightness instead of brightness + Jz /= to_one; + Jz /= maxjzw;//Jz white + Jz = SQR(Jz); + } + //contrast + Jz= LIM01(jz_contrast.getVal(LIM01(Jz))); + //brightness and lightness + if(lightreal > 0) { + Jz = LIM01(jz_light.getVal(Jz)); + } + if(lightreal < 0) { + Jz = LIM01(jz_lightn.getVal(Jz)); + } + //Jz (Jz) curve + double Jzold = Jz; + if(jzlocalcurve && localjzutili) { + Jz = (double) (jzlocalcurve[(float) Jz * 65535.f] / 65535.f); + Jz = 0.3 * (Jz - Jzold) + Jzold; + } + //reconvert from lightness or Brightness + if(Qtoj == false) { + Jz /= to_one; + } else { + Jz = sqrt(Jz); + Jz *= maxjzw; + } + + double Hz; + //remapping Cz + Hz = xatan2 ( bz, az ); + double Czold = Cz; + //Cz(Cz) curve + if(czlocalcurve && localczutili) { + Cz = (double) (czlocalcurve[(float) Cz * 92666.f * (float) to_one] / (92666.f * (float) to_one)); + Cz = 0.5 * (Cz - Czold) + Czold; + } + //Cz(Jz) curve + if(czjzlocalcurve && localczjzutili) { + double chromaCfactor = (double) (czjzlocalcurve[(float) Jz * 65535.f * (float) to_one]) / (Jz * 65535. * to_one); + Cz *= chromaCfactor; + } + //Hz in 0 2*PI + if ( Hz < 0.0 ) { + Hz += (2. * rtengine::RT_PI); + } + //Chroma slider + if(chromz < 0.) { + Cz = Cz * (1. + 0.01 * chromz); + } else { + double maxcz = czlim / to_one; + double fcz = Cz / maxcz; + double pocz = pow(fcz , 1. - 0.0024 * chromz);//increase value - before 0.0017 + Cz = maxcz * pocz; + // Cz = Cz * (1. + 0.005 * chromz);//linear + } + //saturation slider + if(saturz != 0.) { + double js = Jz/ maxjzw;//divide by Jz white + js = SQR(js); + if(js <= 0.) { + js = 0.0000001; + } + double Sz = Cz / (js); + if(saturz < 0.) { + Sz = Sz * (1. + 0.01 * saturz); + } else { + Sz = Sz * (1. + 0.003 * saturz);//not pow function because Sz is "open" - 0.003 empirical value to have results comparable to Cz + } + Cz = Sz * js; + } + + //rotation hue + Hz += dhue; + if ( Hz < 0.0 ) { + Hz += (2. * rtengine::RT_PI); + } + Cz = clipcz(Cz); + double2 sincosval = xsincos(Hz); + az = clipazbz(Cz * sincosval.y); + bz = clipazbz(Cz * sincosval.x); + Cz = sqrt(az * az + bz * bz); + + + bz = bz / (to_screen); + az = az / (to_screen); + + Jz = LIM01(Jz / (to_screen)); + if(jabcie) {//Not used does not work at all + Jz = clipjz05(Jz); + gamutjz (Jz, az, bz, pl, wip, 0.94, 0.004); + } + + double L_, M_, S_; + double xx, yy, zz; + bool zcam = z_cam; + //reconvert to XYZ in double + Ciecam02::jzczhzxyz (xx, yy, zz, Jz, az, bz, pl, L_, M_, S_, zcam); + //re enable D50 + double x, y, z; + x = 65535. * (d65_d50[0][0] * xx + d65_d50[0][1] * yy + d65_d50[0][2] * zz); + y = 65535. * (d65_d50[1][0] * xx + d65_d50[1][1] * yy + d65_d50[1][2] * zz); + z = 65535. * (d65_d50[2][0] * xx + d65_d50[2][1] * yy + d65_d50[2][2] * zz); + + float Ll, aa, bb; + Color::XYZ2Lab(x, y, z, Ll, aa, bb); + lab->L[i][k] = Ll; + lab->a[i][k] = aa; + lab->b[i][k] = bb; + } + } + } + +if(mocam == 0 || mocam == 1 || call == 1 || call == 2 || call == 10) {//call=2 vibrance warm-cool - call = 10 take into account "mean luminance Yb for Jz +//begin ciecam + if (settings->verbose && (mocam == 0 || mocam == 1 || call == 1)) {//display only if choice cam16 + //information on Cam16 scene conditions - allows user to see choices's incidences + float maxicam = -1000.f; + float maxicamq = -1000.f; + float maxisat = -1000.f; + float maxiM = -1000.f; + float minicam = 1000000.f; + float minicamq = 1000000.f; + float minisat = 1000000.f; + float miniM = 1000000.f; + int nccam = 0; + float sumcam = 0.f; + float sumcamq = 0.f; + float sumsat = 0.f; + float sumM = 0.f; + if(lp.logena && !(params->locallab.spots.at(sp).expcie && mocam == 1)) {//Log encoding only, but enable for log encoding if we use Cam16 module both with log encoding + plum = 100.f; + } + + + +#ifdef _OPENMP + #pragma omp parallel for reduction(min:minicam) reduction(max:maxicam) reduction(min:minicamq) reduction(max:maxicamq) reduction(min:minisat) reduction(max:maxisat) reduction(min:miniM) reduction(max:maxiM) reduction(+:sumcam) reduction(+:sumcamq) reduction(+:sumsat) reduction(+:sumM)if(multiThread) +#endif + for (int i = 0; i < height; i+=1) { + for (int k = 0; k < width; k+=1) { + float L = lab->L[i][k]; + float a = lab->a[i][k]; + float b = lab->b[i][k]; + float x, y, z; + //convert Lab => XYZ + Color::Lab2XYZ(L, a, b, x, y, z); + x = x / 655.35f; + y = y / 655.35f; + z = z / 655.35f; + float J, C, h, Q, M, s; + Ciecam02::xyz2jchqms_ciecam02float(J, C, h, Q, M, s, aw, fl, wh, x, y, z, xw1, yw1, zw1, - c, nc, pow1, nbb, ncb, pfl, cz, d, c16); - Jbuffer[k] = J; - Cbuffer[k] = C; - hbuffer[k] = h; - Qbuffer[k] = Q; - Mbuffer[k] = M; - sbuffer[k] = s; + c, nc, pow1, nbb, ncb, pfl, cz, d, c16, plum); + if(J > maxicam) { + maxicam = J; + } + if(J < minicam) { + minicam = J; + } + sumcam += J; + + if(Q > maxicamq) { + maxicamq = Q; + } + if(Q < minicamq) { + minicamq = Q; + } + sumcamq += Q; + + if(s > maxisat) { + maxisat = s; + } + if(s < minisat) { + minisat = s; + } + sumsat += s; + + if(M > maxiM) { + maxiM = M; + } + if(M < miniM) { + miniM = M; + } + sumM += M; + } + } + nccam = height * width; + sumcam = sumcam / nccam; + sumcamq /= nccam; + sumsat /= nccam; + sumM /= nccam; + + printf("Cam16 Scene Lighness_J Brightness_Q- HDR-PQ=%5.1f minJ=%3.1f maxJ=%3.1f meanJ=%3.1f minQ=%3.1f maxQ=%4.1f meanQ=%4.1f\n", (double) plum, (double) minicam, (double) maxicam, (double) sumcam, (double) minicamq, (double) maxicamq, (double) sumcamq); + printf("Cam16 Scene Saturati-s Colorfulln_M- minSat=%3.1f maxSat=%3.1f meanSat=%3.1f minM=%3.1f maxM=%3.1f meanM=%3.1f\n", (double) minisat, (double) maxisat, (double) sumsat, (double) miniM, (double) maxiM, (double) sumM); +} + + float base = 10.; + float linbase = 10.; + float gray = 15.; + if(islogq) {//with brightness Jz + gray = 0.01f * (float) params->locallab.spots.at(sp).sourceGraycie; + gray = pow_F(gray, 1.2f);//or 1.15 => modification to increase sensitivity gain, only on defaults, of course we can change this value manually...take into account suuround and Yb Cam16 + const float targetgraycie = params->locallab.spots.at(sp).targetGraycie; + float targetgraycor = pow_F(0.01f * targetgraycie, 1.15f); + base = targetgraycie > 1.f && targetgraycie < 100.f && (float) dynamic_range > 0.f ? find_gray(std::abs((float) shadows_range) / (float) dynamic_range,(targetgraycor)) : 0.f; + linbase = std::max(base, 2.f);//2. minimal base log to avoid very bad results + if (settings->verbose) { + printf("Base logarithm encoding Q=%5.1f\n", (double) linbase); + } + } + + const auto applytoq = + [ = ](float x) -> float { + + x = rtengine::max(x, (float) noise); + x = rtengine::max(x / gray, (float) noise);//gray = gain - before log conversion + x = rtengine::max((xlogf(x) / log2f - (float) shadows_range) / (float) dynamic_range, (float) noise);//x in range EV + assert(x == x); + + if (linbase > 0.f)//apply log base in function of targetgray blackEvjz and Dynamic Range + { + x = xlog2lin(x, linbase); + } + return x; + }; + + + +//Ciecam "old" code not change except sigmoid added +#ifdef __SSE2__ + int bufferLength = ((width + 3) / 4) * 4; // bufferLength has to be a multiple of 4 +#endif +#ifdef _OPENMP + #pragma omp parallel if (multiThread) +#endif + { +#ifdef __SSE2__ + // one line buffer per channel and thread + float Jbuffer[bufferLength] ALIGNED16; + float Cbuffer[bufferLength] ALIGNED16; + float hbuffer[bufferLength] ALIGNED16; + float Qbuffer[bufferLength] ALIGNED16; + float Mbuffer[bufferLength] ALIGNED16; + float sbuffer[bufferLength] ALIGNED16; +#endif +#ifdef _OPENMP + #pragma omp for schedule(dynamic, 16) +#endif + for (int i = 0; i < height; i++) { +#ifdef __SSE2__ + // vectorized conversion from Lab to jchqms + int k; + vfloat c655d35 = F2V(655.35f); + + for (k = 0; k < width - 3; k += 4) { + vfloat x, y, z; + Color::Lab2XYZ(LVFU(lab->L[i][k]), LVFU(lab->a[i][k]), LVFU(lab->b[i][k]), x, y, z); + x = x / c655d35; + y = y / c655d35; + z = z / c655d35; + vfloat J, C, h, Q, M, s; + Ciecam02::xyz2jchqms_ciecam02float(J, C, h, + Q, M, s, F2V(aw), F2V(fl), F2V(wh), + x, y, z, + F2V(xw1), F2V(yw1), F2V(zw1), + F2V(c), F2V(nc), F2V(pow1), F2V(nbb), F2V(ncb), F2V(pfl), F2V(cz), F2V(d), c16, F2V(plum)); + STVF(Jbuffer[k], J); + STVF(Cbuffer[k], C); + STVF(hbuffer[k], h); + STVF(Qbuffer[k], Q); + STVF(Mbuffer[k], M); + STVF(sbuffer[k], s); + } + + for (; k < width; k++) { + float L = lab->L[i][k]; + float a = lab->a[i][k]; + float b = lab->b[i][k]; + float x, y, z; + //convert Lab => XYZ + Color::Lab2XYZ(L, a, b, x, y, z); + x = x / 655.35f; + y = y / 655.35f; + z = z / 655.35f; + float J, C, h, Q, M, s; + Ciecam02::xyz2jchqms_ciecam02float(J, C, h, + Q, M, s, aw, fl, wh, + x, y, z, + xw1, yw1, zw1, + c, nc, pow1, nbb, ncb, pfl, cz, d, c16, plum); + Jbuffer[k] = J; + Cbuffer[k] = C; + hbuffer[k] = h; + Qbuffer[k] = Q; + Mbuffer[k] = M; + sbuffer[k] = s; + } #endif // __SSE2__ - for (int j = 0; j < width; j++) { - float J, C, h, Q, M, s; + for (int j = 0; j < width; j++) { + float J, C, h, Q, M, s; #ifdef __SSE2__ // use precomputed values from above - J = Jbuffer[j]; - C = Cbuffer[j]; - h = hbuffer[j]; - Q = Qbuffer[j]; - M = Mbuffer[j]; - s = sbuffer[j]; + J = Jbuffer[j]; + C = Cbuffer[j]; + h = hbuffer[j]; + Q = Qbuffer[j]; + M = Mbuffer[j]; + s = sbuffer[j]; #else - float x, y, z; - float L = lab->L[i][j]; - float a = lab->a[i][j]; - float b = lab->b[i][j]; - float x1, y1, z1; - //convert Lab => XYZ - Color::Lab2XYZ(L, a, b, x1, y1, z1); - x = x1 / 655.35f; - y = y1 / 655.35f; - z = z1 / 655.35f; - //process source==> normal - Ciecam02::xyz2jchqms_ciecam02float(J, C, h, + float x, y, z; + float L = lab->L[i][j]; + float a = lab->a[i][j]; + float b = lab->b[i][j]; + float x1, y1, z1; + //convert Lab => XYZ + Color::Lab2XYZ(L, a, b, x1, y1, z1); + x = x1 / 655.35f; + y = y1 / 655.35f; + z = z1 / 655.35f; + //process source==> normal + Ciecam02::xyz2jchqms_ciecam02float(J, C, h, Q, M, s, aw, fl, wh, x, y, z, xw1, yw1, zw1, - c, nc, pow1, nbb, ncb, pfl, cz, d, c16); + c, nc, pow1, nbb, ncb, pfl, cz, d, c16, plum); #endif - float Jpro, Cpro, hpro, Qpro, Mpro, spro; - Jpro = J; - Cpro = C; - hpro = h; - Qpro = Q; - Mpro = M; - spro = s; - /* - */ - if(ciec) { - Qpro = CAMBrightCurveQ[(float)(Qpro * coefQ)] / coefQ; //brightness and contrast - float rstprotection = 50.f;//default value to avoid 1 slider - float chr = 0.f;//no use of chroma - float Mp, sres; - Mp = Mpro / 100.0f; - Ciecam02::curvecolorfloat(mchr, Mp, sres, 2.5f); - float dred = 100.f; //in C mode - float protect_red = 80.0f; // in C mode - dred *= coe; //in M mode - protect_red *= coe; //M mode - Color::skinredfloat(Jpro, hpro, sres, Mp, dred, protect_red, 0, rstprotection, 100.f, Mpro); - Jpro = SQR((10.f * Qpro) / wh); - Qpro = (Qpro == 0.f ? epsil : Qpro); // avoid division by zero - spro = 100.0f * sqrtf(Mpro / Qpro); + float Jpro, Cpro, hpro, Qpro, Mpro, spro; + Jpro = J; + Cpro = C; + hpro = h; + Qpro = Q; + Mpro = M; + spro = s; + /* + */ + if(ciec) { + bool jp = false; + if ((cielocalcurve && localcieutili) && mecamcurve == 1) { + jp = true; + float Qq = Qpro * coefQ; + float Qold = Qpro; + Qq = 0.5f * cielocalcurve[Qq * 2.f]; + Qq = Qq / coefQ; + Qpro = 0.2f * (Qq - Qold) + Qold; + if(jp) { + Jpro = SQR((10.f * Qpro) / wh); + } + } - if (Jpro > 99.9f) { - Jpro = 99.9f; + Qpro = CAMBrightCurveQ[(float)(Qpro * coefQ)] / coefQ; //brightness and contrast + + if(islogq && issigq) { + float val = Qpro * coefq;; + if (val > (float) noise) { + float mm = applytoq(val); + float f = mm / val; + Qpro *= f; + } + } + + + if(issigq && iscie && !islogq) {//sigmoid Q only with ciecam module + float val = Qpro * coefq; + if(sigmoidqj == true) { + val = std::max((xlog(val) / log2 - shadows_range) / (dynamic_range + 1.5), noise);//in range EV + } + if(sigmoidth >= 1.f) { + th = ath * val + bth; + } else { + th = at * val + bt; + } + sigmoidla (val, th, sigm); + float bl2 = 1.f; + Qpro = std::max(bl * Qpro + bl2 * val / coefq, 0.f); + } + + + float Mp, sres; + Mp = Mpro / 100.0f; + Ciecam02::curvecolorfloat(mchr, Mp, sres, 2.5f); + float dred = 100.f; //in C mode + float protect_red = 80.0f; // in C mode + dred *= coe; //in M mode + protect_red *= coe; //M mode + Color::skinredfloat(Jpro, hpro, sres, Mp, dred, protect_red, 0, rstprotection, 100.f, Mpro); + Jpro = SQR((10.f * Qpro) / wh); + Qpro = (Qpro == 0.f ? epsil : Qpro); // avoid division by zero + spro = 100.0f * sqrtf(Mpro / Qpro); + + if (Jpro > 99.9f) { + Jpro = 99.9f; + } + + Jpro = CAMBrightCurveJ[(float)(Jpro * 327.68f)]; //lightness CIECAM02 + contrast + float Sp = spro / 100.0f; + Ciecam02::curvecolorfloat(schr, Sp, sres, 1.5f); + dred = 100.f; // in C mode + protect_red = 80.0f; // in C mode + dred = 100.0f * sqrtf((dred * coe) / Q); + protect_red = 100.0f * sqrtf((protect_red * coe) / Q); + Color::skinredfloat(Jpro, hpro, sres, Sp, dred, protect_red, 0, rstprotection, 100.f, spro); + Qpro = QproFactor * sqrtf(Jpro); + float Cp = (spro * spro * Qpro) / (1000000.f); + Cpro = Cp * 100.f; + Ciecam02::curvecolorfloat(cchr, Cp, sres, 1.8f); + Color::skinredfloat(Jpro, hpro, sres, Cp, 55.f, 30.f, 1, rstprotection, 100.f, Cpro); + + hpro = hpro + hue; + + if (hpro < 0.0f) { + hpro += 360.0f; //hue + } + + if ((cielocalcurve && localcieutili) && mecamcurve == 0) { + float Jj = (float) Jpro * 327.68f; + float Jold = Jj; + Jj = 0.5f * cielocalcurve[Jj * 2.f]; + Jj = 0.3f * (Jj - Jold) + Jold; //divide sensibility + Jpro = (float)(Jj / 327.68f); + + if (Jpro < 1.f) { + Jpro = 1.f; + } + } + if (cielocalcurve2 && localcieutili2) { + if(mecamcurve2 == 0) { + float parsat = 0.8f; //0.68; + float coef = 327.68f / parsat; + float Cc = (float) Cpro * coef; + float Ccold = Cc; + Cc = 0.5f * cielocalcurve2[Cc * 2.f]; + float dred = 55.f; + float protect_red = 30.0f; + int sk1 = 1; + float ko = 1.f / coef; + Color::skinredfloat(Jpro, hpro, Cc, Ccold, dred, protect_red, sk1, rstprotection, ko, Cpro); + } else if (mecamcurve2 == 1) { + float parsat = 0.8f; //0.6 + float coef = 327.68f / parsat; + float Ss = (float) spro * coef; + float Sold = Ss; + Ss = 0.5f * cielocalcurve2[Ss * 2.f]; + Ss = 0.6f * (Ss - Sold) + Sold; //divide sensibility saturation + float dred = 100.f; // in C mode + float protect_red = 80.0f; // in C mode + dred = 100.0f * sqrtf((dred * coe) / Qpro); + protect_red = 100.0f * sqrtf((protect_red * coe) / Qpro); + float ko = 1.f / coef; + Color::skinredfloat(Jpro, hpro, Ss, Sold, dred, protect_red, 0, rstprotection, ko, spro); + Qpro = (4.0f / c) * sqrtf(Jpro / 100.0f) * (aw + 4.0f) ; + Cpro = (spro * spro * Qpro) / (10000.0f); + } else if (mecamcurve2 == 2) { + float parsat = 0.8f; //0.68; + float coef = 327.68f / parsat; + float Mm = (float) Mpro * coef; + float Mold = Mm; + Mm = 0.5f * cielocalcurve2[Mm * 2.f]; + float dred = 100.f; //in C mode + float protect_red = 80.0f; // in C mode + dred *= coe; //in M mode + protect_red *= coe; + float ko = 1.f / coef; + Color::skinredfloat(Jpro, hpro, Mm, Mold, dred, protect_red, 0, rstprotection, ko, Mpro); + Cpro = Mpro / coe; + } + } + } - Jpro = CAMBrightCurveJ[(float)(Jpro * 327.68f)]; //lightness CIECAM02 + contrast - float Sp = spro / 100.0f; - Ciecam02::curvecolorfloat(schr, Sp, sres, 1.5f); - dred = 100.f; // in C mode - protect_red = 80.0f; // in C mode - dred = 100.0f * sqrtf((dred * coe) / Q); - protect_red = 100.0f * sqrtf((protect_red * coe) / Q); - Color::skinredfloat(Jpro, hpro, sres, Sp, dred, protect_red, 0, rstprotection, 100.f, spro); - Qpro = QproFactor * sqrtf(Jpro); - float Cp = (spro * spro * Qpro) / (1000000.f); - Cpro = Cp * 100.f; - Ciecam02::curvecolorfloat(chr, Cp, sres, 1.8f); - Color::skinredfloat(Jpro, hpro, sres, Cp, 55.f, 30.f, 1, rstprotection, 100.f, Cpro); - } - - //retrieve values C,J...s - C = Cpro; - J = Jpro; - Q = Qpro; - M = Mpro; - h = hpro; - s = spro; + //retrieve values C,J...s + C = Cpro; + J = Jpro; + Q = Qpro; + M = Mpro; + h = hpro; + s = spro; #ifdef __SSE2__ - // write to line buffers - Jbuffer[j] = J; - Cbuffer[j] = C; - hbuffer[j] = h; + // write to line buffers + Jbuffer[j] = J; + Cbuffer[j] = C; + hbuffer[j] = h; #else - float xx, yy, zz; - //process normal==> viewing + float xx, yy, zz; + //process normal==> viewing - Ciecam02::jch2xyz_ciecam02float(xx, yy, zz, + Ciecam02::jch2xyz_ciecam02float(xx, yy, zz, J, C, h, xw2, yw2, zw2, - c2, nc2, pow1n, nbbj, ncbj, flj, czj, dj, awj, c16); - x = xx * 655.35f; - y = yy * 655.35f; - z = zz * 655.35f; - float Ll, aa, bb; - //convert xyz=>lab - Color::XYZ2Lab(x, y, z, Ll, aa, bb); - lab->L[i][j] = Ll; - lab->a[i][j] = aa; - lab->b[i][j] = bb; + c2, nc2, pow1n, nbbj, ncbj, flj, czj, dj, awj, c16, plum); + x = CLIP(xx * 655.35f); + y = CLIP(yy * 655.35f); + z = CLIP(zz * 655.35f); + float Ll, aa, bb; + //convert xyz=>lab + Color::XYZ2Lab(x, y, z, Ll, aa, bb); + lab->L[i][j] = Ll; + lab->a[i][j] = aa; + lab->b[i][j] = bb; #endif - } + } #ifdef __SSE2__ - // process line buffers - float *xbuffer = Qbuffer; - float *ybuffer = Mbuffer; - float *zbuffer = sbuffer; + // process line buffers + float *xbuffer = Qbuffer; + float *ybuffer = Mbuffer; + float *zbuffer = sbuffer; - for (k = 0; k < bufferLength; k += 4) { - vfloat x, y, z; - Ciecam02::jch2xyz_ciecam02float(x, y, z, + for (k = 0; k < bufferLength; k += 4) { + vfloat x, y, z; + Ciecam02::jch2xyz_ciecam02float(x, y, z, LVF(Jbuffer[k]), LVF(Cbuffer[k]), LVF(hbuffer[k]), F2V(xw2), F2V(yw2), F2V(zw2), - F2V(nc2), F2V(pow1n), F2V(nbbj), F2V(ncbj), F2V(flj), F2V(dj), F2V(awj), F2V(reccmcz), c16); - STVF(xbuffer[k], x * c655d35); - STVF(ybuffer[k], y * c655d35); - STVF(zbuffer[k], z * c655d35); - } + F2V(nc2), F2V(pow1n), F2V(nbbj), F2V(ncbj), F2V(flj), F2V(dj), F2V(awj), F2V(reccmcz), c16, F2V(plum)); + STVF(xbuffer[k], x * c655d35); + STVF(ybuffer[k], y * c655d35); + STVF(zbuffer[k], z * c655d35); + } - // XYZ2Lab uses a lookup table. The function behind that lut is a cube root. - // SSE can't beat the speed of that lut, so it doesn't make sense to use SSE - for (int j = 0; j < width; j++) { - float Ll, aa, bb; - //convert xyz=>lab - Color::XYZ2Lab(xbuffer[j], ybuffer[j], zbuffer[j], Ll, aa, bb); + // XYZ2Lab uses a lookup table. The function behind that lut is a cube root. + // SSE can't beat the speed of that lut, so it doesn't make sense to use SSE + for (int j = 0; j < width; j++) { + float Ll, aa, bb; + //convert xyz=>lab + xbuffer[j] = CLIP(xbuffer[j]); + ybuffer[j] = CLIP(ybuffer[j]); + zbuffer[j] = CLIP(zbuffer[j]); + + Color::XYZ2Lab(xbuffer[j], ybuffer[j], zbuffer[j], Ll, aa, bb); - lab->L[i][j] = Ll; - lab->a[i][j] = aa; - lab->b[i][j] = bb; - } + lab->L[i][j] = Ll; + lab->a[i][j] = aa; + lab->b[i][j] = bb; + } #endif - } + } + } } + +if(mocam == 3) {//Zcam not use but keep in case off +/* + double miniiz = 1000.; + double maxiiz = -1000.; + double sumiz = 0.; + int nciz = 0; + double epsilzcam = 0.0001; + double atten = 2700.; + double epsilzcam2 = 1.; + if(mocam == 3) {//Zcam + double pl = params->locallab.spots.at(sp).pqremap; +//calculate min, max, mean for Jz +#ifdef _OPENMP + #pragma omp parallel for reduction(min:miniiz) reduction(max:maxiiz) reduction(+:sumiz) if(multiThread) +#endif + for (int i = 0; i < height; i+=1) { + for (int k = 0; k < width; k+=1) { + float L = lab->L[i][k]; + float a = lab->a[i][k]; + float b = lab->b[i][k]; + float x, y, z; + //convert Lab => XYZ + Color::Lab2XYZ(L, a, b, x, y, z); + x = x / 65535.f; + y = y / 65535.f; + z = z / 65535.f; + double Jz, az, bz; + double xx, yy, zz; + //D50 ==> D65 + xx = (d50_d65[0][0] * (double) x + d50_d65[0][1] * (double) y + d50_d65[0][2] * (double) z); + yy = (d50_d65[1][0] * (double) x + d50_d65[1][1] * (double) y + d50_d65[1][2] * (double) z); + zz = (d50_d65[2][0] * (double) x + d50_d65[2][1] * (double) y + d50_d65[2][2] * (double) z); + xx = LIM01(xx); + yy = LIM01(yy); + zz = LIM01(zz); + + double L_p, M_p, S_p; + bool zcam = true; + Ciecam02::xyz2jzczhz (Jz, az, bz, xx, yy, zz, pl, L_p, M_p, S_p, zcam); + if(Jz > maxiiz) { + maxiiz = Jz; + } + if(Jz < miniiz) { + miniiz = Jz; + } + + sumiz += Jz; + + } + } + nciz = height * width; + sumiz = sumiz / nciz; + sumiz += epsilzcam; + maxiiz += epsilzcam; + if (settings->verbose) { + printf("Zcam miniiz=%f maxiiz=%f meaniz=%f\n", miniiz, maxiiz, sumiz); + } + } + double avgmz = sumiz; + //calculate various parameter for Zcam - those with ** come from documentation Zcam + // ZCAM, a colour appearance model based on a high dynamic range uniform colour space + //Muhammad Safdar, Jon Yngve Hardeberg, and Ming Ronnier Luo + // https://www.osapublishing.org/oe/fulltext.cfm?uri=oe-29-4-6036&id=447640#e12 + double L_p, M_p, S_p; + double jzw, azw, bzw; + bool zcam = true; + double plz = params->locallab.spots.at(sp).pqremap;// to test or change to 10000 +// double po = 0.1 + params->locallab.spots.at(sp).contthreszcam; + float fb_source = sqrt(yb / 100.f); + float fb_dest = sqrt(yb2 / 100.f); + double flz = 0.171 * pow(la, 0.3333333)*(1. - exp(-(48. * (double) la / 9.))); + double fljz = 0.171 * pow(la2, 0.3333333)*(1. - exp(-(48. * (double) la2 / 9.))); + double cpow = 2.2;//empirical + double cpp = pow( (double) c, 0.5);//empirical + double cpp2 = pow( (double) c2, 0.5);//empirical + double pfl = pow(flz, 0.25); + double cmul_source = 1.26;//empirical + double cmul_source_ch = 1.1;//empirical + double achro_source = pow((double) c, cpow)*(pow((double) flz, - 0.004)* (double) sqrt(fb_source));//I think there is an error in formula documentation step 5 - all parameters are inversed or wrong + double achro_dest = pow((double) c2, cpow)*(pow((double) fljz, - 0.004) * (double) sqrt(fb_dest)); + double kk_source = (1.6 * (double) cpp) / pow((double) fb_source, 0.12); + double ikk_dest = pow((double) fb_dest, 0.12) /(1.6 * (double) cpp2); + Ciecam02::xyz2jzczhz (jzw, azw, bzw, Xw, Yw, Zw, plz, L_p, M_p, S_p, zcam); + double eff = 1.; + double kap = 2.7; + if(maxiiz > (kap * sumiz)) { + kap = 1.7; + } + double qzw = cmul_source * atten * pow(jzw, (double) kk_source) / achro_source;//I think there is an error in formula documentation step 5 - all parameters are inversed + double maxforq = kap * sumiz * eff + epsilzcam2; + if(maxforq > maxiiz) { + maxforq = maxiiz; + } else { + maxforq = 0.9 * maxforq + 0.1 * maxiiz; + } + double qzmax = cmul_source * atten * pow(maxforq, (double) kk_source) / achro_source; + double izw = jzw; + double coefm = pow(flz, 0.2) / (pow((double) fb_source, 0.1) * pow(izw, 0.78)); + if (settings->verbose) { + printf("qzw=%f PL=%f qzmax=%f\n", qzw, plz, qzmax);//huge change with PQ peak luminance + } + array2D Iiz(width, height); + array2D Aaz(width, height); + array2D Bbz(width, height); + +//curve to replace LUT , LUT leads to crash... + double contqz = 0.5 * params->locallab.spots.at(sp).contqzcam; + DiagonalCurve qz_contrast({ + DCT_NURBS, + 0, 0, + avgmz - avgmz * (0.6 - contqz / 250.0), avgmz - avgmz * (0.6 + contqz / 250.0), + avgmz + (1. - avgmz) * (0.6 - contqz / 250.0), avgmz + (1. - avgmz) * (0.6 + contqz / 250.0), + 1, 1 + }); + double contlz = 0.6 * params->locallab.spots.at(sp).contlzcam; + DiagonalCurve ljz_contrast({ + DCT_NURBS, + 0, 0, + avgmz - avgmz * (0.6 - contlz / 250.0), avgmz - avgmz * (0.6 + contlz / 250.0), + avgmz + (1. - avgmz) * (0.6 - contlz / 250.0), avgmz + (1. - avgmz) * (0.6 + contlz / 250.0), + 1, 1 + }); + + //all calculations in double for best results...but slow + double lqz = 0.4 * params->locallab.spots.at(sp).lightqzcam; + if(params->locallab.spots.at(sp).lightqzcam < 0) { + lqz = 0.2 * params->locallab.spots.at(sp).lightqzcam; //0.4 less effect, no need 1. + } + DiagonalCurve qz_light({ + DCT_NURBS, + 0, 0, + 0.1, 0.1 + lqz / 150., + 0.7, min (1.0, 0.7 + lqz / 300.0), + 1, 1 + }); + DiagonalCurve qz_lightn({ + DCT_NURBS, + 0, 0, + max(0.0, 0.1 - lqz / 150.), 0.1 , + 0.7 - lqz / 300.0, 0.7, + 1, 1 + }); + double ljz = 0.4 * params->locallab.spots.at(sp).lightlzcam; + if(params->locallab.spots.at(sp).lightlzcam < 0) { + ljz = 0.2 * params->locallab.spots.at(sp).lightlzcam; + } + DiagonalCurve ljz_light({ + DCT_NURBS, + 0, 0, + 0.1, 0.1 + ljz / 150., + 0.7, min (1.0, 0.7 + ljz / 300.0), + 1, 1 + }); + DiagonalCurve ljz_lightn({ + DCT_NURBS, + 0, 0, + max(0.0, 0.1 - ljz / 150.), 0.1 , + 0.7 - ljz / 300.0, 0.7, + 1, 1 + }); + +#ifdef _OPENMP + #pragma omp parallel for if(multiThread) +#endif + for (int i = 0; i < height; i++) { + for (int k = 0; k < width; k++) { + float L = lab->L[i][k]; + float a = lab->a[i][k]; + float b = lab->b[i][k]; + float x, y, z; + //convert Lab => XYZ + Color::Lab2XYZ(L, a, b, x, y, z); + x = x / 65535.f; + y = y / 65535.f; + z = z / 65535.f; + double iz, az, bz; + double xx, yy, zz; + //change WP to D65 + xx = (d50_d65[0][0] * (double) x + d50_d65[0][1] * (double) y + d50_d65[0][2] * (double) z); + yy = (d50_d65[1][0] * (double) x + d50_d65[1][1] * (double) y + d50_d65[1][2] * (double) z); + zz = (d50_d65[2][0] * (double) x + d50_d65[2][1] * (double) y + d50_d65[2][2] * (double) z); + double L_p, M_p, S_p; + bool zcam = true; + Ciecam02::xyz2jzczhz (iz, az, bz, xx, yy, zz, plz, L_p, M_p, S_p, zcam); + Iiz[i][k] = LIM01(iz); + Aaz[i][k] = clipazbz(az); + Bbz[i][k] = clipazbz(bz); + } + } +#ifdef _OPENMP + #pragma omp parallel for if(multiThread) +#endif + for (int i = 0; i < height; i++) { + for (int k = 0; k < width; k++) { + + double az = Aaz[i][k]; + double bz = Bbz[i][k]; + double iz = Iiz[i][k]; + if(iz > kap * sumiz) { + iz = kap * sumiz * eff; + } + float coefqz = (float) qzmax; + float coefjz = 100.f ; + double qz = cmul_source * atten * pow(iz, (double) kk_source) / achro_source;//partial + az *= cmul_source_ch; + bz *= cmul_source_ch; + + qz= (double) coefqz * LIM01(qz_contrast.getVal((float)qz / coefqz)); + + if(lqz > 0) { + qz = (double) coefqz * LIM01(qz_light.getVal((float)qz / coefqz)); + } + if(lqz < 0) { + qz = (double) coefqz * LIM01(qz_lightn.getVal((float)qz / coefqz)); + } + // double jz = 100. * (qz / qzw); + double jz = SQR((10. * qz) / qzw);//formula CAM16 + jz= (double) coefjz * LIM01(ljz_contrast.getVal((float)jz / coefjz)); + if(ljz > 0) { + jz = (double) coefjz * LIM01(ljz_light.getVal((float)jz / coefjz)); + } + if(ljz < 0) { + jz = (double) coefjz * LIM01(ljz_lightn.getVal((float)jz / coefjz)); + } + if(jz > 100.) jz = 99.; + + + //qzpro = 0.01 * jzpro * qzw; + double qzpro = 0.1 * sqrt(jz) * qzw; + iz = LIM01(pow(qzpro / (atten / achro_dest), ikk_dest)); + double h = atan2(bz, az); + if ( h < 0.0 ) { + h += (double) (2.f * rtengine::RT_PI_F); + } + double hp = h * (360 / (double) (2.f * rtengine::RT_PI_F)); + double ez = 1.015 + cos(89.038 + hp); + if(mchrz != 0.f || schrz != 0.f || cchrz != 0.f){ + //colorfullness + double Mpz = 100. * pow(az * az + bz * bz, 0.37)* pow(ez, 0.068) * coefm; + Mpz *= (double) (1.f + 0.01f * mchrz); + float ccz = sqrt(pow((float) (Mpz / (100. * pow(ez, 0.068) * coefm)), (1.f / 0.37f))); + float2 sincosval = xsincosf(h); + az = (double)(ccz * sincosval.y); + bz = (double)(ccz * sincosval.x); + if(schrz != 0.f){ + //saturation + double Spz = 100. * pow(flz, 0.6) * (Mpz / qz); + Spz *= (double) (1.f + 0.01f * schrz); + Mpz = (Spz * qz) / (100.* pow(flz, 0.6)); + ccz = sqrt(pow((float) (Mpz / (100. * pow(ez, 0.068) * coefm)), (1.f / 0.37f))); + az = (double)(ccz * sincosval.y); + bz = (double)(ccz * sincosval.x); + } + if(cchrz != 0.f){ + // double Cpz = 100. * (Mpz / qzw); + double Cpz = 100. * (Mpz / pfl);//Cam16 formula + Cpz *= (double) (1.f + 0.01f * cchrz); + Mpz = (Cpz * pfl) / 100.; + // double Vpz = sqrt(SQR(jz - 58.) + 3.4 * SQR(Cpz));//vividness not working + // Vpz *= (double) (1.f + 0.01f * cchrz); + //Mpz = (Cpz * qzw) / 100.; + // Mpz = 0.01 * qzw * sqrt((SQR(Vpz) - SQR(jz - 58.)) / 3.4); + ccz = sqrt(pow((float) (Mpz / (100. * pow(ez, 0.068) * coefm)), (1.f / 0.37f))); + az = (double)(ccz * sincosval.y); + bz = (double)(ccz * sincosval.x); + } + + } + double L_, M_, S_; + double xx, yy, zz; + bool zcam = true; + iz=LIM01(iz); + az=clipazbz(az); + bz=clipazbz(bz); + + Ciecam02::jzczhzxyz (xx, yy, zz, iz, az, bz, plz, L_, M_, S_, zcam); + //re enable D50 + double x, y, z; + x = 65535. * (d65_d50[0][0] * xx + d65_d50[0][1] * yy + d65_d50[0][2] * zz); + y = 65535. * (d65_d50[1][0] * xx + d65_d50[1][1] * yy + d65_d50[1][2] * zz); + z = 65535. * (d65_d50[2][0] * xx + d65_d50[2][1] * yy + d65_d50[2][2] * zz); + + float Ll, aa, bb; + Color::XYZ2Lab(x, y, z, Ll, aa, bb); + lab->L[i][k] = Ll; + lab->a[i][k] = aa; + lab->b[i][k] = bb; + } + } +*/ +} + + } void ImProcFunctions::softproc(const LabImage* bufcolorig, const LabImage* bufcolfin, float rad, int bfh, int bfw, float epsilmax, float epsilmin, float thres, int sk, bool multiThread, int flag) @@ -2879,7 +4428,7 @@ void ImProcFunctions::softproc(const LabImage* bufcolorig, const LabImage* bufco const float bepsil = epsilmin; //epsilmax - 100.f * aepsil; // const float epsil = aepsil * 0.1f * rad + bepsil; const float epsil = aepsil * rad + bepsil; - const float blur = 10.f / sk * (thres + 0.8f * rad); + const float blur = 10.f / sk * (thres + 0.f * rad); rtengine::guidedFilter(guid, ble, ble, blur, epsil, multiThread, 4); @@ -2910,6 +4459,34 @@ void ImProcFunctions::softproc(const LabImage* bufcolorig, const LabImage* bufco rtengine::guidedFilter(guid, ble, ble, r2, epsil, multiThread); +#ifdef _OPENMP + #pragma omp parallel for if(multiThread) +#endif + for (int ir = 0; ir < bfh; ir++) { + for (int jr = 0; jr < bfw; jr++) { + bufcolfin->L[ir][jr] = 32768.f * ble[ir][jr]; + } + } + } else if (flag == 2) { + +#ifdef _OPENMP + #pragma omp parallel for if(multiThread) +#endif + for (int ir = 0; ir < bfh; ir++) + for (int jr = 0; jr < bfw; jr++) { + ble[ir][jr] = bufcolfin->L[ir][jr] / 32768.f; + guid[ir][jr] = bufcolorig->L[ir][jr] / 32768.f; + } + + const float aepsil = (epsilmax - epsilmin) / 1000.f; + const float bepsil = epsilmin; //epsilmax - 100.f * aepsil; + const float epsil = rad < 0.f ? 0.0001f : aepsil * 10.f * rad + bepsil; + // const float epsil = bepsil; + const float blur = rad < 0.f ? -1.f / rad : 0.00001f + rad; + const int r2 = rtengine::max(int(20.f / sk * blur + 0.000001f), 1); + + rtengine::guidedFilter(guid, ble, ble, r2, epsil, multiThread); + #ifdef _OPENMP #pragma omp parallel for if(multiThread) #endif @@ -2984,6 +4561,7 @@ void ImProcFunctions::exlabLocal(local_params& lp, float strlap, int bfh, int bf const bool exec = (lp.expmet == 1 && linear > 0.f && lp.laplacexp > 0.1f); if(!exec) {//for standard exposure + const float cexp_scale = std::pow(2.f, lp.expcomp); const float ccomp = (rtengine::max(0.f, lp.expcomp) + 1.f) * lp.hlcomp / 100.f; const float cshoulder = ((maxran / rtengine::max(1.0f, cexp_scale)) * (lp.hlcompthr / 200.f)) + 0.1f; @@ -3254,6 +4832,11 @@ void ImProcFunctions::DeNoise_Local(int call, const struct local_params& lp, Lab difa = tmp1.a[loy - begy][lox - begx] - original->a[y][x]; difb = tmp1.b[loy - begy][lox - begx] - original->b[y][x]; } else { //dcrop + const float repart = 1.0f - 0.01f * lp.reparden; + tmp1.L[y][x] = intp(repart, original->L[y][x], tmp1.L[y][x]); + tmp1.a[y][x] = intp(repart, original->a[y][x], tmp1.a[y][x]); + tmp1.b[y][x] = intp(repart, original->b[y][x], tmp1.b[y][x]); + difL = tmp1.L[y][x] - original->L[y][x]; difa = tmp1.a[y][x] - original->a[y][x]; difb = tmp1.b[y][x] - original->b[y][x]; @@ -3400,16 +4983,14 @@ void ImProcFunctions::DeNoise_Local2(const struct local_params& lp, LabImage* or float difL, difa, difb; - // if (call == 2 /*|| call == 1 || call == 3 */) { //simpleprocess - // difL = tmp1.L[loy - begy][lox - begx] - original->L[y][x]; - // difa = tmp1.a[loy - begy][lox - begx] - original->a[y][x]; - // difb = tmp1.b[loy - begy][lox - begx] - original->b[y][x]; - // } else { //dcrop + const float repart = 1.0f - 0.01f * lp.reparden; + tmp1.L[y-ystart][x-xstart] = intp(repart, original->L[y][x], tmp1.L[y-ystart][x-xstart]); + tmp1.a[y-ystart][x-xstart] = intp(repart, original->a[y][x], tmp1.a[y-ystart][x-xstart]); + tmp1.b[y-ystart][x-xstart] = intp(repart, original->b[y][x], tmp1.b[y-ystart][x-xstart]); - difL = tmp1.L[y-ystart][x-xstart] - original->L[y][x]; - difa = tmp1.a[y-ystart][x-xstart] - original->a[y][x]; - difb = tmp1.b[y-ystart][x-xstart] - original->b[y][x]; - // } + difL = tmp1.L[y-ystart][x-xstart] - original->L[y][x]; + difa = tmp1.a[y-ystart][x-xstart] - original->a[y][x]; + difb = tmp1.b[y-ystart][x-xstart] - original->b[y][x]; difL *= localFactor * reducdEL; difa *= localFactor * reducdEa; @@ -3701,7 +5282,7 @@ void ImProcFunctions::InverseBlurNoise_Local(LabImage * originalmask, const stru -static void mean_fab(int xstart, int ystart, int bfw, int bfh, LabImage* bufexporig, const LabImage* original, float &fab, float &meanfab, float chrom, bool multiThread) +static void mean_fab(int xstart, int ystart, int bfw, int bfh, LabImage* bufexporig, int flag, const LabImage* original, float &fab, float &meanfab, float &maxfab, float chrom, bool multiThread) { const int nbfab = bfw * bfh; @@ -3710,38 +5291,56 @@ static void mean_fab(int xstart, int ystart, int bfw, int bfh, LabImage* bufexpo if (nbfab > 0) { double sumab = 0.0; - -#ifdef _OPENMP +#ifdef _OPENMP #pragma omp parallel for reduction(+:sumab) if(multiThread) #else static_cast(multiThread); #endif for (int y = 0; y < bfh; y++) { for (int x = 0; x < bfw; x++) { - bufexporig->a[y][x] = original->a[y + ystart][x + xstart]; - bufexporig->b[y][x] = original->b[y + ystart][x + xstart]; - sumab += static_cast(std::fabs(bufexporig->a[y][x])); - sumab += static_cast(std::fabs(bufexporig->b[y][x])); + if(flag == 0) { + bufexporig->a[y][x] = original->a[y + ystart][x + xstart]; + bufexporig->b[y][x] = original->b[y + ystart][x + xstart]; + } else { + bufexporig->a[y][x] = original->a[y][x]; + bufexporig->b[y][x] = original->b[y][x]; + } + sumab += static_cast(SQR(std::fabs(bufexporig->a[y][x])) + SQR(std::fabs(bufexporig->b[y][x]))); + + // sumab += static_cast(std::fabs(bufexporig->a[y][x])); + // sumab += static_cast(std::fabs(bufexporig->b[y][x])); } } - meanfab = sumab / (2.0 * nbfab); + meanfab = sqrt(sumab / (2.0 * nbfab)); double som = 0.0; - + double maxm = 0.0; #ifdef _OPENMP - #pragma omp parallel for reduction(+:som) if(multiThread) + #pragma omp parallel for reduction(+:som) reduction(max:maxfab)if(multiThread) #endif for (int y = 0; y < bfh; y++) { for (int x = 0; x < bfw; x++) { som += static_cast(SQR(std::fabs(bufexporig->a[y][x]) - meanfab) + SQR(std::fabs(bufexporig->b[y][x]) - meanfab)); + maxm = static_cast(SQR(std::fabs(bufexporig->a[y][x])) + SQR(std::fabs(bufexporig->b[y][x]))); + maxm = sqrt(maxm); + if(maxm > (double) maxfab) { + maxfab = (float) maxm; + } + } } - const float multsigma = (chrom >= 0.f ? 0.035f : 0.018f) * chrom + 1.f; + const float multsigma = 3.f ;//(chrom >= 0.f ? 0.035f : 0.018f) * chrom + 1.f; //disabled an use 2 stddv + const float kf = 0.f; + const float multchrom = 1.f + kf * chrom; //small correction chrom here 0.f const float stddv = std::sqrt(som / nbfab); - fab = meanfab + multsigma * stddv; + float fabprov = meanfab + multsigma * stddv * multchrom;//with 3 sigma about 99% cases + if(fabprov > maxfab) { + fabprov = maxfab; + } + fab = max(fabprov, 0.90f* maxfab);//Find maxi between mean + 3 sigma and 90% max (90 arbitrary empirical value) if (fab <= 0.f) { fab = 50.f; @@ -4244,7 +5843,7 @@ float *ImProcFunctions::cos_table(size_t size) const double pi_size = rtengine::RT_PI / size; for (size_t i = 0; i < size; i++) { - table[i] = std::cos(pi_size * i); + table[i] = 1.0 - std::cos(pi_size * i); } return table; @@ -4290,7 +5889,7 @@ void ImProcFunctions::rex_poisson_dct(float * data, size_t nx, size_t ny, double #endif for (size_t i = 0; i < ny; ++i) { for (size_t j = 0; j < nx; ++j) { - data[i * nx + j] *= m2 / (2.f - cosx[j] - cosy[i]); + data[i * nx + j] *= m2 / (cosx[j] + cosy[i]); } } // handle the first value, data[0, 0] = 0 @@ -4389,6 +5988,7 @@ void ImProcFunctions::retinex_pde(const float * datain, float * dataout, int bfw */ // BENCHFUN + #ifdef RT_FFTW3F_OMP if (multiThread) { fftwf_init_threads(); @@ -4543,7 +6143,7 @@ void ImProcFunctions::maskcalccol(bool invmask, bool pde, int bfw, int bfh, int const LocwavCurve & loclmasCurvecolwav, bool lmasutilicolwav, int level_bl, int level_hl, int level_br, int level_hr, int shortcu, bool delt, const float hueref, const float chromaref, const float lumaref, float maxdE, float mindE, float maxdElim, float mindElim, float iterat, float limscope, int scope, - bool fftt, float blu_ma, float cont_ma, int indic + bool fftt, float blu_ma, float cont_ma, int indic, float &fab ) @@ -4553,9 +6153,20 @@ void ImProcFunctions::maskcalccol(bool invmask, bool pde, int bfw, int bfh, int array2D hue(bfw, bfh); array2D guid(bfw, bfh); const std::unique_ptr bufreserv(new LabImage(bfw, bfh)); - float meanfab, fab; - mean_fab(xstart, ystart, bfw, bfh, bufcolorig, original, fab, meanfab, chrom, multiThread); - float chromult = 1.f - 0.01f * chrom; + float meanfab, corfab; + float maxfab = -1000.f; + float epsi = 0.001f; + mean_fab(xstart, ystart, bfw, bfh, bufcolorig, 0, original, fab, meanfab, maxfab, chrom, multiThread); + corfab = 0.7f * (65535.f) / (fab + epsi);//empirical values 0.7 link to chromult + + // printf("Fab=%f corfab=%f maxfab=%f\n", (double) fab, (double) corfab, (double) maxfab); + float chromult = 1.f; + if(chrom > 0.f){ + chromult = 1.f + 0.003f * chrom; + } else { + chromult = 1.f + 0.01f * chrom; + } + // chromult * corfab * kmaskC float kinv = 1.f; float kneg = 1.f; @@ -4662,6 +6273,133 @@ void ImProcFunctions::maskcalccol(bool invmask, bool pde, int bfw, int bfh, int } } +//denoise mask chroma + + + LabImage tmpab(bfw, bfh); + tmpab.clear(true); + +#ifdef _OPENMP + #pragma omp parallel for if (multiThread) +#endif + for (int ir = 0; ir < bfh; ir++) + for (int jr = 0; jr < bfw; jr++) { + tmpab.L[ir][jr] = bufcolorig->L[ir][jr]; + tmpab.a[ir][jr] = bufcolorig->a[ir][jr]; + tmpab.b[ir][jr] = bufcolorig->b[ir][jr]; + } + float noisevarab_r = SQR(lp.denoichmask / 10.f); + if(noisevarab_r > 0.f) { + int wavelet_leve = 6; + + int minwin1 = rtengine::min(bfw, bfh); + int maxlevelspot1 = 9; + + while ((1 << maxlevelspot1) >= (minwin1 * sk) && maxlevelspot1 > 1) { + --maxlevelspot1 ; + } + + wavelet_leve = rtengine::min(wavelet_leve, maxlevelspot1); + int maxlvl1 = wavelet_leve; +#ifdef _OPENMP + const int numThreads = omp_get_max_threads(); +#else + const int numThreads = 1; + +#endif + + wavelet_decomposition Ldecomp(tmpab.L[0],tmpab.W, tmpab.H, maxlvl1, 1, sk, numThreads, lp.daubLen); + wavelet_decomposition adecomp(tmpab.a[0],tmpab.W, tmpab.H, maxlvl1, 1, sk, numThreads, lp.daubLen); + wavelet_decomposition bdecomp(tmpab.b[0],tmpab.W, tmpab.H, maxlvl1, 1, sk, numThreads, lp.daubLen); + float* noisevarchrom; + noisevarchrom = new float[bfw*bfh]; + float nvch = 0.6f;//high value + float nvcl = 0.1f;//low value + float seuil = 4000.f;//low + float seuil2 = 15000.f;//high + //ac and bc for transition + float ac = (nvch - nvcl) / (seuil - seuil2); + float bc = nvch - seuil * ac; + int bfw2 = (bfw + 1) / 2; + +#ifdef _OPENMP + #pragma omp parallel for if (multiThread) +#endif + for (int ir = 0; ir < bfh; ir++) + for (int jr = 0; jr < bfw; jr++) { + float cN = std::sqrt(SQR(tmpab.a[ir][jr]) + SQR(tmpab.b[ir][jr])); + + if (cN < seuil) { + noisevarchrom[(ir >> 1)*bfw2 + (jr >> 1)] = nvch; + } else if (cN < seuil2) { + noisevarchrom[(ir >> 1)*bfw2 + (jr >> 1)] = ac * cN + bc; + } else { + noisevarchrom[(ir >> 1)*bfw2 + (jr >> 1)] = nvcl; + } + } + + float madL[8][3]; + int levred = maxlvl1; + if (!Ldecomp.memory_allocation_failed()) { +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic) collapse(2) if (multiThread) +#endif + for (int lvl = 0; lvl < levred; lvl++) { + for (int dir = 1; dir < 4; dir++) { + int Wlvl_L = Ldecomp.level_W(lvl); + int Hlvl_L = Ldecomp.level_H(lvl); + const float* const* WavCoeffs_L = Ldecomp.level_coeffs(lvl); + + madL[lvl][dir - 1] = SQR(Mad(WavCoeffs_L[dir], Wlvl_L * Hlvl_L)); + } + } + } + + if (!adecomp.memory_allocation_failed() && !bdecomp.memory_allocation_failed()) { + WaveletDenoiseAll_BiShrinkAB(Ldecomp, adecomp, noisevarchrom, madL, nullptr, 0, noisevarab_r, true, false, false, numThreads); + WaveletDenoiseAllAB(Ldecomp, adecomp, noisevarchrom, madL, nullptr, 0, noisevarab_r, true, false, false, numThreads); + + WaveletDenoiseAll_BiShrinkAB(Ldecomp, bdecomp, noisevarchrom, madL, nullptr, 0, noisevarab_r, false, false, false, numThreads); + WaveletDenoiseAllAB(Ldecomp, bdecomp, noisevarchrom, madL, nullptr, 0, noisevarab_r, false, false, false, numThreads); + + } + + delete[] noisevarchrom; + + if (!Ldecomp.memory_allocation_failed()) { + Ldecomp.reconstruct(tmpab.L[0]); + } + if (!adecomp.memory_allocation_failed()) { + adecomp.reconstruct(tmpab.a[0]); + } + if (!bdecomp.memory_allocation_failed()) { + bdecomp.reconstruct(tmpab.b[0]); + } + + float meanfab1, fab1, maxfab1; + std::unique_ptr buforig; + buforig.reset(new LabImage(bfw, bfh)); +#ifdef _OPENMP + #pragma omp parallel for if (multiThread) +#endif + for (int ir = 0; ir < bfh; ir++) + for (int jr = 0; jr < bfw; jr++) { + buforig->L[ir][jr] = tmpab.L[ir][jr]; + buforig->a[ir][jr] = tmpab.a[ir][jr]; + buforig->b[ir][jr] = tmpab.b[ir][jr]; + } + + + mean_fab(xstart, ystart, bfw, bfh, buforig.get(), 1, buforig.get(), fab1, meanfab1, maxfab1, chrom, multiThread); + // printf("Fab den=%f \n", (double) fab1); + fab = fab1;//fab denoise + + } +// end code denoise mask chroma + + + + #ifdef _OPENMP #pragma omp parallel if (multiThread) #endif @@ -4680,11 +6418,13 @@ void ImProcFunctions::maskcalccol(bool invmask, bool pde, int bfw, int bfh, int int i = 0; for (; i < bfw - 3; i += 4) { - STVF(atan2Buffer[i], xatan2f(LVFU(bufcolorig->b[ir][i]), LVFU(bufcolorig->a[ir][i]))); + // STVF(atan2Buffer[i], xatan2f(LVFU(bufcolorig->b[ir][i]), LVFU(bufcolorig->a[ir][i]))); + STVF(atan2Buffer[i], xatan2f(LVFU(tmpab.b[ir][i]), LVFU(tmpab.a[ir][i]))); } for (; i < bfw; i++) { - atan2Buffer[i] = xatan2f(bufcolorig->b[ir][i], bufcolorig->a[ir][i]); + // atan2Buffer[i] = xatan2f(bufcolorig->b[ir][i], bufcolorig->a[ir][i]); + atan2Buffer[i] = xatan2f(tmpab.b[ir][i], tmpab.a[ir][i]); } } @@ -4719,14 +6459,16 @@ void ImProcFunctions::maskcalccol(bool invmask, bool pde, int bfw, int bfh, int } if (!deltaE && locccmasCurve && lcmasutili) { - kmaskC = LIM01(kinv - kneg * locccmasCurve[500.f * (0.0001f + std::sqrt(SQR(bufcolorig->a[ir][jr]) + SQR(bufcolorig->b[ir][jr])) / fab)]); + // kmaskC = LIM01(kinv - kneg * locccmasCurve[500.f * (0.0001f + std::sqrt(SQR(bufcolorig->a[ir][jr]) + SQR(bufcolorig->b[ir][jr])) / (fab))]); + kmaskC = LIM01(kinv - kneg * locccmasCurve[500.f * (0.0001f + std::sqrt(SQR(tmpab.a[ir][jr]) + SQR(tmpab.b[ir][jr])) / fab)]); } if (lochhmasCurve && lhmasutili) { #ifdef __SSE2__ const float huema = atan2Buffer[jr]; #else - const float huema = xatan2f(bufcolorig->b[ir][jr], bufcolorig->a[ir][jr]); + // const float huema = xatan2f(bufcolorig->b[ir][jr], bufcolorig->a[ir][jr]); + const float huema = xatan2f(tmpab.b[ir][jr], tmpab.a[ir][jr]); #endif float h = Color::huelab_to_huehsv2(huema); h += 1.f / 6.f; @@ -4745,8 +6487,8 @@ void ImProcFunctions::maskcalccol(bool invmask, bool pde, int bfw, int bfh, int } bufmaskblurcol->L[ir][jr] = clipLoc(kmaskL + kmaskHL + kmasstru + kmasblur); - bufmaskblurcol->a[ir][jr] = clipC((kmaskC + chromult * kmaskH)); - bufmaskblurcol->b[ir][jr] = clipC((kmaskC + chromult * kmaskH)); + bufmaskblurcol->a[ir][jr] = clipC((chromult * corfab * kmaskC + chromult * kmaskH)); + bufmaskblurcol->b[ir][jr] = clipC((chromult * corfab * kmaskC + chromult * kmaskH)); if (shortcu == 1) { //short circuit all L curve bufmaskblurcol->L[ir][jr] = 32768.f - bufcolorig->L[ir][jr]; @@ -4762,6 +6504,7 @@ void ImProcFunctions::maskcalccol(bool invmask, bool pde, int bfw, int bfh, int } } } + if (lap > 0.f && pde) { array2D mask; mask(bfw, bfh); @@ -5040,7 +6783,7 @@ void ImProcFunctions::maskcalccol(bool invmask, bool pde, int bfw, int bfh, int if (delt) { const std::unique_ptr> rdEBuffer(new JaggedArray(bfw, bfh)); - float** rdE = *(rdEBuffer.get()); + float** rdE = *rdEBuffer; deltaEforMask(rdE, bfw, bfh, bufreserv.get(), hueref, chromaref, lumaref, maxdE, mindE, maxdElim, mindElim, iterat, limscope, scope, lp.balance, lp.balanceh); #ifdef _OPENMP @@ -5301,7 +7044,6 @@ void ImProcFunctions::Sharp_Local(int call, float **loctemp, int senstype, const const float maxdE = 5.f + MAXSCOPE * varsens * (1 + 0.1f * lp.thr); const float mindElim = 2.f + MINSCOPE * limscope * lp.thr; const float maxdElim = 5.f + MAXSCOPE * limscope * (1 + 0.1f * lp.thr); - #ifdef _OPENMP #pragma omp for schedule(dynamic,16) #endif @@ -6051,13 +7793,16 @@ void ImProcFunctions::InverseColorLight_Local(bool tonequ, bool tonecurv, int sp const std::unique_ptr tmpImage(new Imagefloat(GW, GH)); lab2rgb(*temp, *tmpImage, params->icm.workingProfile); - + Glib::ustring prof = params->icm.workingProfile; if (tonecurv) { //Tone response curve : does nothing if gamma=2.4 and slope=12.92 ==> gamma sRGB const float gamtone = params->locallab.spots.at(sp).gamSH; const float slotone = params->locallab.spots.at(sp).sloSH; + int ill = 0; cmsHTRANSFORM dummy = nullptr; - workingtrc(tmpImage.get(), tmpImage.get(), GW, GH, -5, params->icm.workingProfile, 2.4, 12.92310, dummy, true, false, false); - workingtrc(tmpImage.get(), tmpImage.get(), GW, GH, 5, params->icm.workingProfile, gamtone, slotone, dummy, false, true, true); + workingtrc(tmpImage.get(), tmpImage.get(), GW, GH, -5, prof, 2.4, 12.92310, ill, 0, dummy, true, false, false); + // workingtrc(tmpImage.get(), tmpImage.get(), GW, GH, 5, prof, gamtone, slotone, illum, 0, dummy, false, true, true);//to keep if we want improve with illuminant and primaries + workingtrc(tmpImage.get(), tmpImage.get(), GW, GH, 1, prof, gamtone, slotone, ill, 0, dummy, false, true, true);//be careful no gamut control + } if (tonequ) { @@ -6344,9 +8089,10 @@ void ImProcFunctions::InverseColorLight_Local(bool tonequ, bool tonecurv, int sp void ImProcFunctions::calc_ref(int sp, LabImage * original, LabImage * transformed, int cx, int cy, int oW, int oH, int sk, double & huerefblur, double & chromarefblur, double & lumarefblur, double & hueref, double & chromaref, double & lumaref, double & sobelref, float & avg, const LocwavCurve & locwavCurveden, bool locwavdenutili) { if (params->locallab.enabled) { - //always calculate hueref, chromaref, lumaref before others operations use in normal mode for all modules exceprt denoise + // always calculate hueref, chromaref, lumaref before others operations + // use in normal mode for all modules except denoise struct local_params lp; - calcLocalParams(sp, oW, oH, params->locallab, lp, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, locwavCurveden, locwavdenutili); + calcLocalParams(sp, oW, oH, params->locallab, lp, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, locwavCurveden, locwavdenutili); int begy = lp.yc - lp.lyT; int begx = lp.xc - lp.lxL; int yEn = lp.yc + lp.ly; @@ -6385,7 +8131,7 @@ void ImProcFunctions::calc_ref(int sp, LabImage * original, LabImage * transform // single precision for the result float avA, avB, avL; int spotSize = 0.88623f * rtengine::max(1, lp.cir / sk); //18 - //O.88623 = std::sqrt(PI / 4) ==> sqare equal to circle + //O.88623 = std::sqrt(PI / 4) ==> square equal to circle int spotSise2; // = 0.88623f * max (1, lp.cir / sk); //18 // very small region, don't use omp here @@ -6572,10 +8318,20 @@ const int fftw_size[] = {18144, 18000, 17920, 17836, 17820, 17640, 17600, 17550, int N_fftwsize = sizeof(fftw_size) / sizeof(fftw_size[0]); -void optfft(int N_fftwsize, int &bfh, int &bfw, int &bfhr, int &bfwr, struct local_params& lp, int H, int W, int &xstart, int &ystart, int &xend, int ¥d, int cx, int cy) +void optfft(int N_fftwsize, int &bfh, int &bfw, int &bfhr, int &bfwr, struct local_params& lp, int H, int W, int &xstart, int &ystart, int &xend, int ¥d, int cx, int cy, int fulima) { int ftsizeH = 1; int ftsizeW = 1; + int deltaw = 150; + int deltah = 150; + + if(W < 4000) { + deltaw = 80; + } + if(H < 4000) { + deltah = 80; + } + for (int ft = 0; ft < N_fftwsize; ft++) { //find best values if (fftw_size[ft] <= bfh) { @@ -6590,6 +8346,31 @@ void optfft(int N_fftwsize, int &bfh, int &bfw, int &bfhr, int &bfwr, struct loc break; } } + + if(fulima == 2) {// if full image, the ftsizeH and ftsizeW is a bit larger (about 10 to 200 pixels) than the image dimensions so that it is fully processed (consumes a bit more resources) + for (int ftfu = 0; ftfu < N_fftwsize; ftfu++) { //find best values + if (fftw_size[ftfu] <= (H + deltah)) { + ftsizeH = fftw_size[ftfu]; + break; + } + } + for (int ftfu = 0; ftfu < N_fftwsize; ftfu++) { //find best values + if (fftw_size[ftfu] <= (W + deltaw)) { + ftsizeW = fftw_size[ftfu]; + break; + } + } + } + + if (settings->verbose) { + if(fulima == 2) { + printf("Full image: ftsizeWF=%i ftsizeH=%i\n", ftsizeW, ftsizeH); + + } else { + printf("ftsizeW=%i ftsizeH=%i\n", ftsizeW, ftsizeH); + } + } + //optimize with size fftw bool reduW = false; @@ -6628,7 +8409,6 @@ void optfft(int N_fftwsize, int &bfh, int &bfw, int &bfhr, int &bfwr, struct loc reduW = true; exec = false; } - //new values optimized ystart = rtengine::max(static_cast(lp.yc - lp.lyT) - cy, 0); yend = rtengine::min(static_cast(lp.yc + lp.ly) - cy, H); @@ -6807,7 +8587,7 @@ void ImProcFunctions::transit_shapedetect2(int sp, float meantm, float stdtm, in int bfhr = bfh; int bfwr = bfw; if (lp.blurcolmask >= 0.25f && lp.fftColorMask && call == 2) { - optfft(N_fftwsize, bfh, bfw, bfhr, bfwr, lp, original->H, original->W, xstart, ystart, xend, yend, cx, cy); + optfft(N_fftwsize, bfh, bfw, bfhr, bfwr, lp, original->H, original->W, xstart, ystart, xend, yend, cx, cy, lp.fullim); } bfh = bfhr; @@ -6834,9 +8614,10 @@ void ImProcFunctions::transit_shapedetect2(int sp, float meantm, float stdtm, in varsens = lp.sensilog; } else if (senstype == 20) { //common mask varsens = lp.sensimas; - } + } else if (senstype == 31) { //ciecam + varsens = lp.sensicie; + } bool delt = lp.deltaem; - //sobel sobelref /= 100.f; meansobel /= 100.f; @@ -6861,6 +8642,7 @@ void ImProcFunctions::transit_shapedetect2(int sp, float meantm, float stdtm, in const bool lcshow = ((lp.showmasklcmet == 1 || lp.showmasklcmet == 2) && senstype == 10); const bool origshow = ((lp.showmasksoftmet == 5) && senstype == 3 && lp.softmet == 1); const bool logshow = ((lp.showmasklogmet == 1 || lp.showmasklogmet == 2) && senstype == 11); + const bool cieshow = ((lp.showmaskciemet == 1 || lp.showmaskciemet == 2) && senstype == 31); const bool masshow = ((lp.showmask_met == 1) && senstype == 20); @@ -6873,6 +8655,7 @@ void ImProcFunctions::transit_shapedetect2(int sp, float meantm, float stdtm, in const bool previeworig = ((lp.showmasksoftmet == 6) && senstype == 3 && lp.softmet == 1); const bool previewmas = ((lp.showmask_met == 3) && senstype == 20); const bool previewlog = ((lp.showmasklogmet == 4) && senstype == 11); + const bool previewcie = ((lp.showmaskciemet == 4) && senstype == 31); float radius = 3.f / sk; @@ -6888,7 +8671,7 @@ void ImProcFunctions::transit_shapedetect2(int sp, float meantm, float stdtm, in std::unique_ptr origblurmask; //balance deltaE - const float kL = lp.balance / SQR(327.68f); + float kL = lp.balance / SQR(327.68f); const float kab = balancedeltaE(lp.balance) / SQR(327.68f); const float kH = lp.balanceh; const float kch = balancedeltaE(kH); @@ -6903,7 +8686,10 @@ void ImProcFunctions::transit_shapedetect2(int sp, float meantm, float stdtm, in float darklim = 5000.f; float aadark = -1.f; float bbdark = darklim; - + bool usemask = true; + if(originalmask == nullptr) { + usemask = false; + } const bool usemaskvib = (lp.showmaskvibmet == 2 || lp.enavibMask || lp.showmaskvibmet == 4) && senstype == 2; const bool usemaskexp = (lp.showmaskexpmet == 2 || lp.enaExpMask || lp.showmaskexpmet == 5) && senstype == 1; const bool usemaskcol = (lp.showmaskcolmet == 2 || lp.enaColorMask || lp.showmaskcolmet == 5) && senstype == 0; @@ -6912,8 +8698,8 @@ void ImProcFunctions::transit_shapedetect2(int sp, float meantm, float stdtm, in const bool usemasklc = (lp.showmasklcmet == 2 || lp.enalcMask || lp.showmasklcmet == 4) && senstype == 10; const bool usemaskmas = (lp.showmask_met == 1 || lp.ena_Mask || lp.showmask_met == 3) && senstype == 20; const bool usemasklog = (lp.showmasklogmet == 2 || lp.enaLMask || lp.showmasklogmet == 4) && senstype == 11; - const bool usemaskall = (usemaskexp || usemaskvib || usemaskcol || usemaskSH || usemasktm || usemasklc || usemasklog || usemaskmas); - + const bool usemaskcie = (lp.showmaskciemet == 2 || lp.enacieMask || lp.showmaskciemet == 4) && senstype == 31; + const bool usemaskall = usemask && (usemaskexp || usemaskvib || usemaskcol || usemaskSH || usemasktm || usemasklc || usemasklog || usemaskcie || usemaskmas); //blur a little mask if (usemaskall) { origblurmask.reset(new LabImage(bfw, bfh)); @@ -6928,6 +8714,8 @@ void ImProcFunctions::transit_shapedetect2(int sp, float meantm, float stdtm, in } } + + if (lp.equtm && senstype == 8) { //normalize luminance for Tone mapping , at this place we can use for others senstype! float *datain = new float[bfh * bfw]; float *data = new float[bfh * bfw]; @@ -6967,6 +8755,24 @@ void ImProcFunctions::transit_shapedetect2(int sp, float meantm, float stdtm, in delete [] data; } + + if (senstype == 8) {//strength Tone mapping + const float repart = 1.0f - 0.01f * lp.repartm; + +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic,16) if(multiThread) +#endif + + for (int y = ystart; y < yend; y++){ + for (int x = xstart; x < xend; x++) { + bufexpfin->L[y - ystart][x - xstart]= intp(repart, original->L[y][x], bufexpfin->L[y - ystart][x - xstart]); + bufexpfin->a[y - ystart][x - xstart]= intp(repart, original->a[y][x], bufexpfin->a[y - ystart][x - xstart]); + bufexpfin->b[y - ystart][x - xstart]= intp(repart, original->b[y][x], bufexpfin->b[y - ystart][x - xstart]); + } + } + } + + #ifdef _OPENMP #pragma omp parallel if (multiThread) #endif @@ -6993,6 +8799,13 @@ void ImProcFunctions::transit_shapedetect2(int sp, float meantm, float stdtm, in const LabImage *maskptr = usemaskall ? origblurmask.get() : origblur.get(); //parameters deltaE + //increase a bit lp.thr and lp.iterat and kL if HDR only with log encoding and CAM16 Jz + if(senstype == 11 || senstype == 31) { + lp.thr *= 1.2f; + lp.iterat *= 1.2f; + kL *= 1.2f; + } + const float mindE = 2.f + MINSCOPE * varsens * lp.thr; const float maxdE = 5.f + MAXSCOPE * varsens * (1 + 0.1f * lp.thr); const float mindElim = 2.f + MINSCOPE * limscope * lp.thr; @@ -7069,6 +8882,7 @@ void ImProcFunctions::transit_shapedetect2(int sp, float meantm, float stdtm, in } } + //deltaE float abdelta2 = SQR(refa - maskptr->a[y][x]) + SQR(refb - maskptr->b[y][x]); float chrodelta2 = SQR(std::sqrt(SQR(maskptr->a[y][x]) + SQR(maskptr->b[y][x])) - (chromaref * 327.68f)); @@ -7110,13 +8924,13 @@ void ImProcFunctions::transit_shapedetect2(int sp, float meantm, float stdtm, in const float difb = factorx * realstrbdE; float maxdifab = rtengine::max(std::fabs(difa), std::fabs(difb)); - if ((expshow || vibshow || colshow || SHshow || tmshow || lcshow || logshow || origshow || masshow) && lp.colorde < 0) { //show modifications with use "b" + if ((expshow || vibshow || colshow || SHshow || tmshow || lcshow || logshow || cieshow || origshow || masshow) && lp.colorde < 0) { //show modifications with use "b" // (origshow && lp.colorde < 0) { //original Retinex transformed->a[y + ystart][x + xstart] = 0.f; transformed->b[y + ystart][x + xstart] = ampli * 8.f * diflc * reducdE; transformed->L[y + ystart][x + xstart] = CLIP(12000.f + 0.5f * ampli * diflc); - } else if ((expshow || vibshow || colshow || SHshow || tmshow || lcshow || logshow || origshow || masshow) && lp.colorde > 0) {//show modifications without use "b" + } else if ((expshow || vibshow || colshow || SHshow || tmshow || lcshow || logshow || cieshow || origshow || masshow) && lp.colorde > 0) {//show modifications without use "b" if (diflc < 1000.f) {//if too low to be view use ab diflc += 0.5f * maxdifab; } @@ -7124,7 +8938,7 @@ void ImProcFunctions::transit_shapedetect2(int sp, float meantm, float stdtm, in transformed->L[y + ystart][x + xstart] = CLIP(12000.f + 0.5f * ampli * diflc); transformed->a[y + ystart][x + xstart] = clipC(ampli * difa); transformed->b[y + ystart][x + xstart] = clipC(ampli * difb); - } else if (previewexp || previewvib || previewcol || previewSH || previewtm || previewlc || previewlog || previeworig || previewmas || lp.prevdE) {//show deltaE + } else if (previewexp || previewvib || previewcol || previewSH || previewtm || previewlc || previewlog || previewcie || previeworig || previewmas || lp.prevdE) {//show deltaE float difbdisp = reducdE * 10000.f * lp.colorde; if (transformed->L[y + ystart][x + xstart] < darklim) { //enhance dark luminance as user can see! @@ -7822,6 +9636,81 @@ void ImProcFunctions::Compresslevels(float **Source, int W_L, int H_L, float com } } +void ImProcFunctions::wavlc(wavelet_decomposition& wdspot, int level_bl, int level_hl, int maxlvl, int level_hr, int level_br, float ahigh, float bhigh, float alow, float blow, float sigmalc, float strength, const LocwavCurve & locwavCurve, int numThreads) +{ + float mean[10]; + float meanN[10]; + float sigma[10]; + float sigmaN[10]; + float MaxP[10]; + float MaxN[10]; + + Evaluate2(wdspot, mean, meanN, sigma, sigmaN, MaxP, MaxN, numThreads); + for (int dir = 1; dir < 4; dir++) { + for (int level = level_bl; level < maxlvl; ++level) { + int W_L = wdspot.level_W(level); + int H_L = wdspot.level_H(level); + float klev = 1.f; + + if (level >= level_hl && level <= level_hr) { + klev = 1.f; + } + + if (level_hl != level_bl) { + if (level >= level_bl && level < level_hl) { + klev = alow * level + blow; + } + } + + if (level_hr != level_br) { + if (level > level_hr && level <= level_br) { + klev = ahigh * level + bhigh; + } + } + float* const* wav_L = wdspot.level_coeffs(level); + + if (MaxP[level] > 0.f && mean[level] != 0.f && sigma[level] != 0.f) { + constexpr float insigma = 0.666f; //SD + const float logmax = log(MaxP[level]); //log Max + const float rapX = (mean[level] + sigmalc * sigma[level]) / MaxP[level]; //rapport between sD / max + const float inx = log(insigma); + const float iny = log(rapX); + const float rap = inx / iny; //koef + const float asig = 0.166f / (sigma[level] * sigmalc); + const float bsig = 0.5f - asig * mean[level]; + const float amean = 0.5f / mean[level]; + const float limit1 = mean[level] + sigmalc * sigma[level]; + const float limit2 = mean[level]; +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic, 16 * W_L) if (multiThread) +#endif + for (int i = 0; i < W_L * H_L; i++) { + const float val = std::fabs(wav_L[dir][i]); + + float absciss; + if (val >= limit1) { //for max + const float valcour = xlogf(val); + absciss = xexpf((valcour - logmax) * rap); + } else if (val >= limit2) { + absciss = asig * val + bsig; + } else { + absciss = amean * val; + } + + const float kc = klev * (locwavCurve[absciss * 500.f] - 0.5f); + const float reduceeffect = kc <= 0.f ? 1.f : strength; + + float kinterm = 1.f + reduceeffect * kc; + kinterm = kinterm <= 0.f ? 0.01f : kinterm; + + wav_L[dir][i] *= kinterm <= 0.f ? 0.01f : kinterm; + } + } + } + } + +} + void ImProcFunctions::wavcont(const struct local_params& lp, float ** tmp, wavelet_decomposition& wdspot, int level_bl, int maxlvl, const LocwavCurve & loclevwavCurve, bool loclevwavutili, const LocwavCurve & loccompwavCurve, bool loccompwavutili, @@ -8582,75 +10471,8 @@ void ImProcFunctions::wavcontrast4(struct local_params& lp, float ** tmp, float //edge sharpness end if (locwavCurve && locwavutili && wavcurve) {//simple local contrast in function luminance - float mean[10]; - float meanN[10]; - float sigma[10]; - float sigmaN[10]; - float MaxP[10]; - float MaxN[10]; - Evaluate2(*wdspot, mean, meanN, sigma, sigmaN, MaxP, MaxN, numThreads); - for (int dir = 1; dir < 4; dir++) { - for (int level = level_bl; level < maxlvl; ++level) { - int W_L = wdspot->level_W(level); - int H_L = wdspot->level_H(level); - float klev = 1.f; - - if (level >= level_hl && level <= level_hr) { - klev = 1.f; - } - - if (level_hl != level_bl) { - if (level >= level_bl && level < level_hl) { - klev = alow * level + blow; - } - } - - if (level_hr != level_br) { - if (level > level_hr && level <= level_br) { - klev = ahigh * level + bhigh; - } - } - float* const* wav_L = wdspot->level_coeffs(level); - - if (MaxP[level] > 0.f && mean[level] != 0.f && sigma[level] != 0.f) { - constexpr float insigma = 0.666f; //SD - const float logmax = log(MaxP[level]); //log Max - const float rapX = (mean[level] + lp.sigmalc * sigma[level]) / MaxP[level]; //rapport between sD / max - const float inx = log(insigma); - const float iny = log(rapX); - const float rap = inx / iny; //koef - const float asig = 0.166f / (sigma[level] * lp.sigmalc); - const float bsig = 0.5f - asig * mean[level]; - const float amean = 0.5f / mean[level]; - const float limit1 = mean[level] + lp.sigmalc * sigma[level]; - const float limit2 = mean[level]; -#ifdef _OPENMP - #pragma omp parallel for schedule(dynamic, 16 * W_L) if (multiThread) -#endif - for (int i = 0; i < W_L * H_L; i++) { - const float val = std::fabs(wav_L[dir][i]); - - float absciss; - if (val >= limit1) { //for max - const float valcour = xlogf(val); - absciss = xexpf((valcour - logmax) * rap); - } else if (val >= limit2) { - absciss = asig * val + bsig; - } else { - absciss = amean * val; - } - - const float kc = klev * (locwavCurve[absciss * 500.f] - 0.5f); - const float reduceeffect = kc <= 0.f ? 1.f : 1.5f; - - float kinterm = 1.f + reduceeffect * kc; - kinterm = kinterm <= 0.f ? 0.01f : kinterm; - - wav_L[dir][i] *= kinterm <= 0.f ? 0.01f : kinterm; - } - } - } - } + float strengthlc = 1.5f; + wavlc(*wdspot, level_bl, level_hl, maxlvl, level_hr, level_br, ahigh, bhigh, alow, blow, lp.sigmalc, strengthlc, locwavCurve, numThreads); } //reconstruct all for L wdspot->reconstruct(tmp[0], 1.f); @@ -8706,6 +10528,74 @@ void ImProcFunctions::wavcontrast4(struct local_params& lp, float ** tmp, float if (reconstruct) { wdspot->reconstruct(tmpb[0], 1.f); } + + + //gamma and slope residual image - be careful memory + bool tonecur = false; + const Glib::ustring profile = params->icm.workingProfile; + bool isworking = (profile == "sRGB" || profile == "Adobe RGB" || profile == "ProPhoto" || profile == "WideGamut" || profile == "BruceRGB" || profile == "Beta RGB" || profile == "BestRGB" || profile == "Rec2020" || profile == "ACESp0" || profile == "ACESp1"); + + if (isworking && (lp.residgam != 2.4f || lp.residslop != 12.92f)) { + tonecur = true; + } + + if(tonecur) { + std::unique_ptr wdspotL(new wavelet_decomposition(tmp[0], bfw, bfh, maxlvl, 1, sk, numThreads, lp.daubLen)); + if (wdspotL->memory_allocation_failed()) { + return; + } + std::unique_ptr wdspota(new wavelet_decomposition(tmpa[0], bfw, bfh, maxlvl, 1, sk, numThreads, lp.daubLen)); + if (wdspota->memory_allocation_failed()) { + return; + } + std::unique_ptr wdspotb(new wavelet_decomposition(tmpb[0], bfw, bfh, maxlvl, 1, sk, numThreads, lp.daubLen)); + if (wdspotb->memory_allocation_failed()) { + return; + } + int W_Level = wdspotL->level_W(0); + int H_Level = wdspotL->level_H(0); + float *wav_L0 = wdspotL->get_coeff0(); + float *wav_a0 = wdspota->get_coeff0(); + float *wav_b0 = wdspotb->get_coeff0(); + + const std::unique_ptr labresid(new LabImage(W_Level, H_Level)); +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < H_Level; y++) { + for (int x = 0; x < W_Level; x++) { + labresid->L[y][x] = wav_L0[y * W_Level + x]; + labresid->a[y][x] = wav_a0[y * W_Level + x]; + labresid->b[y][x] = wav_b0[y * W_Level + x]; + } + } + + Imagefloat *tmpImage = nullptr; + tmpImage = new Imagefloat(W_Level, H_Level); + lab2rgb(*labresid, *tmpImage, params->icm.workingProfile); + Glib::ustring prof = params->icm.workingProfile; + cmsHTRANSFORM dummy = nullptr; + int ill =0; + workingtrc(tmpImage, tmpImage, W_Level, H_Level, -5, prof, 2.4, 12.92310, ill, 0, dummy, true, false, false); + workingtrc(tmpImage, tmpImage, W_Level, H_Level, 1, prof, lp.residgam, lp.residslop, ill, 0, dummy, false, true, true);//be careful no gamut control + rgb2lab(*tmpImage, *labresid, params->icm.workingProfile); + delete tmpImage; + +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < H_Level; y++) { + for (int x = 0; x < W_Level; x++) { + wav_L0[y * W_Level + x] = labresid->L[y][x]; + wav_a0[y * W_Level + x] = labresid->a[y][x]; + wav_b0[y * W_Level + x] = labresid->b[y][x]; + } + } + + wdspotL->reconstruct(tmp[0], 1.f); + wdspota->reconstruct(tmpa[0], 1.f); + wdspotb->reconstruct(tmpb[0], 1.f); + } } @@ -8979,7 +10869,7 @@ void ImProcFunctions::DeNoise(int call, float * slidL, float * slida, float * sl //local denoise //all these variables are to prevent use of denoise when non necessary // but with qualmet = 2 (default for best quality) we must denoise chroma with little values to prevent artifacts due to variations of Hue - // but if user select voluntary denoise, it is that choice the good (prioritary) + // but if user select voluntary denoise, it is that choice the good (priority) bool execcolor = (lp.chro != 0.f || lp.ligh != 0.f || lp.cont != 0); // only if one slider or more is engaged bool execbdl = (lp.mulloc[0] != 1.f || lp.mulloc[1] != 1.f || lp.mulloc[2] != 1.f || lp.mulloc[3] != 1.f || lp.mulloc[4] != 1.f || lp.mulloc[5] != 1.f) ;//only if user want cbdl bool execdenoi = noiscfactiv && ((lp.colorena && execcolor) || (lp.tonemapena && lp.strengt != 0.f) || (lp.cbdlena && execbdl) || (lp.sfena && lp.strng > 0.f) || (lp.lcena && lp.lcamount > 0.f) || (lp.sharpena && lp.shrad > 0.42) || (lp.retiena && lp.str > 0.f) || (lp.exposena && lp.expcomp != 0.f) || (lp.expvib && lp.past != 0.f)); @@ -9067,6 +10957,29 @@ void ImProcFunctions::DeNoise(int call, float * slidL, float * slida, float * sl tmp1.b[ir][jr] = original->b[ir][jr]; } + float gamma = lp.noisegam; + rtengine::GammaValues g_a; //gamma parameters + double pwr = 1.0 / (double) lp.noisegam;//default 3.0 - gamma Lab + double ts = 9.03296;//always the same 'slope' in the extreme shadows - slope Lab + rtengine::Color::calcGamma(pwr, ts, g_a); // call to calcGamma with selected gamma and slope + + if(gamma > 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < GH; ++y) { + int x = 0; +#ifdef __SSE2__ + for (; x < GW - 3; x += 4) { + STVFU(tmp1.L[y][x], F2V(32768.f) * igammalog(LVFU(tmp1.L[y][x]) / F2V(32768.f), F2V(gamma), F2V(ts), F2V(g_a[2]), F2V(g_a[4]))); + } +#endif + for (;x < GW; ++x) { + tmp1.L[y][x] = 32768.f * igammalog(tmp1.L[y][x] / 32768.f, gamma, ts, g_a[2], g_a[4]); + } + } + } + // int DaubLen = 6; int levwavL = levred; @@ -9613,11 +11526,27 @@ void ImProcFunctions::DeNoise(int call, float * slidL, float * slida, float * sl } + if(gamma > 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < GH; ++y) {//apply inverse gamma 3.f and put result in range 32768.f + int x = 0; +#ifdef __SSE2__ + for (; x < GW - 3; x += 4) { + STVFU(tmp1.L[y][x], F2V(32768.f) * gammalog(LVFU(tmp1.L[y][x]) / F2V(32768.f), F2V(gamma), F2V(ts), F2V(g_a[3]), F2V(g_a[4]))); + } +#endif + for (; x < GW; ++x) { + tmp1.L[y][x] = 32768.f * gammalog(tmp1.L[y][x] / 32768.f, gamma, ts, g_a[3], g_a[4]); + } + } + } + if(lp.nlstr > 0) { NLMeans(tmp1.L, lp.nlstr, lp.nldet, lp.nlpat, lp.nlrad, lp.nlgam, GW, GH, float (sk), multiThread); - // NLMeans(*nlm, lp.nlstr, lp.nldet, lp.nlpat, lp.nlrad, lp.nlgam, GW + addsiz, GH + addsiz, float (sk), multiThread); - } + if(lp.smasktyp != 0) { if(lp.enablMask && lp.recothrd != 1.f) { LabImage tmp3(GW, GH); @@ -9743,6 +11672,29 @@ void ImProcFunctions::DeNoise(int call, float * slidL, float * slida, float * sl } + float gamma = lp.noisegam; + rtengine::GammaValues g_a; //gamma parameters + double pwr = 1.0 / (double) lp.noisegam;//default 3.0 - gamma Lab + double ts = 9.03296;//always the same 'slope' in the extreme shadows - slope Lab + rtengine::Color::calcGamma(pwr, ts, g_a); // call to calcGamma with selected gamma and slope + if(gamma > 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < bfh; ++y) { + int x = 0; + +#ifdef __SSE2__ + for (; x < bfw - 3; x += 4) { + STVFU(bufwv.L[y][x], F2V(32768.f) * igammalog(LVFU(bufwv.L[y][x]) / F2V(32768.f), F2V(gamma), F2V(ts), F2V(g_a[2]), F2V(g_a[4]))); + } +#endif + for (;x < bfw; ++x) { + bufwv.L[y][x] = 32768.f * igammalog(bufwv.L[y][x] / 32768.f, gamma, ts, g_a[2], g_a[4]); + } + } + } + // int DaubLen = 6; int levwavL = levred; @@ -10285,13 +12237,29 @@ void ImProcFunctions::DeNoise(int call, float * slidL, float * slida, float * sl } } + if(gamma > 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < bfh ; ++y) {//apply inverse gamma 3.f and put result in range 32768.f + int x = 0; + +#ifdef __SSE2__ + for (; x < bfw - 3; x += 4) { - if(lp.nlstr > 0) { - NLMeans(bufwv.L, lp.nlstr, lp.nldet, lp.nlpat, lp.nlrad, lp.nlgam, bfw, bfh, 1.f, multiThread); - // NLMeans(*nlm, lp.nlstr, lp.nldet, lp.nlpat, lp.nlrad, lp.nlgam, bfw + addsiz, bfh + addsiz, 1.f, multiThread); + STVFU(bufwv.L[y][x], F2V(32768.f) * gammalog(LVFU(bufwv.L[y][x]) / F2V(32768.f), F2V(gamma), F2V(ts), F2V(g_a[3]), F2V(g_a[4]))); + } +#endif + for (; x < bfw ; ++x) { - - } + bufwv.L[y][x] = 32768.f * gammalog(bufwv.L[y][x] / 32768.f, gamma, ts, g_a[3], g_a[4]); + } + } + } + + if(lp.nlstr > 0) { + NLMeans(bufwv.L, lp.nlstr, lp.nldet, lp.nlpat, lp.nlrad, lp.nlgam, bfw, bfh, 1.f, multiThread); + } if (lp.smasktyp != 0) { @@ -10431,7 +12399,7 @@ void rgbtone(float& maxval, float& medval, float& minval, const LUTf& lutToneCur medval = minval + ((maxval - minval) * (medvalold - minvalold) / (maxvalold - minvalold)); } -void clarimerge(struct local_params& lp, float &mL, float &mC, bool &exec, LabImage *tmpresid, int wavelet_level, int sk, int numThreads) +void ImProcFunctions::clarimerge(const struct local_params& lp, float &mL, float &mC, bool &exec, LabImage *tmpresid, int wavelet_level, int sk, int numThreads) { if (mL != 0.f && mC == 0.f) { mC = 0.0001f; @@ -10563,10 +12531,33 @@ void clarimerge(struct local_params& lp, float &mL, float &mC, bool &exec, LabIm } } -void ImProcFunctions::avoidcolshi(const struct local_params& lp, int sp, LabImage * original, LabImage *transformed, int cy, int cx, int sk) +void ImProcFunctions::avoidcolshi(const struct local_params& lp, int sp, LabImage *transformed, LabImage *reserved, int cy, int cx, int sk) { - if (params->locallab.spots.at(sp).avoid && lp.islocal) { + int avoidgamut = 0; + + if (params->locallab.spots.at(sp).avoidgamutMethod == "NONE") { + avoidgamut = 0; + } else if (params->locallab.spots.at(sp).avoidgamutMethod == "LAB") { + avoidgamut = 1; + } else if (params->locallab.spots.at(sp).avoidgamutMethod == "XYZ") { + avoidgamut = 2; + } else if (params->locallab.spots.at(sp).avoidgamutMethod == "XYZREL") { + avoidgamut = 3; + } else if (params->locallab.spots.at(sp).avoidgamutMethod == "MUNS") { + avoidgamut = 4; + } + + if (avoidgamut == 0) { + return; + } + + if (avoidgamut > 0 && lp.islocal) { const float ach = lp.trans / 100.f; + bool execmunsell = true; + + if (params->locallab.spots.at(sp).expcie && (params->locallab.spots.at(sp).modecam == "all" || params->locallab.spots.at(sp).modecam == "jz" || params->locallab.spots.at(sp).modecam == "cam16")) { + execmunsell = false; + } TMatrix wiprof = ICCStore::getInstance()->workingSpaceInverseMatrix(params->icm.workingProfile); const double wip[3][3] = {//improve precision with double @@ -10575,11 +12566,18 @@ void ImProcFunctions::avoidcolshi(const struct local_params& lp, int sp, LabImag {wiprof[2][0], wiprof[2][1], wiprof[2][2]} }; + TMatrix wprof = ICCStore::getInstance()->workingSpaceMatrix(params->icm.workingProfile); + const double wp[3][3] = {//improve precision with double + {wprof[0][0], wprof[0][1], wprof[0][2]}, + {wprof[1][0], wprof[1][1], wprof[1][2]}, + {wprof[2][0], wprof[2][1], wprof[2][2]} + }; + const float softr = params->locallab.spots.at(sp).avoidrad;//max softr = 30 - const bool muns = params->locallab.spots.at(sp).avoidmun;//Munsell control with 200 LUT + // const bool muns = params->locallab.spots.at(sp).avoidmun;//Munsell control with 200 LUT //improve precision with mint and maxt const float tr = std::min(2.f, softr); - const float mint = 0.15f - 0.06f * tr;//between 0.15f and 0.03f + const float mint = 0.15f - 0.06f * tr;//between 0.15f and 0.03f const float maxt = 0.98f + 0.008f * tr;//between 0.98f and 0.996f const bool highlight = params->toneCurve.hrenabled; @@ -10600,6 +12598,7 @@ void ImProcFunctions::avoidcolshi(const struct local_params& lp, int sp, LabImag #ifdef _OPENMP #pragma omp for schedule(dynamic,16) #endif + for (int y = 0; y < transformed->H; y++) { const int loy = cy + y; const bool isZone0 = loy > lp.yc + lp.ly || loy < lp.yc - lp.lyT; // whole line is zone 0 => we can skip a lot of processing @@ -10659,7 +12658,7 @@ void ImProcFunctions::avoidcolshi(const struct local_params& lp, int sp, LabImag if (lp.shapmet == 0) { calcTransition(lox, loy, ach, lp, zone, localFactor); - } else /*if (lp.shapmet == 1)*/ { + } else { /*if (lp.shapmet == 1)*/ calcTransitionrect(lox, loy, ach, lp, zone, localFactor); } @@ -10694,40 +12693,103 @@ void ImProcFunctions::avoidcolshi(const struct local_params& lp, int sp, LabImag sincosval.y = aa / (Chprov1 * 327.68f); sincosval.x = bb / (Chprov1 * 327.68f); } + #endif + float lnew = transformed->L[y][x]; + float anew = transformed->a[y][x]; + float bnew = transformed->b[y][x]; + Lprov1 = lnew / 327.68f; + //HH = xatan2f(bnew, anew); - Color::pregamutlab(Lprov1, HH, chr); - Chprov1 = rtengine::min(Chprov1, chr); - if(!muns) { - float R, G, B; + if (avoidgamut == 1) { //Lab correction + + Color::pregamutlab(Lprov1, HH, chr); + Chprov1 = rtengine::min(Chprov1, chr); + + float R, G, B; Color::gamutLchonly(HH, sincosval, Lprov1, Chprov1, R, G, B, wip, highlight, mint, maxt);//replace for best results - } - transformed->L[y][x] = Lprov1 * 327.68f; - transformed->a[y][x] = 327.68f * Chprov1 * sincosval.y; - transformed->b[y][x] = 327.68f * Chprov1 * sincosval.x; + lnew = Lprov1 * 327.68f; + anew = 327.68f * Chprov1 * sincosval.y; + bnew = 327.68f * Chprov1 * sincosval.x; + //HH = xatan2f(bnew, anew); + transformed->a[y][x] = anew; + transformed->b[y][x] = bnew; - if (needHH) { - const float Lprov2 = original->L[y][x] / 327.68f; - float correctionHue = 0.f; // Munsell's correction - float correctlum = 0.f; - const float memChprov = std::sqrt(SQR(original->a[y][x]) + SQR(original->b[y][x])) / 327.68f; - float Chprov = std::sqrt(SQR(transformed->a[y][x]) + SQR(transformed->b[y][x])) / 327.68f; - Color::AllMunsellLch(true, Lprov1, Lprov2, HH, Chprov, memChprov, correctionHue, correctlum); + } else if (avoidgamut == 2 || avoidgamut == 3) { //XYZ correction + float xg, yg, zg; + const float aag = transformed->a[y][x];//anew + const float bbg = transformed->b[y][x];//bnew + float Lag = transformed->L[y][x]; - if (std::fabs(correctionHue) < 0.015f) { - HH += correctlum; // correct only if correct Munsell chroma very small. + Color::Lab2XYZ(Lag, aag, bbg, xg, yg, zg); + float x0 = xg; + float y0 = yg; + float z0 = zg; + + Color::gamutmap(xg, yg, zg, wp); + + if (avoidgamut == 3) {//0.5f arbitrary coeff + xg = xg + 0.5f * (x0 - xg); + yg = yg + 0.5f * (y0 - yg); + zg = zg + 0.5f * (z0 - zg); } - sincosval = xsincosf(HH + correctionHue); - transformed->a[y][x] = 327.68f * Chprov * sincosval.y; // apply Munsell - transformed->b[y][x] = 327.68f * Chprov * sincosval.x; + //Color::gamutmap(xg, yg, zg, wp);//Put XYZ in gamut wp + float aag2, bbg2; + Color::XYZ2Lab(xg, yg, zg, Lag, aag2, bbg2); + Lprov1 = Lag / 327.68f; + HH = xatan2f(bbg2, aag2);//rebuild HH in case of...absolute colorimetry + Chprov1 = std::sqrt(SQR(aag2) + SQR(bbg2)) / 327.68f; + + if (Chprov1 == 0.0f) { + sincosval.y = 1.f; + sincosval.x = 0.0f; + } else { + sincosval.y = aag2 / (Chprov1 * 327.68f); + sincosval.x = bbg2 / (Chprov1 * 327.68f); + } + + lnew = Lprov1 * 327.68f; + anew = 327.68f * Chprov1 * sincosval.y; + bnew = 327.68f * Chprov1 * sincosval.x; + transformed->a[y][x] = anew; + transformed->b[y][x] = bnew; + + } + + if (needHH && avoidgamut <= 4) {//Munsell + Lprov1 = lnew / 327.68f; + float Chprov = sqrt(SQR(anew) + SQR(bnew)) / 327.68f; + + const float Lprov2 = reserved->L[y][x] / 327.68f; + float correctionHue = 0.f; // Munsell's correction + float correctlum = 0.f; + const float memChprov = std::sqrt(SQR(reserved->a[y][x]) + SQR(reserved->b[y][x])) / 327.68f; + + if (execmunsell) { + Color::AllMunsellLch(true, Lprov1, Lprov2, HH, Chprov, memChprov, correctionHue, correctlum); + } + + if (correctionHue != 0.f || correctlum != 0.f) { + + if (std::fabs(correctionHue) < 0.015f) { + HH += correctlum; // correct only if correct Munsell chroma very small. + } + + sincosval = xsincosf(HH + correctionHue); + } + + anew = 327.68f * Chprov * sincosval.y; // apply Munsell + bnew = 327.68f * Chprov * sincosval.x; + transformed->a[y][x] = anew; // apply Munsell + transformed->b[y][x] = bnew; } } } } - //Guidedfilter to reduce artifacts in transitions - if (softr != 0.f) {//soft for L a b because we change color... + //Guidedfilter to reduce artifacts in transitions : case Lab + if (softr != 0.f && avoidgamut == 1) {//soft for L a b because we change color... const float tmpblur = softr < 0.f ? -1.f / softr : 1.f + softr; const int r1 = rtengine::max(6 / sk * tmpblur + 0.5f, 1); const int r2 = rtengine::max(10 / sk * tmpblur + 0.5f, 1); @@ -10751,13 +12813,15 @@ void ImProcFunctions::avoidcolshi(const struct local_params& lp, int sp, LabImag for (int y = 0; y < bh ; y++) { for (int x = 0; x < bw; x++) { ble[y][x] = transformed->L[y][x] / 32768.f; - guid[y][x] = original->L[y][x] / 32768.f; + guid[y][x] = reserved->L[y][x] / 32768.f; } } + rtengine::guidedFilter(guid, ble, ble, r2, 0.2f * epsil, multiThread); #ifdef _OPENMP #pragma omp parallel for schedule(dynamic,16) if (multiThread) #endif + for (int y = 0; y < bh; y++) { for (int x = 0; x < bw; x++) { transformed->L[y][x] = 32768.f * ble[y][x]; @@ -10774,11 +12838,13 @@ void ImProcFunctions::avoidcolshi(const struct local_params& lp, int sp, LabImag blechro[y][x] = std::sqrt(SQR(transformed->b[y][x]) + SQR(transformed->a[y][x])) / 32768.f; } } + rtengine::guidedFilter(guid, blechro, blechro, r1, epsil, multiThread); #ifdef _OPENMP #pragma omp parallel for schedule(dynamic,16) if (multiThread) #endif + for (int y = 0; y < bh; y++) { for (int x = 0; x < bw; x++) { const float Chprov1 = std::sqrt(SQR(transformed->a[y][x]) + SQR(transformed->b[y][x])); @@ -10803,7 +12869,6 @@ void ImProcFunctions::avoidcolshi(const struct local_params& lp, int sp, LabImag void maskrecov(const LabImage * bufcolfin, LabImage * original, LabImage * bufmaskblurcol, int bfh, int bfw, int ystart, int xstart, float hig, float low, float recoth, float decay, bool invmask, int sk, bool multiThread) { LabImage tmp3(bfw, bfh); - for (int y = 0; y < bfh; y++){ for (int x = 0; x < bfw; x++) { tmp3.L[y][x] = original->L[y + ystart][x + xstart]; @@ -10835,7 +12900,7 @@ void maskrecov(const LabImage * bufcolfin, LabImage * original, LabImage * bufma #ifdef _OPENMP #pragma omp parallel for if (multiThread) #endif - for (int ir = 0; ir < bfh; ir++) + for (int ir = 0; ir < bfh; ir++) { for (int jr = 0; jr < bfw; jr++) { const float lM = bufmaskblurcol->L[ir][jr]; const float lmr = lM / 327.68f; @@ -10854,6 +12919,7 @@ void maskrecov(const LabImage * bufcolfin, LabImage * original, LabImage * bufma } } + } for (int i = 0; i < 3; ++i) { boxblur(static_cast(masklum), static_cast(masklum), 10 / sk, bfw, bfh, false); @@ -10958,7 +13024,7 @@ void ImProcFunctions::NLMeans(float **img, int strength, int detail_thresh, int float gamma = gam; rtengine::GammaValues g_a; //gamma parameters double pwr = 1.0 / static_cast(gam);//default 3.0 - gamma Lab - double ts = 9.03296;//always the same 'slope' in the extrem shadows - slope Lab + double ts = 9.03296;//always the same 'slope' in the extreme shadows - slope Lab rtengine::Color::calcGamma(pwr, ts, g_a); // call to calcGamma with selected gamma and slope //first change Lab L to pseudo linear with gamma = 3.f slope 9.032...and in range 0...65536, or with gamma slope Lab @@ -11001,7 +13067,7 @@ void ImProcFunctions::NLMeans(float **img, int strength, int detail_thresh, int // laplacian filter with additional averaging and smoothing. The // detail_thresh parameter controls the degree of detail preservation: the // (averaged, smoothed) laplacian is first normalized to [0,1], and then - // modified by compression and offseting depending on the detail_thresh + // modified by compression and offsetting depending on the detail_thresh // parameter, i.e. mask[y][x] = mask[y][x] * (1 - f) + f, // where f = detail_thresh / 100 float amount = LIM(float(detail_thresh)/100.f, 0.f, 0.99f); @@ -11233,12 +13299,13 @@ void ImProcFunctions::NLMeans(float **img, int strength, int detail_thresh, int } void ImProcFunctions::Lab_Local( - int call, int sp, float** shbuffer, LabImage * original, LabImage * transformed, LabImage * reserved, LabImage * savenormtm, LabImage * savenormreti, LabImage * lastorig, int cx, int cy, int oW, int oH, int sk, + int call, int sp, float** shbuffer, LabImage * original, LabImage * transformed, LabImage * reserved, LabImage * savenormtm, LabImage * savenormreti, LabImage * lastorig, int fw, int fh, int cx, int cy, int oW, int oH, int sk, const LocretigainCurve& locRETgainCcurve, const LocretitransCurve& locRETtransCcurve, const LUTf& lllocalcurve, bool locallutili, const LUTf& cllocalcurve, bool localclutili, const LUTf& lclocalcurve, bool locallcutili, const LocLHCurve& loclhCurve, const LocHHCurve& lochhCurve, const LocCHCurve& locchCurve, + const LocHHCurve& lochhCurvejz, const LocCHCurve& locchCurvejz, const LocLHCurve& loclhCurvejz, const LUTf& lmasklocalcurve, bool localmaskutili, const LUTf& lmaskexplocalcurve, bool localmaskexputili, const LUTf& lmaskSHlocalcurve, bool localmaskSHutili, @@ -11250,6 +13317,12 @@ void ImProcFunctions::Lab_Local( const LUTf& lmasklclocalcurve, bool localmasklcutili, const LUTf& lmaskloglocalcurve, bool localmasklogutili, const LUTf& lmasklocal_curve, bool localmask_utili, + const LUTf& lmaskcielocalcurve, bool localmaskcieutili, + const LUTf& cielocalcurve, bool localcieutili, + const LUTf& cielocalcurve2, bool localcieutili2, + const LUTf& jzlocalcurve, bool localjzutili, + const LUTf& czlocalcurve, bool localczutili, + const LUTf& czjzlocalcurve, bool localczjzutili, const LocCCmaskCurve& locccmasCurve, bool lcmasutili, const LocLLmaskCurve& locllmasCurve, bool llmasutili, const LocHHmaskCurve& lochhmasCurve, bool lhmasutili, const LocHHmaskCurve& llochhhmasCurve, bool lhhmasutili, const LocCCmaskCurve& locccmasexpCurve, bool lcmasexputili, const LocLLmaskCurve& locllmasexpCurve, bool llmasexputili, const LocHHmaskCurve& lochhmasexpCurve, bool lhmasexputili, @@ -11262,10 +13335,13 @@ void ImProcFunctions::Lab_Local( const LocCCmaskCurve& locccmaslcCurve, bool lcmaslcutili, const LocLLmaskCurve& locllmaslcCurve, bool llmaslcutili, const LocHHmaskCurve& lochhmaslcCurve, bool lhmaslcutili, const LocCCmaskCurve& locccmaslogCurve, bool lcmaslogutili, const LocLLmaskCurve& locllmaslogCurve, bool llmaslogutili, const LocHHmaskCurve& lochhmaslogCurve, bool lhmaslogutili, const LocCCmaskCurve& locccmas_Curve, bool lcmas_utili, const LocLLmaskCurve& locllmas_Curve, bool llmas_utili, const LocHHmaskCurve& lochhmas_Curve, bool lhmas_utili, + const LocCCmaskCurve& locccmascieCurve, bool lcmascieutili, const LocLLmaskCurve& locllmascieCurve, bool llmascieutili, const LocHHmaskCurve& lochhmascieCurve, bool lhmascieutili, + const LocHHmaskCurve& lochhhmas_Curve, bool lhhmas_utili, const LocwavCurve& loclmasCurveblwav, bool lmasutiliblwav, const LocwavCurve& loclmasCurvecolwav, bool lmasutilicolwav, const LocwavCurve& locwavCurve, bool locwavutili, + const LocwavCurve& locwavCurvejz, bool locwavutilijz, const LocwavCurve& loclevwavCurve, bool loclevwavutili, const LocwavCurve& locconwavCurve, bool locconwavutili, const LocwavCurve& loccompwavCurve, bool loccompwavutili, @@ -11275,11 +13351,11 @@ void ImProcFunctions::Lab_Local( const LocwavCurve& locedgwavCurve, bool locedgwavutili, const LocwavCurve& loclmasCurve_wav, bool lmasutili_wav, - bool LHutili, bool HHutili, bool CHutili, const LUTf& cclocalcurve, bool localcutili, const LUTf& rgblocalcurve, bool localrgbutili, bool localexutili, const LUTf& exlocalcurve, const LUTf& hltonecurveloc, const LUTf& shtonecurveloc, const LUTf& tonecurveloc, const LUTf& lightCurveloc, + bool LHutili, bool HHutili, bool CHutili, bool HHutilijz, bool CHutilijz, bool LHutilijz, const LUTf& cclocalcurve, bool localcutili, const LUTf& rgblocalcurve, bool localrgbutili, bool localexutili, const LUTf& exlocalcurve, const LUTf& hltonecurveloc, const LUTf& shtonecurveloc, const LUTf& tonecurveloc, const LUTf& lightCurveloc, double& huerefblur, double& chromarefblur, double& lumarefblur, double& hueref, double& chromaref, double& lumaref, double& sobelref, int &lastsav, - bool prevDeltaE, int llColorMask, int llColorMaskinv, int llExpMask, int llExpMaskinv, int llSHMask, int llSHMaskinv, int llvibMask, int lllcMask, int llsharMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask, int llblMask, int lllogMask, int ll_Mask, + bool prevDeltaE, int llColorMask, int llColorMaskinv, int llExpMask, int llExpMaskinv, int llSHMask, int llSHMaskinv, int llvibMask, int lllcMask, int llsharMask, int llcbMask, int llretiMask, int llsoftMask, int lltmMask, int llblMask, int lllogMask, int ll_Mask, int llcieMask, float& minCD, float& maxCD, float& mini, float& maxi, float& Tmean, float& Tsigma, float& Tmin, float& Tmax, - float& meantm, float& stdtm, float& meanreti, float& stdreti + float& meantm, float& stdtm, float& meanreti, float& stdreti, float &fab ) { //general call of others functions : important return hueref, chromaref, lumaref @@ -11291,9 +13367,9 @@ void ImProcFunctions::Lab_Local( constexpr int del = 3; // to avoid crash with [loy - begy] and [lox - begx] and bfh bfw // with gtk2 [loy - begy-1] [lox - begx -1 ] and del = 1 struct local_params lp; - calcLocalParams(sp, oW, oH, params->locallab, lp, prevDeltaE, llColorMask, llColorMaskinv, llExpMask, llExpMaskinv, llSHMask, llSHMaskinv, llvibMask, lllcMask, llsharMask, llcbMask, llretiMask, llsoftMask, lltmMask, llblMask, lllogMask, ll_Mask, locwavCurveden, locwavdenutili); + calcLocalParams(sp, oW, oH, params->locallab, lp, prevDeltaE, llColorMask, llColorMaskinv, llExpMask, llExpMaskinv, llSHMask, llSHMaskinv, llvibMask, lllcMask, llsharMask, llcbMask, llretiMask, llsoftMask, lltmMask, llblMask, lllogMask, ll_Mask, llcieMask, locwavCurveden, locwavdenutili); - avoidcolshi(lp, sp, original, transformed, cy, cx, sk); + //avoidcolshi(lp, sp, transformed, reserved, cy, cx, sk); const float radius = lp.rad / (sk * 1.4); //0 to 70 ==> see skip int levred; @@ -11379,7 +13455,7 @@ void ImProcFunctions::Lab_Local( } //encoding lab at the beginning - if (lp.logena || lp.showmasklogmet == 2 || lp.enaLMask || lp.showmasklogmet == 3 || lp.showmasklogmet == 4) { + if (lp.logena && (call <=3 || lp.prevdE || lp.showmasklogmet == 2 || lp.enaLMask || lp.showmasklogmet == 3 || lp.showmasklogmet == 4)) { const int ystart = rtengine::max(static_cast(lp.yc - lp.lyT) - cy, 0); const int yend = rtengine::min(static_cast(lp.yc + lp.ly) - cy, original->H); @@ -11470,7 +13546,7 @@ void ImProcFunctions::Lab_Local( locccmaslogCurve, lcmaslogutili, locllmaslogCurve, llmaslogutili, lochhmaslogCurve, lhmaslogutili, lochhhmasCurve, false, multiThread, enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, blendm, shado, highl, amountcd, anchorcd, lmaskloglocalcurve, localmasklogutili, dummy, false, 1, 1, 5, 5, shortcu, delt, hueref, chromaref, lumaref, - maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1 + maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1, fab ); if (lp.showmasklogmet == 3) { @@ -11509,12 +13585,28 @@ void ImProcFunctions::Lab_Local( } } - rgb2lab(*(tmpImage.get()), *bufexpfin, params->icm.workingProfile); + rgb2lab(*tmpImage, *bufexpfin, params->icm.workingProfile); tmpImageorig.reset(); tmpImage.reset(); if (params->locallab.spots.at(sp).ciecam) { - ImProcFunctions::ciecamloc_02float(sp, bufexpfin.get(), 1); + bool HHcurvejz = false, CHcurvejz = false, LHcurvejz = false;; + ImProcFunctions::ciecamloc_02float(lp, sp, bufexpfin.get(), bfw, bfh, 1, sk, cielocalcurve, localcieutili, cielocalcurve2, localcieutili2, jzlocalcurve, localjzutili, czlocalcurve, localczutili, czjzlocalcurve, localczjzutili, locchCurvejz, lochhCurvejz, loclhCurvejz, HHcurvejz, CHcurvejz, LHcurvejz, locwavCurvejz, locwavutilijz); + } + + + if (params->locallab.spots.at(sp).expcie && params->locallab.spots.at(sp).modecie == "log") { + bool HHcurvejz = false; + bool CHcurvejz = false; + bool LHcurvejz = false; + if (params->locallab.spots.at(sp).expcie && params->locallab.spots.at(sp).modecam == "jz") {//some cam16 elementsfor Jz + ImProcFunctions::ciecamloc_02float(lp, sp, bufexpfin.get(), bfw, bfh, 10, sk, cielocalcurve, localcieutili, cielocalcurve2, localcieutili2, jzlocalcurve, localjzutili, czlocalcurve, localczutili, czjzlocalcurve, localczjzutili, locchCurvejz, lochhCurvejz, loclhCurvejz, HHcurvejz, CHcurvejz, LHcurvejz, locwavCurvejz, locwavutilijz); + } + + ImProcFunctions::ciecamloc_02float(lp, sp, bufexpfin.get(),bfw, bfh, 0, sk, cielocalcurve, localcieutili, cielocalcurve2, localcieutili2, jzlocalcurve, localjzutili, czlocalcurve, localczutili, czjzlocalcurve, localczjzutili, locchCurvejz, lochhCurvejz, loclhCurvejz, HHcurvejz, CHcurvejz, LHcurvejz, locwavCurvejz, locwavutilijz); + + float rad = params->locallab.spots.at(sp).detailcie; + loccont(bfw, bfh, bufexpfin.get(), rad, 15.f, sk); } //here begin graduated filter @@ -11533,16 +13625,25 @@ void ImProcFunctions::Lab_Local( } //end graduated + float recoth = lp.recothrl; + + if(lp.recothrl < 1.f) { + recoth = -1.f * recoth + 2.f; + } if(lp.enaLMask && lp.recothrl != 1.f) { float hig = lp.higthrl; float low = lp.lowthrl; - float recoth = lp.recothrl; + // float recoth = lp.recothrl; float decay = lp.decayl; bool invmask = false; maskrecov(bufexpfin.get(), original, bufmaskoriglog.get(), bfh, bfw, ystart, xstart, hig, low, recoth, decay, invmask, sk, multiThread); } - transit_shapedetect2(sp, 0.f, 0.f, call, 11, bufexporig.get(), bufexpfin.get(), originalmasklog.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); + if(lp.recothrl >= 1.f) { + transit_shapedetect2(sp, 0.f, 0.f, call, 11, bufexporig.get(), bufexpfin.get(), originalmasklog.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); + } else { + transit_shapedetect2(sp, 0.f, 0.f, call, 11, bufexporig.get(), bufexpfin.get(), nullptr, hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); + } } if (lp.recur) { @@ -11647,12 +13748,11 @@ void ImProcFunctions::Lab_Local( LocHHmaskCurve lochhhmasCurve; const float strumask = 0.02 * params->locallab.spots.at(sp).strumaskbl; const bool astool = params->locallab.spots.at(sp).toolbl; - maskcalccol(false, pde, TW, TH, 0, 0, sk, cx, cy, bufblorig.get(), bufmaskblurbl.get(), originalmaskbl.get(), original, reserved, inv, lp, strumask, astool, locccmasblCurve, lcmasblutili, locllmasblCurve, llmasblutili, lochhmasblCurve, lhmasblutili, lochhhmasCurve, false, multiThread, enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, blendm, shado, highl, amountcd, anchorcd, lmaskbllocalcurve, localmaskblutili, loclmasCurveblwav, lmasutiliblwav, 1, 1, 5, 5, shortcu, params->locallab.spots.at(sp).deltae, hueref, chromaref, lumaref, - maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, 0 + maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, 0, fab ); if (lp.showmaskblmet == 3) { @@ -11687,7 +13787,7 @@ void ImProcFunctions::Lab_Local( if (bfw >= mSP && bfh >= mSP) { if (lp.blurmet == 0 && (fft || lp.rad > 30.0)) { - optfft(N_fftwsize, bfh, bfw, bfhr, bfwr, lp, original->H, original->W, xstart, ystart, xend, yend, cx, cy); + optfft(N_fftwsize, bfh, bfw, bfhr, bfwr, lp, original->H, original->W, xstart, ystart, xend, yend, cx, cy, lp.fullim); } const std::unique_ptr bufgbi(new LabImage(TW, TH)); @@ -11828,7 +13928,7 @@ void ImProcFunctions::Lab_Local( } - filmGrain(tmpImage, isogr, strengr, scalegr, divgr, wi, he); + filmGrain(tmpImage, isogr, strengr, scalegr, divgr, wi, he, call, fw, fh); for (int y = 0; y < he ; y++) { for (int x = 0; x < wi; x++) { @@ -12291,7 +14391,7 @@ void ImProcFunctions::Lab_Local( ImProcFunctions::impulse_nr(bufwv.get(), threshold); } - DeNoise_Local(call, lp, originalmaskbl.get(), levred, huerefblur, lumarefblur, chromarefblur, original, transformed, *(bufwv.get()), cx, cy, sk); + DeNoise_Local(call, lp, originalmaskbl.get(), levred, huerefblur, lumarefblur, chromarefblur, original, transformed, *bufwv, cx, cy, sk); if (lp.recur) { original->CopyFrom(transformed, multiThread); @@ -12433,13 +14533,12 @@ void ImProcFunctions::Lab_Local( float anchorcd = 50.f; LocHHmaskCurve lochhhmasCurve; const int highl = 0; - maskcalccol(false, pde, bfw, bfh, xstart, ystart, sk, cx, cy, bufgbm.get(), bufmaskorigtm.get(), originalmasktm.get(), original, reserved, inv, lp, 0.f, false, locccmastmCurve, lcmastmutili, locllmastmCurve, llmastmutili, lochhmastmCurve, lhmastmutili, lochhhmasCurve, false, multiThread, enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, blendm, shado, highl, amountcd, anchorcd, lmasktmlocalcurve, localmasktmutili, dummy, false, 1, 1, 5, 5, shortcu, params->locallab.spots.at(sp).deltae, hueref, chromaref, lumaref, - maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1 + maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1, fab ); if (lp.showmasktmmet == 3) { @@ -12453,6 +14552,23 @@ void ImProcFunctions::Lab_Local( constexpr int itera = 0; ImProcFunctions::EPDToneMaplocal(sp, bufgb.get(), tmp1.get(), itera, sk);//iterate to 0 calculate with edgstopping, improve result, call=1 dcrop we can put iterate to 5 + if (params->locallab.spots.at(sp).expcie && params->locallab.spots.at(sp).modecie == "tm") { + bool HHcurvejz = false; + bool CHcurvejz = false; + bool LHcurvejz = false; + if (params->locallab.spots.at(sp).modecam == "jz") {//some cam16 elementsfor Jz + ImProcFunctions::ciecamloc_02float(lp, sp, tmp1.get(), bfw, bfh, 10, sk, cielocalcurve, localcieutili, cielocalcurve2, localcieutili2, jzlocalcurve, localjzutili, czlocalcurve, localczutili, czjzlocalcurve, localczjzutili, locchCurvejz, lochhCurvejz, loclhCurvejz, HHcurvejz, CHcurvejz, LHcurvejz, locwavCurvejz, locwavutilijz); + } + + ImProcFunctions::ciecamloc_02float(lp, sp, tmp1.get(), bfw, bfh, 0, sk, cielocalcurve, localcieutili, cielocalcurve2, localcieutili2, jzlocalcurve, localjzutili, czlocalcurve, localczutili, czjzlocalcurve, localczjzutili, locchCurvejz, lochhCurvejz, loclhCurvejz, HHcurvejz, CHcurvejz, LHcurvejz, locwavCurvejz, locwavutilijz); + + float rad = params->locallab.spots.at(sp).detailcie; + loccont(bfw, bfh, tmp1.get(), rad, 15.f, sk); + } + + + + tmp1m->CopyFrom(tmp1.get(), multiThread); //save current result7 if(params->locallab.spots.at(sp).equiltm && params->locallab.spots.at(sp).exptonemap) { if(call == 3) { @@ -12485,13 +14601,12 @@ void ImProcFunctions::Lab_Local( float anchorcd = 50.f; LocHHmaskCurve lochhhmasCurve; const int highl = 0; - maskcalccol(false, pde, bfw, bfh, xstart, ystart, sk, cx, cy, tmp1.get(), bufmaskorigtm.get(), originalmasktm.get(), original, reserved, inv, lp, 0.f, false, locccmastmCurve, lcmastmutili, locllmastmCurve, llmastmutili, lochhmastmCurve, lhmastmutili, lochhhmasCurve, false, multiThread, enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, blendm, shado, highl, amountcd, anchorcd, lmasktmlocalcurve, localmasktmutili, dummy, false, 1, 1, 5, 5, shortcu, params->locallab.spots.at(sp).deltae, hueref, chromaref, lumaref, - maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1 + maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1, fab ); if (lp.showmasktmmet == 3) {//display mask @@ -12549,17 +14664,26 @@ void ImProcFunctions::Lab_Local( } if(lp.enatmMask && lp.recothrt != 1.f) { + float recoth = lp.recothrt; + + if(lp.recothrt < 1.f) { + recoth = -1.f * recoth + 2.f; + } float hig = lp.higthrt; float low = lp.lowthrt; - float recoth = lp.recothrt; + // float recoth = lp.recothrt; float decay = lp.decayt; bool invmask = false; maskrecov(tmp1.get(), original, bufmaskorigtm.get(), bfh, bfw, ystart, xstart, hig, low, recoth, decay, invmask, sk, multiThread); } // transit_shapedetect_retinex(call, 4, bufgb.get(),bufmaskorigtm.get(), originalmasktm.get(), buflight, bufchro, hueref, chromaref, lumaref, lp, original, transformed, cx, cy, sk); - transit_shapedetect2(sp, meantm, stdtm, call, 8, bufgb.get(), tmp1.get(), originalmasktm.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); + if(lp.recothrt >= 1.f) { + transit_shapedetect2(sp, meantm, stdtm, call, 8, bufgb.get(), tmp1.get(), originalmasktm.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); + } else { + transit_shapedetect2(sp, meantm, stdtm, call, 8, bufgb.get(), tmp1.get(), nullptr, hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); + } // transit_shapedetect(8, tmp1.get(), originalmasktm.get(), bufchro, false, hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); bufgb.reset(); @@ -12701,7 +14825,7 @@ void ImProcFunctions::Lab_Local( const float refb = chromaref * sin(hueref); const std::unique_ptr> reducDEBuffer(new JaggedArray(Wd, Hd)); - float** reducDE = *(reducDEBuffer.get()); + float** reducDE = *reducDEBuffer; float ade = 0.01f * raddE; float bde = 100.f - raddE; @@ -12717,10 +14841,10 @@ void ImProcFunctions::Lab_Local( } const std::unique_ptr> origBuffer(new JaggedArray(Wd, Hd)); - float** orig = *(origBuffer.get()); + float** orig = *origBuffer; const std::unique_ptr> origBuffer1(new JaggedArray(Wd, Hd)); - float** orig1 = *(origBuffer1.get()); + float** orig1 = *origBuffer1; #ifdef _OPENMP #pragma omp parallel for schedule(dynamic,16) if (multiThread) @@ -12980,7 +15104,7 @@ void ImProcFunctions::Lab_Local( if (bfw >= mSP && bfh > mSP) { if (lp.ftwreti) { - optfft(N_fftwsize, bfh, bfw, bfhr, bfwr, lp, original->H, original->W, xstart, ystart, xend, yend, cx, cy); + optfft(N_fftwsize, bfh, bfw, bfhr, bfwr, lp, original->H, original->W, xstart, ystart, xend, yend, cx, cy, lp.fullim); } array2D buflight(bfw, bfh); @@ -13048,7 +15172,7 @@ void ImProcFunctions::Lab_Local( const float refb = chromaref * sin(hueref); const std::unique_ptr> reducDEBuffer(new JaggedArray(Wd, Hd)); - float** reducDE = *(reducDEBuffer.get()); + float** reducDE = *reducDEBuffer; float ade = 0.01f * raddE; float bde = 100.f - raddE; float sensibefore = ade * lp.sensh + bde;//we can change sensitivity 0.1 90 or 0.3 70 or 0.4 60 @@ -13064,10 +15188,10 @@ void ImProcFunctions::Lab_Local( } const std::unique_ptr> origBuffer(new JaggedArray(Wd, Hd)); - float** orig = *(origBuffer.get()); + float** orig = *origBuffer; const std::unique_ptr> origBuffer1(new JaggedArray(Wd, Hd)); - float** orig1 = *(origBuffer1.get()); + float** orig1 = *origBuffer1; LabImage *tmpl = nullptr; @@ -13388,7 +15512,7 @@ void ImProcFunctions::Lab_Local( locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili, lochhhmasCurve, false, multiThread, enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, blendm, shado, highl, amountcd, anchorcd, lmaskcblocalcurve, localmaskcbutili, dummy, false, 1, 1, 5, 5, shortcu, params->locallab.spots.at(sp).deltae, hueref, chromaref, lumaref, - maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.0f, 0.f, -1 + maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.0f, 0.f, -1, fab ); if (lp.showmaskcbmet == 3) { @@ -13523,8 +15647,8 @@ void ImProcFunctions::Lab_Local( //end cbdl_Local //vibrance - - if (lp.expvib && (lp.past != 0.f || lp.satur != 0.f || lp.strvib != 0.f || lp.war != 0 || lp.strvibab != 0.f || lp.strvibh != 0.f || lp.showmaskvibmet == 2 || lp.enavibMask || lp.showmaskvibmet == 3 || lp.showmaskvibmet == 4 || lp.prevdE) && lp.vibena) { //interior ellipse renforced lightness and chroma //locallutili + float vibg = params->locallab.spots.at(sp).vibgam; + if (lp.expvib && (lp.past != 0.f || lp.satur != 0.f || lp.strvib != 0.f || vibg != 1.f || lp.war != 0 || lp.strvibab != 0.f || lp.strvibh != 0.f || lp.showmaskvibmet == 2 || lp.enavibMask || lp.showmaskvibmet == 3 || lp.showmaskvibmet == 4 || lp.prevdE) && lp.vibena) { //interior ellipse reinforced lightness and chroma //locallutili if (call <= 3) { //simpleprocess, dcrop, improccoordinator const int ystart = rtengine::max(static_cast(lp.yc - lp.lyT) - cy, 0); const int yend = rtengine::min(static_cast(lp.yc + lp.ly) - cy, original->H); @@ -13608,13 +15732,12 @@ void ImProcFunctions::Lab_Local( float amountcd = 0.f; float anchorcd = 50.f; const int highl = 0; - maskcalccol(false, pde, bfw, bfh, xstart, ystart, sk, cx, cy, bufexporig.get(), bufmaskorigvib.get(), originalmaskvib.get(), original, reserved, inv, lp, 0.f, false, locccmasvibCurve, lcmasvibutili, locllmasvibCurve, llmasvibutili, lochhmasvibCurve, lhmasvibutili, lochhhmasCurve, false, multiThread, enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, blendm, shado, highl, amountcd, anchorcd, lmaskviblocalcurve, localmaskvibutili, dummy, false, 1, 1, 5, 5, shortcu, params->locallab.spots.at(sp).deltae, hueref, chromaref, lumaref, - maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1 + maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1, fab ); if (lp.showmaskvibmet == 3) { @@ -13628,6 +15751,7 @@ void ImProcFunctions::Lab_Local( #ifdef _OPENMP #pragma omp parallel for schedule(dynamic,16) if (multiThread) #endif + /* for (int y = ystart; y < yend; y++) { for (int x = xstart; x < xend; x++) { bufexporig->L[y - ystart][x - xstart] = original->L[y][x]; @@ -13635,6 +15759,14 @@ void ImProcFunctions::Lab_Local( bufexporig->b[y - ystart][x - xstart] = original->b[y][x]; } } + */ + for (int y = 0; y < bfh; y++) { + for (int x = 0; x < bfw; x++) { + // bufexporig->L[y][x] = original->L[y + ystart][x + xstart]; + bufexporig->a[y][x] = original->a[y + ystart][x + xstart]; + bufexporig->b[y][x] = original->b[y + ystart][x + xstart]; + } + } VibranceParams vibranceParams; vibranceParams.enabled = params->locallab.spots.at(sp).expvibrance; @@ -13647,9 +15779,17 @@ void ImProcFunctions::Lab_Local( vibranceParams.skintonescurve = params->locallab.spots.at(sp).skintonescurve; - bufexpfin->CopyFrom(bufexporig.get(), multiThread); + // bufexpfin->CopyFrom(bufexporig.get(), multiThread); + for (int y = 0; y < bfh; y++) { + for (int x = 0; x < bfw; x++) { + bufexpfin->L[y][x] = bufexporig->L[y][x]; + bufexpfin->a[y][x] = bufexporig->a[y][x]; + bufexpfin->b[y][x] = bufexporig->b[y][x]; + } + } if (lp.strvibh != 0.f) { + printf("a\n"); struct grad_params gph; calclocalGradientParams(lp, gph, ystart, xstart, bfw, bfh, 9); #ifdef _OPENMP @@ -13687,6 +15827,8 @@ void ImProcFunctions::Lab_Local( } if (lp.strvib != 0.f) { + printf("b\n"); + struct grad_params gp; calclocalGradientParams(lp, gp, ystart, xstart, bfw, bfh, 7); #ifdef _OPENMP @@ -13700,6 +15842,8 @@ void ImProcFunctions::Lab_Local( } if (lp.strvibab != 0.f) { + printf("c\n"); + struct grad_params gpab; calclocalGradientParams(lp, gpab, ystart, xstart, bfw, bfh, 8); #ifdef _OPENMP @@ -13712,25 +15856,82 @@ void ImProcFunctions::Lab_Local( bufexpfin->b[ir][jr] *= factor; } } + float gamma1 = params->locallab.spots.at(sp).vibgam; + rtengine::GammaValues g_a; //gamma parameters + double pwr1 = 1.0 / (double) gamma1;//default 3.0 - gamma Lab + double ts1 = 9.03296;//always the same 'slope' in the extreme shadows - slope Lab + rtengine::Color::calcGamma(pwr1, ts1, g_a); // call to calcGamma with selected gamma and slope + if(gamma1 != 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < bfh; ++y) { + int x = 0; +#ifdef __SSE2__ + for (; x < bfw - 3; x += 4) { + STVFU(bufexpfin->L[y][x], F2V(32768.f) * igammalog(LVFU(bufexpfin->L[y][x]) / F2V(32768.f), F2V(gamma1), F2V(ts1), F2V(g_a[2]), F2V(g_a[4]))); + } +#endif + for (;x < bfw; ++x) { + bufexpfin->L[y][x] = 32768.f * igammalog(bufexpfin->L[y][x] / 32768.f, gamma1, ts1, g_a[2], g_a[4]); + } + } + } + ImProcFunctions::vibrance(bufexpfin.get(), vibranceParams, params->toneCurve.hrenabled, params->icm.workingProfile); + // float gamma = params->locallab.spots.at(sp).vibgam; + // rtengine::GammaValues g_a; //gamma parameters + // double pwr = 1.0 / (double) gamma;//default 3.0 - gamma Lab + // double ts = 9.03296;//always the same 'slope' in the extreme shadows - slope Lab + // rtengine::Color::calcGamma(pwr, ts, g_a); // call to calcGamma with selected gamma and slope + + if(gamma1 != 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < bfh; ++y) {//apply inverse gamma 3.f and put result in range 32768.f + int x = 0; +#ifdef __SSE2__ + for (; x < bfw - 3; x += 4) { + STVFU(bufexpfin->L[y][x], F2V(32768.f) * gammalog(LVFU(bufexpfin->L[y][x]) / F2V(32768.f), F2V(gamma1), F2V(ts1), F2V(g_a[3]), F2V(g_a[4]))); + } +#endif + for (; x < bfw; ++x) { + bufexpfin->L[y][x] = 32768.f * gammalog(bufexpfin->L[y][x] / 32768.f, gamma1, ts1, g_a[3], g_a[4]); + } + } + } + + if (params->locallab.spots.at(sp).warm != 0) { - ImProcFunctions::ciecamloc_02float(sp, bufexpfin.get(), 2); + bool HHcurvejz = false, CHcurvejz = false, LHcurvejz = false; + + ImProcFunctions::ciecamloc_02float(lp, sp, bufexpfin.get(), bfw, bfh, 2, sk, cielocalcurve, localcieutili, cielocalcurve2, localcieutili2, jzlocalcurve, localjzutili, czlocalcurve, localczutili, czjzlocalcurve, localczjzutili, locchCurvejz, lochhCurvejz, loclhCurvejz, HHcurvejz, CHcurvejz, LHcurvejz, locwavCurvejz, locwavutilijz); } if(lp.enavibMask && lp.recothrv != 1.f) { + float recoth = lp.recothrv; + + if(lp.recothrv < 1.f) { + recoth = -1.f * recoth + 2.f; + } + float hig = lp.higthrv; float low = lp.lowthrv; - float recoth = lp.recothrv; + // float recoth = lp.recothrv; float decay = lp.decayv; bool invmask = false; maskrecov(bufexpfin.get(), original, bufmaskorigvib.get(), bfh, bfw, ystart, xstart, hig, low, recoth, decay, invmask, sk, multiThread); } - - transit_shapedetect2(sp, 0.f, 0.f, call, 2, bufexporig.get(), bufexpfin.get(), originalmaskvib.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); - + if(lp.recothrv >= 1.f) { + transit_shapedetect2(sp, 0.f, 0.f, call, 2, bufexporig.get(), bufexpfin.get(), originalmaskvib.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); + } else { + transit_shapedetect2(sp, 0.f, 0.f, call, 2, bufexporig.get(), bufexpfin.get(), nullptr, hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); + + } } @@ -13845,13 +16046,12 @@ void ImProcFunctions::Lab_Local( int lumask = params->locallab.spots.at(sp).lumask; LocHHmaskCurve lochhhmasCurve; const int highl = 0; - maskcalccol(false, pde, bfw, bfh, xstart, ystart, sk, cx, cy, bufexporig.get(), bufmaskorigSH.get(), originalmaskSH.get(), original, reserved, inv, lp, 0.f, false, locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili, lochhhmasCurve, false, multiThread, enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, blendm, shado, highl, amountcd, anchorcd, lmaskSHlocalcurve, localmaskSHutili, dummy, false, 1, 1, 5, 5, shortcu, params->locallab.spots.at(sp).deltae, hueref, chromaref, lumaref, - maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1 + maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1, fab ); if (lp.showmaskSHmet == 3) { @@ -13900,13 +16100,16 @@ void ImProcFunctions::Lab_Local( Imagefloat *tmpImage = nullptr; tmpImage = new Imagefloat(bfw, bfh); lab2rgb(*bufexpfin, *tmpImage, params->icm.workingProfile); + Glib::ustring prof = params->icm.workingProfile; if (tonecurv) { //Tone response curve : does nothing if gamma=2.4 and slope=12.92 ==> gamma sRGB - const float gamtone = params->locallab.spots.at(sp).gamSH; - const float slotone = params->locallab.spots.at(sp).sloSH; - cmsHTRANSFORM dummyTransForm = nullptr; - workingtrc(tmpImage, tmpImage, bfw, bfh, -5, params->icm.workingProfile, 2.4, 12.92310, dummyTransForm, true, false, false); - workingtrc(tmpImage, tmpImage, bfw, bfh, 5, params->icm.workingProfile, gamtone, slotone, dummyTransForm, false, true, true); + float gamtone = params->locallab.spots.at(sp).gamSH; + float slotone = params->locallab.spots.at(sp).sloSH; + cmsHTRANSFORM dummy = nullptr; + int ill =0; + workingtrc(tmpImage, tmpImage, bfw, bfh, -5, prof, 2.4, 12.92310, ill, 0, dummy, true, false, false); + // workingtrc(tmpImage, tmpImage, bfw, bfh, 5, prof, gamtone, slotone, 0, 0, dummy, false, true, true); //to keep if we want improve with illuminant and primaries + workingtrc(tmpImage, tmpImage, bfw, bfh, 1, prof, gamtone, slotone, ill, 0, dummy, false, true, true);//be careful no gamut control } if (tonequ) { @@ -13925,16 +16128,40 @@ void ImProcFunctions::Lab_Local( } if(lp.enaSHMask && lp.recothrs != 1.f) { + float recoth = lp.recothrs; + + if(lp.recothrs < 1.f) { + recoth = -1.f * recoth + 2.f; + } + float hig = lp.higthrs; float low = lp.lowthrs; - float recoth = lp.recothrs; + // float recoth = lp.recothrs; float decay = lp.decays; bool invmask = false; maskrecov(bufexpfin.get(), original, bufmaskorigSH.get(), bfh, bfw, ystart, xstart, hig, low, recoth, decay, invmask, sk, multiThread); } - transit_shapedetect2(sp, 0.f, 0.f, call, 9, bufexporig.get(), bufexpfin.get(), originalmaskSH.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); + const float repart = 1.0 - 0.01 * params->locallab.spots.at(sp).reparsh; + int bw = bufexporig->W; + int bh = bufexporig->H; +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic,16) if(multiThread) +#endif + for (int x = 0; x < bh; x++) { + for (int y = 0; y < bw; y++) { + bufexpfin->L[x][y] = intp(repart, bufexporig->L[x][y], bufexpfin->L[x][y]); + bufexpfin->a[x][y] = intp(repart, bufexporig->a[x][y], bufexpfin->a[x][y]); + bufexpfin->b[x][y] = intp(repart, bufexporig->b[x][y], bufexpfin->b[x][y]); + } + } + + if(lp.recothrs >= 1.f) { + transit_shapedetect2(sp, 0.f, 0.f, call, 9, bufexporig.get(), bufexpfin.get(), originalmaskSH.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); + } else { + transit_shapedetect2(sp, 0.f, 0.f, call, 9, bufexporig.get(), bufexpfin.get(), nullptr, hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); + } if (lp.recur) { original->CopyFrom(transformed, multiThread); float avge; @@ -14001,13 +16228,12 @@ void ImProcFunctions::Lab_Local( int lumask = params->locallab.spots.at(sp).lumask; LocHHmaskCurve lochhhmasCurve; const int highl = 0; - maskcalccol(false, pde, TW, TH, 0, 0, sk, cx, cy, bufcolorig.get(), bufmaskblurcol.get(), originalmaskSH.get(), original, reserved, inv, lp, 0.f, false, locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili, lochhhmasCurve, false, multiThread, enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, blendm, shado, highl, amountcd, anchorcd, lmaskSHlocalcurve, localmaskSHutili, dummy, false, 1, 1, 5, 5, shortcu, false, hueref, chromaref, lumaref, - maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1 + maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1, fab ); @@ -14042,7 +16268,7 @@ void ImProcFunctions::Lab_Local( if (bfw >= mSP && bfh >= mSP) { if (lp.softmet == 1) { - optfft(N_fftwsize, bfh, bfw, bfhr, bfwr, lp, original->H, original->W, xstart, ystart, xend, yend, cx, cy); + optfft(N_fftwsize, bfh, bfw, bfhr, bfwr, lp, original->H, original->W, xstart, ystart, xend, yend, cx, cy, lp.fullim); } const std::unique_ptr bufexporig(new LabImage(bfw, bfh)); @@ -14067,7 +16293,6 @@ void ImProcFunctions::Lab_Local( if (lp.softmet == 0) { ImProcFunctions::softLight(bufexpfin.get(), softLightParams); } else if (lp.softmet == 1) { - const std::unique_ptr datain(new float[bfwr * bfhr]); const std::unique_ptr dataout(new float[bfwr * bfhr]); const std::unique_ptr dE(new float[bfwr * bfhr]); @@ -14169,7 +16394,7 @@ void ImProcFunctions::Lab_Local( if (bfw >= mSPwav && bfh >= mSPwav) {//avoid too small spot for wavelet if (lp.ftwlc) { - optfft(N_fftwsize, bfh, bfw, bfhr, bfwr, lp, original->H, original->W, xstart, ystart, xend, yend, cx, cy); + optfft(N_fftwsize, bfh, bfw, bfhr, bfwr, lp, original->H, original->W, xstart, ystart, xend, yend, cx, cy, lp.fullim); } std::unique_ptr bufmaskblurlc; @@ -14276,7 +16501,7 @@ void ImProcFunctions::Lab_Local( locccmaslcCurve, lcmaslcutili, locllmaslcCurve, llmaslcutili, lochhmaslcCurve, lhmaslcutili, lochhhmasCurve, false, multiThread, enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, blendm, shado, highl, amountcd, anchorcd, lmasklclocalcurve, localmasklcutili, dummy, false, 1, 1, 5, 5, shortcu, params->locallab.spots.at(sp).deltae, hueref, chromaref, lumaref, - maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1 + maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1, fab ); if (lp.showmasklcmet == 3) { @@ -14382,8 +16607,62 @@ void ImProcFunctions::Lab_Local( const float compress = params->locallab.spots.at(sp).residcomp; const float thres = params->locallab.spots.at(sp).threswav; + float gamma = lp.gamlc; + rtengine::GammaValues g_a; //gamma parameters + double pwr = 1.0 / (double) lp.gamlc;//default 3.0 - gamma Lab + double ts = 9.03296;//always the same 'slope' in the extreme shadows - slope Lab + rtengine::Color::calcGamma(pwr, ts, g_a); // call to calcGamma with selected gamma and slope + + if(gamma != 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < tmp1->H; ++y) { + int x = 0; +#ifdef __SSE2__ + for (; x < tmp1->W - 3; x += 4) { + STVFU(tmp1->L[y][x], F2V(32768.f) * igammalog(LVFU(tmp1->L[y][x]) / F2V(32768.f), F2V(gamma), F2V(ts), F2V(g_a[2]), F2V(g_a[4]))); + } +#endif + for (;x < tmp1->W; ++x) { + tmp1->L[y][x] = 32768.f * igammalog(tmp1->L[y][x] / 32768.f, gamma, ts, g_a[2], g_a[4]); + } + } + } + wavcontrast4(lp, tmp1->L, tmp1->a, tmp1->b, contrast, radblur, radlevblur, tmp1->W, tmp1->H, level_bl, level_hl, level_br, level_hr, sk, numThreads, locwavCurve, locwavutili, wavcurve, loclevwavCurve, loclevwavutili, wavcurvelev, locconwavCurve, locconwavutili, wavcurvecon, loccompwavCurve, loccompwavutili, wavcurvecomp, loccomprewavCurve, loccomprewavutili, wavcurvecompre, locedgwavCurve, locedgwavutili, sigma, offs, maxlvl, sigmadc, deltad, chrol, chrobl, blurlc, blurena, levelena, comprena, compreena, compress, thres); + if (params->locallab.spots.at(sp).expcie && params->locallab.spots.at(sp).modecie == "wav") { + bool HHcurvejz = false, CHcurvejz = false, LHcurvejz = false; + if (params->locallab.spots.at(sp).modecam == "jz") {//some cam16 elementsfor Jz + ImProcFunctions::ciecamloc_02float(lp, sp, tmp1.get(), bfw, bfh, 10, sk, cielocalcurve, localcieutili, cielocalcurve2, localcieutili2, jzlocalcurve, localjzutili, czlocalcurve, localczutili, czjzlocalcurve, localczjzutili, locchCurvejz, lochhCurvejz, loclhCurvejz, HHcurvejz, CHcurvejz, LHcurvejz, locwavCurvejz, locwavutilijz); + } + + ImProcFunctions::ciecamloc_02float(lp, sp, tmp1.get(), bfw, bfh, 0, sk, cielocalcurve, localcieutili, cielocalcurve2, localcieutili2, jzlocalcurve, localjzutili, czlocalcurve, localczutili, czjzlocalcurve, localczjzutili, locchCurvejz, lochhCurvejz, loclhCurvejz, HHcurvejz, CHcurvejz, LHcurvejz, locwavCurvejz, locwavutilijz); + + float rad = params->locallab.spots.at(sp).detailcie; + loccont(bfw, bfh, tmp1.get(), rad, 5.f, sk); + } + + + + if(gamma != 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < tmp1->H; ++y) {//apply inverse gamma 3.f and put result in range 32768.f + int x = 0; +#ifdef __SSE2__ + for (; x < tmp1->W - 3; x += 4) { + STVFU(tmp1->L[y][x], F2V(32768.f) * gammalog(LVFU(tmp1->L[y][x]) / F2V(32768.f), F2V(gamma), F2V(ts), F2V(g_a[3]), F2V(g_a[4]))); + } +#endif + for (; x < tmp1->W; ++x) { + tmp1->L[y][x] = 32768.f * gammalog(tmp1->L[y][x] / 32768.f, gamma, ts, g_a[3], g_a[4]); + } + } + } + const float satur = params->locallab.spots.at(sp).residchro; @@ -14551,15 +16830,38 @@ void ImProcFunctions::Lab_Local( } if(lp.enalcMask && lp.recothrw != 1.f) { + float recoth = lp.recothrw; + + if(lp.recothrw < 1.f) { + recoth = -1.f * recoth + 2.f; + } + float hig = lp.higthrw; float low = lp.lowthrw; - float recoth = lp.recothrw; + //float recoth = lp.recothrw; float decay = lp.decayw; bool invmask = false; maskrecov(tmp1.get(), original, bufmaskoriglc.get(), bfh, bfw, ystart, xstart, hig, low, recoth, decay, invmask, sk, multiThread); } + const float repart = 1.0 - 0.01 * params->locallab.spots.at(sp).reparw; + int bw = bufgb->W; + int bh = bufgb->H; - transit_shapedetect2(sp, 0.f, 0.f, call, 10, bufgb.get(), tmp1.get(), originalmasklc.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic,16) if(multiThread) +#endif + for (int x = 0; x < bh; x++) { + for (int y = 0; y < bw; y++) { + tmp1->L[x][y] = intp(repart, bufgb->L[x][y], tmp1->L[x][y]); + tmp1->a[x][y] = intp(repart, bufgb->a[x][y], tmp1->a[x][y]); + tmp1->b[x][y] = intp(repart, bufgb->b[x][y], tmp1->b[x][y]); + } + } + if(lp.recothrw >= 1.f) { + transit_shapedetect2(sp, 0.f, 0.f, call, 10, bufgb.get(), tmp1.get(), originalmasklc.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); + } else { + transit_shapedetect2(sp, 0.f, 0.f, call, 10, bufgb.get(), tmp1.get(), nullptr, hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); + } tmp1.reset(); } @@ -14574,23 +16876,36 @@ void ImProcFunctions::Lab_Local( if (!lp.invshar && lp.shrad > 0.42 && call < 3 && lp.sharpena && sk == 1) { //interior ellipse for sharpening, call = 1 and 2 only with Dcrop and simpleprocess int bfh = call == 2 ? int (lp.ly + lp.lyT) + del : original->H; //bfw bfh real size of square zone int bfw = call == 2 ? int (lp.lx + lp.lxL) + del : original->W; - JaggedArray loctemp(bfw, bfh); if (call == 2) { //call from simpleprocess - // printf("bfw=%i bfh=%i\n", bfw, bfh); if (bfw < mSPsharp || bfh < mSPsharp) { printf("too small RT-spot - minimum size 39 * 39\n"); return; } - JaggedArray bufsh(bfw, bfh, true); - JaggedArray hbuffer(bfw, bfh); int begy = lp.yc - lp.lyT; int begx = lp.xc - lp.lxL; int yEn = lp.yc + lp.ly; int xEn = lp.xc + lp.lx; + if(lp.fullim == 2) {//limit sharpening to image dimension...no more...to avoid a long treatment + begy = 0; + begx = 0; + yEn = original->H; + xEn = original->W; + lp.lxL = lp.xc; + lp.lyT = lp.yc; + lp.ly = yEn - lp.yc; + lp.lx = xEn - lp.xc; + bfh= yEn; + bfw = xEn; + } + //printf("begy=%i begx=%i yen=%i xen=%i\n", begy, begx, yEn, xEn); + JaggedArray bufsh(bfw, bfh, true); + JaggedArray hbuffer(bfw, bfh); + JaggedArray loctemp2(bfw, bfh); + #ifdef _OPENMP #pragma omp parallel for schedule(dynamic,16) if (multiThread) #endif @@ -14604,16 +16919,113 @@ void ImProcFunctions::Lab_Local( } } } + float gamma1 = params->locallab.spots.at(sp).shargam; + rtengine::GammaValues g_a; //gamma parameters + double pwr1 = 1.0 / (double) gamma1;//default 3.0 - gamma Lab + double ts1 = 9.03296;//always the same 'slope' in the extreme shadows - slope Lab + rtengine::Color::calcGamma(pwr1, ts1, g_a); // call to calcGamma with selected gamma and slope + if(gamma1 != 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < bfh; ++y) { + int x = 0; +#ifdef __SSE2__ + for (; x < bfw - 3; x += 4) { + STVFU(bufsh[y][x], F2V(32768.f) * igammalog(LVFU(bufsh[y][x]) / F2V(32768.f), F2V(gamma1), F2V(ts1), F2V(g_a[2]), F2V(g_a[4]))); + } +#endif + for (;x < bfw; ++x) { + bufsh[y][x] = 32768.f * igammalog(bufsh[y][x] / 32768.f, gamma1, ts1, g_a[2], g_a[4]); + } + } + } - //sharpen only square area instead of all image - ImProcFunctions::deconvsharpeningloc(bufsh, hbuffer, bfw, bfh, loctemp, params->locallab.spots.at(sp).shardamping, (double)params->locallab.spots.at(sp).sharradius, params->locallab.spots.at(sp).shariter, params->locallab.spots.at(sp).sharamount, params->locallab.spots.at(sp).sharcontrast, (double)params->locallab.spots.at(sp).sharblur, 1); + + //sharpen only square area instead of all image, but limited to image dimensions (full image) + ImProcFunctions::deconvsharpeningloc(bufsh, hbuffer, bfw, bfh, loctemp2, params->locallab.spots.at(sp).shardamping, (double)params->locallab.spots.at(sp).sharradius, params->locallab.spots.at(sp).shariter, params->locallab.spots.at(sp).sharamount, params->locallab.spots.at(sp).sharcontrast, (double)params->locallab.spots.at(sp).sharblur, 1); + /* + float gamma = params->locallab.spots.at(sp).shargam; + double pwr = 1.0 / (double) gamma;//default 3.0 - gamma Lab + double ts = 9.03296;//always the same 'slope' in the extreme shadows - slope Lab + rtengine::Color::calcGamma(pwr, ts, g_a); // call to calcGamma with selected gamma and slope + */ + if(gamma1 != 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < bfh; ++y) {//apply inverse gamma 3.f and put result in range 32768.f + int x = 0; +#ifdef __SSE2__ + for (; x < bfw - 3; x += 4) { + STVFU(bufsh[y][x], F2V(32768.f) * gammalog(LVFU(bufsh[y][x]) / F2V(32768.f), F2V(gamma1), F2V(ts1), F2V(g_a[3]), F2V(g_a[4]))); + STVFU(loctemp2[y][x], F2V(32768.f) * gammalog(LVFU(loctemp2[y][x]) / F2V(32768.f), F2V(gamma1), F2V(ts1), F2V(g_a[3]), F2V(g_a[4]))); + } +#endif + for (; x < bfw; ++x) { + bufsh[y][x] = 32768.f * gammalog(bufsh[y][x] / 32768.f, gamma1, ts1, g_a[3], g_a[4]); + loctemp2[y][x] = 32768.f * gammalog(loctemp2[y][x] / 32768.f, gamma1, ts1, g_a[3], g_a[4]); + } + } + } + //sharpen simpleprocess + Sharp_Local(call, loctemp2, 0, hueref, chromaref, lumaref, lp, original, transformed, cx, cy, sk); } else { //call from dcrop.cc - ImProcFunctions::deconvsharpeningloc(original->L, shbuffer, bfw, bfh, loctemp, params->locallab.spots.at(sp).shardamping, (double)params->locallab.spots.at(sp).sharradius, params->locallab.spots.at(sp).shariter, params->locallab.spots.at(sp).sharamount, params->locallab.spots.at(sp).sharcontrast, (double)params->locallab.spots.at(sp).sharblur, sk); + JaggedArray loctemp(bfw, bfh); + + float gamma1 = params->locallab.spots.at(sp).shargam; + rtengine::GammaValues g_a; //gamma parameters + double pwr1 = 1.0 / (double) gamma1;//default 3.0 - gamma Lab + double ts1 = 9.03296;//always the same 'slope' in the extreme shadows - slope Lab + rtengine::Color::calcGamma(pwr1, ts1, g_a); // call to calcGamma with selected gamma and slope + if(gamma1 != 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < bfh; ++y) { + int x = 0; +#ifdef __SSE2__ + for (; x < bfw - 3; x += 4) { + STVFU(original->L[y][x], F2V(32768.f) * igammalog(LVFU(original->L[y][x]) / F2V(32768.f), F2V(gamma1), F2V(ts1), F2V(g_a[2]), F2V(g_a[4]))); + } +#endif + for (;x < bfw; ++x) { + original->L[y][x] = 32768.f * igammalog(original->L[y][x] / 32768.f, gamma1, ts1, g_a[2], g_a[4]); + } + } + } + + + ImProcFunctions::deconvsharpeningloc(original->L, shbuffer, bfw, bfh, loctemp, params->locallab.spots.at(sp).shardamping, (double)params->locallab.spots.at(sp).sharradius, params->locallab.spots.at(sp).shariter, params->locallab.spots.at(sp).sharamount, params->locallab.spots.at(sp).sharcontrast, (double)params->locallab.spots.at(sp).sharblur, sk); + /* + float gamma = params->locallab.spots.at(sp).shargam; + double pwr = 1.0 / (double) gamma;//default 3.0 - gamma Lab + double ts = 9.03296;//always the same 'slope' in the extreme shadows - slope Lab + rtengine::Color::calcGamma(pwr, ts, g_a); // call to calcGamma with selected gamma and slope + */ + if(gamma1 != 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < bfh; ++y) {//apply inverse gamma 3.f and put result in range 32768.f + int x = 0; +#ifdef __SSE2__ + for (; x < bfw - 3; x += 4) { + STVFU(original->L[y][x], F2V(32768.f) * gammalog(LVFU(original->L[y][x]) / F2V(32768.f), F2V(gamma1), F2V(ts1), F2V(g_a[3]), F2V(g_a[4]))); + STVFU(loctemp[y][x], F2V(32768.f) * gammalog(LVFU(loctemp[y][x]) / F2V(32768.f), F2V(gamma1), F2V(ts1), F2V(g_a[3]), F2V(g_a[4]))); + } +#endif + for (; x < bfw; ++x) { + original->L[y][x] = 32768.f * gammalog(original->L[y][x] / 32768.f, gamma1, ts1, g_a[3], g_a[4]); + loctemp[y][x] = 32768.f * gammalog(loctemp[y][x] / 32768.f, gamma1, ts1, g_a[3], g_a[4]); + } + } + } + //sharpen dcrop + Sharp_Local(call, loctemp, 0, hueref, chromaref, lumaref, lp, original, transformed, cx, cy, sk); } - //sharpen ellipse and transition - Sharp_Local(call, loctemp, 0, hueref, chromaref, lumaref, lp, original, transformed, cx, cy, sk); - + if (lp.recur) { original->CopyFrom(transformed, multiThread); float avge; @@ -14625,7 +17037,55 @@ void ImProcFunctions::Lab_Local( int GH = original->H; JaggedArray loctemp(GW, GH); + float gamma1 = params->locallab.spots.at(sp).shargam; + rtengine::GammaValues g_a; //gamma parameters + double pwr1 = 1.0 / (double) gamma1;//default 3.0 - gamma Lab + double ts1 = 9.03296;//always the same 'slope' in the extreme shadows - slope Lab + rtengine::Color::calcGamma(pwr1, ts1, g_a); // call to calcGamma with selected gamma and slope + if(gamma1 != 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < GH; ++y) { + int x = 0; +#ifdef __SSE2__ + for (; x < GW - 3; x += 4) { + STVFU(original->L[y][x], F2V(32768.f) * igammalog(LVFU(original->L[y][x]) / F2V(32768.f), F2V(gamma1), F2V(ts1), F2V(g_a[2]), F2V(g_a[4]))); + } +#endif + for (;x < GW; ++x) { + original->L[y][x] = 32768.f * igammalog(original->L[y][x] / 32768.f, gamma1, ts1, g_a[2], g_a[4]); + } + } + } + + ImProcFunctions::deconvsharpeningloc(original->L, shbuffer, GW, GH, loctemp, params->locallab.spots.at(sp).shardamping, (double)params->locallab.spots.at(sp).sharradius, params->locallab.spots.at(sp).shariter, params->locallab.spots.at(sp).sharamount, params->locallab.spots.at(sp).sharcontrast, (double)params->locallab.spots.at(sp).sharblur, sk); + /* + float gamma = params->locallab.spots.at(sp).shargam; + double pwr = 1.0 / (double) gamma;//default 3.0 - gamma Lab + double ts = 9.03296;//always the same 'slope' in the extreme shadows - slope Lab + rtengine::Color::calcGamma(pwr, ts, g_a); // call to calcGamma with selected gamma and slope + */ + if(gamma1 != 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < GH; ++y) {//apply inverse gamma 3.f and put result in range 32768.f + int x = 0; +#ifdef __SSE2__ + for (; x < GW - 3; x += 4) { + STVFU(original->L[y][x], F2V(32768.f) * gammalog(LVFU(original->L[y][x]) / F2V(32768.f), F2V(gamma1), F2V(ts1), F2V(g_a[3]), F2V(g_a[4]))); + STVFU(loctemp[y][x], F2V(32768.f) * igammalog(LVFU(loctemp[y][x]) / F2V(32768.f), F2V(gamma1), F2V(ts1), F2V(g_a[3]), F2V(g_a[4]))); + } +#endif + for (; x < GW; ++x) { + original->L[y][x] = 32768.f * gammalog(original->L[y][x] / 32768.f, gamma1, ts1, g_a[3], g_a[4]); + loctemp[y][x] = 32768.f * igammalog(loctemp[y][x] / 32768.f, gamma1, ts1, g_a[3], g_a[4]); + } + } + } + InverseSharp_Local(loctemp, hueref, lumaref, chromaref, lp, original, transformed, cx, cy, sk); @@ -14659,7 +17119,7 @@ void ImProcFunctions::Lab_Local( if (bfw >= mSP && bfh >= mSP) { if (lp.expmet == 1 || lp.expmet == 0) { - optfft(N_fftwsize, bfh, bfw, bfhr, bfwr, lp, original->H, original->W, xstart, ystart, xend, yend, cx, cy); + optfft(N_fftwsize, bfh, bfw, bfhr, bfwr, lp, original->H, original->W, xstart, ystart, xend, yend, cx, cy, lp.fullim); } const std::unique_ptr bufexporig(new LabImage(bfw, bfh)); @@ -14680,13 +17140,36 @@ void ImProcFunctions::Lab_Local( #ifdef _OPENMP #pragma omp parallel for schedule(dynamic,16) if (multiThread) #endif - for (int y = ystart; y < yend; y++) { - for (int x = xstart; x < xend; x++) { - bufexporig->L[y - ystart][x - xstart] = original->L[y][x]; - buforig->L[y - ystart][x - xstart] = original->L[y][x]; + for (int y = 0; y < bfh ; y++) { + for (int x = 0; x < bfw; x++) { + bufexporig->L[y][x] = original->L[y + ystart][x + xstart]; + buforig->a[y][x] = original->a[y + ystart][x + xstart]; } } + float gamma1 = lp.gamex; + rtengine::GammaValues g_a; //gamma parameters + double pwr1 = 1.0 / (double) lp.gamex;//default 3.0 - gamma Lab + double ts1 = 9.03296;//always the same 'slope' in the extreme shadows - slope Lab + rtengine::Color::calcGamma(pwr1, ts1, g_a); // call to calcGamma with selected gamma and slope + + if(gamma1 != 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < bfh; ++y) { + int x = 0; +#ifdef __SSE2__ + for (; x < bfw - 3; x += 4) { + STVFU(bufexporig->L[y][x], F2V(32768.f) * igammalog(LVFU(bufexporig->L[y][x]) / F2V(32768.f), F2V(gamma1), F2V(ts1), F2V(g_a[2]), F2V(g_a[4]))); + } +#endif + for (;x < bfw; ++x) { + bufexporig->L[y][x] = 32768.f * igammalog(bufexporig->L[y][x] / 32768.f, gamma1, ts1, g_a[2], g_a[4]); + } + } + } + const int spotSi = rtengine::max(1 + 2 * rtengine::max(1, lp.cir / sk), 5); if (bfw > 2 * spotSi && bfh > 2 * spotSi && lp.struexp > 0.f) { @@ -14764,13 +17247,12 @@ void ImProcFunctions::Lab_Local( int lumask = params->locallab.spots.at(sp).lumask; LocHHmaskCurve lochhhmasCurve; const int highl = 0; - maskcalccol(false, pde, bfw, bfh, xstart, ystart, sk, cx, cy, bufexporig.get(), bufmaskblurexp.get(), originalmaskexp.get(), original, reserved, inv, lp, 0.f, false, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili, lochhhmasCurve, false, multiThread, enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, blendm, shado, highl, amountcd, anchorcd, lmaskexplocalcurve, localmaskexputili, dummy, false, 1, 1, 5, 5, shortcu, params->locallab.spots.at(sp).deltae, hueref, chromaref, lumaref, - maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, 0 + maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, 0, fab ); if (lp.showmaskexpmet == 3) { @@ -14798,7 +17280,7 @@ void ImProcFunctions::Lab_Local( if (exlocalcurve && localexutili) {// L=f(L) curve enhanced - + #ifdef _OPENMP #pragma omp parallel for schedule(dynamic,16) if (multiThread) #endif @@ -14816,9 +17298,13 @@ void ImProcFunctions::Lab_Local( } else { + if (lp.expcomp == 0.f && (lp.linear > 0.01f && lp.laplacexp > 0.1f)) { + lp.expcomp = 0.001f;// to enabled + } + if (lp.expcomp != 0.f ) { // || lp.laplacexp > 0.1f if(lp.laplacexp <= 0.1f) { - lp.laplacexp = 0.2f; //force to use Laplacian wth very small values + lp.laplacexp = 0.2f; //force to use Laplacian with very small values } ImProcFunctions::exlabLocal(lp, 1.f, bfh, bfw, bfhr, bfwr, bufexporig.get(), bufexpfin.get(), hltonecurveloc, shtonecurveloc, tonecurveloc, hueref, lumaref, chromaref); } @@ -14828,6 +17314,7 @@ void ImProcFunctions::Lab_Local( struct grad_params gp; if (lp.strexp != 0.f) { + calclocalGradientParams(lp, gp, ystart, xstart, bfw, bfh, 1); #ifdef _OPENMP #pragma omp parallel for schedule(dynamic,16) if (multiThread) @@ -14842,6 +17329,7 @@ void ImProcFunctions::Lab_Local( //exposure_pde if (lp.expmet == 1) { if (enablefat) { + const std::unique_ptr datain(new float[bfwr * bfhr]); const std::unique_ptr dataout(new float[bfwr * bfhr]); #ifdef _OPENMP @@ -14856,17 +17344,33 @@ void ImProcFunctions::Lab_Local( fatParams.enabled = true; fatParams.threshold = params->locallab.spots.at(sp).fatdetail; fatParams.amount = params->locallab.spots.at(sp).fatamount; - fatParams.anchor = 50.f; //params->locallab.spots.at(sp).fatanchor; + fatParams.anchor = params->locallab.spots.at(sp).fatanchor; //const float sigm = 1.f; //params->locallab.spots.at(sp).fatlevel; //const float mean = 1.f;// params->locallab.spots.at(sp).fatanchor; const std::unique_ptr tmpImagefat(new Imagefloat(bfwr, bfhr)); - lab2rgb(*bufexpfin, *(tmpImagefat.get()), params->icm.workingProfile); - ToneMapFattal02(tmpImagefat.get(), fatParams, 3, 0, nullptr, 0, 0, 1);//last parameter = 1 ==>ART algorithm - rgb2lab(*(tmpImagefat.get()), *bufexpfin, params->icm.workingProfile); + lab2rgb(*bufexpfin, *tmpImagefat, params->icm.workingProfile); + int alg = 0; + if(fatParams.anchor == 50.f) { + alg = 1; + } + ToneMapFattal02(tmpImagefat.get(), fatParams, 3, 0, nullptr, 0, 0, alg);//last parameter = 1 ==>ART algorithm + rgb2lab(*tmpImagefat, *bufexpfin, params->icm.workingProfile); + if (params->locallab.spots.at(sp).expcie && params->locallab.spots.at(sp).modecie == "dr") { + bool HHcurvejz = false, CHcurvejz = false, LHcurvejz = false; + if (params->locallab.spots.at(sp).modecam == "jz") {//some cam16 elementsfor Jz + ImProcFunctions::ciecamloc_02float(lp, sp, bufexpfin.get(), bfw, bfh, 10, sk, cielocalcurve, localcieutili, cielocalcurve2, localcieutili2, jzlocalcurve, localjzutili, czlocalcurve, localczutili, czjzlocalcurve, localczjzutili, locchCurvejz, lochhCurvejz, loclhCurvejz, HHcurvejz, CHcurvejz, LHcurvejz, locwavCurvejz, locwavutilijz); + } + + ImProcFunctions::ciecamloc_02float(lp, sp, bufexpfin.get(), bfw, bfh, 0, sk, cielocalcurve, localcieutili, cielocalcurve2, localcieutili2, jzlocalcurve, localjzutili, czlocalcurve, localczutili, czjzlocalcurve, localczjzutili, locchCurvejz, lochhCurvejz, loclhCurvejz, HHcurvejz, CHcurvejz, LHcurvejz, locwavCurvejz, locwavutilijz); + + float rad = params->locallab.spots.at(sp).detailcie; + loccont(bfw, bfh, bufexpfin.get(), rad, 15.f, sk); + } } if (lp.laplacexp > 0.1f) { + MyMutex::MyLock lock(*fftwMutex); std::unique_ptr datain(new float[bfwr * bfhr]); std::unique_ptr dataout(new float[bfwr * bfhr]); @@ -14880,7 +17384,7 @@ void ImProcFunctions::Lab_Local( evnoise *= 0.4f; } - //soft denoise, user must use Local Denoise to best result + //soft denoise, user must use Local Denoise for best result Median med; if (evnoise < -18000.f) { med = Median::TYPE_5X5_STRONG; @@ -14922,12 +17426,14 @@ void ImProcFunctions::Lab_Local( } } if (lp.shadex > 0) { + if (lp.expcomp == 0.f) { lp.expcomp = 0.001f; // to enabled } } if (lp.hlcomp > 0.f) { + if (lp.expcomp == 0.f) { lp.expcomp = 0.001f; // to enabled } @@ -14936,12 +17442,14 @@ void ImProcFunctions::Lab_Local( //shadows with ipshadowshighlight if ((lp.expcomp != 0.f) || (exlocalcurve && localexutili)) { if (lp.shadex > 0) { + ImProcFunctions::shadowsHighlights(bufexpfin.get(), true, 1, 0, lp.shadex, 40, sk, 0, lp.shcomp); } } if (lp.expchroma != 0.f) { if ((lp.expcomp != 0.f && lp.expcomp != 0.001f) || (exlocalcurve && localexutili) || lp.laplacexp > 0.1f) { + constexpr float ampli = 70.f; const float ch = (1.f + 0.02f * lp.expchroma); const float chprosl = ch <= 1.f ? 99.f * ch - 99.f : clipChro(ampli * ch - ampli); @@ -14958,22 +17466,71 @@ void ImProcFunctions::Lab_Local( } } } - + /* + float gamma = lp.gamex; + rtengine::GammaValues g_a; //gamma parameters + double pwr = 1.0 / (double) lp.gamex;//default 3.0 - gamma Lab + double ts = 9.03296;//always the same 'slope' in the extreme shadows - slope Lab + rtengine::Color::calcGamma(pwr, ts, g_a); // call to calcGamma with selected gamma and slope + */ + if(gamma1 != 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < bfh; ++y) {//apply inverse gamma 3.f and put result in range 32768.f + int x = 0; +#ifdef __SSE2__ + for (; x < bfw - 3; x += 4) { + STVFU(bufexpfin->L[y][x], F2V(32768.f) * gammalog(LVFU(bufexpfin->L[y][x]) / F2V(32768.f), F2V(gamma1), F2V(ts1), F2V(g_a[3]), F2V(g_a[4]))); + } +#endif + for (; x < bfw; ++x) { + bufexpfin->L[y][x] = 32768.f * gammalog(bufexpfin->L[y][x] / 32768.f, gamma1, ts1, g_a[3], g_a[4]); + } + } + } + if (lp.softradiusexp > 0.f && lp.expmet == 0) { softproc(buforig.get(), bufexpfin.get(), lp.softradiusexp, bfh, bfw, 0.1, 0.001, 0.5f, sk, multiThread, 1); } if(lp.enaExpMask && lp.recothre != 1.f) { + float recoth = lp.recothre; + + if(lp.recothre < 1.f) { + recoth = -1.f * recoth + 2.f; + } + float hig = lp.higthre; float low = lp.lowthre; - float recoth = lp.recothre; + // float recoth = lp.recothre; float decay = lp.decaye; bool invmask = false; maskrecov(bufexpfin.get(), original, bufmaskblurexp.get(), bfh, bfw, ystart, xstart, hig, low, recoth, decay, invmask, sk, multiThread); } float meansob = 0.f; - transit_shapedetect2(sp, 0.f, 0.f, call, 1, bufexporig.get(), bufexpfin.get(), originalmaskexp.get(), hueref, chromaref, lumaref, sobelref, meansob, blend2, lp, original, transformed, cx, cy, sk); + + const float repart = 1.0 - 0.01 * params->locallab.spots.at(sp).reparexp; + int bw = bufexporig->W; + int bh = bufexporig->H; + +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic,16) if(multiThread) +#endif + for (int x = 0; x < bh; x++) { + for (int y = 0; y < bw; y++) { + bufexpfin->L[x][y] = intp(repart, bufexporig->L[x][y], bufexpfin->L[x][y]); + bufexpfin->a[x][y] = intp(repart, bufexporig->a[x][y], bufexpfin->a[x][y]); + bufexpfin->b[x][y] = intp(repart, bufexporig->b[x][y], bufexpfin->b[x][y]); + } + } + + if(lp.recothre >= 1.f) { + transit_shapedetect2(sp, 0.f, 0.f, call, 1, bufexporig.get(), bufexpfin.get(), originalmaskexp.get(), hueref, chromaref, lumaref, sobelref, meansob, blend2, lp, original, transformed, cx, cy, sk); + } else { + transit_shapedetect2(sp, 0.f, 0.f, call, 1, bufexporig.get(), bufexpfin.get(), nullptr, hueref, chromaref, lumaref, sobelref, meansob, blend2, lp, original, transformed, cx, cy, sk); + } } if (lp.recur) { @@ -15034,13 +17591,12 @@ void ImProcFunctions::Lab_Local( constexpr float anchorcd = 50.f; LocHHmaskCurve lochhhmasCurve; const int highl = 0; - maskcalccol(false, pde, TW, TH, 0, 0, sk, cx, cy, bufexporig.get(), bufmaskblurexp.get(), originalmaskexp.get(), original, reserved, inv, lp, 0.f, false, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili, lochhhmasCurve, false, multiThread, enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, blendm, shado, highl, amountcd, anchorcd, lmaskexplocalcurve, localmaskexputili, dummy, false, 1, 1, 5, 5, shortcu, false, hueref, chromaref, lumaref, - maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, 0 + maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, 0, fab ); if (lp.showmaskexpmetinv == 1) { @@ -15081,7 +17637,7 @@ void ImProcFunctions::Lab_Local( const float a_scalemerg = (lp.highAmerg - lp.lowAmerg) / factor / scaling; const float b_scalemerg = (lp.highBmerg - lp.lowBmerg) / factor / scaling; - if (!lp.inv && (lp.chro != 0 || lp.ligh != 0.f || lp.cont != 0 || ctoning || lp.mergemet > 0 || lp.strcol != 0.f || lp.strcolab != 0.f || lp.qualcurvemet != 0 || lp.showmaskcolmet == 2 || lp.enaColorMask || lp.showmaskcolmet == 3 || lp.showmaskcolmet == 4 || lp.showmaskcolmet == 5 || lp.prevdE) && lp.colorena) { // || lllocalcurve)) { //interior ellipse renforced lightness and chroma //locallutili + if (!lp.inv && (lp.chro != 0 || lp.ligh != 0.f || lp.cont != 0 || ctoning || lp.mergemet > 0 || lp.strcol != 0.f || lp.strcolab != 0.f || lp.qualcurvemet != 0 || lp.showmaskcolmet == 2 || lp.enaColorMask || lp.showmaskcolmet == 3 || lp.showmaskcolmet == 4 || lp.showmaskcolmet == 5 || lp.prevdE) && lp.colorena) { // || lllocalcurve)) { //interior ellipse reinforced lightness and chroma //locallutili int ystart = rtengine::max(static_cast(lp.yc - lp.lyT) - cy, 0); int yend = rtengine::min(static_cast(lp.yc + lp.ly) - cy, original->H); int xstart = rtengine::max(static_cast(lp.xc - lp.lxL) - cx, 0); @@ -15093,7 +17649,7 @@ void ImProcFunctions::Lab_Local( if (bfw >= mSP && bfh >= mSP) { if (lp.blurcolmask >= 0.25f && lp.fftColorMask && call == 2) { - optfft(N_fftwsize, bfh, bfw, bfh, bfw, lp, original->H, original->W, xstart, ystart, xend, yend, cx, cy); + optfft(N_fftwsize, bfh, bfw, bfh, bfw, lp, original->H, original->W, xstart, ystart, xend, yend, cx, cy, lp.fullim); } std::unique_ptr bufcolorig; @@ -15150,6 +17706,29 @@ void ImProcFunctions::Lab_Local( } } + float gamma1 = lp.gamc; + rtengine::GammaValues g_a; //gamma parameters + double pwr1 = 1.0 / (double) lp.gamc;//default 3.0 - gamma Lab + double ts1 = 9.03296;//always the same 'slope' in the extreme shadows - slope Lab + rtengine::Color::calcGamma(pwr1, ts1, g_a); // call to calcGamma with selected gamma and slope + + if(gamma1 != 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < bufcolorig->H; ++y) { + int x = 0; +#ifdef __SSE2__ + for (; x < bufcolorig->W - 3; x += 4) { + STVFU(bufcolorig->L[y][x], F2V(32768.f) * igammalog(LVFU(bufcolorig->L[y][x]) / F2V(32768.f), F2V(gamma1), F2V(ts1), F2V(g_a[2]), F2V(g_a[4]))); + } +#endif + for (;x < bufcolorig->W; ++x) { + bufcolorig->L[y][x] = 32768.f * igammalog(bufcolorig->L[y][x] / 32768.f, gamma1, ts1, g_a[2], g_a[4]); + } + } + } + const int spotSi = rtengine::max(1 + 2 * rtengine::max(1, lp.cir / sk), 5); const bool blends = bfw > 2 * spotSi && bfh > 2 * spotSi && lp.struco > 0.f; @@ -15232,14 +17811,13 @@ void ImProcFunctions::Lab_Local( const float anchorcd = 50.f; const int highl = 0; bool astool = params->locallab.spots.at(sp).toolcol; - maskcalccol(false, pde, bfw, bfh, xstart, ystart, sk, cx, cy, bufcolorig.get(), bufmaskblurcol.get(), originalmaskcol.get(), original, reserved, inv, lp, strumask, astool, locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, llochhhmasCurve, lhhmasutili, multiThread, enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, blendm, shado, highl, amountcd, anchorcd, lmasklocalcurve, localmaskutili, loclmasCurvecolwav, lmasutilicolwav, level_bl, level_hl, level_br, level_hr, shortcu, delt, hueref, chromaref, lumaref, - maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, lp.fftColorMask, lp.blurcolmask, lp.contcolmask, -1 + maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, lp.fftColorMask, lp.blurcolmask, lp.contcolmask, -1, fab ); if (lp.showmaskcolmet == 3) { @@ -15257,7 +17835,7 @@ void ImProcFunctions::Lab_Local( usergb = true; const std::unique_ptr tmpImage(new Imagefloat(bfw, bfh)); - lab2rgb(*buftemp, *(tmpImage.get()), params->icm.workingProfile); + lab2rgb(*buftemp, *tmpImage, params->icm.workingProfile); #ifdef _OPENMP #pragma omp parallel for schedule(dynamic,16) if (multiThread) #endif @@ -15324,7 +17902,7 @@ void ImProcFunctions::Lab_Local( } } - rgb2lab(*(tmpImage.get()), *buftemp, params->icm.workingProfile); + rgb2lab(*tmpImage, *buftemp, params->icm.workingProfile); // end rgb curves } @@ -15397,6 +17975,31 @@ void ImProcFunctions::Lab_Local( rtengine::min(1.f, 0.7f - satreal / 300.f), 0.7, 1, 1 }); + bool LHcurve = false; + if (loclhCurve && LHutili) { + for (int i = 0; i < 500; i++) { + if (loclhCurve[i] != 0.5f) { + LHcurve = true; + break; + } + } + } + bool CHcurve = false; + if (locchCurve && CHutili) { + for (int i = 0; i < 500; i++) { + if (locchCurve[i] != 0.5f) { + CHcurve = true; + break; + } + } + } + double amountchrom = 0.01 * settings->amchroma; + if(amountchrom < 0.05) { + amountchrom = 0.05; + } + if(amountchrom > 2.) { + amountchrom = 2.; + } #ifdef _OPENMP #pragma omp parallel for schedule(dynamic,16) if (multiThread) @@ -15471,27 +18074,39 @@ void ImProcFunctions::Lab_Local( bufcolcalcL = 0.5f * lllocalcurve[bufcolcalcL * 2.f]; } - if (loclhCurve && LHutili && lp.qualcurvemet != 0) {//L=f(H) curve + + if (loclhCurve && LHcurve && lp.qualcurvemet != 0) {//L=f(H) curve const float rhue = xatan2f(bufcolcalcb, bufcolcalca); - float l_r = bufcolcalcL / 32768.f; //Luminance Lab in 0..1 - const float valparam = loclhCurve[500.f *static_cast(Color::huelab_to_huehsv2(rhue))] - 0.5f; //get l_r=f(H) + //printf("rhu=%f", (double) rhue); + const float chromat = (std::sqrt(SQR(bufcolcalca) + SQR(bufcolcalcb)))/32768.f; + float l_r = LIM01(bufcolcalcL / 32768.f); //Luminance Lab in 0..1 + float valparam = loclhCurve[500.f *static_cast(Color::huelab_to_huehsv2(rhue))] - 0.5f; //get l_r=f(H) + // printf("rh=%f V=%f", (double) rhue, (double) valparam); + // float kc = 0.05f + 0.02f * params->locallab.spots.at(sp).lightjzcie; + float kc = amountchrom; + float valparamneg; + valparamneg = valparam; + float kcc = SQR(chromat / kc); //take Chroma into account...40 "middle low" of chromaticity (arbitrary and simple), one can imagine other algorithme + // printf("KC=%f", (double) kcc); + //reduce action for low chroma and increase action for high chroma + valparam *= 2.f * kcc; + valparamneg *= kcc; //slightly different for negative if (valparam > 0.f) { - l_r = (1.f - valparam) * l_r + valparam * (1.f - SQR(((SQR(1.f - rtengine::min(l_r, 1.0f)))))); - } else { - constexpr float khu = 1.9f; //in reserve in case of! - //for negative - l_r *= (1.f + khu * valparam); + l_r = (1.f - valparam) * l_r + valparam * (1.f - SQR(((SQR(1.f - min(l_r, 1.0f)))))); + } else + //for negative + { + float khue = 1.9f; //in reserve in case of! + l_r *= (1.f + khue * valparamneg); } bufcolcalcL = l_r * 32768.f; } - - - if (locchCurve && CHutili && lp.qualcurvemet != 0) {//C=f(H) curve + if (locchCurve && CHcurve && lp.qualcurvemet != 0) {//C=f(H) curve const float rhue = xatan2f(bufcolcalcb, bufcolcalca); - const float valparam = locchCurve[500.f * static_cast(Color::huelab_to_huehsv2(rhue))] - 0.5f; //get valp=f(H) + const float valparam = 2.f * locchCurve[500.f * static_cast(Color::huelab_to_huehsv2(rhue))] - 0.5f; //get valp=f(H) float chromaChfactor = 1.0f + valparam; bufcolcalca *= chromaChfactor;//apply C=f(H) bufcolcalcb *= chromaChfactor; @@ -15499,8 +18114,8 @@ void ImProcFunctions::Lab_Local( if (ctoning) {//color toning and direct change color if (lp.gridmet == 0) { - bufcolcalca += kd * bufcolcalcL * a_scale + a_base; - bufcolcalcb += kd * bufcolcalcL * b_scale + b_base; + bufcolcalca += kd * (bufcolcalcL * a_scale + a_base); + bufcolcalcb += kd * (bufcolcalcL * b_scale + b_base); } else if (lp.gridmet == 1) { bufcolcalca += kd * scaledirect * a_scale; bufcolcalcb += kd * scaledirect * b_scale; @@ -15641,7 +18256,7 @@ void ImProcFunctions::Lab_Local( } const std::unique_ptr> rdEBuffer(new JaggedArray(bfw, bfh)); - float** rdE = *(rdEBuffer.get()); + float** rdE = *rdEBuffer; deltaEforMask(rdE, bfw, bfh, bufreser.get(), hueref, chromaref, lumaref, maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, mercol, lp.balance, lp.balanceh); @@ -15803,11 +18418,11 @@ void ImProcFunctions::Lab_Local( //prepare RGB values in 0 1(or more)for current image and reserved std::unique_ptr tmpImageorig(new Imagefloat(bfw, bfh)); - lab2rgb(*bufcolfin, *(tmpImageorig.get()), params->icm.workingProfile); + lab2rgb(*bufcolfin, *tmpImageorig, params->icm.workingProfile); tmpImageorig->normalizeFloatTo1(); std::unique_ptr tmpImagereserv(new Imagefloat(bfw, bfh)); - lab2rgb(*bufcolreserv, *(tmpImagereserv.get()), params->icm.workingProfile); + lab2rgb(*bufcolreserv, *tmpImagereserv, params->icm.workingProfile); tmpImagereserv->normalizeFloatTo1(); float minR = tmpImagereserv->r(0, 0); @@ -16033,6 +18648,21 @@ void ImProcFunctions::Lab_Local( softproc(bufcolreserv.get(), bufcolfin.get(), lp.softradiuscol, bfh, bfw, 0.001, 0.00001, 0.5f, sk, multiThread, 1); } float meansob = 0.f; + const float repart = 1.0 - 0.01 * params->locallab.spots.at(sp).reparcol; + int bw = bufcolreserv->W; + int bh = bufcolreserv->H; + +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic,16) if(multiThread) +#endif + for (int x = 0; x < bh; x++) { + for (int y = 0; y < bw; y++) { + bufcolfin->L[x][y] = intp(repart, bufcolreserv->L[x][y], bufcolfin->L[x][y]); + bufcolfin->a[x][y] = intp(repart, bufcolreserv->a[x][y], bufcolfin->a[x][y]); + bufcolfin->b[x][y] = intp(repart, bufcolreserv->b[x][y], bufcolfin->b[x][y]); + } + } + transit_shapedetect2(sp, 0.f, 0.f, call, 0, bufcolreserv.get(), bufcolfin.get(), originalmaskcol.get(), hueref, chromaref, lumaref, sobelref, meansob, blend2, lp, original, transformed, cx, cy, sk); } @@ -16102,21 +18732,72 @@ void ImProcFunctions::Lab_Local( } + +/* + float gamma = lp.gamc; + rtengine::GammaValues g_a; //gamma parameters + double pwr = 1.0 / (double) lp.gamc;//default 3.0 - gamma Lab + double ts = 9.03296;//always the same 'slope' in the extreme shadows - slope Lab + rtengine::Color::calcGamma(pwr, ts, g_a); // call to calcGamma with selected gamma and slope +*/ + if(gamma1 != 1.f) { +#ifdef _OPENMP +# pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + for (int y = 0; y < bfh; ++y) {//apply inverse gamma 3.f and put result in range 32768.f + int x = 0; +#ifdef __SSE2__ + for (; x < bfw - 3; x += 4) { + STVFU(bufcolfin->L[y][x], F2V(32768.f) * gammalog(LVFU(bufcolfin->L[y][x]) / F2V(32768.f), F2V(gamma1), F2V(ts1), F2V(g_a[3]), F2V(g_a[4]))); + } +#endif + for (; x < bfw; ++x) { + bufcolfin->L[y][x] = 32768.f * gammalog(bufcolfin->L[y][x] / 32768.f, gamma1, ts1, g_a[3], g_a[4]); + } + } + } + + if (lp.softradiuscol > 0.f) { softproc(bufcolorig.get(), bufcolfin.get(), lp.softradiuscol, bfh, bfw, 0.001, 0.00001, 0.5f, sk, multiThread, 1); } //mask recovery if(lp.enaColorMask && lp.recothrc != 1.f) { + float recoth = lp.recothrc; + + if(lp.recothrc < 1.f) { + recoth = -1.f * recoth + 2.f; + } + float hig = lp.higthrc; float low = lp.lowthrc; - float recoth = lp.recothrc; + // float recoth = lp.recothrc; float decay = lp.decayc; bool invmask = false; maskrecov(bufcolfin.get(), original, bufmaskblurcol.get(), bfh, bfw, ystart, xstart, hig, low, recoth, decay, invmask, sk, multiThread); } + const float repart = 1.0 - 0.01 * params->locallab.spots.at(sp).reparcol; + int bw = bufcolorig->W; + int bh = bufcolorig->H; + +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic,16) if(multiThread) +#endif + for (int x = 0; x < bh; x++) { + for (int y = 0; y < bw; y++) { + bufcolfin->L[x][y] = intp(repart, bufcolorig->L[x][y], bufcolfin->L[x][y]); + bufcolfin->a[x][y] = intp(repart, bufcolorig->a[x][y], bufcolfin->a[x][y]); + bufcolfin->b[x][y] = intp(repart, bufcolorig->b[x][y], bufcolfin->b[x][y]); + } + } + float meansob = 0.f; - transit_shapedetect2(sp, 0.f, 0.f, call, 0, bufcolorig.get(), bufcolfin.get(), originalmaskcol.get(), hueref, chromaref, lumaref, sobelref, meansob, blend2, lp, original, transformed, cx, cy, sk); + if(lp.recothrc >= 1.f) { + transit_shapedetect2(sp, 0.f, 0.f, call, 0, bufcolorig.get(), bufcolfin.get(), originalmaskcol.get(), hueref, chromaref, lumaref, sobelref, meansob, blend2, lp, original, transformed, cx, cy, sk); + } else { + transit_shapedetect2(sp, 0.f, 0.f, call, 0, bufcolorig.get(), bufcolfin.get(), nullptr, hueref, chromaref, lumaref, sobelref, meansob, blend2, lp, original, transformed, cx, cy, sk); + } } } @@ -16202,14 +18883,13 @@ void ImProcFunctions::Lab_Local( constexpr float amountcd = 0.f; constexpr float anchorcd = 50.f; const int highl = 0; - maskcalccol(false, pde, TW, TH, 0, 0, sk, cx, cy, bufcolorig.get(), bufmaskblurcol.get(), originalmaskcol.get(), original, reserved, inv, lp, strumask, params->locallab.spots.at(sp).toolcol, locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, llochhhmasCurve, lhhmasutili, multiThread, enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, blendm, shado, highl, amountcd, anchorcd, lmasklocalcurve, localmaskutili, loclmasCurvecolwav, lmasutilicolwav, level_bl, level_hl, level_br, level_hr, shortcu, false, hueref, chromaref, lumaref, - maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, lp.fftColorMask, lp.blurcolmask, lp.contcolmask, -1 + maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, lp.fftColorMask, lp.blurcolmask, lp.contcolmask, -1, fab ); if (lp.showmaskcolmetinv == 1) { @@ -16239,7 +18919,7 @@ void ImProcFunctions::Lab_Local( if (bfw >= mSP && bfh >= mSP) { if (lp.blurma >= 0.25f && lp.fftma && call == 2) { - optfft(N_fftwsize, bfh, bfw, bfh, bfw, lp, original->H, original->W, xstart, ystart, xend, yend, cx, cy); + optfft(N_fftwsize, bfh, bfw, bfh, bfw, lp, original->H, original->W, xstart, ystart, xend, yend, cx, cy, lp.fullim); } array2D blechro(bfw, bfh); array2D ble(bfw, bfh); @@ -16324,14 +19004,13 @@ void ImProcFunctions::Lab_Local( const float anchorcd = 50.f; const int highl = 0; bool astool = params->locallab.spots.at(sp).toolmask; - maskcalccol(false, pde, bfw, bfh, xstart, ystart, sk, cx, cy, bufcolorig.get(), bufmaskblurcol.get(), originalmaskcol.get(), original, reserved, inv, lp, strumask, astool, locccmas_Curve, lcmas_utili, locllmas_Curve, llmas_utili, lochhmas_Curve, lhmas_utili, lochhhmas_Curve, lhhmas_utili, multiThread, enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, blendmab, shado, highl, amountcd, anchorcd, lmasklocal_curve, localmask_utili, loclmasCurve_wav, lmasutili_wav, level_bl, level_hl, level_br, level_hr, shortcu, delt, hueref, chromaref, lumaref, - maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, lp.fftma, lp.blurma, lp.contma, 12 + maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, lp.fftma, lp.blurma, lp.contma, 12, fab ); @@ -16398,11 +19077,201 @@ void ImProcFunctions::Lab_Local( } } } - //end common mask + + if(params->locallab.spots.at(sp).expcie && params->locallab.spots.at(sp).modecie == "com" && lp.activspot) {//ciecam + int ystart = rtengine::max(static_cast(lp.yc - lp.lyT) - cy, 0); + int yend = rtengine::min(static_cast(lp.yc + lp.ly) - cy, original->H); + int xstart = rtengine::max(static_cast(lp.xc - lp.lxL) - cx, 0); + int xend = rtengine::min(static_cast(lp.xc + lp.lx) - cx, original->W); + int bfh = yend - ystart; + int bfw = xend - xstart; + + if (bfh >= mSP && bfw >= mSP) { + const std::unique_ptr bufexporig(new LabImage(bfw, bfh)); //buffer for data in zone limit + const std::unique_ptr bufexpfin(new LabImage(bfw, bfh)); //buffer for data in zone limit + std::unique_ptr bufmaskorigcie; + std::unique_ptr bufmaskblurcie; + std::unique_ptr originalmaskcie; + + if (lp.showmaskciemet == 2 || lp.enacieMask || lp.showmaskciemet == 3 || lp.showmaskciemet == 4) { + bufmaskorigcie.reset(new LabImage(bfw, bfh)); + bufmaskblurcie.reset(new LabImage(bfw, bfh)); + originalmaskcie.reset(new LabImage(bfw, bfh)); + } + + + +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic,16) if (multiThread) +#endif + + for (int y = 0; y < bfh; y++) { + for (int x = 0; x < bfw; x++) { + bufexporig->L[y][x] = original->L[y + ystart][x + xstart]; + bufexporig->a[y][x] = original->a[y + ystart][x + xstart]; + bufexporig->b[y][x] = original->b[y + ystart][x + xstart]; + } + } + + bool HHcurvejz = false, CHcurvejz = false, LHcurvejz = false; + if (params->locallab.spots.at(sp).expcie && params->locallab.spots.at(sp).modecam == "jz") {//some cam16 elementsfor Jz + ImProcFunctions::ciecamloc_02float(lp, sp, bufexporig.get(), bfw, bfh, 10, sk, cielocalcurve, localcieutili, cielocalcurve2, localcieutili2, jzlocalcurve, localjzutili, czlocalcurve, localczutili, czjzlocalcurve, localczjzutili, locchCurvejz, lochhCurvejz, loclhCurvejz, HHcurvejz, CHcurvejz, LHcurvejz, locwavCurvejz, locwavutilijz); + } + if (lochhCurvejz && HHutilijz) { + for (int i = 0; i < 500; i++) { + if (lochhCurvejz[i] != 0.5f) { + HHcurvejz = true; + break; + } + } + } + + if (locchCurvejz && CHutilijz) { + for (int i = 0; i < 500; i++) { + if (locchCurvejz[i] != 0.5f) { + CHcurvejz = true; + break; + } + } + } + + if (loclhCurvejz && LHutilijz) { + for (int i = 0; i < 500; i++) { + if (loclhCurvejz[i] != 0.5f) { + LHcurvejz = true; + break; + } + } + } + + int inv = 0; + bool showmaske = false; + bool enaMask = false; + bool deltaE = false; + bool modmask = false; + bool zero = false; + bool modif = false; + + if (lp.showmaskciemet == 3) { + showmaske = true; + } + + if (lp.enacieMask) { + enaMask = true; + } + + if (lp.showmaskciemet == 4) { + deltaE = true; + } + + if (lp.showmaskciemet == 2) { + modmask = true; + } + + if (lp.showmaskciemet == 1) { + modif = true; + } + + if (lp.showmaskciemet == 0) { + zero = true; + } + + float chrom = lp.chromacie; + float rad = lp.radmacie; + float gamma = params->locallab.spots.at(sp).gammaskcie; + float slope = params->locallab.spots.at(sp).slomaskcie; + float blendm = lp.blendmacie; + float lap = params->locallab.spots.at(sp).lapmaskcie; + bool pde = params->locallab.spots.at(sp).laplac; + LocwavCurve dummy; + bool delt = params->locallab.spots.at(sp).deltae; + int sco = params->locallab.spots.at(sp).scopemask; + int shortcu = 0;//lp.mergemet; //params->locallab.spots.at(sp).shortc; + int shado = 0; + const int highl = 0; + + const float mindE = 2.f + MINSCOPE * sco * lp.thr; + const float maxdE = 5.f + MAXSCOPE * sco * (1 + 0.1f * lp.thr); + const float mindElim = 2.f + MINSCOPE * limscope * lp.thr; + const float maxdElim = 5.f + MAXSCOPE * limscope * (1 + 0.1f * lp.thr); + int lumask = params->locallab.spots.at(sp).lumask; + float amountcd = 0.f; + float anchorcd = 50.f; + LocHHmaskCurve lochhhmasCurve; + maskcalccol(false, pde, bfw, bfh, xstart, ystart, sk, cx, cy, bufexporig.get(), bufmaskorigcie.get(), originalmaskcie.get(), original, reserved, inv, lp, + 0.f, false, + locccmascieCurve, lcmascieutili, locllmascieCurve, llmascieutili, lochhmascieCurve, lhmascieutili, lochhhmasCurve, false, multiThread, + enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, blendm, shado, highl, amountcd, anchorcd, lmaskcielocalcurve, localmaskcieutili, dummy, false, 1, 1, 5, 5, + shortcu, delt, hueref, chromaref, lumaref, + maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1, fab + ); + + if (lp.showmaskciemet == 3) { + showmask(lumask, lp, xstart, ystart, cx, cy, bfw, bfh, bufexporig.get(), transformed, bufmaskorigcie.get(), 0); + + return; + } + + + + if (lp.showmaskciemet == 0 || lp.showmaskciemet == 1 || lp.showmaskciemet == 2 || lp.showmaskciemet == 4 || lp.enacieMask) { + + bufexpfin->CopyFrom(bufexporig.get(), multiThread); + if (params->locallab.spots.at(sp).expcie) { + ImProcFunctions::ciecamloc_02float(lp, sp, bufexpfin.get(), bfw, bfh, 0, sk, cielocalcurve, localcieutili, cielocalcurve2, localcieutili2, jzlocalcurve, localjzutili, czlocalcurve, localczutili, czjzlocalcurve, localczjzutili, locchCurvejz, lochhCurvejz, loclhCurvejz, HHcurvejz, CHcurvejz, LHcurvejz, locwavCurvejz, locwavutilijz); + } + } + + if(lp.enacieMask && lp.recothrcie != 1.f) { + float recoth = lp.recothrcie; + + if(lp.recothrcie < 1.f) { + recoth = -1.f * recoth + 2.f; + } + float hig = lp.higthrcie; + float low = lp.lowthrcie; + //float recoth = lp.recothrcie; + float decay = lp.decaycie; + bool invmask = false; + maskrecov(bufexpfin.get(), original, bufmaskorigcie.get(), bfh, bfw, ystart, xstart, hig, low, recoth, decay, invmask, sk, multiThread); + } + + + float radcie = params->locallab.spots.at(sp).detailcie; + loccont(bfw, bfh, bufexpfin.get(), radcie, 15.f, sk); + + const float repart = 1.0 - 0.01 * params->locallab.spots.at(sp).reparcie; + int bw = bufexporig->W; + int bh = bufexporig->H; + +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic,16) if(multiThread) +#endif + for (int x = 0; x < bh; x++) { + for (int y = 0; y < bw; y++) { + bufexpfin->L[x][y] = intp(repart, bufexporig->L[x][y], bufexpfin->L[x][y]); + bufexpfin->a[x][y] = intp(repart, bufexporig->a[x][y], bufexpfin->a[x][y]); + bufexpfin->b[x][y] = intp(repart, bufexporig->b[x][y], bufexpfin->b[x][y]); + } + } + + if(lp.recothrcie >= 1.f) { + transit_shapedetect2(sp, 0.f, 0.f, call, 31, bufexporig.get(), bufexpfin.get(), originalmaskcie.get(), hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); + } else { + transit_shapedetect2(sp, 0.f, 0.f, call, 31, bufexporig.get(), bufexpfin.get(), nullptr, hueref, chromaref, lumaref, sobelref, 0.f, nullptr, lp, original, transformed, cx, cy, sk); + } + if (lp.recur) { + original->CopyFrom(transformed, multiThread); + float avge; + calc_ref(sp, original, transformed, 0, 0, original->W, original->H, sk, huerefblur, chromarefblur, lumarefblur, hueref, chromaref, lumaref, sobelref, avge, locwavCurveden, locwavdenutili); + } + } + } + // Gamut and Munsell control - very important do not deactivated to avoid crash - avoidcolshi(lp, sp, original, transformed, cy, cx, sk); + avoidcolshi(lp, sp, transformed, reserved, cy, cx, sk); } } diff --git a/rtengine/ipresize.cc b/rtengine/ipresize.cc index b9e234b63..b6bdc5ede 100644 --- a/rtengine/ipresize.cc +++ b/rtengine/ipresize.cc @@ -379,6 +379,26 @@ float ImProcFunctions::resizeScale (const ProcParams* params, int fw, int fh, in dScale = (dScale > 1.0 && !params->resize.allowUpscaling) ? 1.0 : dScale; break; + + case (4): + + // Long Edge + if (refw > refh) { + dScale = (double)params->resize.longedge / (double)refw; + } else { + dScale = (double)params->resize.longedge / (double)refh; + } + break; + + case (5): + + // Short Edge + if (refw > refh) { + dScale = (double)params->resize.shortedge / (double)refh; + } else { + dScale = (double)params->resize.shortedge / (double)refw; + } + break; default: // Scale diff --git a/rtengine/ipretinex.cc b/rtengine/ipretinex.cc index 67db52e55..491e17cb9 100644 --- a/rtengine/ipretinex.cc +++ b/rtengine/ipretinex.cc @@ -397,7 +397,7 @@ void RawImageSource::MSR(float** luminance, float** originalLuminance, float **e } std::unique_ptr> srcBuffer(new JaggedArray(W_L, H_L)); - float** src = *(srcBuffer.get()); + float** src = *srcBuffer; #ifdef _OPENMP #pragma omp parallel for @@ -1238,7 +1238,7 @@ void ImProcFunctions::MSRLocal(int call, int sp, bool fftw, int lum, float** red const int H_L = height; const int W_L = width; std::unique_ptr> srcBuffer(new JaggedArray(W_L, H_L)); - float** src = *(srcBuffer.get()); + float** src = *srcBuffer; #ifdef _OPENMP diff --git a/rtengine/iptransform.cc b/rtengine/iptransform.cc index a18e616f7..3d384ee62 100644 --- a/rtengine/iptransform.cc +++ b/rtengine/iptransform.cc @@ -468,8 +468,8 @@ bool ImProcFunctions::transCoord (int W, int H, const std::vector &src, double hpcospt = (hpdeg >= 0 ? 1.0 : -1.0) * cos (hpteta), hptanpt = tan (hpteta); // Camera-based. const double f = - ((params->perspective.camera_focal_length > 0) ? params->perspective.camera_focal_length : 24.0) - * ((params->perspective.camera_crop_factor > 0) ? params->perspective.camera_crop_factor : 1.0) + ((params->perspective.camera_focal_length > 0) ? params->perspective.camera_focal_length : PerspectiveParams::DEFAULT_CAMERA_FOCAL_LENGTH) + * ((params->perspective.camera_crop_factor > 0) ? params->perspective.camera_crop_factor : PerspectiveParams::DEFAULT_CAMERA_CROP_FACTOR) * (maxRadius / sqrt(18.0*18.0 + 12.0*12.0)); const double p_camera_yaw = params->perspective.camera_yaw / 180.0 * rtengine::RT_PI; const double p_camera_pitch = params->perspective.camera_pitch / 180.0 * rtengine::RT_PI; @@ -1162,8 +1162,8 @@ void ImProcFunctions::transformGeneral(bool highQuality, Imagefloat *original, I const double hptanpt = tan(hpteta); // Camera-based. const double f = - ((params->perspective.camera_focal_length > 0) ? params->perspective.camera_focal_length : 24.0) - * ((params->perspective.camera_crop_factor > 0) ? params->perspective.camera_crop_factor : 1.0) + ((params->perspective.camera_focal_length > 0) ? params->perspective.camera_focal_length : PerspectiveParams::DEFAULT_CAMERA_FOCAL_LENGTH) + * ((params->perspective.camera_crop_factor > 0) ? params->perspective.camera_crop_factor : PerspectiveParams::DEFAULT_CAMERA_CROP_FACTOR) * (maxRadius / sqrt(18.0*18.0 + 12.0*12.0)); const double p_camera_yaw = params->perspective.camera_yaw / 180.0 * rtengine::RT_PI; const double p_camera_pitch = params->perspective.camera_pitch / 180.0 * rtengine::RT_PI; diff --git a/rtengine/ipwavelet.cc b/rtengine/ipwavelet.cc index caec5ec22..18ee72b80 100644 --- a/rtengine/ipwavelet.cc +++ b/rtengine/ipwavelet.cc @@ -209,7 +209,7 @@ std::unique_ptr ImProcFunctions::buildMeaLut(const float inVals[11], const } } } - lutFactor = 1.f / lutDiff; + lutFactor = lutDiff == 0.f ? 0.f : 1.f / lutDiff; return std::unique_ptr(new LUTf(lutVals)); } @@ -301,17 +301,18 @@ void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int kall, const } - if (params->wavelet.denmethod == "equ") { - cp.denmet = 0; - } else if (params->wavelet.denmethod == "high") { - cp.denmet = 1; - } else if (params->wavelet.denmethod == "low") { - cp.denmet = 2; - } else if (params->wavelet.denmethod == "12high") { - cp.denmet = 3; - } else if (params->wavelet.denmethod == "12low") { - cp.denmet = 4; - } + cp.denmet = 4; + //if (params->wavelet.denmethod == "equ") { + // cp.denmet = 0; + //} else if (params->wavelet.denmethod == "high") { + // cp.denmet = 1; + //} else if (params->wavelet.denmethod == "low") { + // cp.denmet = 2; + //} else if (params->wavelet.denmethod == "12high") { + // cp.denmet = 3; + //} else if (params->wavelet.denmethod == "12low") { + // cp.denmet = 4; + //} if (params->wavelet.mixmethod == "nois") { cp.mixmet = 0; @@ -448,7 +449,11 @@ void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int kall, const for (int m = 0; m < maxmul; m++) { cp.mulC[m] = waparams.ch[m]; } - + for (int m = maxmul; m < 9; m++) { + cp.mulC[m] = 0.f; + } + +//printf("maxmul=%i\n", maxmul); cp.factor = WaveletParams::LABGRID_CORR_MAX * 3.276f; cp.scaling = WaveletParams::LABGRID_CORR_SCALE; cp.scaledirect = WaveletParams::LABGRIDL_DIRECT_SCALE; @@ -536,6 +541,9 @@ void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int kall, const for (int m = 0; m < maxmul; m++) { cp.mul[m] = waparams.c[m]; } + for (int m = maxmul; m < 10; m++) { + cp.mul[m] = 0.f; + } cp.mul[9] = (float) waparams.sup; @@ -651,7 +659,7 @@ void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int kall, const maxlevelcrop = 10; } - // adap maximum level wavelet to size of crop + // adapt maximum level wavelet to size of crop if (minwin * skip < 1024) { maxlevelcrop = 9; //sampling wavelet 512 } @@ -687,7 +695,7 @@ void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int kall, const levwav = rtengine::min(maxlevelcrop, levwav); - // I suppress this fonctionality ==> crash for level < 3 + // I suppress this functionality ==> crash for level < 3 if (levwav < 1) { return; // nothing to do } @@ -1038,13 +1046,7 @@ void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int kall, const cp.mul[0] = 0.01f; } } - - - if (!exblurL && cp.contrast == 0.f && cp.blurres == 0.f && !cp.noiseena && !cp.tonemap && !cp.resena && !cp.chromena && !cp.toningena && !cp.finena && !cp.edgeena && cp.conres == 0.f && cp.conresH == 0.f && cp.val == 0 && !ref0 && params->wavelet.CLmethod == "all") { // no processing of residual L or edge=> we probably can reduce the number of levels - while (levwavL > 0 && cp.mul[levwavL - 1] == 0.f) { // cp.mul[level] == 0.f means no changes to level - levwavL--; - } - } + // printf("cp4=%f cpmul5=%f cp6=%f cp7=%f cp8=%f\n", (double)cp.mul[4], (double)cp.mul[5],(double)cp.mul[6],(double)cp.mul[7],(double)cp.mul[8]); if (levwavL == 6 && cp.noiseena && cp.chromfi == 0.f) { cp.chromfi = 0.01f; @@ -1055,12 +1057,17 @@ void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int kall, const levwavL = 7; } } - bool isdenoisL = (cp.lev0n > 0.1f || cp.lev1n > 0.1f || cp.lev2n > 0.1f || cp.lev3n > 0.1f || cp.lev4n > 0.1f); - if (levwavL < 5 && cp.noiseena) { levwavL = 6; //to allow edge and denoise => I always allocate 3 (4) levels..because if user select wavelet it is to do something !! } + if (!exblurL && cp.contrast == 0.f && cp.blurres == 0.f && !cp.noiseena && !cp.tonemap && !cp.resena && !cp.chromena && !cp.toningena && !cp.finena && !cp.edgeena && cp.conres == 0.f && cp.conresH == 0.f && cp.val == 0 && !ref0 && params->wavelet.CLmethod == "all") { // no processing of residual L or edge=> we probably can reduce the number of levels + while (levwavL > 0 && cp.mul[levwavL - 1] == 0.f) { // cp.mul[level] == 0.f means no changes to level + levwavL--; + } + } + bool isdenoisL = (cp.lev0n > 0.1f || cp.lev1n > 0.1f || cp.lev2n > 0.1f || cp.lev3n > 0.1f || cp.lev4n > 0.1f); + /* if(cp.denoicurvh || cp.levdenhigh > 0.01f) { @@ -2025,7 +2032,7 @@ void ImProcFunctions::ip_wavelet(LabImage * lab, LabImage * dst, int kall, const } a = 327.68f * Chprov * sincosv.y; // apply Munsell - b = 327.68f * Chprov * sincosv.x; //aply Munsell + b = 327.68f * Chprov * sincosv.x; // apply Munsell } else {//general case L = labco->L[i1][j1]; const float Lin = std::max(0.f, L); diff --git a/rtengine/lj92.c b/rtengine/lj92.c deleted file mode 100644 index 1e0e8cb80..000000000 --- a/rtengine/lj92.c +++ /dev/null @@ -1,711 +0,0 @@ -/* -lj92.c -(c) Andrew Baldwin 2014 - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#include -#include -#include -#include - -#include "lj92.h" - -typedef uint8_t u8; -typedef uint16_t u16; -typedef uint32_t u32; - -//#define SLOW_HUFF -//#define DEBUG - -typedef struct _ljp { - u8* data; - u8* dataend; - int datalen; - int scanstart; - int ix; - int x; // Width - int y; // Height - int bits; // Bit depth - int writelen; // Write rows this long - int skiplen; // Skip this many values after each row - u16* linearize; // Linearization table - int linlen; - int sssshist[16]; - - // Huffman table - only one supported, and probably needed -#ifdef SLOW_HUFF - int* maxcode; - int* mincode; - int* valptr; - u8* huffval; - int* huffsize; - int* huffcode; -#else - u16* hufflut; - int huffbits; -#endif - // Parse state - int cnt; - u32 b; - u16* image; - u16* rowcache; - u16* outrow[2]; -} ljp; - -static int find(ljp* self) { - int ix = self->ix; - u8* data = self->data; - while (data[ix] != 0xFF && ix<(self->datalen-1)) { - ix += 1; - } - ix += 2; - if (ix>=self->datalen) return -1; - self->ix = ix; - return data[ix-1]; -} - -#define BEH(ptr) ((((int)(*&ptr))<<8)|(*(&ptr+1))) - -static int parseHuff(ljp* self) { - int ret = LJ92_ERROR_CORRUPT; - u8* huffhead = &self->data[self->ix]; // xstruct.unpack('>HB16B',self.data[self.ix:self.ix+19]) - u8* bits = &huffhead[2]; - bits[0] = 0; // Because table starts from 1 - unsigned int hufflen = BEH(huffhead[0]); - if ((self->ix + hufflen) >= self->datalen) return ret; -#ifdef SLOW_HUFF - u8* huffval = calloc(hufflen - 19,sizeof(u8)); - if (huffval == NULL) return LJ92_ERROR_NO_MEMORY; - self->huffval = huffval; - for (int hix=0;hix<(hufflen-19);hix++) { - huffval[hix] = self->data[self->ix+19+hix]; -#ifdef DEBUG - printf("huffval[%d]=%d\n",hix,huffval[hix]); -#endif - } - self->ix += hufflen; - // Generate huffman table - int k = 0; - int i = 1; - int j = 1; - int huffsize_needed = 1; - // First calculate how long huffsize needs to be - while (i<=16) { - while (j<=bits[i]) { - huffsize_needed++; - k = k+1; - j = j+1; - } - i = i+1; - j = 1; - } - // Now allocate and do it - int* huffsize = calloc(huffsize_needed,sizeof(int)); - if (huffsize == NULL) return LJ92_ERROR_NO_MEMORY; - self->huffsize = huffsize; - k = 0; - i = 1; - j = 1; - // First calculate how long huffsize needs to be - int hsix = 0; - while (i<=16) { - while (j<=bits[i]) { - huffsize[hsix++] = i; - k = k+1; - j = j+1; - } - i = i+1; - j = 1; - } - huffsize[hsix++] = 0; - - // Calculate the size of huffcode array - int huffcode_needed = 0; - k = 0; - int code = 0; - int si = huffsize[0]; - while (1) { - while (huffsize[k] == si) { - huffcode_needed++; - code = code+1; - k = k+1; - } - if (huffsize[k] == 0) - break; - while (huffsize[k] != si) { - code = code << 1; - si = si + 1; - } - } - // Now fill it - int* huffcode = calloc(huffcode_needed,sizeof(int)); - if (huffcode == NULL) return LJ92_ERROR_NO_MEMORY; - self->huffcode = huffcode; - int hcix = 0; - k = 0; - code = 0; - si = huffsize[0]; - while (1) { - while (huffsize[k] == si) { - huffcode[hcix++] = code; - code = code+1; - k = k+1; - } - if (huffsize[k] == 0) - break; - while (huffsize[k] != si) { - code = code << 1; - si = si + 1; - } - } - - i = 0; - j = 0; - - int* maxcode = calloc(17,sizeof(int)); - if (maxcode == NULL) return LJ92_ERROR_NO_MEMORY; - self->maxcode = maxcode; - int* mincode = calloc(17,sizeof(int)); - if (mincode == NULL) return LJ92_ERROR_NO_MEMORY; - self->mincode = mincode; - int* valptr = calloc(17,sizeof(int)); - if (valptr == NULL) return LJ92_ERROR_NO_MEMORY; - self->valptr = valptr; - - while (1) { - while (1) { - i++; - if (i>16) - break; - if (bits[i]!=0) - break; - maxcode[i] = -1; - } - if (i>16) - break; - valptr[i] = j; - mincode[i] = huffcode[j]; - j = j+bits[i]-1; - maxcode[i] = huffcode[j]; - j++; - } - free(huffsize); - self->huffsize = NULL; - free(huffcode); - self->huffcode = NULL; - ret = LJ92_ERROR_NONE; -#else - /* Calculate huffman direct lut */ - // How many bits in the table - find highest entry - u8* huffvals = &self->data[self->ix+19]; - int maxbits = 16; - while (maxbits>0) { - if (bits[maxbits]) break; - maxbits--; - } - self->huffbits = maxbits; - /* Now fill the lut */ - u16* hufflut = (u16*)malloc((1<hufflut = hufflut; - int i = 0; - int hv = 0; - int rv = 0; - int vl = 0; // i - int hcode; - int bitsused = 1; -#ifdef DEBUG - printf("%04x:%x:%d:%x\n",i,huffvals[hv],bitsused,1<<(maxbits-bitsused)); -#endif - while (i<1<maxbits) { - break; // Done. Should never get here! - } - if (vl >= bits[bitsused]) { - bitsused++; - vl = 0; - continue; - } - if (rv == 1 << (maxbits-bitsused)) { - rv = 0; - vl++; - hv++; -#ifdef DEBUG - printf("%04x:%x:%d:%x\n",i,huffvals[hv],bitsused,1<<(maxbits-bitsused)); -#endif - continue; - } - hcode = huffvals[hv]; - hufflut[i] = hcode<<8 | bitsused; - //printf("%d %d %d\n",i,bitsused,hcode); - i++; - rv++; - } - ret = LJ92_ERROR_NONE; -#endif - return ret; -} - -static int parseSof3(ljp* self) { - if (self->ix+6 >= self->datalen) return LJ92_ERROR_CORRUPT; - self->y = BEH(self->data[self->ix+3]); - self->x = BEH(self->data[self->ix+5]); - self->bits = self->data[self->ix+2]; - self->ix += BEH(self->data[self->ix]); - return LJ92_ERROR_NONE; -} - -static int parseBlock(ljp* self,int marker) { - self->ix += BEH(self->data[self->ix]); - if (self->ix >= self->datalen) return LJ92_ERROR_CORRUPT; - return LJ92_ERROR_NONE; -} - -#ifdef SLOW_HUFF -static int nextbit(ljp* self) { - u32 b = self->b; - if (self->cnt == 0) { - u8* data = &self->data[self->ix]; - u32 next = *data++; - b = next; - if (next == 0xff) { - data++; - self->ix++; - } - self->ix++; - self->cnt = 8; - } - int bit = b >> 7; - self->cnt--; - self->b = (b << 1)&0xFF; - return bit; -} - -static int decode(ljp* self) { - int i = 1; - int code = nextbit(self); - while (code > self->maxcode[i]) { - i++; - code = (code << 1) + nextbit(self); - } - int j = self->valptr[i]; - j = j + code - self->mincode[i]; - int value = self->huffval[j]; - return value; -} - -static int receive(ljp* self,int ssss) { - if (ssss == 16) { - return 1 << 15; - } - int i = 0; - int v = 0; - while (i != ssss) { - i++; - v = (v<<1) + nextbit(self); - } - return v; -} - -static int extend(ljp* self,int v,int t) { - int vt = 1<<(t-1); - if (v < vt) { - vt = (-1 << t) + 1; - v = v + vt; - } - return v; -} -#endif - -inline static int nextdiff(ljp* self, int Px) { -#ifdef SLOW_HUFF - int t = decode(self); - int diff = receive(self,t); - diff = extend(self,diff,t); - //printf("%d %d %d %x\n",Px+diff,Px,diff,t);//,index,usedbits); -#else - u32 b = self->b; - int cnt = self->cnt; - int huffbits = self->huffbits; - int ix = self->ix; - int next; - while (cnt < huffbits) { - next = *(u16*)&self->data[ix]; - int one = next&0xFF; - int two = next>>8; - b = (b<<16)|(one<<8)|two; - cnt += 16; - ix += 2; - if (one==0xFF) { - //printf("%x %x %x %x %d\n",one,two,b,b>>8,cnt); - b >>= 8; - cnt -= 8; - } else if (two==0xFF) ix++; - } - int index = b >> (cnt - huffbits); - u16 ssssused = self->hufflut[index]; - int usedbits = ssssused&0xFF; - int t = ssssused>>8; - self->sssshist[t]++; - cnt -= usedbits; - int keepbitsmask = (1 << cnt)-1; - b &= keepbitsmask; - int diff; - if (t == 16) { - diff = 1 << 15; - } else { - while (cnt < t) { - next = *(u16*)&self->data[ix]; - int one = next&0xFF; - int two = next>>8; - b = (b<<16)|(one<<8)|two; - cnt += 16; - ix += 2; - if (one==0xFF) { - b >>= 8; - cnt -= 8; - } else if (two==0xFF) ix++; - } - cnt -= t; - diff = b >> cnt; - int vt = 1<<(t-1); - if (diff < vt) { - vt = (-1 << t) + 1; - diff += vt; - } - } - keepbitsmask = (1 << cnt)-1; - self->b = b & keepbitsmask; - self->cnt = cnt; - self->ix = ix; - //printf("%d %d\n",t,diff); - //printf("%d %d %d %x %x %d\n",Px+diff,Px,diff,t,index,usedbits); -#ifdef DEBUG -#endif -#endif - return diff; -} - -static int parsePred6(ljp* self) { - int ret = LJ92_ERROR_CORRUPT; - self->ix = self->scanstart; - //int compcount = self->data[self->ix+2]; - self->ix += BEH(self->data[self->ix]); - self->cnt = 0; - self->b = 0; - int write = self->writelen; - // Now need to decode huffman coded values - int c = 0; - int pixels = self->y * self->x; - u16* out = self->image; - u16* temprow; - u16* thisrow = self->outrow[0]; - u16* lastrow = self->outrow[1]; - - // First pixel predicted from base value - int diff; - int Px; - int col = 0; - int row = 0; - int left = 0; - int linear; - - // First pixel - diff = nextdiff(self,0); - Px = 1 << (self->bits-1); - left = Px + diff; - left = (u16) (left % 65536); - if (self->linearize) - linear = self->linearize[left]; - else - linear = left; - thisrow[col++] = left; - out[c++] = linear; - if (self->ix >= self->datalen) return ret; - --write; - int rowcount = self->x-1; - while (rowcount--) { - diff = nextdiff(self,0); - Px = left; - left = Px + diff; - left = (u16) (left % 65536); - if (self->linearize) - linear = self->linearize[left]; - else - linear = left; - thisrow[col++] = left; - out[c++] = linear; - //printf("%d %d %d %d %x\n",col-1,diff,left,thisrow[col-1],&thisrow[col-1]); - if (self->ix >= self->datalen) return ret; - if (--write==0) { - out += self->skiplen; - write = self->writelen; - } - } - temprow = lastrow; - lastrow = thisrow; - thisrow = temprow; - row++; - //printf("%x %x\n",thisrow,lastrow); - while (clinearize) { - if (left>self->linlen) return LJ92_ERROR_CORRUPT; - linear = self->linearize[left]; - } else - linear = left; - thisrow[col++] = left; - //printf("%d %d %d %d\n",col,diff,left,lastrow[col]); - out[c++] = linear; - if (self->ix >= self->datalen) break; - rowcount = self->x-1; - if (--write==0) { - out += self->skiplen; - write = self->writelen; - } - while (rowcount--) { - diff = nextdiff(self,0); - Px = lastrow[col] + ((left - lastrow[col-1])>>1); - left = Px + diff; - left = (u16) (left % 65536); - //printf("%d %d %d %d %d %x\n",col,diff,left,lastrow[col],lastrow[col-1],&lastrow[col]); - if (self->linearize) { - if (left>self->linlen) return LJ92_ERROR_CORRUPT; - linear = self->linearize[left]; - } else - linear = left; - thisrow[col++] = left; - out[c++] = linear; - if (--write==0) { - out += self->skiplen; - write = self->writelen; - } - } - temprow = lastrow; - lastrow = thisrow; - thisrow = temprow; - if (self->ix >= self->datalen) break; - } - if (c >= pixels) ret = LJ92_ERROR_NONE; - return ret; -} - -static int parseScan(ljp* self) { - int ret = LJ92_ERROR_CORRUPT; - memset(self->sssshist,0,sizeof(self->sssshist)); - self->ix = self->scanstart; - int compcount = self->data[self->ix+2]; - int pred = self->data[self->ix+3+2*compcount]; - if (pred<0 || pred>7) return ret; - if (pred==6) return parsePred6(self); // Fast path - self->ix += BEH(self->data[self->ix]); - self->cnt = 0; - self->b = 0; - int write = self->writelen; - // Now need to decode huffman coded values - int c = 0; - int pixels = self->y * self->x; - u16* out = self->image; - u16* thisrow = self->outrow[0]; - u16* lastrow = self->outrow[1]; - - // First pixel predicted from base value - int diff; - int Px = 0; - int col = 0; - int row = 0; - int left = 0; - while (cbits-1); - } else if (row==0) { - Px = left; - } else if (col==0) { - Px = lastrow[col]; // Use value above for first pixel in row - } else { - switch (pred) { - case 0: - Px = 0; break; // No prediction... should not be used - case 1: - Px = left; break; - case 2: - Px = lastrow[col]; break; - case 3: - Px = lastrow[col-1];break; - case 4: - Px = left + lastrow[col] - lastrow[col-1];break; - case 5: - Px = left + ((lastrow[col] - lastrow[col-1])>>1);break; - /* case 6 has a shortcut above - case 6: - Px = lastrow[col] + ((left - lastrow[col-1])>>1);break; - */ - case 7: - Px = (left + lastrow[col])>>1;break; - } - } - diff = nextdiff(self,Px); - left = Px + diff; - left = (u16) (left % 65536); - //printf("%d %d %d\n",c,diff,left); - int linear; - if (self->linearize) { - if (left>self->linlen) return LJ92_ERROR_CORRUPT; - linear = self->linearize[left]; - } else - linear = left; - thisrow[col] = left; - out[c++] = linear; - if (++col==self->x) { - col = 0; - row++; - u16* temprow = lastrow; - lastrow = thisrow; - thisrow = temprow; - } - if (--write==0) { - out += self->skiplen; - write = self->writelen; - } - if (self->ix >= self->datalen+2) break; - } - if (c >= pixels) ret = LJ92_ERROR_NONE; - /*for (int h=0;h<17;h++) { - printf("ssss:%d=%d (%f)\n",h,self->sssshist[h],(float)self->sssshist[h]/(float)(pixels)); - }*/ - return ret; -} - -static int parseImage(ljp* self) { - int ret = LJ92_ERROR_NONE; - while (1) { - int nextMarker = find(self); - if (nextMarker == 0xc4) - ret = parseHuff(self); - else if (nextMarker == 0xc3) - ret = parseSof3(self); - else if (nextMarker == 0xfe)// Comment - ret = parseBlock(self,nextMarker); - else if (nextMarker == 0xd9) // End of image - break; - else if (nextMarker == 0xda) { - self->scanstart = self->ix; - ret = LJ92_ERROR_NONE; - break; - } else if (nextMarker == -1) { - ret = LJ92_ERROR_CORRUPT; - break; - } else - ret = parseBlock(self,nextMarker); - if (ret != LJ92_ERROR_NONE) break; - } - return ret; -} - -static int findSoI(ljp* self) { - int ret = LJ92_ERROR_CORRUPT; - if (find(self)==0xd8) - ret = parseImage(self); - return ret; -} - -static void free_memory(ljp* self) { -#ifdef SLOW_HUFF - free(self->maxcode); - self->maxcode = NULL; - free(self->mincode); - self->mincode = NULL; - free(self->valptr); - self->valptr = NULL; - free(self->huffval); - self->huffval = NULL; - free(self->huffsize); - self->huffsize = NULL; - free(self->huffcode); - self->huffcode = NULL; -#else - free(self->hufflut); - self->hufflut = NULL; -#endif - free(self->rowcache); - self->rowcache = NULL; -} - -int lj92_open(lj92* lj, - uint8_t* data, int datalen, - int* width,int* height, int* bitdepth) { - ljp* self = (ljp*)calloc(sizeof(ljp),1); - if (self==NULL) return LJ92_ERROR_NO_MEMORY; - - self->data = (u8*)data; - self->dataend = self->data + datalen; - self->datalen = datalen; - - int ret = findSoI(self); - - if (ret == LJ92_ERROR_NONE) { - u16* rowcache = (u16*)calloc(self->x * 2,sizeof(u16)); - if (rowcache == NULL) ret = LJ92_ERROR_NO_MEMORY; - else { - self->rowcache = rowcache; - self->outrow[0] = rowcache; - self->outrow[1] = &rowcache[self->x]; - } - } - - if (ret != LJ92_ERROR_NONE) { // Failed, clean up - *lj = NULL; - free_memory(self); - free(self); - } else { - *width = self->x; - *height = self->y; - *bitdepth = self->bits; - *lj = self; - } - return ret; -} - -int lj92_decode(lj92 lj, - uint16_t* target,int writeLength, int skipLength, - uint16_t* linearize,int linearizeLength) { - int ret = LJ92_ERROR_NONE; - ljp* self = lj; - if (self == NULL) return LJ92_ERROR_BAD_HANDLE; - self->image = target; - self->writelen = writeLength; - self->skiplen = skipLength; - self->linearize = linearize; - self->linlen = linearizeLength; - ret = parseScan(self); - return ret; -} - -void lj92_close(lj92 lj) { - ljp* self = lj; - if (self != NULL) - free_memory(self); - free(self); -} diff --git a/rtengine/lj92.h b/rtengine/lj92.h deleted file mode 100644 index bc8bf7604..000000000 --- a/rtengine/lj92.h +++ /dev/null @@ -1,68 +0,0 @@ -/* -lj92.h -(c) Andrew Baldwin 2014 - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - -#ifndef LJ92_H -#define LJ92_H - -#ifdef __cplusplus -extern "C" -{ -#endif -enum LJ92_ERRORS { - LJ92_ERROR_NONE = 0, - LJ92_ERROR_CORRUPT = -1, - LJ92_ERROR_NO_MEMORY = -2, - LJ92_ERROR_BAD_HANDLE = -3, - LJ92_ERROR_TOO_WIDE = -4, -}; - -typedef struct _ljp* lj92; - -/* Parse a lossless JPEG (1992) structure returning - * - a handle that can be used to decode the data - * - width/height/bitdepth of the data - * Returns status code. - * If status == LJ92_ERROR_NONE, handle must be closed with lj92_close - */ -int lj92_open(lj92* lj, // Return handle here - uint8_t* data,int datalen, // The encoded data - int* width,int* height,int* bitdepth); // Width, height and bitdepth - -/* Release a decoder object */ -void lj92_close(lj92 lj); - -/* - * Decode previously opened lossless JPEG (1992) into a 2D tile of memory - * Starting at target, write writeLength 16bit values, then skip 16bit skipLength value before writing again - * If linearize is not NULL, use table at linearize to convert data values from output value to target value - * Data is only correct if LJ92_ERROR_NONE is returned - */ -int lj92_decode(lj92 lj, - uint16_t* target, int writeLength, int skipLength, // The image is written to target as a tile - uint16_t* linearize, int linearizeLength); // If not null, linearize the data using this table - -#endif - -#ifdef __cplusplus -} -#endif diff --git a/rtengine/myfile.cc b/rtengine/myfile.cc index 842766dcf..2321d18bb 100644 --- a/rtengine/myfile.cc +++ b/rtengine/myfile.cc @@ -70,7 +70,7 @@ int munmap(void *start, size_t length) #ifdef MYFILE_MMAP -IMFILE* fopen (const char* fname) +rtengine::IMFILE* rtengine::fopen (const char* fname) { int fd; @@ -123,13 +123,13 @@ IMFILE* fopen (const char* fname) return mf; } -IMFILE* gfopen (const char* fname) +rtengine::IMFILE* rtengine::gfopen (const char* fname) { return fopen(fname); } #else -IMFILE* fopen (const char* fname) +rtengine::IMFILE* rtengine::fopen (const char* fname) { FILE* f = g_fopen (fname, "rb"); @@ -152,7 +152,7 @@ IMFILE* fopen (const char* fname) return mf; } -IMFILE* gfopen (const char* fname) +rtengine::IMFILE* rtengine::gfopen (const char* fname) { FILE* f = g_fopen (fname, "rb"); @@ -176,7 +176,7 @@ IMFILE* gfopen (const char* fname) } #endif //MYFILE_MMAP -IMFILE* fopen (unsigned* buf, int size) +rtengine::IMFILE* rtengine::fopen (unsigned* buf, int size) { IMFILE* mf = new IMFILE; @@ -190,7 +190,7 @@ IMFILE* fopen (unsigned* buf, int size) return mf; } -void fclose (IMFILE* f) +void rtengine::fclose (IMFILE* f) { #ifdef MYFILE_MMAP @@ -207,7 +207,7 @@ void fclose (IMFILE* f) delete f; } -int fscanf (IMFILE* f, const char* s ...) +int rtengine::fscanf (IMFILE* f, const char* s ...) { // fscanf not easily wrapped since we have no terminating \0 at end // of file data and vsscanf() won't tell us how many characters that @@ -253,7 +253,7 @@ int fscanf (IMFILE* f, const char* s ...) } -char* fgets (char* s, int n, IMFILE* f) +char* rtengine::fgets (char* s, int n, IMFILE* f) { if (f->pos >= f->size) { @@ -270,7 +270,7 @@ char* fgets (char* s, int n, IMFILE* f) return s; } -void imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, double progress_range) +void rtengine::imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, double progress_range) { f->plistener = plistener; f->progress_range = progress_range; @@ -278,7 +278,7 @@ void imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, doub f->progress_current = 0; } -void imfile_update_progress(IMFILE *f) +void rtengine::imfile_update_progress(IMFILE *f) { if (!f->plistener || f->progress_current < f->progress_next) { return; diff --git a/rtengine/myfile.h b/rtengine/myfile.h index 34b90c525..ae14ce31a 100644 --- a/rtengine/myfile.h +++ b/rtengine/myfile.h @@ -30,8 +30,6 @@ namespace rtengine class ProgressListener; -} - struct IMFILE { int fd; ssize_t pos; @@ -141,3 +139,5 @@ inline unsigned char* fdata(int offset, IMFILE* f) int fscanf (IMFILE* f, const char* s ...); char* fgets (char* s, int n, IMFILE* f); + +} diff --git a/rtengine/opthelper.h b/rtengine/opthelper.h index f431c0ec9..8de3b781b 100644 --- a/rtengine/opthelper.h +++ b/rtengine/opthelper.h @@ -20,7 +20,7 @@ //////////////////////////////////////////////////////////////// #pragma once -#define pow_F(a,b) (xexpf(b*xlogf(a))) +#define pow_F(a,b) (xexpf((b)*xlogf(a))) #ifdef __SSE2__ #include "sleefsseavx.h" diff --git a/rtengine/pipettebuffer.h b/rtengine/pipettebuffer.h index 6f017a196..3c541cb31 100644 --- a/rtengine/pipettebuffer.h +++ b/rtengine/pipettebuffer.h @@ -58,7 +58,7 @@ public: ~PipetteBuffer(); /** @brief Getter to know if the pipette buffer is correctly filled */ - bool isReady() + bool isReady() const { return ready; } diff --git a/rtengine/pixelshift.cc b/rtengine/pixelshift.cc index ff7be3e40..8088e2e9c 100644 --- a/rtengine/pixelshift.cc +++ b/rtengine/pixelshift.cc @@ -334,7 +334,7 @@ BENCHFUN if(motionDetection) { if(!showOnlyMask) { - if(bayerParams.pixelShiftMedian) { // We need the demosaiced frames for motion correction + if(bayerParams.pixelShiftMedian || bayerParams.pixelShiftAverage) { // We need the demosaiced frames for motion correction if (bayerParams.pixelShiftDemosaicMethod == bayerParams.getPSDemosaicMethodString(procparams::RAWParams::BayerSensor::PSDemosaicMethod::LMMSE)) { lmmse_interpolate_omp(winw, winh, *(rawDataFrames[0]), red, green, blue, bayerParams.lmmse_iterations); } else if (bayerParams.pixelShiftDemosaicMethod == bayerParams.getPSDemosaicMethodString(procparams::RAWParams::BayerSensor::PSDemosaicMethod::AMAZEVNG4)) { @@ -359,22 +359,42 @@ BENCHFUN amaze_demosaic_RT(winx, winy, winw, winh, *(rawDataFrames[i + 1]), redTmp[i], greenTmp[i], blueTmp[i], options.chunkSizeAMAZE, options.measure); } } + if(bayerParams.pixelShiftMedian) { #ifdef _OPENMP - #pragma omp parallel for schedule(dynamic,16) + #pragma omp parallel for schedule(dynamic,16) #endif - for(int i = winy + border; i < winh - border; i++) { - for(int j = winx + border; j < winw - border; j++) { - red[i][j] = median(red[i][j], redTmp[0][i + 1][j], redTmp[1][i + 1][j + 1], redTmp[2][i][j + 1]); - } + for(int i = winy + border; i < winh - border; i++) { + for(int j = winx + border; j < winw - border; j++) { + red[i][j] = median(red[i][j], redTmp[0][i + 1][j], redTmp[1][i + 1][j + 1], redTmp[2][i][j + 1]); + } - for(int j = winx + border; j < winw - border; j++) { - green[i][j] = median(green[i][j], greenTmp[0][i + 1][j], greenTmp[1][i + 1][j + 1], greenTmp[2][i][j + 1]); - } + for(int j = winx + border; j < winw - border; j++) { + green[i][j] = median(green[i][j], greenTmp[0][i + 1][j], greenTmp[1][i + 1][j + 1], greenTmp[2][i][j + 1]); + } - for(int j = winx + border; j < winw - border; j++) { - blue[i][j] = median(blue[i][j], blueTmp[0][i + 1][j], blueTmp[1][i + 1][j + 1], blueTmp[2][i][j + 1]); + for(int j = winx + border; j < winw - border; j++) { + blue[i][j] = median(blue[i][j], blueTmp[0][i + 1][j], blueTmp[1][i + 1][j + 1], blueTmp[2][i][j + 1]); + } + } + } else { +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic,16) +#endif + + for(int i = winy + border; i < winh - border; i++) { + for(int j = winx + border; j < winw - border; j++) { + red[i][j] = 0.25f * ((red[i][j] + redTmp[0][i + 1][j]) + (redTmp[1][i + 1][j + 1] + redTmp[2][i][j + 1])); + } + + for(int j = winx + border; j < winw - border; j++) { + green[i][j] = 0.25f * ((green[i][j] + greenTmp[0][i + 1][j]) + (greenTmp[1][i + 1][j + 1] + greenTmp[2][i][j + 1])); + } + + for(int j = winx + border; j < winw - border; j++) { + blue[i][j] = 0.25f * ((blue[i][j] + blueTmp[0][i + 1][j]) + (blueTmp[1][i + 1][j + 1] + blueTmp[2][i][j + 1])); + } } } } else { diff --git a/rtengine/procevents.h b/rtengine/procevents.h index 863fbd6e2..13df614dc 100644 --- a/rtengine/procevents.h +++ b/rtengine/procevents.h @@ -21,10 +21,14 @@ namespace rtengine { + + + + // Aligned so the first entry starts on line 30 enum ProcEventCode { EvPhotoLoaded = 0, - EvProfileLoaded = 1, + obsolete_1 = 1, EvProfileChanged = 2, EvHistoryBrowsed = 3, EvBrightness = 4, @@ -38,9 +42,9 @@ enum ProcEventCode { EvClip = 12, EvLBrightness = 13, EvLContrast = 14, - EvLBlack = 15, - EvLHLCompr = 16, - EvLSHCompr = 17, + obsolete_15 = 15, // obsolete + obsolete_16 = 16, // obsolete + obsolete_17 = 17, // obsolete EvLLCurve = 18, EvShrEnabled = 19, EvShrRadius = 20, @@ -77,7 +81,7 @@ enum ProcEventCode { EvSHShadows = 51, EvSHHLTonalW = 52, EvSHSHTonalW = 53, - EvSHLContrast = 54, + obsolete_54 = 54, // obsolete EvSHRadius = 55, EvCTRotate = 56, EvCTHFlip = 57, @@ -89,7 +93,7 @@ enum ProcEventCode { EvCrop = 63, EvCACorr = 64, EvHREnabled = 65, - obsolete_66 = 66, //obsolete + obsolete_66 = 66, // obsolete EvHRMethod = 67, EvWProfile = 68, EvOProfile = 69, @@ -100,12 +104,12 @@ enum ProcEventCode { EvResizeMethod = 74, EvExif = 75, EvIPTC = 76, - EvResizeSpec = 77, + obsolete_77 = 77, // obsolete EvResizeWidth = 78, EvResizeHeight = 79, EvResizeEnabled = 80, EvProfileChangeNotification = 81, - EvSHHighQuality = 82, + obsolete_82 = 82, // obsolete EvPerspCorr = 83, EvLCPFile = 84, EvRGBrCurveLumamode = 85, @@ -133,7 +137,7 @@ enum ProcEventCode { EvHLComprThreshold = 107, EvResizeBoundingBox = 108, EvResizeAppliesTo = 109, - EvLAvoidColorShift = 110, + //EvLAvoidColorShift = 110, obsolete_111 = 111, // obsolete EvLRSTProtection = 112, EvDemosaicDCBIter = 113, @@ -153,12 +157,12 @@ enum ProcEventCode { EvFlatFieldBlurRadius = 127, EvFlatFieldBlurType = 128, EvAutoDIST = 129, - EvDPDNLumCurve = 130, - EvDPDNChromCurve = 131, - EvGAMMA = 132, - EvGAMPOS = 133, - EvGAMFREE = 134, - EvSLPOS = 135, + obsolete_130 = 130, // obsolete + obsolete_131 = 131, // obsolete + obsolete_132 = 132, // obsolete + obsolete_133 = 133, // obsolete + obsolete_134 = 134, // obsolete + obsolete_135 = 135, // obsolete EvPreProcessExpBlackzero = 136, EvPreProcessExpBlackone = 137, EvPreProcessExpBlacktwo = 138, @@ -231,7 +235,7 @@ enum ProcEventCode { EvCATAutoAdap = 205, EvPFCurve = 206, EvWBequal = 207, - EvWBequalbo = 208, + obsolete_208 = 208, EvGradientDegree = 209, EvGradientEnabled = 210, EvPCVignetteStrength = 211, @@ -272,7 +276,7 @@ enum ProcEventCode { EvLLHCurve = 246, EvLHHCurve = 247, EvDirPyrEqualizerThreshold = 248, - EvDPDNenhance = 249, + obsolete_249 = 249, EvBWMethodalg = 250, EvDirPyrEqualizerSkin = 251, EvDirPyrEqlgamutlab = 252, @@ -296,8 +300,8 @@ enum ProcEventCode { EvColorToningbluehigh = 270, EvColorToningbalance = 271, EvColorToningNeutral = 272, - EvColorToningsatlow = 273, - EvColorToningsathigh = 274, + obsolete_273 = 273, + obsolete_274 = 274, EvColorToningTwocolor = 275, EvColorToningNeutralcur = 276, EvColorToningLumamode = 277, @@ -322,7 +326,7 @@ enum ProcEventCode { EvDPDNsmet = 296, EvPreProcessDeadPixel = 297, EvDPDNCCCurve = 298, - EvDPDNautochroma = 299, + obsolete_299 = 299, EvDPDNLmet = 300, EvDPDNCmet = 301, EvDPDNC2met = 302, @@ -431,7 +435,7 @@ enum ProcEventCode { EvWavNPmet = 405, EvretinexMethod = 406, EvLneigh = 407, - EvLgain = 408, + obsolete_408 = 408, EvLoffs = 409, EvLstr = 410, EvLscal = 411, @@ -495,7 +499,7 @@ enum ProcEventCode { // EvPixelShiftMedian3 = 469, EvPixelShiftMotionMethod = 470, EvPixelShiftSmooth = 471, - EvPixelShiftLmmse = 472, + obsolete_472 = 472, EvPixelShiftEqualBright = 473, EvPixelShiftEqualBrightChannel = 474, EvCATtempout = 475, @@ -613,7 +617,7 @@ enum ProcEventCode { Evlocallabadjblur = 587, Evlocallabbilateral = 588, Evlocallabsensiden = 589, - Evlocallabavoid = 590, + // Evlocallabavoid = 590, Evlocallabsharcontrast = 591, EvLocenacontrast = 592, Evlocallablcradius = 593, @@ -626,7 +630,7 @@ enum ProcEventCode { Evlocallabstreng = 600, Evlocallabsensisf = 601, Evlocallabsharblur = 602, - EvLocenalabregion = 603, + obsolete_603 = 603, EvlocallabshowmaskMethod = 604, EvLocallabSpotSelectedWithMask = 605, EvlocallabCCmaskshape = 606, @@ -870,7 +874,7 @@ enum ProcEventCode { EvLocenalog = 844, EvLocallabAuto = 845, EvlocallabsourceGray = 846, - EvlocallabsourceGrayAuto = 847, + obsolete_847 = 847, EvlocallabAutogray = 848, EvlocallabblackEv = 849, EvlocallabwhiteEv = 850, @@ -889,7 +893,7 @@ enum ProcEventCode { Evlocallabsigmadc = 863, Evlocallabdeltad = 864, EvlocallabwavCurvecomp = 865, - Evlocallabfatres = 866, + //Evlocallabfatres = 866, EvLocallabSpotbalanh = 867, EvlocallabwavCurveden = 868, EvlocallabHHmasklcshape = 869, @@ -918,7 +922,7 @@ enum ProcEventCode { Evlocallabanglog = 892, EvLocallabSpotcolorde = 893, // EvlocallabshowmasksharMethod = 894, - Evlocallabshowreset = 895, + //Evlocallabshowreset = 895, Evlocallabstrengthw = 896, Evlocallabradiusw = 897, Evlocallabdetailw = 898, @@ -998,7 +1002,7 @@ enum ProcEventCode { EvLocallabchromaskL = 972, EvlocallabLmaskshapeL = 973, Evlocallablightl = 974, - EvlocallabLshapeL = 975, + //EvlocallabLshapeL = 975, Evlocallabcontq = 976, Evlocallabsursour = 977, Evlocallablightq = 978, @@ -1063,12 +1067,122 @@ enum ProcEventCode { Evlocallabnlgam = 1037, Evlocallabdivgr = 1038, EvLocallabSpotavoidrad = 1039, - EvLocallabSpotavoidmun = 1040, + //EvLocallabSpotavoidmun = 1040, Evlocallabcontthres = 1041, Evlocallabnorm = 1042, + Evlocallabreparw = 1043, + Evlocallabreparcol = 1044, + Evlocallabreparden = 1045, + Evlocallabreparsh = 1046, + Evlocallabreparexp = 1047, + Evlocallabrepartm = 1048, + Evlocallabchroml = 1049, + Evlocallabresidgam = 1050, + Evlocallabresidslop = 1051, + Evlocallabnoisegam = 1052, + Evlocallabgamlc = 1053, + Evlocallabgamc = 1054, + Evlocallabgamex = 1055, + EvLocenacie = 1056, + Evlocallabreparcie = 1057, + EvlocallabAutograycie = 1058, + EvlocallabsourceGraycie = 1059, + Evlocallabsourceabscie = 1060, + Evlocallabsursourcie = 1061, + Evlocallabsaturlcie = 1062, + Evlocallabchromlcie = 1063, + Evlocallablightlcie = 1064, + Evlocallablightqcie = 1065, + Evlocallabcontlcie = 1066, + Evlocallabcontthrescie = 1067, + Evlocallabcontqcie = 1068, + Evlocallabcolorflcie = 1069, + Evlocallabtargabscie = 1070, + EvlocallabtargetGraycie = 1071, + Evlocallabcatadcie = 1072, + Evlocallabdetailcie = 1073, + Evlocallabsurroundcie = 1074, + Evlocallabsensicie = 1075, + Evlocallabmodecie = 1076, + Evlocallabrstprotectcie = 1077, + Evlocallabsigmoidldacie = 1078, + Evlocallabsigmoidthcie = 1079, + Evlocallabsigmoidblcie = 1080, + Evlocallabsigmoidqjcie = 1081, + Evlocallabhuecie = 1082, + Evlocallabjabcie = 1083, + Evlocallablightjzcie = 1084, + Evlocallabcontjzcie = 1085, + Evlocallabchromjzcie = 1086, + Evlocallabhuejzcie = 1087, + Evlocallabsigmoidldajzcie = 1088, + Evlocallabsigmoidthjzcie = 1089, + Evlocallabsigmoidbljzcie = 1090, + Evlocallabadapjzcie = 1091, + Evlocallabmodecam = 1092, + Evlocallabhljzcie = 1093, + Evlocallabhlthjzcie = 1094, + Evlocallabshjzcie = 1095, + Evlocallabshthjzcie = 1096, + Evlocallabradjzcie = 1097, + EvlocallabCHshapejz = 1098, + Evlocallabjz100 = 1099, + Evlocallabpqremap = 1100, + EvlocallabLHshapejz = 1101, + Evlocallabshargam = 1102, + Evlocallabvibgam = 1103, + EvLocallabtoneMethodcie = 1104, + Evlocallabshapecie = 1105, + EvLocallabtoneMethodcie2 = 1106, + Evlocallabshapecie2 = 1107, + Evlocallabshapejz = 1108, + Evlocallabshapecz = 1109, + Evlocallabshapeczjz = 1110, + Evlocallabforcejz = 1111, + Evlocallabpqremapcam16 = 1112, + EvLocallabEnacieMask = 1113, + EvlocallabCCmaskcieshape = 1114, + EvlocallabLLmaskcieshape = 1115, + EvlocallabHHmaskcieshape = 1116, + Evlocallabblendmaskcie = 1117, + Evlocallabradmaskcie = 1118, + Evlocallabchromaskcie = 1119, + EvlocallabLmaskcieshape = 1120, + Evlocallabrecothrescie = 1121, + Evlocallablowthrescie = 1122, + Evlocallabhigthrescie = 1123, + Evlocallabdecaycie = 1124, + Evlocallablapmaskcie = 1125, + Evlocallabgammaskcie = 1126, + Evlocallabslomaskcie = 1127, + Evlocallabqtoj = 1128, + Evlocallabsaturjzcie = 1129, + EvLocallabSpotdenoichmask = 1130, + Evlocallabsigmalcjz = 1131, + EvlocallabcsThresholdjz = 1132, + EvlocallabwavCurvejz = 1133, + Evlocallabclarilresjz = 1134, + Evlocallabclaricresjz = 1135, + Evlocallabclarisoftjz = 1136, + EvlocallabHHshapejz = 1137, + Evlocallabsoftjzcie = 1138, + Evlocallabthrhjzcie = 1139, + Evlocallabchjzcie = 1140, + Evlocallabstrsoftjzcie = 1141, + EvlocallabblackEvjz = 1142, + EvlocallabwhiteEvjz = 1143, + Evlocallablogjz = 1144, + Evlocallabtargetjz = 1145, + Evlocallabforcebw = 1146, + Evlocallabsigjz = 1147, + Evlocallabsigq = 1148, + Evlocallablogcie = 1149, NUMOFEVENTS }; + + + class ProcEvent { public: diff --git a/rtengine/procparams.cc b/rtengine/procparams.cc index f0300a011..c2f2fd443 100644 --- a/rtengine/procparams.cc +++ b/rtengine/procparams.cc @@ -388,6 +388,10 @@ namespace rtengine namespace procparams { +const short SpotParams::minRadius = 1; +const short SpotParams::maxRadius = 400; + + ToneCurveParams::ToneCurveParams() : autoexp(false), clip(0.02), @@ -627,7 +631,7 @@ LCurveParams::LCurveParams() : brightness(0), contrast(0), chromaticity(0), - avoidcolorshift(false), + gamutmunselmethod("MUN"), rstprotection(0), lcredsk(true) { @@ -649,7 +653,7 @@ bool LCurveParams::operator ==(const LCurveParams& other) const && brightness == other.brightness && contrast == other.contrast && chromaticity == other.chromaticity - && avoidcolorshift == other.avoidcolorshift + && gamutmunselmethod == other.gamutmunselmethod && rstprotection == other.rstprotection && lcredsk == other.lcredsk; } @@ -1446,10 +1450,10 @@ ColorAppearanceParams::ColorAppearanceParams() : DCT_Linear }, curveMode(TcMode::LIGHT), - curveMode2(TcMode::LIGHT), + curveMode2(TcMode::BRIGHT), curveMode3(CtcMode::CHROMA), complexmethod("normal"), - modelmethod("02"), + modelmethod("16"), catmethod("clas"), surround("Average"), surrsrc("Average"), @@ -1480,8 +1484,7 @@ ColorAppearanceParams::ColorAppearanceParams() : ybout(18), greenout(1.0), tempsc(5003), - greensc(1.0), - presetcat02(false) + greensc(1.0) { } @@ -1531,8 +1534,7 @@ bool ColorAppearanceParams::operator ==(const ColorAppearanceParams& other) cons && ybout == other.ybout && greenout == other.greenout && tempsc == other.tempsc - && greensc == other.greensc - && presetcat02 == other.presetcat02; + && greensc == other.greensc; } bool ColorAppearanceParams::operator !=(const ColorAppearanceParams& other) const @@ -1714,6 +1716,47 @@ bool EPDParams::operator !=(const EPDParams& other) const return !(*this == other); } +SpotEntry::SpotEntry() : + radius(25), + feather(1.f), + opacity(1.f) +{ +} + +float SpotEntry::getFeatherRadius() const +{ + return radius * (1.f + feather); +} + +bool SpotEntry::operator ==(const SpotEntry& other) const +{ + return other.sourcePos == sourcePos && other.targetPos == targetPos && + other.radius == radius && other.feather == feather && other.opacity == opacity; +} + +bool SpotEntry::operator !=(const SpotEntry& other) const +{ + return other.sourcePos != sourcePos || other.targetPos != targetPos || + other.radius != radius || other.feather != feather || other.opacity != opacity; +} + +SpotParams::SpotParams() : + enabled(false) +{ + entries.clear (); +} + +bool SpotParams::operator ==(const SpotParams& other) const +{ + return enabled == other.enabled && entries == other.entries; +} + +bool SpotParams::operator !=(const SpotParams& other) const +{ + return !(*this == other); +} + + FattalToneMappingParams::FattalToneMappingParams() : enabled(false), threshold(30), @@ -1773,7 +1816,7 @@ CropParams::CropParams() : fixratio(true), ratio("As Image"), orientation("As Image"), - guide("Frame") + guide(Guide::FRAME) { } @@ -2206,6 +2249,8 @@ ResizeParams::ResizeParams() : dataspec(3), width(900), height(900), + longedge(900), + shortedge(900), allowUpscaling(false) { } @@ -2220,6 +2265,8 @@ bool ResizeParams::operator ==(const ResizeParams& other) const && dataspec == other.dataspec && width == other.width && height == other.height + && longedge == other.longedge + && shortedge == other.shortedge && allowUpscaling == other.allowUpscaling; } @@ -2229,6 +2276,7 @@ bool ResizeParams::operator !=(const ResizeParams& other) const } const Glib::ustring ColorManagementParams::NoICMString = Glib::ustring("No ICM: sRGB output"); +const Glib::ustring ColorManagementParams::NoProfileString = Glib::ustring("(none)"); ColorManagementParams::ColorManagementParams() : inputProfile("(cameraICC)"), @@ -2238,9 +2286,29 @@ ColorManagementParams::ColorManagementParams() : applyHueSatMap(true), dcpIlluminant(0), workingProfile("ProPhoto"), - workingTRC("none"), - workingTRCGamma(2.4), - workingTRCSlope(12.92310), + workingTRC(WorkingTrc::NONE), + will(Illuminant::DEFAULT), + wprim(Primaries::DEFAULT), + workingTRCGamma(2.4),//gamma sRGB + workingTRCSlope(12.92), + redx(0.7347), + redy(0.2653), + grex(0.1596), + grey(0.8404), + blux(0.0366), + bluy(0.0001), + preser(0.), + fbw(false), + gamut(false), + labgridcieALow(0.51763),//Prophoto red = (0.7347+0.1) * 1.81818 - 1 + labgridcieBLow(-0.33582), + labgridcieAHigh(-0.75163),//Prophoto blue + labgridcieBHigh(-0.8180), + labgridcieGx(-0.69164),//Prophoto green 0.1596 + labgridcieGy(-0.70909),//0.84 + labgridcieWx(-0.18964),//D50 0.3457, 0.3585, + labgridcieWy(-0.16636),// + aRendIntent(RI_RELATIVE), outputProfile(options.rtSettings.srgb), outputIntent(RI_RELATIVE), outputBPC(true) @@ -2258,8 +2326,28 @@ bool ColorManagementParams::operator ==(const ColorManagementParams& other) cons && dcpIlluminant == other.dcpIlluminant && workingProfile == other.workingProfile && workingTRC == other.workingTRC + && will == other.will + && wprim == other.wprim && workingTRCGamma == other.workingTRCGamma && workingTRCSlope == other.workingTRCSlope + && redx == other.redx + && redy == other.redy + && grex == other.grex + && grey == other.grey + && blux == other.blux + && bluy == other.bluy + && labgridcieALow == other.labgridcieALow + && labgridcieBLow == other.labgridcieBLow + && labgridcieAHigh == other.labgridcieAHigh + && labgridcieBHigh == other.labgridcieBHigh + && labgridcieGx == other.labgridcieGx + && labgridcieGy == other.labgridcieGy + && labgridcieWx == other.labgridcieWx + && labgridcieWy == other.labgridcieWy + && preser == other.preser + && fbw == other.fbw + && gamut == other.gamut + && aRendIntent == other.aRendIntent && outputProfile == other.outputProfile && outputIntent == other.outputIntent && outputBPC == other.outputBPC; @@ -2355,41 +2443,41 @@ WaveletParams::WaveletParams() : 0.35, 0.35 }, - opacityCurveSH{ - static_cast(FCT_MinMaxCPoints), - 0., - 1., - 0.35, - 0.35, - 0.15, - 0.9, - 0.35, - 0.35, - 0.4, - 0.8, - 0.35, - 0.35, - 0.4, - 0.5, - 0.35, - 0.35, - 0.5, - 0.5, - 0.35, - 0.35, - 0.5, - 0.2, - 0.35, - 0.35, - 0.8, - 0.1, - 0.35, - 0.35, - 1.0, - 0., - 0.35, - 0.35 - }, + //opacityCurveSH{ + // static_cast(FCT_MinMaxCPoints), + // 0., + // 1., + // 0.35, + // 0.35, + // 0.15, + // 0.9, + // 0.35, + // 0.35, + // 0.4, + // 0.8, + // 0.35, + // 0.35, + // 0.4, + // 0.5, + // 0.35, + // 0.35, + // 0.5, + // 0.5, + // 0.35, + // 0.35, + // 0.5, + // 0.2, + // 0.35, + // 0.35, + // 0.8, + // 0.1, + // 0.35, + // 0.35, + // 1.0, + // 0., + // 0.35, + // 0.35 + //}, /* opacityCurveSH{ static_cast(FCT_MinMaxCPoints), @@ -2527,7 +2615,7 @@ WaveletParams::WaveletParams() : Backmethod("grey"), Tilesmethod("full"), complexmethod("normal"), - denmethod("12low"), + //denmethod("12low"), mixmethod("mix"), slimethod("sli"), quamethod("cons"), @@ -2601,7 +2689,7 @@ bool WaveletParams::operator ==(const WaveletParams& other) const && wavdenoiseh == other.wavdenoiseh && blcurve == other.blcurve && opacityCurveRG == other.opacityCurveRG - && opacityCurveSH == other.opacityCurveSH + //&& opacityCurveSH == other.opacityCurveSH && opacityCurveBY == other.opacityCurveBY && opacityCurveW == other.opacityCurveW && opacityCurveWL == other.opacityCurveWL @@ -2677,7 +2765,7 @@ bool WaveletParams::operator ==(const WaveletParams& other) const && Backmethod == other.Backmethod && Tilesmethod == other.Tilesmethod && complexmethod == other.complexmethod - && denmethod == other.denmethod + //&& denmethod == other.denmethod && mixmethod == other.mixmethod && slimethod == other.slimethod && quamethod == other.quamethod @@ -2764,7 +2852,7 @@ void WaveletParams::getCurves( wavdenoiseh.Set(this->wavdenoiseh); tCurve.Set(this->blcurve); opacityCurveLUTRG.Set(this->opacityCurveRG); - opacityCurveLUTSH.Set(this->opacityCurveSH); + //opacityCurveLUTSH.Set(this->opacityCurveSH); opacityCurveLUTBY.Set(this->opacityCurveBY); opacityCurveLUTW.Set(this->opacityCurveW); opacityCurveLUTWL.Set(this->opacityCurveWL); @@ -2783,6 +2871,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : structexclu(0), struc(4.0), shapeMethod("IND"), + avoidgamutMethod("MUNS"), loc{150, 150, 150, 150}, centerX(0), centerY(0), @@ -2797,13 +2886,11 @@ LocallabParams::LocallabSpot::LocallabSpot() : balanh(1.0), colorde(5.0), colorscope(30.0), - avoidrad(0.7), + avoidrad(0.), transitweak(1.0), transitgrad(0.0), hishow(false), activ(true), - avoid(false), - avoidmun(false), blwh(false), recurs(false), laplac(true), @@ -2811,6 +2898,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : shortc(false), savrest(false), scopemask(60), + denoichmask(0.), lumask(10), // Color & Light visicolor(false), @@ -2818,6 +2906,8 @@ LocallabParams::LocallabSpot::LocallabSpot() : complexcolor(2), curvactiv(false), lightness(0), + reparcol(100.), + gamc(1.), contrast(0), chroma(0), labgridALow(0.0), @@ -3065,7 +3155,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : expexpose(false), complexexpose(0), expcomp(0.0), - hlcompr(20), + hlcompr(0), hlcomprthresh(0), black(0), shadex(0), @@ -3074,6 +3164,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : sensiex(60), structexp(0), blurexpde(5), + gamex(1.), strexp(0.), angexp(0.), excurve{ @@ -3150,12 +3241,13 @@ LocallabParams::LocallabSpot::LocallabSpot() : expMethod("std"), exnoiseMethod("none"), laplacexp(0.0), + reparexp(100.0), balanexp(1.0), linear(0.05), gamm(0.4), fatamount(1.0), fatdetail(40.0), - fatanchor(1.0), + fatanchor(50.0), fatlevel(1.), recothrese(1.), lowthrese(12.), @@ -3230,6 +3322,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : slomaskSH(0.0), lapmaskSH(0.0), detailSH(0), + reparsh(100.), LmaskSHcurve{ static_cast(DCT_NURBS), 0.0, @@ -3251,6 +3344,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : complexvibrance(0), saturated(0), pastels(0), + vibgam(1.0), warm(0), psthreshold({0, 75, false}), protectskins(false), @@ -3377,6 +3471,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : noiselumc(0.), noiselumdetail(50.), noiselequal(7), + noisegam(1.), noisechrof(0.), noisechroc(0.), noisechrodetail(50.), @@ -3388,6 +3483,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : nlrad(5), nlgam(3.), sensiden(60), + reparden(100.), detailthr(50), locwavcurveden{ static_cast(FCT_MinMaxCPoints), @@ -3517,6 +3613,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : gamma(1.0), estop(1.4), scaltm(1.0), + repartm(100.0), rewei(0), satur(0.), sensitm(60), @@ -3715,6 +3812,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : shardamping(0), shariter(30), sharblur(0.2), + shargam(1.0), sensisha(40), inverssha(false), // Local Contrast @@ -3732,6 +3830,9 @@ LocallabParams::LocallabSpot::LocallabSpot() : residshathr(30.0), residhi(0.0), residhithr(70.0), + gamlc(1.0), + residgam(2.40), + residslop(12.94), residblur(0.0), levelblur(0.0), sigmabl(1.0), @@ -3762,6 +3863,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : edgw(60.0), basew(10.0), sensilc(60), + reparw(100.), fftwlc(false), blurlc(true), wavblur(false), @@ -3995,6 +4097,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : // Log encoding visilog(false), explog(false), + complexlog(0), autocompute(false), sourceGray(10.), sourceabs(2000.), @@ -4002,6 +4105,7 @@ LocallabParams::LocallabSpot::LocallabSpot() : targetGray(18.), catad(0.), saturl(0.), + chroml(0.), lightl(0.), lightq(0.), contl(0.), @@ -4188,7 +4292,278 @@ LocallabParams::LocallabSpot::LocallabSpot() : 0.35, 0.35 }, - csthresholdmask(0, 0, 6, 5, false) + csthresholdmask(0, 0, 6, 5, false), + // ciecam + visicie(false), + expcie(false), + complexcie(0), + reparcie(100.), + sensicie(60), + Autograycie(true), + forcejz(true), + forcebw(true), + qtoj(false), + jabcie(true), + sigmoidqjcie(false), + logcie(false), + logjz(false), + sigjz(false), + sigq(false), + chjzcie(true), + sourceGraycie(18.), + sourceabscie(2000.), + sursourcie("Average"), + modecie("com"), + modecam("cam16"), + saturlcie(0.), + rstprotectcie(0.), + chromlcie(0.), + huecie(0.), + toneMethodcie("one"), + ciecurve{ + static_cast(DCT_NURBS), + 0.0, + 0.0, + 1.0, + 1.0 + }, + toneMethodcie2("onec"), + ciecurve2{ + static_cast(DCT_NURBS), + 0.0, + 0.0, + 1.0, + 1.0 + }, + chromjzcie(0.), + saturjzcie(0.), + huejzcie(0.), + softjzcie(0.), + strsoftjzcie(100.), + thrhjzcie(60.), + jzcurve{ + static_cast(DCT_NURBS), + 0.0, + 0.0, + 1.0, + 1.0 + }, + czcurve{ + static_cast(DCT_NURBS), + 0.0, + 0.0, + 1.0, + 1.0 + }, + czjzcurve{ + static_cast(DCT_NURBS), + 0.0, + 0.0, + 1.0, + 1.0 + }, + HHcurvejz{ + static_cast(FCT_MinMaxCPoints), + 0.0, + 0.50, + 0.35, + 0.35, + 0.166, + 0.50, + 0.35, + 0.35, + 0.333, + 0.50, + 0.35, + 0.35, + 0.50, + 0.50, + 0.35, + 0.35, + 0.666, + 0.50, + 0.35, + 0.35, + 0.833, + 0.50, + 0.35, + 0.35 + }, + CHcurvejz{ + static_cast(FCT_MinMaxCPoints), + 0.0, + 0.50, + 0.35, + 0.35, + 0.166, + 0.50, + 0.35, + 0.35, + 0.333, + 0.50, + 0.35, + 0.35, + 0.50, + 0.50, + 0.35, + 0.35, + 0.666, + 0.50, + 0.35, + 0.35, + 0.833, + 0.50, + 0.35, + 0.35 + }, + LHcurvejz{ + static_cast(FCT_MinMaxCPoints), + 0.0, + 0.50, + 0.35, + 0.35, + 0.166, + 0.50, + 0.35, + 0.35, + 0.333, + 0.50, + 0.35, + 0.35, + 0.50, + 0.50, + 0.35, + 0.35, + 0.666, + 0.50, + 0.35, + 0.35, + 0.833, + 0.50, + 0.35, + 0.35 + }, + lightlcie(0.), + lightjzcie(0.), + lightqcie(0.), + contlcie(0.), + contjzcie(0.), + adapjzcie(4.0), + jz100(0.25), + pqremap(120.), + pqremapcam16(100.), + hljzcie(0.0), + hlthjzcie(70.0), + shjzcie(0.0), + shthjzcie(40.0), + radjzcie(40.0), + sigmalcjz(1.), + clarilresjz(0.), + claricresjz(0.), + clarisoftjz(0.), + locwavcurvejz{ + static_cast(FCT_MinMaxCPoints), + 0.0, + 0.5, + 0.35, + 0.35, + 1., + 0.5, + 0.35, + 0.35 + }, + csthresholdjz(0, 0, 7, 4, false), + contthrescie(0.), + blackEvjz(-5.0), + whiteEvjz(10.0), + targetjz(18.0), + sigmoidldacie(0.5), + sigmoidthcie(1.), + sigmoidblcie(1.), + sigmoidldajzcie(0.5), + sigmoidthjzcie(1.), + sigmoidbljzcie(1.), + contqcie(0.), + colorflcie(0.), +/* + lightlzcam(0.), + lightqzcam(0.), + contlzcam(0.), + contqzcam(0.), + contthreszcam(0.), + colorflzcam(0.), + saturzcam(0.), + chromzcam(0.), +*/ + targabscie(16.), + targetGraycie(18.), + catadcie(0.), + detailcie(0.), + surroundcie("Average"), + enacieMask(false), + CCmaskciecurve{ + static_cast(FCT_MinMaxCPoints), + 0.0, + 1.0, + 0.35, + 0.35, + 0.50, + 1.0, + 0.35, + 0.35, + 1.0, + 1.0, + 0.35, + 0.35 + }, + LLmaskciecurve{ + static_cast(FCT_MinMaxCPoints), + 0.0, + 1.0, + 0.35, + 0.35, + 0.50, + 1.0, + 0.35, + 0.35, + 1.0, + 1.0, + 0.35, + 0.35 + }, + HHmaskciecurve{ + static_cast(FCT_MinMaxCPoints), + 0.0, + 1.0, + 0.35, + 0.35, + 0.50, + 1.0, + 0.35, + 0.35, + 1.0, + 1.0, + 0.35, + 0.35 + }, + blendmaskcie(0), + radmaskcie(0.0), + chromaskcie(0.0), + lapmaskcie(0.0), + gammaskcie(1.0), + slomaskcie(0.0), + Lmaskciecurve{ + static_cast(DCT_NURBS), + 0.0, + 0.0, + 1.0, + 1.0 + }, + recothrescie(1.), + lowthrescie(12.), + higthrescie(85.), + decaycie(2.) + { } @@ -4207,6 +4582,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && structexclu == other.structexclu && struc == other.struc && shapeMethod == other.shapeMethod + && avoidgamutMethod == other.avoidgamutMethod && loc == other.loc && centerX == other.centerX && centerY == other.centerY @@ -4226,8 +4602,6 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && transitgrad == other.transitgrad && hishow == other.hishow && activ == other.activ - && avoid == other.avoid - && avoidmun == other.avoidmun && blwh == other.blwh && recurs == other.recurs && laplac == other.laplac @@ -4235,6 +4609,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && shortc == other.shortc && savrest == other.savrest && scopemask == other.scopemask + && denoichmask == other.denoichmask && lumask == other.lumask // Color & Light && visicolor == other.visicolor @@ -4242,6 +4617,8 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && complexcolor == other.complexcolor && curvactiv == other.curvactiv && lightness == other.lightness + && reparcol == other.reparcol + && gamc == other.gamc && contrast == other.contrast && chroma == other.chroma && labgridALow == other.labgridALow @@ -4318,6 +4695,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && sensiex == other.sensiex && structexp == other.structexp && blurexpde == other.blurexpde + && gamex == other.gamex && strexp == other.strexp && angexp == other.angexp && excurve == other.excurve @@ -4341,6 +4719,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && expMethod == other.expMethod && exnoiseMethod == other.exnoiseMethod && laplacexp == other.laplacexp + && reparexp == other.reparexp && balanexp == other.balanexp && linear == other.linear && gamm == other.gamm @@ -4387,6 +4766,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && slomaskSH == other.slomaskSH && lapmaskSH == other.lapmaskSH && detailSH == other.detailSH + && reparsh == other.reparsh && LmaskSHcurve == other.LmaskSHcurve && fatamountSH == other.fatamountSH && fatanchorSH == other.fatanchorSH @@ -4402,6 +4782,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && complexvibrance == other.complexvibrance && saturated == other.saturated && pastels == other.pastels + && vibgam == other.vibgam && warm == other.warm && psthreshold == other.psthreshold && protectskins == other.protectskins @@ -4478,6 +4859,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && noiselumc == other.noiselumc && noiselumdetail == other.noiselumdetail && noiselequal == other.noiselequal + && noisegam == other.noisegam && noisechrof == other.noisechrof && noisechroc == other.noisechroc && noisechrodetail == other.noisechrodetail @@ -4489,6 +4871,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && nlrad == other.nlrad && nlgam == other.nlgam && sensiden == other.sensiden + && reparden == other.reparden && detailthr == other.detailthr && locwavcurveden == other.locwavcurveden && locwavcurvehue == other.locwavcurvehue @@ -4520,6 +4903,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && gamma == other.gamma && estop == other.estop && scaltm == other.scaltm + && repartm == other.repartm && rewei == other.rewei && satur == other.satur && sensitm == other.sensitm @@ -4594,6 +4978,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && shardamping == other.shardamping && shariter == other.shariter && sharblur == other.sharblur + && shargam == other.shargam && sensisha == other.sensisha && inverssha == other.inverssha // Local contrast @@ -4611,6 +4996,9 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && residshathr == other.residshathr && residhi == other.residhi && residhithr == other.residhithr + && gamlc == other.gamlc + && residgam == other.residgam + && residslop == other.residslop && residblur == other.residblur && levelblur == other.levelblur && sigmabl == other.sigmabl @@ -4641,6 +5029,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && edgw == other.edgw && basew == other.basew && sensilc == other.sensilc + && reparw == other.reparw && fftwlc == other.fftwlc && blurlc == other.blurlc && wavblur == other.wavblur @@ -4718,6 +5107,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && targetGray == other.targetGray && catad == other.catad && saturl == other.saturl + && chroml == other.chroml && lightl == other.lightl && lightq == other.lightq && contl == other.contl @@ -4779,7 +5169,111 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const && HHhmask_curve == other.HHhmask_curve && Lmask_curve == other.Lmask_curve && LLmask_curvewav == other.LLmask_curvewav - && csthresholdmask == other.csthresholdmask; + && csthresholdmask == other.csthresholdmask + //ciecam + && visicie == other.visicie + && expcie == other.expcie + && complexcie == other.complexcie + && reparcie == other.reparcie + && sensicie == other.sensicie + && Autograycie == other.Autograycie + && forcejz == other.forcejz + && forcebw == other.forcebw + && qtoj == other.qtoj + && jabcie == other.jabcie + && sigmoidqjcie == other.sigmoidqjcie + && logcie == other.logcie + && logjz == other.logjz + && sigjz == other.sigjz + && sigq == other.sigq + && chjzcie == other.chjzcie + && sourceGraycie == other.sourceGraycie + && sourceabscie == other.sourceabscie + && sursourcie == other.sursourcie + && modecie == other.modecie + && modecam == other.modecam + && saturlcie == other.saturlcie + && rstprotectcie == other.rstprotectcie + && chromlcie == other.chromlcie + && huecie == other.huecie + && toneMethodcie == other.toneMethodcie + && ciecurve == other.ciecurve + && toneMethodcie2 == other.toneMethodcie2 + && ciecurve2 == other.ciecurve2 + && chromjzcie == other.chromjzcie + && saturjzcie == other.saturjzcie + && huejzcie == other.huejzcie + && softjzcie == other.softjzcie + && strsoftjzcie == other.strsoftjzcie + && thrhjzcie == other.thrhjzcie + && jzcurve == other.jzcurve + && czcurve == other.czcurve + && czjzcurve == other.czjzcurve + && HHcurvejz == other.HHcurvejz + && CHcurvejz == other.CHcurvejz + && LHcurvejz == other.LHcurvejz + && lightlcie == other.lightlcie + && lightjzcie == other.lightjzcie + && lightqcie == other.lightqcie + && contlcie == other.contlcie + && contjzcie == other.contjzcie + && adapjzcie == other.adapjzcie + && jz100 == other.jz100 + && pqremap == other.pqremap + && pqremapcam16 == other.pqremapcam16 + && hljzcie == other.hljzcie + && hlthjzcie == other.hlthjzcie + && shjzcie == other.shjzcie + && shthjzcie == other.shthjzcie + && radjzcie == other.radjzcie + && sigmalcjz == other.sigmalcjz + && clarilresjz == other.clarilresjz + && claricresjz == other.claricresjz + && clarisoftjz == other.clarisoftjz + && locwavcurvejz == other.locwavcurvejz + && csthresholdjz == other.csthresholdjz + && contthrescie == other.contthrescie + && blackEvjz == other.blackEvjz + && whiteEvjz == other.whiteEvjz + && targetjz == other.targetjz + && sigmoidldacie == other.sigmoidldacie + && sigmoidthcie == other.sigmoidthcie + && sigmoidblcie == other.sigmoidblcie + && sigmoidldajzcie == other.sigmoidldajzcie + && sigmoidthjzcie == other.sigmoidthjzcie + && sigmoidbljzcie == other.sigmoidbljzcie + && contqcie == other.contqcie + && colorflcie == other.colorflcie +/* && lightlzcam == other.lightlzcam + && lightqzcam == other.lightqzcam + && contlzcam == other.contlzcam + && contqzcam == other.contqzcam + && contthreszcam == other.contthreszcam + && colorflzcam == other.colorflzcam + && saturzcam == other.saturzcam + && chromzcam == other.chromzcam +*/ + && targabscie == other.targabscie + && targetGraycie == other.targetGraycie + && catadcie == other.catadcie + && detailcie == other.detailcie + && surroundcie == other.surroundcie + && enacieMask == other.enacieMask + && CCmaskciecurve == other.CCmaskciecurve + && LLmaskciecurve == other.LLmaskciecurve + && HHmaskciecurve == other.HHmaskciecurve + && blendmaskcie == other.blendmaskcie + && radmaskcie == other.radmaskcie + && chromaskcie == other.chromaskcie + && lapmaskcie == other.lapmaskcie + && gammaskcie == other.gammaskcie + && slomaskcie == other.slomaskcie + && Lmaskciecurve == other.Lmaskciecurve + && recothrescie == other.recothrescie + && lowthrescie == other.lowthrescie + && higthrescie == other.higthrescie + && decaycie == other.decaycie; + } @@ -4971,6 +5465,7 @@ RAWParams::BayerSensor::BayerSensor() : pixelShiftShowMotionMaskOnly(false), pixelShiftHoleFill(true), pixelShiftMedian(false), + pixelShiftAverage(false), pixelShiftGreen(true), pixelShiftBlur(true), pixelShiftSmoothFactor(0.7), @@ -5009,6 +5504,7 @@ bool RAWParams::BayerSensor::operator ==(const BayerSensor& other) const && pixelShiftShowMotionMaskOnly == other.pixelShiftShowMotionMaskOnly && pixelShiftHoleFill == other.pixelShiftHoleFill && pixelShiftMedian == other.pixelShiftMedian + && pixelShiftAverage == other.pixelShiftAverage && pixelShiftGreen == other.pixelShiftGreen && pixelShiftBlur == other.pixelShiftBlur && pixelShiftSmoothFactor == other.pixelShiftSmoothFactor @@ -5032,6 +5528,7 @@ void RAWParams::BayerSensor::setPixelShiftDefaults() pixelShiftSigma = 1.0; pixelShiftHoleFill = true; pixelShiftMedian = false; + pixelShiftAverage = false; pixelShiftGreen = true; pixelShiftBlur = true; pixelShiftSmoothFactor = 0.7; @@ -5157,6 +5654,7 @@ bool RAWParams::PreprocessWB::operator !=(const PreprocessWB& other) const RAWParams::RAWParams() : df_autoselect(false), ff_AutoSelect(false), + ff_FromMetaData(false), ff_BlurRadius(32), ff_BlurType(getFlatFieldBlurTypeString(FlatFieldBlurType::AREA)), ff_AutoClipControl(false), @@ -5182,6 +5680,7 @@ bool RAWParams::operator ==(const RAWParams& other) const && df_autoselect == other.df_autoselect && ff_file == other.ff_file && ff_AutoSelect == other.ff_AutoSelect + && ff_FromMetaData == other.ff_FromMetaData && ff_BlurRadius == other.ff_BlurRadius && ff_BlurType == other.ff_BlurType && ff_AutoClipControl == other.ff_AutoClipControl @@ -5644,7 +6143,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || pedited->labCurve.brightness, "Luminance Curve", "Brightness", labCurve.brightness, keyFile); saveToKeyfile(!pedited || pedited->labCurve.contrast, "Luminance Curve", "Contrast", labCurve.contrast, keyFile); saveToKeyfile(!pedited || pedited->labCurve.chromaticity, "Luminance Curve", "Chromaticity", labCurve.chromaticity, keyFile); - saveToKeyfile(!pedited || pedited->labCurve.avoidcolorshift, "Luminance Curve", "AvoidColorShift", labCurve.avoidcolorshift, keyFile); + saveToKeyfile(!pedited || pedited->labCurve.gamutmunselmethod, "Luminance Curve", "Gamutmunse", labCurve.gamutmunselmethod, keyFile); saveToKeyfile(!pedited || pedited->labCurve.rstprotection, "Luminance Curve", "RedAndSkinTonesProtection", labCurve.rstprotection, keyFile); saveToKeyfile(!pedited || pedited->labCurve.lcredsk, "Luminance Curve", "LCredsk", labCurve.lcredsk, keyFile); saveToKeyfile(!pedited || pedited->labCurve.lcurve, "Luminance Curve", "LCurve", labCurve.lcurve, keyFile); @@ -5745,7 +6244,6 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || pedited->colorappearance.ybout, "Color appearance", "Ybout", colorappearance.ybout, keyFile); saveToKeyfile(!pedited || pedited->colorappearance.datacie, "Color appearance", "Datacie", colorappearance.datacie, keyFile); saveToKeyfile(!pedited || pedited->colorappearance.tonecie, "Color appearance", "Tonecie", colorappearance.tonecie, keyFile); - saveToKeyfile(!pedited || pedited->colorappearance.presetcat02, "Color appearance", "Presetcat02", colorappearance.presetcat02, keyFile); const std::map ca_mapping = { {ColorAppearanceParams::TcMode::LIGHT, "Lightness"}, @@ -5851,7 +6349,25 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || pedited->crop.fixratio, "Crop", "FixedRatio", crop.fixratio, keyFile); saveToKeyfile(!pedited || pedited->crop.ratio, "Crop", "Ratio", crop.ratio, keyFile); saveToKeyfile(!pedited || pedited->crop.orientation, "Crop", "Orientation", crop.orientation, keyFile); - saveToKeyfile(!pedited || pedited->crop.guide, "Crop", "Guide", crop.guide, keyFile); + saveToKeyfile( + !pedited || pedited->crop.guide, + "Crop", + "Guide", + { + {CropParams::Guide::NONE, "None"}, + {CropParams::Guide::FRAME, "Frame"}, + {CropParams::Guide::RULE_OF_THIRDS, "Rule of thirds"}, + {CropParams::Guide::RULE_OF_DIAGONALS, "Rule of diagonals"}, + {CropParams::Guide::HARMONIC_MEANS, "Harmonic means"}, + {CropParams::Guide::GRID, "Grid"}, + {CropParams::Guide::GOLDEN_TRIANGLE_1, "Golden Triangle 1"}, + {CropParams::Guide::GOLDEN_TRIANGLE_2, "Golden Triangle 2"}, + {CropParams::Guide::EPASSPORT, "ePassport"}, + {CropParams::Guide::CENTERED_SQUARE, "Centered square"}, + }, + crop.guide, + keyFile + ); // Coarse transformation saveToKeyfile(!pedited || pedited->coarse.rotate, "Coarse Transformation", "Rotate", coarse.rotate, keyFile); @@ -5929,6 +6445,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->structexclu, "Locallab", "StructExclu_" + index_str, spot.structexclu, keyFile); saveToKeyfile(!pedited || spot_edited->struc, "Locallab", "Struc_" + index_str, spot.struc, keyFile); saveToKeyfile(!pedited || spot_edited->shapeMethod, "Locallab", "ShapeMethod_" + index_str, spot.shapeMethod, keyFile); + saveToKeyfile(!pedited || spot_edited->avoidgamutMethod, "Locallab", "AvoidgamutMethod_" + index_str, spot.avoidgamutMethod, keyFile); saveToKeyfile(!pedited || spot_edited->loc, "Locallab", "Loc_" + index_str, spot.loc, keyFile); saveToKeyfile(!pedited || spot_edited->centerX, "Locallab", "CenterX_" + index_str, spot.centerX, keyFile); saveToKeyfile(!pedited || spot_edited->centerY, "Locallab", "CenterY_" + index_str, spot.centerY, keyFile); @@ -5948,8 +6465,6 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->transitgrad, "Locallab", "Transitgrad_" + index_str, spot.transitgrad, keyFile); saveToKeyfile(!pedited || spot_edited->hishow, "Locallab", "Hishow_" + index_str, spot.hishow, keyFile); saveToKeyfile(!pedited || spot_edited->activ, "Locallab", "Activ_" + index_str, spot.activ, keyFile); - saveToKeyfile(!pedited || spot_edited->avoid, "Locallab", "Avoid_" + index_str, spot.avoid, keyFile); - saveToKeyfile(!pedited || spot_edited->avoidmun, "Locallab", "Avoidmun_" + index_str, spot.avoidmun, keyFile); saveToKeyfile(!pedited || spot_edited->blwh, "Locallab", "Blwh_" + index_str, spot.blwh, keyFile); saveToKeyfile(!pedited || spot_edited->recurs, "Locallab", "Recurs_" + index_str, spot.recurs, keyFile); saveToKeyfile(!pedited || spot_edited->laplac, "Locallab", "Laplac_" + index_str, spot.laplac, keyFile); @@ -5957,6 +6472,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->shortc, "Locallab", "Shortc_" + index_str, spot.shortc, keyFile); saveToKeyfile(!pedited || spot_edited->savrest, "Locallab", "Savrest_" + index_str, spot.savrest, keyFile); saveToKeyfile(!pedited || spot_edited->scopemask, "Locallab", "Scopemask_" + index_str, spot.scopemask, keyFile); + saveToKeyfile(!pedited || spot_edited->denoichmask, "Locallab", "Denoichmask_" + index_str, spot.denoichmask, keyFile); saveToKeyfile(!pedited || spot_edited->lumask, "Locallab", "Lumask_" + index_str, spot.lumask, keyFile); // Color & Light if ((!pedited || spot_edited->visicolor) && spot.visicolor) { @@ -5964,6 +6480,8 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->complexcolor, "Locallab", "Complexcolor_" + index_str, spot.complexcolor, keyFile); saveToKeyfile(!pedited || spot_edited->curvactiv, "Locallab", "Curvactiv_" + index_str, spot.curvactiv, keyFile); saveToKeyfile(!pedited || spot_edited->lightness, "Locallab", "Lightness_" + index_str, spot.lightness, keyFile); + saveToKeyfile(!pedited || spot_edited->reparcol, "Locallab", "Reparcol_" + index_str, spot.reparcol, keyFile); + saveToKeyfile(!pedited || spot_edited->gamc, "Locallab", "Gamc_" + index_str, spot.gamc, keyFile); saveToKeyfile(!pedited || spot_edited->contrast, "Locallab", "Contrast_" + index_str, spot.contrast, keyFile); saveToKeyfile(!pedited || spot_edited->chroma, "Locallab", "Chroma_" + index_str, spot.chroma, keyFile); saveToKeyfile(!pedited || spot_edited->labgridALow, "Locallab", "labgridALow_" + index_str, spot.labgridALow, keyFile); @@ -6041,6 +6559,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->sensiex, "Locallab", "Sensiex_" + index_str, spot.sensiex, keyFile); saveToKeyfile(!pedited || spot_edited->structexp, "Locallab", "Structexp_" + index_str, spot.structexp, keyFile); saveToKeyfile(!pedited || spot_edited->blurexpde, "Locallab", "Blurexpde_" + index_str, spot.blurexpde, keyFile); + saveToKeyfile(!pedited || spot_edited->gamex, "Locallab", "Gamex_" + index_str, spot.gamex, keyFile); saveToKeyfile(!pedited || spot_edited->strexp, "Locallab", "Strexp_" + index_str, spot.strexp, keyFile); saveToKeyfile(!pedited || spot_edited->angexp, "Locallab", "Angexp_" + index_str, spot.angexp, keyFile); saveToKeyfile(!pedited || spot_edited->excurve, "Locallab", "ExCurve_" + index_str, spot.excurve, keyFile); @@ -6064,6 +6583,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->expMethod, "Locallab", "ExpMethod_" + index_str, spot.expMethod, keyFile); saveToKeyfile(!pedited || spot_edited->exnoiseMethod, "Locallab", "ExnoiseMethod_" + index_str, spot.exnoiseMethod, keyFile); saveToKeyfile(!pedited || spot_edited->laplacexp, "Locallab", "Laplacexp_" + index_str, spot.laplacexp, keyFile); + saveToKeyfile(!pedited || spot_edited->reparexp, "Locallab", "Reparexp_" + index_str, spot.reparexp, keyFile); saveToKeyfile(!pedited || spot_edited->balanexp, "Locallab", "Balanexp_" + index_str, spot.balanexp, keyFile); saveToKeyfile(!pedited || spot_edited->linear, "Locallab", "Linearexp_" + index_str, spot.linear, keyFile); saveToKeyfile(!pedited || spot_edited->gamm, "Locallab", "Gamm_" + index_str, spot.gamm, keyFile); @@ -6106,6 +6626,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->gammaskSH, "Locallab", "GammaskSH_" + index_str, spot.gammaskSH, keyFile); saveToKeyfile(!pedited || spot_edited->slomaskSH, "Locallab", "SlomaskSH_" + index_str, spot.slomaskSH, keyFile); saveToKeyfile(!pedited || spot_edited->detailSH, "Locallab", "DetailSH_" + index_str, spot.detailSH, keyFile); + saveToKeyfile(!pedited || spot_edited->reparsh, "Locallab", "Reparsh_" + index_str, spot.reparsh, keyFile); saveToKeyfile(!pedited || spot_edited->LmaskSHcurve, "Locallab", "LmaskSHCurve_" + index_str, spot.LmaskSHcurve, keyFile); saveToKeyfile(!pedited || spot_edited->fatamountSH, "Locallab", "FatamountSH_" + index_str, spot.fatamountSH, keyFile); saveToKeyfile(!pedited || spot_edited->fatanchorSH, "Locallab", "FatanchorSH_" + index_str, spot.fatanchorSH, keyFile); @@ -6122,6 +6643,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->complexvibrance, "Locallab", "Complexvibrance_" + index_str, spot.complexvibrance, keyFile); saveToKeyfile(!pedited || spot_edited->saturated, "Locallab", "Saturated_" + index_str, spot.saturated, keyFile); saveToKeyfile(!pedited || spot_edited->pastels, "Locallab", "Pastels_" + index_str, spot.pastels, keyFile); + saveToKeyfile(!pedited || spot_edited->vibgam, "Locallab", "Vibgam_" + index_str, spot.vibgam, keyFile); saveToKeyfile(!pedited || spot_edited->warm, "Locallab", "Warm_" + index_str, spot.warm, keyFile); saveToKeyfile(!pedited || spot_edited->psthreshold, "Locallab", "PSThreshold_" + index_str, spot.psthreshold.toVector(), keyFile); saveToKeyfile(!pedited || spot_edited->protectskins, "Locallab", "ProtectSkins_" + index_str, spot.protectskins, keyFile); @@ -6200,6 +6722,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->noiselumc, "Locallab", "noiselumc_" + index_str, spot.noiselumc, keyFile); saveToKeyfile(!pedited || spot_edited->noiselumdetail, "Locallab", "noiselumdetail_" + index_str, spot.noiselumdetail, keyFile); saveToKeyfile(!pedited || spot_edited->noiselequal, "Locallab", "noiselequal_" + index_str, spot.noiselequal, keyFile); + saveToKeyfile(!pedited || spot_edited->noisegam, "Locallab", "noisegam_" + index_str, spot.noisegam, keyFile); saveToKeyfile(!pedited || spot_edited->noisechrof, "Locallab", "noisechrof_" + index_str, spot.noisechrof, keyFile); saveToKeyfile(!pedited || spot_edited->noisechroc, "Locallab", "noisechroc_" + index_str, spot.noisechroc, keyFile); saveToKeyfile(!pedited || spot_edited->noisechrodetail, "Locallab", "noisechrodetail_" + index_str, spot.noisechrodetail, keyFile); @@ -6211,6 +6734,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->nlrad, "Locallab", "Nlrad_" + index_str, spot.nlrad, keyFile); saveToKeyfile(!pedited || spot_edited->nlgam, "Locallab", "Nlgam_" + index_str, spot.nlgam, keyFile); saveToKeyfile(!pedited || spot_edited->sensiden, "Locallab", "Sensiden_" + index_str, spot.sensiden, keyFile); + saveToKeyfile(!pedited || spot_edited->reparden, "Locallab", "Reparden_" + index_str, spot.reparden, keyFile); saveToKeyfile(!pedited || spot_edited->detailthr, "Locallab", "Detailthr_" + index_str, spot.detailthr, keyFile); saveToKeyfile(!pedited || spot_edited->locwavcurveden, "Locallab", "LocwavCurveden_" + index_str, spot.locwavcurveden, keyFile); saveToKeyfile(!pedited || spot_edited->locwavcurvehue, "Locallab", "LocwavCurvehue_" + index_str, spot.locwavcurvehue, keyFile); @@ -6243,6 +6767,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->gamma, "Locallab", "Gamma_" + index_str, spot.gamma, keyFile); saveToKeyfile(!pedited || spot_edited->estop, "Locallab", "Estop_" + index_str, spot.estop, keyFile); saveToKeyfile(!pedited || spot_edited->scaltm, "Locallab", "Scaltm_" + index_str, spot.scaltm, keyFile); + saveToKeyfile(!pedited || spot_edited->repartm, "Locallab", "Repartm_" + index_str, spot.repartm, keyFile); saveToKeyfile(!pedited || spot_edited->rewei, "Locallab", "Rewei_" + index_str, spot.rewei, keyFile); saveToKeyfile(!pedited || spot_edited->satur, "Locallab", "Satur_" + index_str, spot.satur, keyFile); saveToKeyfile(!pedited || spot_edited->sensitm, "Locallab", "Sensitm_" + index_str, spot.sensitm, keyFile); @@ -6319,6 +6844,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->shardamping, "Locallab", "Shardamping_" + index_str, spot.shardamping, keyFile); saveToKeyfile(!pedited || spot_edited->shariter, "Locallab", "Shariter_" + index_str, spot.shariter, keyFile); saveToKeyfile(!pedited || spot_edited->sharblur, "Locallab", "Sharblur_" + index_str, spot.sharblur, keyFile); + saveToKeyfile(!pedited || spot_edited->shargam, "Locallab", "Shargam_" + index_str, spot.shargam, keyFile); saveToKeyfile(!pedited || spot_edited->sensisha, "Locallab", "Sensisha_" + index_str, spot.sensisha, keyFile); saveToKeyfile(!pedited || spot_edited->inverssha, "Locallab", "Inverssha_" + index_str, spot.inverssha, keyFile); } @@ -6337,6 +6863,9 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->residshathr, "Locallab", "Residshathr_" + index_str, spot.residshathr, keyFile); saveToKeyfile(!pedited || spot_edited->residhi, "Locallab", "Residhi_" + index_str, spot.residhi, keyFile); saveToKeyfile(!pedited || spot_edited->residhithr, "Locallab", "Residhithr_" + index_str, spot.residhithr, keyFile); + saveToKeyfile(!pedited || spot_edited->gamlc, "Locallab", "Gamlc_" + index_str, spot.gamlc, keyFile); + saveToKeyfile(!pedited || spot_edited->residgam, "Locallab", "Residgam_" + index_str, spot.residgam, keyFile); + saveToKeyfile(!pedited || spot_edited->residslop, "Locallab", "Residslop_" + index_str, spot.residslop, keyFile); saveToKeyfile(!pedited || spot_edited->residblur, "Locallab", "Residblur_" + index_str, spot.residblur, keyFile); saveToKeyfile(!pedited || spot_edited->levelblur, "Locallab", "Levelblur_" + index_str, spot.levelblur, keyFile); saveToKeyfile(!pedited || spot_edited->sigmabl, "Locallab", "Sigmabl_" + index_str, spot.sigmabl, keyFile); @@ -6367,6 +6896,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->edgw, "Locallab", "Edgw_" + index_str, spot.edgw, keyFile); saveToKeyfile(!pedited || spot_edited->basew, "Locallab", "Basew_" + index_str, spot.basew, keyFile); saveToKeyfile(!pedited || spot_edited->sensilc, "Locallab", "Sensilc_" + index_str, spot.sensilc, keyFile); + saveToKeyfile(!pedited || spot_edited->reparw, "Locallab", "Reparw_" + index_str, spot.reparw, keyFile); saveToKeyfile(!pedited || spot_edited->fftwlc, "Locallab", "Fftwlc_" + index_str, spot.fftwlc, keyFile); saveToKeyfile(!pedited || spot_edited->blurlc, "Locallab", "Blurlc_" + index_str, spot.blurlc, keyFile); saveToKeyfile(!pedited || spot_edited->wavblur, "Locallab", "Wavblur_" + index_str, spot.wavblur, keyFile); @@ -6442,6 +6972,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->targetGray, "Locallab", "TargetGray_" + index_str, spot.targetGray, keyFile); saveToKeyfile(!pedited || spot_edited->catad, "Locallab", "Catad_" + index_str, spot.catad, keyFile); saveToKeyfile(!pedited || spot_edited->saturl, "Locallab", "Saturl_" + index_str, spot.saturl, keyFile); + saveToKeyfile(!pedited || spot_edited->chroml, "Locallab", "Chroml_" + index_str, spot.chroml, keyFile); saveToKeyfile(!pedited || spot_edited->LcurveL, "Locallab", "LCurveL_" + index_str, spot.LcurveL, keyFile); saveToKeyfile(!pedited || spot_edited->lightl, "Locallab", "Lightl_" + index_str, spot.lightl, keyFile); saveToKeyfile(!pedited || spot_edited->lightq, "Locallab", "Brightq_" + index_str, spot.lightq, keyFile); @@ -6449,7 +6980,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->contthres, "Locallab", "Contthres_" + index_str, spot.contthres, keyFile); saveToKeyfile(!pedited || spot_edited->contq, "Locallab", "Contq_" + index_str, spot.contq, keyFile); saveToKeyfile(!pedited || spot_edited->colorfl, "Locallab", "Colorfl_" + index_str, spot.colorfl, keyFile); - saveToKeyfile(!pedited || spot_edited->Autogray, "Locallab", "Autogray_" + index_str, spot.Autogray, keyFile); + saveToKeyfile(!pedited || spot_edited->Autogray, "Locallab", "AutoGray_" + index_str, spot.Autogray, keyFile); saveToKeyfile(!pedited || spot_edited->fullimage, "Locallab", "Fullimage_" + index_str, spot.fullimage, keyFile); saveToKeyfile(!pedited || spot_edited->repar, "Locallab", "Repart_" + index_str, spot.repar, keyFile); saveToKeyfile(!pedited || spot_edited->ciecam, "Locallab", "Ciecam_" + index_str, spot.ciecam, keyFile); @@ -6506,6 +7037,115 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || spot_edited->LLmask_curvewav, "Locallab", "LLmask_Curvewav_" + index_str, spot.LLmask_curvewav, keyFile); saveToKeyfile(!pedited || spot_edited->csthresholdmask, "Locallab", "CSThresholdmask_" + index_str, spot.csthresholdmask.toVector(), keyFile); } + //ciecam + if ((!pedited || spot_edited->visicie) && spot.visicie) { + saveToKeyfile(!pedited || spot_edited->expcie, "Locallab", "Expcie_" + index_str, spot.expcie, keyFile); + saveToKeyfile(!pedited || spot_edited->complexcie, "Locallab", "Complexcie_" + index_str, spot.complexcie, keyFile); + saveToKeyfile(!pedited || spot_edited->reparcie, "Locallab", "Reparcie_" + index_str, spot.reparcie, keyFile); + saveToKeyfile(!pedited || spot_edited->sensicie, "Locallab", "Sensicie_" + index_str, spot.sensicie, keyFile); + saveToKeyfile(!pedited || spot_edited->Autograycie, "Locallab", "AutoGraycie_" + index_str, spot.Autograycie, keyFile); + saveToKeyfile(!pedited || spot_edited->forcejz, "Locallab", "Forcejz_" + index_str, spot.forcejz, keyFile); + saveToKeyfile(!pedited || spot_edited->forcebw, "Locallab", "Forcebw_" + index_str, spot.forcebw, keyFile); + saveToKeyfile(!pedited || spot_edited->qtoj, "Locallab", "Qtoj_" + index_str, spot.qtoj, keyFile); + saveToKeyfile(!pedited || spot_edited->jabcie, "Locallab", "jabcie_" + index_str, spot.jabcie, keyFile); + saveToKeyfile(!pedited || spot_edited->sigmoidqjcie, "Locallab", "sigmoidqjcie_" + index_str, spot.sigmoidqjcie, keyFile); + saveToKeyfile(!pedited || spot_edited->logcie, "Locallab", "logcie_" + index_str, spot.logcie, keyFile); + saveToKeyfile(!pedited || spot_edited->logjz, "Locallab", "Logjz_" + index_str, spot.logjz, keyFile); + saveToKeyfile(!pedited || spot_edited->sigjz, "Locallab", "Sigjz_" + index_str, spot.sigjz, keyFile); + saveToKeyfile(!pedited || spot_edited->sigq, "Locallab", "Sigq_" + index_str, spot.sigq, keyFile); + saveToKeyfile(!pedited || spot_edited->chjzcie, "Locallab", "chjzcie_" + index_str, spot.chjzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->sourceGraycie, "Locallab", "SourceGraycie_" + index_str, spot.sourceGraycie, keyFile); + saveToKeyfile(!pedited || spot_edited->sourceabscie, "Locallab", "Sourceabscie_" + index_str, spot.sourceabscie, keyFile); + saveToKeyfile(!pedited || spot_edited->sursourcie, "Locallab", "Sursourcie_" + index_str, spot.sursourcie, keyFile); + saveToKeyfile(!pedited || spot_edited->modecie, "Locallab", "Modecie_" + index_str, spot.modecie, keyFile); + saveToKeyfile(!pedited || spot_edited->modecam, "Locallab", "Modecam_" + index_str, spot.modecam, keyFile); + saveToKeyfile(!pedited || spot_edited->saturlcie, "Locallab", "Saturlcie_" + index_str, spot.saturlcie, keyFile); + saveToKeyfile(!pedited || spot_edited->rstprotectcie, "Locallab", "Rstprotectcie_" + index_str, spot.rstprotectcie, keyFile); + saveToKeyfile(!pedited || spot_edited->chromlcie, "Locallab", "Chromlcie_" + index_str, spot.chromlcie, keyFile); + saveToKeyfile(!pedited || spot_edited->huecie, "Locallab", "Huecie_" + index_str, spot.huecie, keyFile); + saveToKeyfile(!pedited || spot_edited->toneMethodcie, "Locallab", "ToneMethodcie_" + index_str, spot.toneMethodcie, keyFile); + saveToKeyfile(!pedited || spot_edited->ciecurve, "Locallab", "Ciecurve_" + index_str, spot.ciecurve, keyFile); + saveToKeyfile(!pedited || spot_edited->toneMethodcie2, "Locallab", "ToneMethodcie2_" + index_str, spot.toneMethodcie2, keyFile); + saveToKeyfile(!pedited || spot_edited->ciecurve2, "Locallab", "Ciecurve2_" + index_str, spot.ciecurve2, keyFile); + saveToKeyfile(!pedited || spot_edited->chromjzcie, "Locallab", "Chromjzcie_" + index_str, spot.chromjzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->saturjzcie, "Locallab", "Saturjzcie_" + index_str, spot.saturjzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->huejzcie, "Locallab", "Huejzcie_" + index_str, spot.huejzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->softjzcie, "Locallab", "Softjzcie_" + index_str, spot.softjzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->strsoftjzcie, "Locallab", "strSoftjzcie_" + index_str, spot.strsoftjzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->thrhjzcie, "Locallab", "Thrhjzcie_" + index_str, spot.thrhjzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->CHcurvejz, "Locallab", "JzCurve_" + index_str, spot.jzcurve, keyFile); + saveToKeyfile(!pedited || spot_edited->CHcurvejz, "Locallab", "CzCurve_" + index_str, spot.czcurve, keyFile); + saveToKeyfile(!pedited || spot_edited->CHcurvejz, "Locallab", "CzJzCurve_" + index_str, spot.czjzcurve, keyFile); + saveToKeyfile(!pedited || spot_edited->HHcurvejz, "Locallab", "HHCurvejz_" + index_str, spot.HHcurvejz, keyFile); + saveToKeyfile(!pedited || spot_edited->CHcurvejz, "Locallab", "CHCurvejz_" + index_str, spot.CHcurvejz, keyFile); + saveToKeyfile(!pedited || spot_edited->CHcurvejz, "Locallab", "LHCurvejz_" + index_str, spot.LHcurvejz, keyFile); + saveToKeyfile(!pedited || spot_edited->lightlcie, "Locallab", "Lightlcie_" + index_str, spot.lightlcie, keyFile); + saveToKeyfile(!pedited || spot_edited->lightjzcie, "Locallab", "Lightjzcie_" + index_str, spot.lightjzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->lightqcie, "Locallab", "Brightqcie_" + index_str, spot.lightqcie, keyFile); + saveToKeyfile(!pedited || spot_edited->contlcie, "Locallab", "Contlcie_" + index_str, spot.contlcie, keyFile); + saveToKeyfile(!pedited || spot_edited->contjzcie, "Locallab", "Contjzcie_" + index_str, spot.contjzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->adapjzcie, "Locallab", "Adapjzcie_" + index_str, spot.adapjzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->jz100, "Locallab", "Jz100_" + index_str, spot.jz100, keyFile); + saveToKeyfile(!pedited || spot_edited->pqremap, "Locallab", "PQremap_" + index_str, spot.pqremap, keyFile); + saveToKeyfile(!pedited || spot_edited->pqremapcam16, "Locallab", "PQremapcam16_" + index_str, spot.pqremapcam16, keyFile); + saveToKeyfile(!pedited || spot_edited->hljzcie, "Locallab", "Hljzcie_" + index_str, spot.hljzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->hlthjzcie, "Locallab", "Hlthjzcie_" + index_str, spot.hlthjzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->shjzcie, "Locallab", "Shjzcie_" + index_str, spot.shjzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->shthjzcie, "Locallab", "Shthjzcie_" + index_str, spot.shthjzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->radjzcie, "Locallab", "Radjzcie_" + index_str, spot.radjzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->sigmalcjz, "Locallab", "Sigmalcjz_" + index_str, spot.sigmalcjz, keyFile); + saveToKeyfile(!pedited || spot_edited->clarilresjz, "Locallab", "Clarilresjz_" + index_str, spot.clarilresjz, keyFile); + saveToKeyfile(!pedited || spot_edited->claricresjz, "Locallab", "Claricresjz_" + index_str, spot.claricresjz, keyFile); + saveToKeyfile(!pedited || spot_edited->clarisoftjz, "Locallab", "Clarisoftjz_" + index_str, spot.clarisoftjz, keyFile); + saveToKeyfile(!pedited || spot_edited->locwavcurvejz, "Locallab", "LocwavCurvejz_" + index_str, spot.locwavcurvejz, keyFile); + saveToKeyfile(!pedited || spot_edited->csthresholdjz, "Locallab", "CSThresholdjz_" + index_str, spot.csthresholdjz.toVector(), keyFile); + saveToKeyfile(!pedited || spot_edited->contthrescie, "Locallab", "Contthrescie_" + index_str, spot.contthrescie, keyFile); + saveToKeyfile(!pedited || spot_edited->blackEvjz, "Locallab", "BlackEvjz_" + index_str, spot.blackEvjz, keyFile); + saveToKeyfile(!pedited || spot_edited->whiteEvjz, "Locallab", "WhiteEvjz_" + index_str, spot.whiteEvjz, keyFile); + saveToKeyfile(!pedited || spot_edited->targetjz, "Locallab", "Targetjz_" + index_str, spot.targetjz, keyFile); + saveToKeyfile(!pedited || spot_edited->sigmoidldacie, "Locallab", "Sigmoidldacie_" + index_str, spot.sigmoidldacie, keyFile); + saveToKeyfile(!pedited || spot_edited->sigmoidthcie, "Locallab", "Sigmoidthcie_" + index_str, spot.sigmoidthcie, keyFile); + saveToKeyfile(!pedited || spot_edited->sigmoidblcie, "Locallab", "Sigmoidblcie_" + index_str, spot.sigmoidblcie, keyFile); + saveToKeyfile(!pedited || spot_edited->sigmoidldajzcie, "Locallab", "Sigmoidldajzcie_" + index_str, spot.sigmoidldajzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->sigmoidthjzcie, "Locallab", "Sigmoidthjzcie_" + index_str, spot.sigmoidthjzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->sigmoidbljzcie, "Locallab", "Sigmoidbljzcie_" + index_str, spot.sigmoidbljzcie, keyFile); + saveToKeyfile(!pedited || spot_edited->contqcie, "Locallab", "Contqcie_" + index_str, spot.contqcie, keyFile); + saveToKeyfile(!pedited || spot_edited->colorflcie, "Locallab", "Colorflcie_" + index_str, spot.colorflcie, keyFile); +/* + saveToKeyfile(!pedited || spot_edited->lightlzcam, "Locallab", "Lightlzcam_" + index_str, spot.lightlzcam, keyFile); + saveToKeyfile(!pedited || spot_edited->lightqzcam, "Locallab", "Lightqzcam_" + index_str, spot.lightqzcam, keyFile); + saveToKeyfile(!pedited || spot_edited->contlzcam, "Locallab", "Contlzcam_" + index_str, spot.contlzcam, keyFile); + saveToKeyfile(!pedited || spot_edited->contqzcam, "Locallab", "Contqzcam_" + index_str, spot.contqzcam, keyFile); + saveToKeyfile(!pedited || spot_edited->contthreszcam, "Locallab", "Contthreszcam_" + index_str, spot.contthreszcam, keyFile); + saveToKeyfile(!pedited || spot_edited->colorflzcam, "Locallab", "Colorflzcam_" + index_str, spot.colorflzcam, keyFile); + saveToKeyfile(!pedited || spot_edited->saturzcam, "Locallab", "Saturzcam_" + index_str, spot.saturzcam, keyFile); + saveToKeyfile(!pedited || spot_edited->chromzcam, "Locallab", "Chromzcam_" + index_str, spot.chromzcam, keyFile); +*/ + saveToKeyfile(!pedited || spot_edited->targabscie, "Locallab", "Targabscie_" + index_str, spot.targabscie, keyFile); + saveToKeyfile(!pedited || spot_edited->targetGraycie, "Locallab", "TargetGraycie_" + index_str, spot.targetGraycie, keyFile); + saveToKeyfile(!pedited || spot_edited->catadcie, "Locallab", "Catadcie_" + index_str, spot.catadcie, keyFile); + saveToKeyfile(!pedited || spot_edited->detailcie, "Locallab", "Detailcie_" + index_str, spot.detailcie, keyFile); + saveToKeyfile(!pedited || spot_edited->surroundcie, "Locallab", "Surroundcie_" + index_str, spot.surroundcie, keyFile); + saveToKeyfile(!pedited || spot_edited->enacieMask, "Locallab", "EnacieMask_" + index_str, spot.enacieMask, keyFile); + saveToKeyfile(!pedited || spot_edited->CCmaskciecurve, "Locallab", "CCmaskcieCurve_" + index_str, spot.CCmaskciecurve, keyFile); + saveToKeyfile(!pedited || spot_edited->LLmaskciecurve, "Locallab", "LLmaskcieCurve_" + index_str, spot.LLmaskciecurve, keyFile); + saveToKeyfile(!pedited || spot_edited->HHmaskciecurve, "Locallab", "HHmaskcieCurve_" + index_str, spot.HHmaskciecurve, keyFile); + saveToKeyfile(!pedited || spot_edited->blendmaskcie, "Locallab", "Blendmaskcie_" + index_str, spot.blendmaskcie, keyFile); + saveToKeyfile(!pedited || spot_edited->radmaskcie, "Locallab", "Radmaskcie_" + index_str, spot.radmaskcie, keyFile); + saveToKeyfile(!pedited || spot_edited->chromaskcie, "Locallab", "Chromaskcie_" + index_str, spot.chromaskcie, keyFile); + saveToKeyfile(!pedited || spot_edited->lapmaskcie, "Locallab", "Lapmaskcie_" + index_str, spot.lapmaskcie, keyFile); + saveToKeyfile(!pedited || spot_edited->gammaskcie, "Locallab", "Gammaskcie_" + index_str, spot.gammaskcie, keyFile); + saveToKeyfile(!pedited || spot_edited->slomaskcie, "Locallab", "Slomaskcie_" + index_str, spot.slomaskcie, keyFile); + saveToKeyfile(!pedited || spot_edited->Lmaskciecurve, "Locallab", "LmaskcieCurve_" + index_str, spot.Lmaskciecurve, keyFile); + saveToKeyfile(!pedited || spot_edited->recothrescie, "Locallab", "Recothrescie_" + index_str, spot.recothrescie, keyFile); + saveToKeyfile(!pedited || spot_edited->lowthrescie, "Locallab", "Lowthrescie_" + index_str, spot.lowthrescie, keyFile); + saveToKeyfile(!pedited || spot_edited->higthrescie, "Locallab", "Higthrescie_" + index_str, spot.higthrescie, keyFile); + saveToKeyfile(!pedited || spot_edited->decaycie, "Locallab", "Decaycie_" + index_str, spot.decaycie, keyFile); + + + + } + } } @@ -6534,6 +7174,8 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || pedited->resize.dataspec, "Resize", "DataSpecified", resize.dataspec, keyFile); saveToKeyfile(!pedited || pedited->resize.width, "Resize", "Width", resize.width, keyFile); saveToKeyfile(!pedited || pedited->resize.height, "Resize", "Height", resize.height, keyFile); + saveToKeyfile(!pedited || pedited->resize.longedge, "Resize", "LongEdge", resize.longedge, keyFile); + saveToKeyfile(!pedited || pedited->resize.shortedge, "Resize", "ShortEdge", resize.shortedge, keyFile); saveToKeyfile(!pedited || pedited->resize.allowUpscaling, "Resize", "AllowUpscaling", resize.allowUpscaling, keyFile); // Post demosaic sharpening @@ -6571,10 +7213,98 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || pedited->icm.applyHueSatMap, "Color Management", "ApplyHueSatMap", icm.applyHueSatMap, keyFile); saveToKeyfile(!pedited || pedited->icm.dcpIlluminant, "Color Management", "DCPIlluminant", icm.dcpIlluminant, keyFile); saveToKeyfile(!pedited || pedited->icm.workingProfile, "Color Management", "WorkingProfile", icm.workingProfile, keyFile); - saveToKeyfile(!pedited || pedited->icm.workingTRC, "Color Management", "WorkingTRC", icm.workingTRC, keyFile); + saveToKeyfile( + !pedited || pedited->icm.workingTRC, + "Color Management", + "WorkingTRC", + { + {ColorManagementParams::WorkingTrc::NONE, "none"}, + {ColorManagementParams::WorkingTrc::CUSTOM, "Custom"}, + {ColorManagementParams::WorkingTrc::BT709, "bt709"}, + {ColorManagementParams::WorkingTrc::SRGB, "srgb"}, + {ColorManagementParams::WorkingTrc::GAMMA_2_2, "22"}, + {ColorManagementParams::WorkingTrc::GAMMA_1_8, "18"}, + {ColorManagementParams::WorkingTrc::LINEAR, "lin"} + }, + icm.workingTRC, + keyFile + ); + saveToKeyfile( + !pedited || pedited->icm.will, + "Color Management", + "Will", + { + {ColorManagementParams::Illuminant::DEFAULT, "def"}, + {ColorManagementParams::Illuminant::D41, "D41"}, + {ColorManagementParams::Illuminant::D50, "D50"}, + {ColorManagementParams::Illuminant::D55, "D55"}, + {ColorManagementParams::Illuminant::D60, "D60"}, + {ColorManagementParams::Illuminant::D65, "D65"}, + {ColorManagementParams::Illuminant::D80, "D80"}, + {ColorManagementParams::Illuminant::D120, "D120"}, + {ColorManagementParams::Illuminant::STDA, "stda"}, + {ColorManagementParams::Illuminant::TUNGSTEN_2000K, "2000"}, + {ColorManagementParams::Illuminant::TUNGSTEN_1500K, "1500"} + }, + icm.will, + keyFile + ); + saveToKeyfile( + !pedited || pedited->icm.wprim, + "Color Management", + "Wprim", + { + {ColorManagementParams::Primaries::DEFAULT, "def"}, + {ColorManagementParams::Primaries::SRGB, "srgb"}, + {ColorManagementParams::Primaries::ADOBE_RGB, "adob"}, + {ColorManagementParams::Primaries::PRO_PHOTO, "prop"}, + {ColorManagementParams::Primaries::REC2020, "rec"}, + {ColorManagementParams::Primaries::ACES_P1, "aces"}, + {ColorManagementParams::Primaries::WIDE_GAMUT, "wid"}, + {ColorManagementParams::Primaries::ACES_P0, "ac0"}, + {ColorManagementParams::Primaries::BRUCE_RGB, "bru"}, + {ColorManagementParams::Primaries::BETA_RGB, "bet"}, + {ColorManagementParams::Primaries::BEST_RGB, "bst"}, + {ColorManagementParams::Primaries::CUSTOM, "cus"}, + {ColorManagementParams::Primaries::CUSTOM_GRID, "cusgr"} + }, + icm.wprim, + keyFile + ); saveToKeyfile(!pedited || pedited->icm.workingTRCGamma, "Color Management", "WorkingTRCGamma", icm.workingTRCGamma, keyFile); saveToKeyfile(!pedited || pedited->icm.workingTRCSlope, "Color Management", "WorkingTRCSlope", icm.workingTRCSlope, keyFile); + saveToKeyfile(!pedited || pedited->icm.redx, "Color Management", "Redx", icm.redx, keyFile); + saveToKeyfile(!pedited || pedited->icm.redy, "Color Management", "Redy", icm.redy, keyFile); + saveToKeyfile(!pedited || pedited->icm.grex, "Color Management", "Grex", icm.grex, keyFile); + saveToKeyfile(!pedited || pedited->icm.grey, "Color Management", "Grey", icm.grey, keyFile); + saveToKeyfile(!pedited || pedited->icm.blux, "Color Management", "Blux", icm.blux, keyFile); + saveToKeyfile(!pedited || pedited->icm.bluy, "Color Management", "Bluy", icm.bluy, keyFile); + saveToKeyfile(!pedited || pedited->icm.labgridcieALow, "Color Management", "LabGridcieALow", icm.labgridcieALow, keyFile); + saveToKeyfile(!pedited || pedited->icm.labgridcieBLow, "Color Management", "LabGridcieBLow", icm.labgridcieBLow, keyFile); + saveToKeyfile(!pedited || pedited->icm.labgridcieAHigh, "Color Management", "LabGridcieAHigh", icm.labgridcieAHigh, keyFile); + saveToKeyfile(!pedited || pedited->icm.labgridcieBHigh, "Color Management", "LabGridcieBHigh", icm.labgridcieBHigh, keyFile); + saveToKeyfile(!pedited || pedited->icm.labgridcieGx, "Color Management", "LabGridcieGx", icm.labgridcieGx, keyFile); + saveToKeyfile(!pedited || pedited->icm.labgridcieGy, "Color Management", "LabGridcieGy", icm.labgridcieGy, keyFile); + saveToKeyfile(!pedited || pedited->icm.labgridcieWx, "Color Management", "LabGridcieWx", icm.labgridcieWx, keyFile); + saveToKeyfile(!pedited || pedited->icm.labgridcieWy, "Color Management", "LabGridcieWy", icm.labgridcieWy, keyFile); + saveToKeyfile(!pedited || pedited->icm.preser, "Color Management", "Preser", icm.preser, keyFile); + saveToKeyfile(!pedited || pedited->icm.fbw, "Color Management", "Fbw", icm.fbw, keyFile); + saveToKeyfile(!pedited || pedited->icm.gamut, "Color Management", "Gamut", icm.gamut, keyFile); saveToKeyfile(!pedited || pedited->icm.outputProfile, "Color Management", "OutputProfile", icm.outputProfile, keyFile); + saveToKeyfile( + !pedited || pedited->icm.aRendIntent, + "Color Management", + "aIntent", + { + {RI_PERCEPTUAL, "Perceptual"}, + {RI_RELATIVE, "Relative"}, + {RI_SATURATION, "Saturation"}, + {RI_ABSOLUTE, "Absolute"} + }, + icm.aRendIntent, + keyFile + ); + saveToKeyfile( !pedited || pedited->icm.outputIntent, "Color Management", @@ -6584,7 +7314,6 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo {RI_RELATIVE, "Relative"}, {RI_SATURATION, "Saturation"}, {RI_ABSOLUTE, "Absolute"} - }, icm.outputIntent, keyFile @@ -6605,7 +7334,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || pedited->wavelet.thres, "Wavelet", "MaxLev", wavelet.thres, keyFile); saveToKeyfile(!pedited || pedited->wavelet.Tilesmethod, "Wavelet", "TilesMethod", wavelet.Tilesmethod, keyFile); saveToKeyfile(!pedited || pedited->wavelet.complexmethod, "Wavelet", "complexMethod", wavelet.complexmethod, keyFile); - saveToKeyfile(!pedited || pedited->wavelet.denmethod, "Wavelet", "denMethod", wavelet.denmethod, keyFile); + //saveToKeyfile(!pedited || pedited->wavelet.denmethod, "Wavelet", "denMethod", wavelet.denmethod, keyFile); saveToKeyfile(!pedited || pedited->wavelet.mixmethod, "Wavelet", "mixMethod", wavelet.mixmethod, keyFile); saveToKeyfile(!pedited || pedited->wavelet.slimethod, "Wavelet", "sliMethod", wavelet.slimethod, keyFile); saveToKeyfile(!pedited || pedited->wavelet.quamethod, "Wavelet", "quaMethod", wavelet.quamethod, keyFile); @@ -6696,7 +7425,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || pedited->wavelet.pastlev, "Wavelet", "Pastlev", wavelet.pastlev.toVector(), keyFile); saveToKeyfile(!pedited || pedited->wavelet.satlev, "Wavelet", "Satlev", wavelet.satlev.toVector(), keyFile); saveToKeyfile(!pedited || pedited->wavelet.opacityCurveRG, "Wavelet", "OpacityCurveRG", wavelet.opacityCurveRG, keyFile); - saveToKeyfile(!pedited || pedited->wavelet.opacityCurveSH, "Wavelet", "Levalshc", wavelet.opacityCurveSH, keyFile); + //saveToKeyfile(!pedited || pedited->wavelet.opacityCurveSH, "Wavelet", "Levalshc", wavelet.opacityCurveSH, keyFile); saveToKeyfile(!pedited || pedited->wavelet.opacityCurveBY, "Wavelet", "OpacityCurveBY", wavelet.opacityCurveBY, keyFile); saveToKeyfile(!pedited || pedited->wavelet.wavdenoise, "Wavelet", "wavdenoise", wavelet.wavdenoise, keyFile); saveToKeyfile(!pedited || pedited->wavelet.wavdenoiseh, "Wavelet", "wavdenoiseh", wavelet.wavdenoiseh, keyFile); @@ -6743,6 +7472,25 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || pedited->wavelet.hueskin2, "Wavelet", "HueRange", wavelet.hueskin2.toVector(), keyFile); saveToKeyfile(!pedited || pedited->wavelet.contrast, "Wavelet", "Contrast", wavelet.contrast, keyFile); +//Spot removal + saveToKeyfile(!pedited || pedited->spot.enabled, "Spot removal", "Enabled", spot.enabled, keyFile); + for (size_t i = 0; i < spot.entries.size (); ++i) { + std::vector entry(7); + + entry[0] = double (spot.entries.at (i).sourcePos.x); + entry[1] = double (spot.entries.at (i).sourcePos.y); + entry[2] = double (spot.entries.at (i).targetPos.x); + entry[3] = double (spot.entries.at (i).targetPos.y); + entry[4] = double (spot.entries.at (i).radius); + entry[5] = double (spot.entries.at (i).feather); + entry[6] = double (spot.entries.at (i).opacity); + + std::stringstream ss; + ss << "Spot" << (i + 1); + + saveToKeyfile(!pedited || pedited->spot.entries, "Spot removal", ss.str(), entry, keyFile); + } + // Directional pyramid equalizer saveToKeyfile(!pedited || pedited->dirpyrequalizer.enabled, "Directional Pyramid Equalizer", "Enabled", dirpyrequalizer.enabled, keyFile); saveToKeyfile(!pedited || pedited->dirpyrequalizer.gamutlab, "Directional Pyramid Equalizer", "Gamutlab", dirpyrequalizer.gamutlab, keyFile); @@ -6835,6 +7583,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || pedited->raw.df_autoselect, "RAW", "DarkFrameAuto", raw.df_autoselect, keyFile); saveToKeyfile(!pedited || pedited->raw.ff_file, "RAW", "FlatFieldFile", relativePathIfInside(fname, fnameAbsolute, raw.ff_file), keyFile); saveToKeyfile(!pedited || pedited->raw.ff_AutoSelect, "RAW", "FlatFieldAutoSelect", raw.ff_AutoSelect, keyFile); + saveToKeyfile(!pedited || pedited->raw.ff_FromMetaData, "RAW", "FlatFieldFromMetaData", raw.ff_FromMetaData, keyFile); saveToKeyfile(!pedited || pedited->raw.ff_BlurRadius, "RAW", "FlatFieldBlurRadius", raw.ff_BlurRadius, keyFile); saveToKeyfile(!pedited || pedited->raw.ff_BlurType, "RAW", "FlatFieldBlurType", raw.ff_BlurType, keyFile); saveToKeyfile(!pedited || pedited->raw.ff_AutoClipControl, "RAW", "FlatFieldAutoClipControl", raw.ff_AutoClipControl, keyFile); @@ -6870,6 +7619,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || pedited->raw.bayersensor.pixelShiftShowMotion, "RAW Bayer", "PixelShiftShowMotion", raw.bayersensor.pixelShiftShowMotion, keyFile); saveToKeyfile(!pedited || pedited->raw.bayersensor.pixelShiftShowMotionMaskOnly, "RAW Bayer", "PixelShiftShowMotionMaskOnly", raw.bayersensor.pixelShiftShowMotionMaskOnly, keyFile); saveToKeyfile(!pedited || pedited->raw.bayersensor.pixelShiftHoleFill, "RAW Bayer", "pixelShiftHoleFill", raw.bayersensor.pixelShiftHoleFill, keyFile); + saveToKeyfile(!pedited || pedited->raw.bayersensor.pixelShiftAverage, "RAW Bayer", "pixelShiftAverage", raw.bayersensor.pixelShiftAverage, keyFile); saveToKeyfile(!pedited || pedited->raw.bayersensor.pixelShiftMedian, "RAW Bayer", "pixelShiftMedian", raw.bayersensor.pixelShiftMedian, keyFile); saveToKeyfile(!pedited || pedited->raw.bayersensor.pixelShiftGreen, "RAW Bayer", "pixelShiftGreen", raw.bayersensor.pixelShiftGreen, keyFile); saveToKeyfile(!pedited || pedited->raw.bayersensor.pixelShiftBlur, "RAW Bayer", "pixelShiftBlur", raw.bayersensor.pixelShiftBlur, keyFile); @@ -6911,7 +7661,10 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo saveToKeyfile(!pedited || pedited->filmNegative.colorSpace, "Film Negative", "ColorSpace", toUnderlying(filmNegative.colorSpace), keyFile); saveToKeyfile(!pedited || pedited->filmNegative.refInput, "Film Negative", "RefInput", filmNegative.refInput, keyFile); saveToKeyfile(!pedited || pedited->filmNegative.refOutput, "Film Negative", "RefOutput", filmNegative.refOutput, keyFile); - saveToKeyfile(true, "Film Negative", "BackCompat", toUnderlying(filmNegative.backCompat), keyFile); + // Only save the "backCompat" key if the filmneg params are not already upgraded to CURRENT. + // Also, avoid saving backCompat if the "enabled" key was not saved (most probably the entire key group is excluded). + saveToKeyfile(filmNegative.backCompat != FilmNegativeParams::BackCompat::CURRENT && + (!pedited || pedited->filmNegative.enabled), "Film Negative", "BackCompat", toUnderlying(filmNegative.backCompat), keyFile); // Preprocess WB saveToKeyfile(!pedited || pedited->raw.preprocessWB.mode, "RAW Preprocess WB", "Mode", toUnderlying(raw.preprocessWB.mode), keyFile); @@ -7230,7 +7983,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) // if Saturation == 0, should we set BWToning on? assignFromKeyfile(keyFile, "Luminance Curve", "Saturation", pedited, labCurve.chromaticity, pedited->labCurve.chromaticity); // transform AvoidColorClipping into AvoidColorShift - assignFromKeyfile(keyFile, "Luminance Curve", "AvoidColorClipping", pedited, labCurve.avoidcolorshift, pedited->labCurve.avoidcolorshift); +// assignFromKeyfile(keyFile, "Luminance Curve", "AvoidColorClipping", pedited, labCurve.avoidcolorshift, pedited->labCurve.avoidcolorshift); } else { if (keyFile.has_key("Luminance Curve", "Chromaticity")) { labCurve.chromaticity = keyFile.get_integer("Luminance Curve", "Chromaticity"); @@ -7244,7 +7997,6 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) } } - assignFromKeyfile(keyFile, "Luminance Curve", "AvoidColorShift", pedited, labCurve.avoidcolorshift, pedited->labCurve.avoidcolorshift); assignFromKeyfile(keyFile, "Luminance Curve", "RedAndSkinTonesProtection", pedited, labCurve.rstprotection, pedited->labCurve.rstprotection); } @@ -7273,6 +8025,25 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Luminance Curve", "hhCurve", pedited, labCurve.hhcurve, pedited->labCurve.hhcurve); assignFromKeyfile(keyFile, "Luminance Curve", "LcCurve", pedited, labCurve.lccurve, pedited->labCurve.lccurve); assignFromKeyfile(keyFile, "Luminance Curve", "ClCurve", pedited, labCurve.clcurve, pedited->labCurve.clcurve); + if (keyFile.has_key("Luminance Curve", "Gamutmunse")) { + assignFromKeyfile(keyFile, "Luminance Curve", "Gamutmunse", pedited, labCurve.gamutmunselmethod, pedited->labCurve.gamutmunselmethod); + } else { + if (ppVersion < 303) { + if (keyFile.has_key("Luminance Curve", "AvoidColorClipping")) { + labCurve.gamutmunselmethod = + keyFile.get_boolean("Luminance Curve", "AvoidColorClipping") ? "LAB" : "NONE"; + if (pedited) { + pedited->labCurve.gamutmunselmethod = true; + } + } + } else if (keyFile.has_key("Luminance Curve", "AvoidColorShift")) { + labCurve.gamutmunselmethod = + keyFile.get_boolean("Luminance Curve", "AvoidColorShift") ? "LAB" : "NONE"; + if (pedited) { + pedited->labCurve.gamutmunselmethod = true; + } + } + } } if (keyFile.has_group("Sharpening")) { @@ -7466,7 +8237,6 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Color appearance", "Ybout", pedited, colorappearance.ybout, pedited->colorappearance.ybout); assignFromKeyfile(keyFile, "Color appearance", "Datacie", pedited, colorappearance.datacie, pedited->colorappearance.datacie); assignFromKeyfile(keyFile, "Color appearance", "Tonecie", pedited, colorappearance.tonecie, pedited->colorappearance.tonecie); - assignFromKeyfile(keyFile, "Color appearance", "Presetcat02", pedited, colorappearance.presetcat02, pedited->colorappearance.presetcat02); const std::map tc_mapping = { {"Lightness", ColorAppearanceParams::TcMode::LIGHT}, @@ -7627,7 +8397,26 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) } assignFromKeyfile(keyFile, "Crop", "Orientation", pedited, crop.orientation, pedited->crop.orientation); - assignFromKeyfile(keyFile, "Crop", "Guide", pedited, crop.guide, pedited->crop.guide); + assignFromKeyfile( + keyFile, + "Crop", + "Guide", + pedited, + { + {"None", CropParams::Guide::NONE}, + {"Frame", CropParams::Guide::FRAME}, + {"Rule of thirds", CropParams::Guide::RULE_OF_THIRDS}, + {"Rule of diagonals", CropParams::Guide::RULE_OF_DIAGONALS}, + {"Harmonic means", CropParams::Guide::HARMONIC_MEANS}, + {"Grid", CropParams::Guide::GRID}, + {"Golden Triangle 1", CropParams::Guide::GOLDEN_TRIANGLE_1}, + {"Golden Triangle 2", CropParams::Guide::GOLDEN_TRIANGLE_2}, + {"ePassport", CropParams::Guide::EPASSPORT}, + {"Centered square", CropParams::Guide::CENTERED_SQUARE} + }, + crop.guide, + pedited->crop.guide + ); } if (keyFile.has_group("Coarse Transformation")) { @@ -7764,6 +8553,16 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "StructExclu_" + index_str, pedited, spot.structexclu, spotEdited.structexclu); assignFromKeyfile(keyFile, "Locallab", "Struc_" + index_str, pedited, spot.struc, spotEdited.struc); assignFromKeyfile(keyFile, "Locallab", "ShapeMethod_" + index_str, pedited, spot.shapeMethod, spotEdited.shapeMethod); + if (keyFile.has_key("Locallab", "AvoidgamutMethod_" + index_str)) { + assignFromKeyfile(keyFile, "Locallab", "AvoidgamutMethod_" + index_str, pedited, spot.avoidgamutMethod, spotEdited.avoidgamutMethod); + } else if (keyFile.has_key("Locallab", "Avoid_" + index_str)) { + const bool avoid = keyFile.get_boolean("Locallab", "Avoid_" + index_str); + const bool munsell = keyFile.has_key("Locallab", "Avoidmun_" + index_str) && keyFile.get_boolean("Locallab", "Avoidmun_" + index_str); + spot.avoidgamutMethod = avoid ? (munsell ? "MUNS" : "LAB") : "NONE"; + if (pedited) { + spotEdited.avoidgamutMethod = true; + } + } assignFromKeyfile(keyFile, "Locallab", "Loc_" + index_str, pedited, spot.loc, spotEdited.loc); assignFromKeyfile(keyFile, "Locallab", "CenterX_" + index_str, pedited, spot.centerX, spotEdited.centerX); assignFromKeyfile(keyFile, "Locallab", "CenterY_" + index_str, pedited, spot.centerY, spotEdited.centerY); @@ -7783,8 +8582,6 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "Transitgrad_" + index_str, pedited, spot.transitgrad, spotEdited.transitgrad); assignFromKeyfile(keyFile, "Locallab", "Hishow_" + index_str, pedited, spot.hishow, spotEdited.hishow); assignFromKeyfile(keyFile, "Locallab", "Activ_" + index_str, pedited, spot.activ, spotEdited.activ); - assignFromKeyfile(keyFile, "Locallab", "Avoid_" + index_str, pedited, spot.avoid, spotEdited.avoid); - assignFromKeyfile(keyFile, "Locallab", "Avoidmun_" + index_str, pedited, spot.avoidmun, spotEdited.avoidmun); assignFromKeyfile(keyFile, "Locallab", "Blwh_" + index_str, pedited, spot.blwh, spotEdited.blwh); assignFromKeyfile(keyFile, "Locallab", "Recurs_" + index_str, pedited, spot.recurs, spotEdited.recurs); assignFromKeyfile(keyFile, "Locallab", "Laplac_" + index_str, pedited, spot.laplac, spotEdited.laplac); @@ -7792,6 +8589,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "Shortc_" + index_str, pedited, spot.shortc, spotEdited.shortc); assignFromKeyfile(keyFile, "Locallab", "Savrest_" + index_str, pedited, spot.savrest, spotEdited.savrest); assignFromKeyfile(keyFile, "Locallab", "Scopemask_" + index_str, pedited, spot.scopemask, spotEdited.scopemask); + assignFromKeyfile(keyFile, "Locallab", "Denoichmask_" + index_str, pedited, spot.denoichmask, spotEdited.denoichmask); assignFromKeyfile(keyFile, "Locallab", "Lumask_" + index_str, pedited, spot.lumask, spotEdited.lumask); // Color & Light spot.visicolor = assignFromKeyfile(keyFile, "Locallab", "Expcolor_" + index_str, pedited, spot.expcolor, spotEdited.expcolor); @@ -7803,6 +8601,8 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "Complexcolor_" + index_str, pedited, spot.complexcolor, spotEdited.complexcolor); assignFromKeyfile(keyFile, "Locallab", "Curvactiv_" + index_str, pedited, spot.curvactiv, spotEdited.curvactiv); assignFromKeyfile(keyFile, "Locallab", "Lightness_" + index_str, pedited, spot.lightness, spotEdited.lightness); + assignFromKeyfile(keyFile, "Locallab", "Reparcol_" + index_str, pedited, spot.reparcol, spotEdited.reparcol); + assignFromKeyfile(keyFile, "Locallab", "Gamc_" + index_str, pedited, spot.gamc, spotEdited.gamc); assignFromKeyfile(keyFile, "Locallab", "Contrast_" + index_str, pedited, spot.contrast, spotEdited.contrast); assignFromKeyfile(keyFile, "Locallab", "Chroma_" + index_str, pedited, spot.chroma, spotEdited.chroma); assignFromKeyfile(keyFile, "Locallab", "labgridALow_" + index_str, pedited, spot.labgridALow, spotEdited.labgridALow); @@ -7893,6 +8693,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "Sensiex_" + index_str, pedited, spot.sensiex, spotEdited.sensiex); assignFromKeyfile(keyFile, "Locallab", "Structexp_" + index_str, pedited, spot.structexp, spotEdited.structexp); assignFromKeyfile(keyFile, "Locallab", "Blurexpde_" + index_str, pedited, spot.blurexpde, spotEdited.blurexpde); + assignFromKeyfile(keyFile, "Locallab", "Gamex_" + index_str, pedited, spot.gamex, spotEdited.gamex); assignFromKeyfile(keyFile, "Locallab", "Strexp_" + index_str, pedited, spot.strexp, spotEdited.strexp); assignFromKeyfile(keyFile, "Locallab", "Angexp_" + index_str, pedited, spot.angexp, spotEdited.angexp); assignFromKeyfile(keyFile, "Locallab", "ExCurve_" + index_str, pedited, spot.excurve, spotEdited.excurve); @@ -7916,6 +8717,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "ExpMethod_" + index_str, pedited, spot.expMethod, spotEdited.expMethod); assignFromKeyfile(keyFile, "Locallab", "ExnoiseMethod_" + index_str, pedited, spot.exnoiseMethod, spotEdited.exnoiseMethod); assignFromKeyfile(keyFile, "Locallab", "Laplacexp_" + index_str, pedited, spot.laplacexp, spotEdited.laplacexp); + assignFromKeyfile(keyFile, "Locallab", "Reparexp_" + index_str, pedited, spot.reparexp, spotEdited.reparexp); assignFromKeyfile(keyFile, "Locallab", "Balanexp_" + index_str, pedited, spot.balanexp, spotEdited.balanexp); assignFromKeyfile(keyFile, "Locallab", "Linearexp_" + index_str, pedited, spot.linear, spotEdited.linear); assignFromKeyfile(keyFile, "Locallab", "Gamm_" + index_str, pedited, spot.gamm, spotEdited.gamm); @@ -7963,6 +8765,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "SlomaskSH_" + index_str, pedited, spot.slomaskSH, spotEdited.slomaskSH); assignFromKeyfile(keyFile, "Locallab", "LapmaskSH_" + index_str, pedited, spot.lapmaskSH, spotEdited.lapmaskSH); assignFromKeyfile(keyFile, "Locallab", "DetailSH_" + index_str, pedited, spot.detailSH, spotEdited.detailSH); + assignFromKeyfile(keyFile, "Locallab", "Reparsh_" + index_str, pedited, spot.reparsh, spotEdited.reparsh); assignFromKeyfile(keyFile, "Locallab", "LmaskSHCurve_" + index_str, pedited, spot.LmaskSHcurve, spotEdited.LmaskSHcurve); assignFromKeyfile(keyFile, "Locallab", "FatamountSH_" + index_str, pedited, spot.fatamountSH, spotEdited.fatamountSH); assignFromKeyfile(keyFile, "Locallab", "FatanchorSH_" + index_str, pedited, spot.fatanchorSH, spotEdited.fatanchorSH); @@ -7982,6 +8785,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "Complexvibrance_" + index_str, pedited, spot.complexvibrance, spotEdited.complexvibrance); assignFromKeyfile(keyFile, "Locallab", "Saturated_" + index_str, pedited, spot.saturated, spotEdited.saturated); assignFromKeyfile(keyFile, "Locallab", "Pastels_" + index_str, pedited, spot.pastels, spotEdited.pastels); + assignFromKeyfile(keyFile, "Locallab", "Vibgam_" + index_str, pedited, spot.vibgam, spotEdited.vibgam); assignFromKeyfile(keyFile, "Locallab", "Warm_" + index_str, pedited, spot.warm, spotEdited.warm); if (keyFile.has_key("Locallab", "PSThreshold_" + index_str)) { @@ -8076,6 +8880,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "noiselumc_" + index_str, pedited, spot.noiselumc, spotEdited.noiselumc); assignFromKeyfile(keyFile, "Locallab", "noiselumdetail_" + index_str, pedited, spot.noiselumdetail, spotEdited.noiselumdetail); assignFromKeyfile(keyFile, "Locallab", "noiselequal_" + index_str, pedited, spot.noiselequal, spotEdited.noiselequal); + assignFromKeyfile(keyFile, "Locallab", "noisegam_" + index_str, pedited, spot.noisegam, spotEdited.noisegam); assignFromKeyfile(keyFile, "Locallab", "noisechrof_" + index_str, pedited, spot.noisechrof, spotEdited.noisechrof); assignFromKeyfile(keyFile, "Locallab", "noisechroc_" + index_str, pedited, spot.noisechroc, spotEdited.noisechroc); assignFromKeyfile(keyFile, "Locallab", "noisechrodetail_" + index_str, pedited, spot.noisechrodetail, spotEdited.noisechrodetail); @@ -8087,6 +8892,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "Nlrad_" + index_str, pedited, spot.nlrad, spotEdited.nlrad); assignFromKeyfile(keyFile, "Locallab", "Nlgam_" + index_str, pedited, spot.nlgam, spotEdited.nlgam); assignFromKeyfile(keyFile, "Locallab", "Sensiden_" + index_str, pedited, spot.sensiden, spotEdited.sensiden); + assignFromKeyfile(keyFile, "Locallab", "Reparden_" + index_str, pedited, spot.reparden, spotEdited.reparden); assignFromKeyfile(keyFile, "Locallab", "Detailthr_" + index_str, pedited, spot.detailthr, spotEdited.detailthr); assignFromKeyfile(keyFile, "Locallab", "LocwavCurveden_" + index_str, pedited, spot.locwavcurveden, spotEdited.locwavcurveden); assignFromKeyfile(keyFile, "Locallab", "LocwavCurvehue_" + index_str, pedited, spot.locwavcurvehue, spotEdited.locwavcurvehue); @@ -8131,6 +8937,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "Gamma_" + index_str, pedited, spot.gamma, spotEdited.gamma); assignFromKeyfile(keyFile, "Locallab", "Estop_" + index_str, pedited, spot.estop, spotEdited.estop); assignFromKeyfile(keyFile, "Locallab", "Scaltm_" + index_str, pedited, spot.scaltm, spotEdited.scaltm); + assignFromKeyfile(keyFile, "Locallab", "Repartm_" + index_str, pedited, spot.repartm, spotEdited.repartm); assignFromKeyfile(keyFile, "Locallab", "Rewei_" + index_str, pedited, spot.rewei, spotEdited.rewei); assignFromKeyfile(keyFile, "Locallab", "Satur_" + index_str, pedited, spot.satur, spotEdited.satur); assignFromKeyfile(keyFile, "Locallab", "Sensitm_" + index_str, pedited, spot.sensitm, spotEdited.sensitm); @@ -8213,6 +9020,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "Shardamping_" + index_str, pedited, spot.shardamping, spotEdited.shardamping); assignFromKeyfile(keyFile, "Locallab", "Shariter_" + index_str, pedited, spot.shariter, spotEdited.shariter); assignFromKeyfile(keyFile, "Locallab", "Sharblur_" + index_str, pedited, spot.sharblur, spotEdited.sharblur); + assignFromKeyfile(keyFile, "Locallab", "Shargam_" + index_str, pedited, spot.shargam, spotEdited.shargam); assignFromKeyfile(keyFile, "Locallab", "Sensisha_" + index_str, pedited, spot.sensisha, spotEdited.sensisha); assignFromKeyfile(keyFile, "Locallab", "Inverssha_" + index_str, pedited, spot.inverssha, spotEdited.inverssha); // Local Contrast @@ -8233,7 +9041,10 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "Residsha_" + index_str, pedited, spot.residsha, spotEdited.residsha); assignFromKeyfile(keyFile, "Locallab", "Residshathr_" + index_str, pedited, spot.residshathr, spotEdited.residshathr); assignFromKeyfile(keyFile, "Locallab", "Residhi_" + index_str, pedited, spot.residhi, spotEdited.residhi); + assignFromKeyfile(keyFile, "Locallab", "Gamlc_" + index_str, pedited, spot.gamlc, spotEdited.gamlc); assignFromKeyfile(keyFile, "Locallab", "Residhithr_" + index_str, pedited, spot.residhithr, spotEdited.residhithr); + assignFromKeyfile(keyFile, "Locallab", "Residgam_" + index_str, pedited, spot.residgam, spotEdited.residgam); + assignFromKeyfile(keyFile, "Locallab", "Residslop_" + index_str, pedited, spot.residslop, spotEdited.residslop); assignFromKeyfile(keyFile, "Locallab", "Residblur_" + index_str, pedited, spot.residblur, spotEdited.residblur); assignFromKeyfile(keyFile, "Locallab", "Levelblur_" + index_str, pedited, spot.levelblur, spotEdited.levelblur); assignFromKeyfile(keyFile, "Locallab", "Sigmabl_" + index_str, pedited, spot.sigmabl, spotEdited.sigmabl); @@ -8264,6 +9075,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "Edgw_" + index_str, pedited, spot.edgw, spotEdited.edgw); assignFromKeyfile(keyFile, "Locallab", "Basew_" + index_str, pedited, spot.basew, spotEdited.basew); assignFromKeyfile(keyFile, "Locallab", "Sensilc_" + index_str, pedited, spot.sensilc, spotEdited.sensilc); + assignFromKeyfile(keyFile, "Locallab", "Reparw_" + index_str, pedited, spot.reparw, spotEdited.reparw); assignFromKeyfile(keyFile, "Locallab", "Fftwlc_" + index_str, pedited, spot.fftwlc, spotEdited.fftwlc); assignFromKeyfile(keyFile, "Locallab", "Blurlc_" + index_str, pedited, spot.blurlc, spotEdited.blurlc); assignFromKeyfile(keyFile, "Locallab", "Wavblur_" + index_str, pedited, spot.wavblur, spotEdited.wavblur); @@ -8356,6 +9168,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Locallab", "TargetGray_" + index_str, pedited, spot.targetGray, spotEdited.targetGray); assignFromKeyfile(keyFile, "Locallab", "Catad_" + index_str, pedited, spot.catad, spotEdited.catad); assignFromKeyfile(keyFile, "Locallab", "Saturl_" + index_str, pedited, spot.saturl, spotEdited.saturl); + assignFromKeyfile(keyFile, "Locallab", "Chroml_" + index_str, pedited, spot.chroml, spotEdited.chroml); assignFromKeyfile(keyFile, "Locallab", "Lightl_" + index_str, pedited, spot.lightl, spotEdited.lightl); assignFromKeyfile(keyFile, "Locallab", "Brightq_" + index_str, pedited, spot.lightq, spotEdited.lightq); assignFromKeyfile(keyFile, "Locallab", "Contl_" + index_str, pedited, spot.contl, spotEdited.contl); @@ -8431,6 +9244,124 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) spotEdited.visimask = true; } + // ciecam + spot.visicie = assignFromKeyfile(keyFile, "Locallab", "Expcie_" + index_str, pedited, spot.expcie, spotEdited.expcie); + + if (spot.visicie) { + spotEdited.visicie = true; + } + assignFromKeyfile(keyFile, "Locallab", "Complexcie_" + index_str, pedited, spot.complexcie, spotEdited.complexcie); + assignFromKeyfile(keyFile, "Locallab", "Reparcie_" + index_str, pedited, spot.reparcie, spotEdited.reparcie); + assignFromKeyfile(keyFile, "Locallab", "Sensicie_" + index_str, pedited, spot.sensicie, spotEdited.sensicie); + assignFromKeyfile(keyFile, "Locallab", "AutoGraycie_" + index_str, pedited, spot.Autograycie, spotEdited.Autograycie); + assignFromKeyfile(keyFile, "Locallab", "Forcejz_" + index_str, pedited, spot.forcejz, spotEdited.forcejz); + assignFromKeyfile(keyFile, "Locallab", "Forcebw_" + index_str, pedited, spot.forcebw, spotEdited.forcebw); + assignFromKeyfile(keyFile, "Locallab", "Qtoj_" + index_str, pedited, spot.qtoj, spotEdited.qtoj); + assignFromKeyfile(keyFile, "Locallab", "jabcie_" + index_str, pedited, spot.jabcie, spotEdited.jabcie); + assignFromKeyfile(keyFile, "Locallab", "sigmoidqjcie_" + index_str, pedited, spot.sigmoidqjcie, spotEdited.sigmoidqjcie); + assignFromKeyfile(keyFile, "Locallab", "logcie_" + index_str, pedited, spot.logcie, spotEdited.logcie); + assignFromKeyfile(keyFile, "Locallab", "Logjz_" + index_str, pedited, spot.logjz, spotEdited.logjz); + assignFromKeyfile(keyFile, "Locallab", "Sigjz_" + index_str, pedited, spot.sigjz, spotEdited.sigjz); + assignFromKeyfile(keyFile, "Locallab", "Sigq_" + index_str, pedited, spot.sigq, spotEdited.sigq); + assignFromKeyfile(keyFile, "Locallab", "chjzcie_" + index_str, pedited, spot.chjzcie, spotEdited.chjzcie); + assignFromKeyfile(keyFile, "Locallab", "SourceGraycie_" + index_str, pedited, spot.sourceGraycie, spotEdited.sourceGraycie); + assignFromKeyfile(keyFile, "Locallab", "Sourceabscie_" + index_str, pedited, spot.sourceabscie, spotEdited.sourceabscie); + assignFromKeyfile(keyFile, "Locallab", "Sursourcie_" + index_str, pedited, spot.sursourcie, spotEdited.sursourcie); + assignFromKeyfile(keyFile, "Locallab", "Modecie_" + index_str, pedited, spot.modecie, spotEdited.modecie); + assignFromKeyfile(keyFile, "Locallab", "Modecam_" + index_str, pedited, spot.modecam, spotEdited.modecam); + assignFromKeyfile(keyFile, "Locallab", "Saturlcie_" + index_str, pedited, spot.saturlcie, spotEdited.saturlcie); + assignFromKeyfile(keyFile, "Locallab", "Rstprotectcie_" + index_str, pedited, spot.rstprotectcie, spotEdited.rstprotectcie); + assignFromKeyfile(keyFile, "Locallab", "Chromlcie_" + index_str, pedited, spot.chromlcie, spotEdited.chromlcie); + assignFromKeyfile(keyFile, "Locallab", "Huecie_" + index_str, pedited, spot.huecie, spotEdited.huecie); + assignFromKeyfile(keyFile, "Locallab", "ToneMethodcie_" + index_str, pedited, spot.toneMethodcie, spotEdited.toneMethodcie); + assignFromKeyfile(keyFile, "Locallab", "Ciecurve_" + index_str, pedited, spot.ciecurve, spotEdited.ciecurve); + assignFromKeyfile(keyFile, "Locallab", "ToneMethodcie2_" + index_str, pedited, spot.toneMethodcie2, spotEdited.toneMethodcie2); + assignFromKeyfile(keyFile, "Locallab", "Ciecurve2_" + index_str, pedited, spot.ciecurve2, spotEdited.ciecurve2); + assignFromKeyfile(keyFile, "Locallab", "Chromjzcie_" + index_str, pedited, spot.chromjzcie, spotEdited.chromjzcie); + assignFromKeyfile(keyFile, "Locallab", "Saturjzcie_" + index_str, pedited, spot.saturjzcie, spotEdited.saturjzcie); + assignFromKeyfile(keyFile, "Locallab", "Huejzcie_" + index_str, pedited, spot.huejzcie, spotEdited.huejzcie); + assignFromKeyfile(keyFile, "Locallab", "Softjzcie_" + index_str, pedited, spot.softjzcie, spotEdited.softjzcie); + assignFromKeyfile(keyFile, "Locallab", "strSoftjzcie_" + index_str, pedited, spot.strsoftjzcie, spotEdited.strsoftjzcie); + assignFromKeyfile(keyFile, "Locallab", "Thrhjzcie_" + index_str, pedited, spot.thrhjzcie, spotEdited.thrhjzcie); + assignFromKeyfile(keyFile, "Locallab", "JzCurve_" + index_str, pedited, spot.jzcurve, spotEdited.jzcurve); + assignFromKeyfile(keyFile, "Locallab", "CzCurve_" + index_str, pedited, spot.czcurve, spotEdited.czcurve); + assignFromKeyfile(keyFile, "Locallab", "CzJzCurve_" + index_str, pedited, spot.czjzcurve, spotEdited.czjzcurve); + assignFromKeyfile(keyFile, "Locallab", "HHCurvejz_" + index_str, pedited, spot.HHcurvejz, spotEdited.HHcurvejz); + assignFromKeyfile(keyFile, "Locallab", "CHCurvejz_" + index_str, pedited, spot.CHcurvejz, spotEdited.CHcurvejz); + assignFromKeyfile(keyFile, "Locallab", "LHCurvejz_" + index_str, pedited, spot.LHcurvejz, spotEdited.LHcurvejz); + assignFromKeyfile(keyFile, "Locallab", "Lightlcie_" + index_str, pedited, spot.lightlcie, spotEdited.lightlcie); + assignFromKeyfile(keyFile, "Locallab", "Lightjzcie_" + index_str, pedited, spot.lightjzcie, spotEdited.lightjzcie); + assignFromKeyfile(keyFile, "Locallab", "Brightqcie_" + index_str, pedited, spot.lightqcie, spotEdited.lightqcie); + assignFromKeyfile(keyFile, "Locallab", "Contlcie_" + index_str, pedited, spot.contlcie, spotEdited.contlcie); + assignFromKeyfile(keyFile, "Locallab", "Contjzcie_" + index_str, pedited, spot.contjzcie, spotEdited.contjzcie); + assignFromKeyfile(keyFile, "Locallab", "Adapjzcie_" + index_str, pedited, spot.adapjzcie, spotEdited.adapjzcie); + assignFromKeyfile(keyFile, "Locallab", "Jz100_" + index_str, pedited, spot.jz100, spotEdited.jz100); + assignFromKeyfile(keyFile, "Locallab", "PQremap_" + index_str, pedited, spot.pqremap, spotEdited.pqremap); + assignFromKeyfile(keyFile, "Locallab", "PQremapcam16_" + index_str, pedited, spot.pqremapcam16, spotEdited.pqremapcam16); + assignFromKeyfile(keyFile, "Locallab", "Hljzcie_" + index_str, pedited, spot.hljzcie, spotEdited.hljzcie); + assignFromKeyfile(keyFile, "Locallab", "Hlthjzcie_" + index_str, pedited, spot.hlthjzcie, spotEdited.hlthjzcie); + assignFromKeyfile(keyFile, "Locallab", "Shjzcie_" + index_str, pedited, spot.shjzcie, spotEdited.shjzcie); + assignFromKeyfile(keyFile, "Locallab", "Shthjzcie_" + index_str, pedited, spot.shthjzcie, spotEdited.shthjzcie); + assignFromKeyfile(keyFile, "Locallab", "Radjzcie_" + index_str, pedited, spot.radjzcie, spotEdited.radjzcie); + if (keyFile.has_key("Locallab", "CSThresholdjz_" + index_str)) { + + const std::vector thresh = keyFile.get_integer_list("Locallab", "CSThresholdjz_" + index_str); + + if (thresh.size() >= 4) { + spot.csthresholdjz.setValues(thresh[0], thresh[1], min(thresh[2], 10), min(thresh[3], 10)); + } + + spotEdited.csthresholdjz = true; + } + assignFromKeyfile(keyFile, "Locallab", "Sigmalcjz_" + index_str, pedited, spot.sigmalcjz, spotEdited.sigmalcjz); + assignFromKeyfile(keyFile, "Locallab", "Clarilresjz_" + index_str, pedited, spot.clarilresjz, spotEdited.clarilresjz); + assignFromKeyfile(keyFile, "Locallab", "Claricresjz_" + index_str, pedited, spot.claricresjz, spotEdited.claricresjz); + assignFromKeyfile(keyFile, "Locallab", "Clarisoftjz_" + index_str, pedited, spot.clarisoftjz, spotEdited.clarisoftjz); + assignFromKeyfile(keyFile, "Locallab", "LocwavCurvejz_" + index_str, pedited, spot.locwavcurvejz, spotEdited.locwavcurvejz); + assignFromKeyfile(keyFile, "Locallab", "Contthrescie_" + index_str, pedited, spot.contthrescie, spotEdited.contthrescie); + assignFromKeyfile(keyFile, "Locallab", "Contthrescie_" + index_str, pedited, spot.contthrescie, spotEdited.contthrescie); + assignFromKeyfile(keyFile, "Locallab", "BlackEvjz_" + index_str, pedited, spot.blackEvjz, spotEdited.blackEvjz); + assignFromKeyfile(keyFile, "Locallab", "WhiteEvjz_" + index_str, pedited, spot.whiteEvjz, spotEdited.whiteEvjz); + assignFromKeyfile(keyFile, "Locallab", "Targetjz_" + index_str, pedited, spot.targetjz, spotEdited.targetjz); + assignFromKeyfile(keyFile, "Locallab", "Sigmoidthcie_" + index_str, pedited, spot.sigmoidthcie, spotEdited.sigmoidthcie); + assignFromKeyfile(keyFile, "Locallab", "Sigmoidblcie_" + index_str, pedited, spot.sigmoidblcie, spotEdited.sigmoidblcie); + assignFromKeyfile(keyFile, "Locallab", "Sigmoidldajzcie_" + index_str, pedited, spot.sigmoidldajzcie, spotEdited.sigmoidldajzcie); + assignFromKeyfile(keyFile, "Locallab", "Sigmoidthjzcie_" + index_str, pedited, spot.sigmoidthjzcie, spotEdited.sigmoidthjzcie); + assignFromKeyfile(keyFile, "Locallab", "Sigmoidbljzcie_" + index_str, pedited, spot.sigmoidbljzcie, spotEdited.sigmoidbljzcie); + assignFromKeyfile(keyFile, "Locallab", "Contqcie_" + index_str, pedited, spot.contqcie, spotEdited.contqcie); + assignFromKeyfile(keyFile, "Locallab", "Colorflcie_" + index_str, pedited, spot.colorflcie, spotEdited.colorflcie); +/* + assignFromKeyfile(keyFile, "Locallab", "Lightlzcam_" + index_str, pedited, spot.lightlzcam, spotEdited.lightlzcam); + assignFromKeyfile(keyFile, "Locallab", "Lightqzcam_" + index_str, pedited, spot.lightqzcam, spotEdited.lightqzcam); + assignFromKeyfile(keyFile, "Locallab", "Contlzcam_" + index_str, pedited, spot.contlzcam, spotEdited.contlzcam); + assignFromKeyfile(keyFile, "Locallab", "Contqzcam_" + index_str, pedited, spot.contqzcam, spotEdited.contqzcam); + assignFromKeyfile(keyFile, "Locallab", "Contthreszcam_" + index_str, pedited, spot.contthreszcam, spotEdited.contthreszcam); +*/ + assignFromKeyfile(keyFile, "Locallab", "Targabscie_" + index_str, pedited, spot.targabscie, spotEdited.targabscie); + assignFromKeyfile(keyFile, "Locallab", "TargetGraycie_" + index_str, pedited, spot.targetGraycie, spotEdited.targetGraycie); + assignFromKeyfile(keyFile, "Locallab", "Catadcie_" + index_str, pedited, spot.catadcie, spotEdited.catadcie); + assignFromKeyfile(keyFile, "Locallab", "Detailcie_" + index_str, pedited, spot.detailcie, spotEdited.detailcie); +/* + assignFromKeyfile(keyFile, "Locallab", "Colorflzcam_" + index_str, pedited, spot.colorflzcam, spotEdited.colorflzcam); + assignFromKeyfile(keyFile, "Locallab", "Saturzcam_" + index_str, pedited, spot.saturzcam, spotEdited.saturzcam); + assignFromKeyfile(keyFile, "Locallab", "Chromzcam_" + index_str, pedited, spot.chromzcam, spotEdited.chromzcam); +*/ + assignFromKeyfile(keyFile, "Locallab", "EnacieMask_" + index_str, pedited, spot.enacieMask, spotEdited.enacieMask); + assignFromKeyfile(keyFile, "Locallab", "CCmaskcieCurve_" + index_str, pedited, spot.CCmaskciecurve, spotEdited.CCmaskciecurve); + assignFromKeyfile(keyFile, "Locallab", "LLmaskcieCurve_" + index_str, pedited, spot.LLmaskciecurve, spotEdited.LLmaskciecurve); + assignFromKeyfile(keyFile, "Locallab", "HHmaskcieCurve_" + index_str, pedited, spot.HHmaskciecurve, spotEdited.HHmaskciecurve); + assignFromKeyfile(keyFile, "Locallab", "Blendmaskcie_" + index_str, pedited, spot.blendmaskcie, spotEdited.blendmaskcie); + assignFromKeyfile(keyFile, "Locallab", "Radmaskcie_" + index_str, pedited, spot.radmaskcie, spotEdited.radmaskcie); + assignFromKeyfile(keyFile, "Locallab", "Chromaskcie_" + index_str, pedited, spot.chromaskcie, spotEdited.chromaskcie); + assignFromKeyfile(keyFile, "Locallab", "Lapmaskcie_" + index_str, pedited, spot.lapmaskcie, spotEdited.lapmaskcie); + assignFromKeyfile(keyFile, "Locallab", "Gammaskcie_" + index_str, pedited, spot.gammaskcie, spotEdited.gammaskcie); + assignFromKeyfile(keyFile, "Locallab", "Slomaskcie_" + index_str, pedited, spot.slomaskcie, spotEdited.slomaskcie); + assignFromKeyfile(keyFile, "Locallab", "LmaskcieCurve_" + index_str, pedited, spot.Lmaskciecurve, spotEdited.Lmaskciecurve); + assignFromKeyfile(keyFile, "Locallab", "Recothrescie_" + index_str, pedited, spot.recothrescie, spotEdited.recothrescie); + assignFromKeyfile(keyFile, "Locallab", "Lowthrescie_" + index_str, pedited, spot.lowthrescie, spotEdited.lowthrescie); + assignFromKeyfile(keyFile, "Locallab", "Higthrescie_" + index_str, pedited, spot.higthrescie, spotEdited.higthrescie); + assignFromKeyfile(keyFile, "Locallab", "Decaycie_" + index_str, pedited, spot.decaycie, spotEdited.decaycie); + // Append LocallabSpot and LocallabParamsEdited locallab.spots.push_back(spot); @@ -8471,6 +9402,8 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Resize", "DataSpecified", pedited, resize.dataspec, pedited->resize.dataspec); assignFromKeyfile(keyFile, "Resize", "Width", pedited, resize.width, pedited->resize.width); assignFromKeyfile(keyFile, "Resize", "Height", pedited, resize.height, pedited->resize.height); + assignFromKeyfile(keyFile, "Resize", "LongEdge", pedited, resize.longedge, pedited->resize.longedge); + assignFromKeyfile(keyFile, "Resize", "ShortEdge", pedited, resize.shortedge, pedited->resize.shortedge); if (ppVersion >= 339) { assignFromKeyfile(keyFile, "Resize", "AllowUpscaling", pedited, resize.allowUpscaling, pedited->resize.allowUpscaling); } else { @@ -8481,6 +9414,34 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) } } + if (keyFile.has_group ("Spot removal")) { + assignFromKeyfile(keyFile, "Spot removal", "Enabled", pedited, spot.enabled, pedited->spot.enabled); + int i = 0; + do { + std::stringstream ss; + ss << "Spot" << (i++ + 1); + + if (keyFile.has_key ("Spot removal", ss.str())) { + Glib::ArrayHandle entry = keyFile.get_double_list ("Spot removal", ss.str()); + const double epsilon = 0.001; // to circumvent rounding of integer saved as double + SpotEntry se; + + se.sourcePos.set(int(entry.data()[0] + epsilon), int(entry.data()[1] + epsilon)); + se.targetPos.set(int(entry.data()[2] + epsilon), int(entry.data()[3] + epsilon)); + se.radius = LIM(int (entry.data()[4] + epsilon), SpotParams::minRadius, SpotParams::maxRadius); + se.feather = float(entry.data()[5]); + se.opacity = float(entry.data()[6]); + spot.entries.push_back(se); + + if (pedited) { + pedited->spot.entries = true; + } + } else { + break; + } + } while (1); + } + if (keyFile.has_group("PostDemosaicSharpening")) { assignFromKeyfile(keyFile, "PostDemosaicSharpening", "Enabled", pedited, pdsharpening.enabled, pedited->pdsharpening.enabled); assignFromKeyfile(keyFile, "PostDemosaicSharpening", "Contrast", pedited, pdsharpening.contrast, pedited->pdsharpening.contrast); @@ -8542,10 +9503,126 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Color Management", "ApplyHueSatMap", pedited, icm.applyHueSatMap, pedited->icm.applyHueSatMap); assignFromKeyfile(keyFile, "Color Management", "DCPIlluminant", pedited, icm.dcpIlluminant, pedited->icm.dcpIlluminant); assignFromKeyfile(keyFile, "Color Management", "WorkingProfile", pedited, icm.workingProfile, pedited->icm.workingProfile); - assignFromKeyfile(keyFile, "Color Management", "WorkingTRC", pedited, icm.workingTRC, pedited->icm.workingTRC); + if ( + !assignFromKeyfile( + keyFile, + "Color Management", + "WorkingTRC", + pedited, + { + {"none", ColorManagementParams::WorkingTrc::NONE}, + {"Custom", ColorManagementParams::WorkingTrc::CUSTOM}, + {"bt709", ColorManagementParams::WorkingTrc::BT709}, + {"srgb", ColorManagementParams::WorkingTrc::SRGB}, + {"22", ColorManagementParams::WorkingTrc::GAMMA_2_2}, + {"18", ColorManagementParams::WorkingTrc::GAMMA_1_8}, + {"lin", ColorManagementParams::WorkingTrc::LINEAR} + }, + icm.workingTRC, + pedited->icm.workingTRC + ) + ) { + icm.workingTRC = ColorManagementParams::WorkingTrc::NONE; + if (pedited) { + pedited->icm.workingTRC = true; + } + } + if ( + !assignFromKeyfile( + keyFile, + "Color Management", + "Will", + pedited, + { + {"def", ColorManagementParams::Illuminant::DEFAULT}, + {"D41", ColorManagementParams::Illuminant::D41}, + {"D50", ColorManagementParams::Illuminant::D50}, + {"D55", ColorManagementParams::Illuminant::D55}, + {"D60", ColorManagementParams::Illuminant::D60}, + {"D65", ColorManagementParams::Illuminant::D65}, + {"D80", ColorManagementParams::Illuminant::D80}, + {"D120", ColorManagementParams::Illuminant::D120}, + {"stda", ColorManagementParams::Illuminant::STDA}, + {"2000", ColorManagementParams::Illuminant::TUNGSTEN_2000K}, + {"1500", ColorManagementParams::Illuminant::TUNGSTEN_1500K} + }, + icm.will, + pedited->icm.will + ) + ) { + icm.will = ColorManagementParams::Illuminant::DEFAULT; + if (pedited) { + pedited->icm.will = true; + } + } + if ( + !assignFromKeyfile( + keyFile, + "Color Management", + "Wprim", + pedited, + { + {"def", ColorManagementParams::Primaries::DEFAULT}, + {"srgb", ColorManagementParams::Primaries::SRGB}, + {"adob", ColorManagementParams::Primaries::ADOBE_RGB}, + {"prop", ColorManagementParams::Primaries::PRO_PHOTO}, + {"rec", ColorManagementParams::Primaries::REC2020}, + {"aces", ColorManagementParams::Primaries::ACES_P1}, + {"wid", ColorManagementParams::Primaries::WIDE_GAMUT}, + {"ac0", ColorManagementParams::Primaries::ACES_P0}, + {"bru", ColorManagementParams::Primaries::BRUCE_RGB}, + {"bet", ColorManagementParams::Primaries::BETA_RGB}, + {"bst", ColorManagementParams::Primaries::BEST_RGB}, + {"cus", ColorManagementParams::Primaries::CUSTOM}, + {"cusgr", ColorManagementParams::Primaries::CUSTOM_GRID} + }, + icm.wprim, + pedited->icm.wprim + ) + ) { + icm.wprim = ColorManagementParams::Primaries::DEFAULT; + if (pedited) { + pedited->icm.wprim = true; + } + } assignFromKeyfile(keyFile, "Color Management", "WorkingTRCGamma", pedited, icm.workingTRCGamma, pedited->icm.workingTRCGamma); assignFromKeyfile(keyFile, "Color Management", "WorkingTRCSlope", pedited, icm.workingTRCSlope, pedited->icm.workingTRCSlope); + assignFromKeyfile(keyFile, "Color Management", "Redx", pedited, icm.redx, pedited->icm.redx); + assignFromKeyfile(keyFile, "Color Management", "Redy", pedited, icm.redy, pedited->icm.redy); + assignFromKeyfile(keyFile, "Color Management", "Grex", pedited, icm.grex, pedited->icm.grex); + assignFromKeyfile(keyFile, "Color Management", "Grey", pedited, icm.grey, pedited->icm.grey); + assignFromKeyfile(keyFile, "Color Management", "Blux", pedited, icm.blux, pedited->icm.blux); + assignFromKeyfile(keyFile, "Color Management", "Bluy", pedited, icm.bluy, pedited->icm.bluy); + assignFromKeyfile(keyFile, "Color Management", "Preser", pedited, icm.preser, pedited->icm.preser); + assignFromKeyfile(keyFile, "Color Management", "Fbw", pedited, icm.fbw, pedited->icm.fbw); + assignFromKeyfile(keyFile, "Color Management", "Gamut", pedited, icm.gamut, pedited->icm.gamut); + assignFromKeyfile(keyFile, "Color Management", "LabGridcieALow", pedited, icm.labgridcieALow, pedited->icm.labgridcieALow); + assignFromKeyfile(keyFile, "Color Management", "LabGridcieBLow", pedited, icm.labgridcieBLow, pedited->icm.labgridcieBLow); + assignFromKeyfile(keyFile, "Color Management", "LabGridcieAHigh", pedited, icm.labgridcieAHigh, pedited->icm.labgridcieAHigh); + assignFromKeyfile(keyFile, "Color Management", "LabGridcieBHigh", pedited, icm.labgridcieBHigh, pedited->icm.labgridcieBHigh); + assignFromKeyfile(keyFile, "Color Management", "LabGridcieGx", pedited, icm.labgridcieGx, pedited->icm.labgridcieGx); + assignFromKeyfile(keyFile, "Color Management", "LabGridcieGy", pedited, icm.labgridcieGy, pedited->icm.labgridcieGy); + assignFromKeyfile(keyFile, "Color Management", "LabGridcieWx", pedited, icm.labgridcieWx, pedited->icm.labgridcieWx); + assignFromKeyfile(keyFile, "Color Management", "LabGridcieWy", pedited, icm.labgridcieWy, pedited->icm.labgridcieWy); + if (keyFile.has_key("Color Management", "aIntent")) { + Glib::ustring intent = keyFile.get_string("Color Management", "aIntent"); + + if (intent == "Perceptual") { + icm.aRendIntent = RI_PERCEPTUAL; + } else if (intent == "Relative") { + icm.aRendIntent = RI_RELATIVE; + } else if (intent == "Saturation") { + icm.aRendIntent = RI_SATURATION; + } else if (intent == "Absolute") { + icm.aRendIntent = RI_ABSOLUTE; + } + + if (pedited) { + pedited->icm.aRendIntent = true; + } + } + assignFromKeyfile(keyFile, "Color Management", "OutputProfile", pedited, icm.outputProfile, pedited->icm.outputProfile); if (ppVersion < 341) { if (icm.outputProfile == "RT_Medium_gsRGB") { @@ -8659,7 +9736,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) } } - assignFromKeyfile(keyFile, "Wavelet", "denMethod", pedited, wavelet.denmethod, pedited->wavelet.denmethod); + //assignFromKeyfile(keyFile, "Wavelet", "denMethod", pedited, wavelet.denmethod, pedited->wavelet.denmethod); assignFromKeyfile(keyFile, "Wavelet", "mixMethod", pedited, wavelet.mixmethod, pedited->wavelet.mixmethod); assignFromKeyfile(keyFile, "Wavelet", "sliMethod", pedited, wavelet.slimethod, pedited->wavelet.slimethod); assignFromKeyfile(keyFile, "Wavelet", "quaMethod", pedited, wavelet.quamethod, pedited->wavelet.quamethod); @@ -8709,7 +9786,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "Wavelet", "ContrastCurve", pedited, wavelet.ccwcurve, pedited->wavelet.ccwcurve); assignFromKeyfile(keyFile, "Wavelet", "blcurve", pedited, wavelet.blcurve, pedited->wavelet.blcurve); assignFromKeyfile(keyFile, "Wavelet", "OpacityCurveRG", pedited, wavelet.opacityCurveRG, pedited->wavelet.opacityCurveRG); - assignFromKeyfile(keyFile, "Wavelet", "Levalshc", pedited, wavelet.opacityCurveSH, pedited->wavelet.opacityCurveSH); + //assignFromKeyfile(keyFile, "Wavelet", "Levalshc", pedited, wavelet.opacityCurveSH, pedited->wavelet.opacityCurveSH); assignFromKeyfile(keyFile, "Wavelet", "OpacityCurveBY", pedited, wavelet.opacityCurveBY, pedited->wavelet.opacityCurveBY); assignFromKeyfile(keyFile, "Wavelet", "wavdenoise", pedited, wavelet.wavdenoise, pedited->wavelet.wavdenoise); assignFromKeyfile(keyFile, "Wavelet", "wavdenoiseh", pedited, wavelet.wavdenoiseh, pedited->wavelet.wavdenoiseh); @@ -9194,6 +10271,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) } assignFromKeyfile(keyFile, "RAW", "FlatFieldAutoSelect", pedited, raw.ff_AutoSelect, pedited->raw.ff_AutoSelect); + assignFromKeyfile(keyFile, "RAW", "FlatFieldFromMetaData", pedited, raw.ff_FromMetaData, pedited->raw.ff_FromMetaData); assignFromKeyfile(keyFile, "RAW", "FlatFieldBlurRadius", pedited, raw.ff_BlurRadius, pedited->raw.ff_BlurRadius); assignFromKeyfile(keyFile, "RAW", "FlatFieldBlurType", pedited, raw.ff_BlurType, pedited->raw.ff_BlurType); assignFromKeyfile(keyFile, "RAW", "FlatFieldAutoClipControl", pedited, raw.ff_AutoClipControl, pedited->raw.ff_AutoClipControl); @@ -9309,6 +10387,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited) assignFromKeyfile(keyFile, "RAW Bayer", "PixelShiftShowMotionMaskOnly", pedited, raw.bayersensor.pixelShiftShowMotionMaskOnly, pedited->raw.bayersensor.pixelShiftShowMotionMaskOnly); assignFromKeyfile(keyFile, "RAW Bayer", "pixelShiftHoleFill", pedited, raw.bayersensor.pixelShiftHoleFill, pedited->raw.bayersensor.pixelShiftHoleFill); assignFromKeyfile(keyFile, "RAW Bayer", "pixelShiftMedian", pedited, raw.bayersensor.pixelShiftMedian, pedited->raw.bayersensor.pixelShiftMedian); + assignFromKeyfile(keyFile, "RAW Bayer", "pixelShiftAverage", pedited, raw.bayersensor.pixelShiftAverage, pedited->raw.bayersensor.pixelShiftAverage); assignFromKeyfile(keyFile, "RAW Bayer", "pixelShiftGreen", pedited, raw.bayersensor.pixelShiftGreen, pedited->raw.bayersensor.pixelShiftGreen); assignFromKeyfile(keyFile, "RAW Bayer", "pixelShiftBlur", pedited, raw.bayersensor.pixelShiftBlur, pedited->raw.bayersensor.pixelShiftBlur); assignFromKeyfile(keyFile, "RAW Bayer", "pixelShiftSmoothFactor", pedited, raw.bayersensor.pixelShiftSmoothFactor, pedited->raw.bayersensor.pixelShiftSmooth); @@ -9536,6 +10615,7 @@ bool ProcParams::operator ==(const ProcParams& other) const && chmixer == other.chmixer && blackwhite == other.blackwhite && resize == other.resize + && spot == other.spot && raw == other.raw && icm == other.icm && wavelet == other.wavelet diff --git a/rtengine/procparams.h b/rtengine/procparams.h index 8133a433a..893a2a355 100644 --- a/rtengine/procparams.h +++ b/rtengine/procparams.h @@ -27,6 +27,7 @@ #include #include +#include "coord.h" #include "noncopyable.h" struct ParamsEdited; @@ -375,7 +376,7 @@ struct LCurveParams { int brightness; int contrast; int chromaticity; - bool avoidcolorshift; + Glib::ustring gamutmunselmethod; double rstprotection; bool lcredsk; @@ -708,7 +709,6 @@ struct ColorAppearanceParams { double greenout; int tempsc; double greensc; - bool presetcat02; ColorAppearanceParams(); @@ -830,15 +830,28 @@ struct SHParams { * Parameters of the cropping */ struct CropParams { - bool enabled; - int x; - int y; - int w; - int h; - bool fixratio; - Glib::ustring ratio; - Glib::ustring orientation; - Glib::ustring guide; + enum class Guide { + NONE, + FRAME, + RULE_OF_THIRDS, + RULE_OF_DIAGONALS, + HARMONIC_MEANS, + GRID, + GOLDEN_TRIANGLE_1, + GOLDEN_TRIANGLE_2, + EPASSPORT, + CENTERED_SQUARE + }; + + bool enabled; + int x; + int y; + int w; + int h; + bool fixratio; + Glib::ustring ratio; + Glib::ustring orientation; + Guide guide; CropParams(); @@ -935,11 +948,22 @@ struct LensProfParams { * Parameters of the perspective correction */ struct PerspectiveParams { + static constexpr double DEFAULT_CAMERA_CROP_FACTOR = 1; + static constexpr double DEFAULT_CAMERA_FOCAL_LENGTH = 24; + Glib::ustring method; bool render; double horizontal; double vertical; + /** + * Negative and zero values indicate an unspecified crop factor and should + * be interpreted with {@link #DEFAULT_CAMERA_CROP_FACTOR}. + */ double camera_crop_factor; + /** + * Negative and zero values indicate an unspecified focal length and should + * be interpreted with {@link #DEFAULT_CAMERA_FOCAL_LENGTH}. + */ double camera_focal_length; double camera_pitch; double camera_roll; @@ -995,6 +1019,8 @@ struct LocallabParams { int structexclu; double struc; Glib::ustring shapeMethod; // IND, SYM, INDSL, SYMSL + Glib::ustring avoidgamutMethod; // NONE, LAB, XYZ + std::vector loc; // For ellipse/rectangle: {locX, locXL, locY, locYT} int centerX; int centerY; @@ -1014,8 +1040,6 @@ struct LocallabParams { double transitgrad; bool hishow; bool activ; - bool avoid; - bool avoidmun; bool blwh; bool recurs; bool laplac; @@ -1023,6 +1047,7 @@ struct LocallabParams { bool shortc; bool savrest; int scopemask; + double denoichmask; int lumask; // Color & Light bool visicolor; @@ -1030,6 +1055,8 @@ struct LocallabParams { int complexcolor; bool curvactiv; int lightness; + double reparcol; + double gamc; int contrast; int chroma; double labgridALow; @@ -1106,6 +1133,7 @@ struct LocallabParams { int sensiex; int structexp; int blurexpde; + double gamex; double strexp; double angexp; std::vector excurve; @@ -1129,6 +1157,7 @@ struct LocallabParams { Glib::ustring expMethod; // std, pde Glib::ustring exnoiseMethod; // none, med, medhi double laplacexp; + double reparexp; double balanexp; double linear; double gamm; @@ -1167,6 +1196,7 @@ struct LocallabParams { double slomaskSH; double lapmaskSH; int detailSH; + double reparsh; std::vector LmaskSHcurve; double fatamountSH; double fatanchorSH; @@ -1182,6 +1212,7 @@ struct LocallabParams { int complexvibrance; int saturated; int pastels; + double vibgam; int warm; Threshold psthreshold; bool protectskins; @@ -1258,6 +1289,7 @@ struct LocallabParams { double noiselumc; double noiselumdetail; int noiselequal; + double noisegam; double noisechrof; double noisechroc; double noisechrodetail; @@ -1269,6 +1301,7 @@ struct LocallabParams { int nlrad; double nlgam; int sensiden; + double reparden; int detailthr; std::vector locwavcurveden; std::vector locwavcurvehue; @@ -1300,6 +1333,7 @@ struct LocallabParams { double gamma; double estop; double scaltm; + double repartm; int rewei; double satur; int sensitm; @@ -1374,6 +1408,7 @@ struct LocallabParams { int shardamping; int shariter; double sharblur; + double shargam; int sensisha; bool inverssha; // Local Contrast @@ -1391,6 +1426,9 @@ struct LocallabParams { double residshathr; double residhi; double residhithr; + double gamlc; + double residgam; + double residslop; double residblur; double levelblur; double sigmabl; @@ -1421,6 +1459,7 @@ struct LocallabParams { double edgw; double basew; int sensilc; + double reparw; bool fftwlc; bool blurlc; bool wavblur; @@ -1490,6 +1529,7 @@ struct LocallabParams { double targetGray; double catad; double saturl; + double chroml; double lightl; double lightq; double contl; @@ -1552,6 +1592,110 @@ struct LocallabParams { std::vector Lmask_curve; std::vector LLmask_curvewav; Threshold csthresholdmask; + //ciecam + bool visicie; + bool expcie; + int complexcie; + double reparcie; + int sensicie; + bool Autograycie; + bool forcejz; + bool forcebw; + bool qtoj; + bool jabcie; + bool sigmoidqjcie; + bool logcie; + bool logjz; + bool sigjz; + bool sigq; + bool chjzcie; + double sourceGraycie; + double sourceabscie; + Glib::ustring sursourcie; + Glib::ustring modecie; + Glib::ustring modecam; + double saturlcie; + double rstprotectcie; + double chromlcie; + double huecie; + Glib::ustring toneMethodcie; + std::vector ciecurve; + Glib::ustring toneMethodcie2; + std::vector ciecurve2; + double chromjzcie; + double saturjzcie; + double huejzcie; + double softjzcie; + double strsoftjzcie; + double thrhjzcie; + std::vector jzcurve; + std::vector czcurve; + std::vector czjzcurve; + std::vector HHcurvejz; + std::vector CHcurvejz; + std::vector LHcurvejz; + double lightlcie; + double lightjzcie; + double lightqcie; + double contlcie; + double contjzcie; + double adapjzcie; + double jz100; + double pqremap; + double pqremapcam16; + double hljzcie; + double hlthjzcie; + double shjzcie; + double shthjzcie; + double radjzcie; + double sigmalcjz; + double clarilresjz; + double claricresjz; + double clarisoftjz; + std::vector locwavcurvejz; + Threshold csthresholdjz; + double contthrescie; + double blackEvjz; + double whiteEvjz; + double targetjz; + double sigmoidldacie; + double sigmoidthcie; + double sigmoidblcie; + double sigmoidldajzcie; + double sigmoidthjzcie; + double sigmoidbljzcie; + double contqcie; + double colorflcie; +/* + double lightlzcam; + double lightqzcam; + double contlzcam; + double contqzcam; + double contthreszcam; + double colorflzcam; + double saturzcam; + double chromzcam; +*/ + double targabscie; + double targetGraycie; + double catadcie; + double detailcie; + Glib::ustring surroundcie; + bool enacieMask; + std::vector CCmaskciecurve; + std::vector LLmaskciecurve; + std::vector HHmaskciecurve; + int blendmaskcie; + double radmaskcie; + double chromaskcie; + double lapmaskcie; + double gammaskcie; + double slomaskcie; + std::vector Lmaskciecurve; + double recothrescie; + double lowthrescie; + double higthrescie; + double decaycie; LocallabSpot(); @@ -1682,6 +1826,8 @@ struct ResizeParams { int dataspec; int width; int height; + int longedge; + int shortedge; bool allowUpscaling; ResizeParams(); @@ -1690,10 +1836,85 @@ struct ResizeParams { bool operator !=(const ResizeParams& other) const; }; +/** + * Parameters entry + */ +struct SpotEntry { + Coord sourcePos; + Coord targetPos; + int radius; + float feather; + float opacity; + + SpotEntry(); + float getFeatherRadius() const; + + bool operator ==(const SpotEntry& other) const; + bool operator !=(const SpotEntry& other) const; +}; + +/** + * Parameters of the dust removal tool + */ +struct SpotParams { + bool enabled; + std::vector entries; + + // the following constant can be used for experimentation before the final merge + static const short minRadius; + static const short maxRadius; + + SpotParams(); + + bool operator ==(const SpotParams& other) const; + bool operator !=(const SpotParams& other) const; +}; + + /** * Parameters of the color spaces used during the processing */ struct ColorManagementParams { + enum class WorkingTrc { + NONE, + CUSTOM, + BT709, + SRGB, + GAMMA_2_2, + GAMMA_1_8, + LINEAR + }; + + enum class Illuminant { + DEFAULT, + D41, + D50, + D55, + D60, + D65, + D80, + D120, + STDA, + TUNGSTEN_2000K, + TUNGSTEN_1500K + }; + + enum class Primaries { + DEFAULT, + SRGB, + ADOBE_RGB, + PRO_PHOTO, + REC2020, + ACES_P1, + WIDE_GAMUT, + ACES_P0, + BRUCE_RGB, + BETA_RGB, + BEST_RGB, + CUSTOM, + CUSTOM_GRID + }; + Glib::ustring inputProfile; bool toneCurve; bool applyLookTable; @@ -1702,15 +1923,36 @@ struct ColorManagementParams { int dcpIlluminant; Glib::ustring workingProfile; - Glib::ustring workingTRC; + WorkingTrc workingTRC; + Illuminant will; + Primaries wprim; double workingTRCGamma; double workingTRCSlope; + double redx; + double redy; + double grex; + double grey; + double blux; + double bluy; + double preser; + bool fbw; + bool gamut; + double labgridcieALow; + double labgridcieBLow; + double labgridcieAHigh; + double labgridcieBHigh; + double labgridcieGx; + double labgridcieGy; + double labgridcieWx; + double labgridcieWy; + RenderingIntent aRendIntent; Glib::ustring outputProfile; RenderingIntent outputIntent; bool outputBPC; static const Glib::ustring NoICMString; + static const Glib::ustring NoProfileString; ColorManagementParams(); @@ -1857,7 +2099,7 @@ struct WaveletParams { std::vector blcurve; std::vector levelshc; std::vector opacityCurveRG; - std::vector opacityCurveSH; + //std::vector opacityCurveSH; std::vector opacityCurveBY; std::vector opacityCurveW; std::vector opacityCurveWL; @@ -1930,7 +2172,7 @@ struct WaveletParams { Glib::ustring Backmethod; Glib::ustring Tilesmethod; Glib::ustring complexmethod; - Glib::ustring denmethod; + //Glib::ustring denmethod; Glib::ustring mixmethod; Glib::ustring slimethod; Glib::ustring quamethod; @@ -2046,7 +2288,7 @@ struct HSVEqualizerParams { }; /** - * Film simualtion params + * Film simulation params */ struct FilmSimulationParams { bool enabled; @@ -2155,6 +2397,7 @@ struct RAWParams { bool pixelShiftShowMotionMaskOnly; bool pixelShiftHoleFill; bool pixelShiftMedian; + bool pixelShiftAverage; bool pixelShiftGreen; bool pixelShiftBlur; double pixelShiftSmoothFactor; @@ -2226,6 +2469,7 @@ struct RAWParams { Glib::ustring ff_file; bool ff_AutoSelect; + bool ff_FromMetaData; int ff_BlurRadius; Glib::ustring ff_BlurType; bool ff_AutoClipControl; @@ -2348,6 +2592,7 @@ public: ChannelMixerParams chmixer; ///< Channel mixer parameters BlackWhiteParams blackwhite; ///< Black& White parameters ResizeParams resize; ///< Resize parameters + SpotParams spot; ///< Spot removal tool ColorManagementParams icm; ///< profiles/color spaces used during the image processing RAWParams raw; ///< RAW parameters before demosaicing WaveletParams wavelet; ///< Wavelet parameters diff --git a/rtengine/profilestore.cc b/rtengine/profilestore.cc index 7d937e736..f83ddd385 100644 --- a/rtengine/profilestore.cc +++ b/rtengine/profilestore.cc @@ -508,7 +508,7 @@ void ProfileStore::dumpFolderList() printf ("\n"); } -PartialProfile *ProfileStore::loadDynamicProfile (const FramesMetaData *im) +PartialProfile *ProfileStore::loadDynamicProfile (const FramesMetaData *im, const Glib::ustring& filename) { if (storeState == STORESTATE_NOTINITIALIZED) { parseProfilesOnce(); @@ -521,7 +521,7 @@ PartialProfile *ProfileStore::loadDynamicProfile (const FramesMetaData *im) } for (auto rule : dynamicRules) { - if (rule.matches (im)) { + if (rule.matches (im, filename)) { if (settings->verbose) { printf ("found matching profile %s\n", rule.profilepath.c_str()); } diff --git a/rtengine/profilestore.h b/rtengine/profilestore.h index 460facb72..e8e48c17f 100644 --- a/rtengine/profilestore.h +++ b/rtengine/profilestore.h @@ -209,7 +209,7 @@ public: void addListener (ProfileStoreListener *listener); void removeListener (ProfileStoreListener *listener); - rtengine::procparams::PartialProfile* loadDynamicProfile (const rtengine::FramesMetaData *im); + rtengine::procparams::PartialProfile* loadDynamicProfile (const rtengine::FramesMetaData *im, const Glib::ustring& filename); void dumpFolderList(); }; diff --git a/rtengine/rawimage.cc b/rtengine/rawimage.cc index 2354f343a..8478d56ab 100644 --- a/rtengine/rawimage.cc +++ b/rtengine/rawimage.cc @@ -548,11 +548,18 @@ int RawImage::loadRaw(bool loadData, unsigned int imageNum, bool closeFile, Prog CameraConstantsStore* ccs = CameraConstantsStore::getInstance(); const CameraConst *cc = ccs->get(make, model); + bool raw_crop_cc = false; + int orig_raw_width = width; + int orig_raw_height = height; if (raw_image) { - if (cc && cc->has_rawCrop()) { + orig_raw_width = raw_width; + orig_raw_height = raw_height; + + if (cc && cc->has_rawCrop(raw_width, raw_height)) { + raw_crop_cc = true; int lm, tm, w, h; - cc->get_rawCrop(lm, tm, w, h); + cc->get_rawCrop(raw_width, raw_height, lm, tm, w, h); if (isXtrans()) { shiftXtransMatrix(6 - ((top_margin - tm) % 6), 6 - ((left_margin - lm) % 6)); @@ -584,9 +591,9 @@ int RawImage::loadRaw(bool loadData, unsigned int imageNum, bool closeFile, Prog } } - if (cc && cc->has_rawMask(0)) { - for (int i = 0; i < 8 && cc->has_rawMask(i); i++) { - cc->get_rawMask(i, mask[i][0], mask[i][1], mask[i][2], mask[i][3]); + if (cc && cc->has_rawMask(orig_raw_width, orig_raw_height, 0)) { + for (int i = 0; i < 2 && cc->has_rawMask(orig_raw_width, orig_raw_height, i); i++) { + cc->get_rawMask(orig_raw_width, orig_raw_height, i, mask[i][0], mask[i][1], mask[i][2], mask[i][3]); } } @@ -594,9 +601,10 @@ int RawImage::loadRaw(bool loadData, unsigned int imageNum, bool closeFile, Prog free(raw_image); raw_image = nullptr; } else { - if (get_maker() == "Sigma" && cc && cc->has_rawCrop()) { // foveon images + if (get_maker() == "Sigma" && cc && cc->has_rawCrop(width, height)) { // foveon images + raw_crop_cc = true; int lm, tm, w, h; - cc->get_rawCrop(lm, tm, w, h); + cc->get_rawCrop(width, height, lm, tm, w, h); left_margin = lm; top_margin = tm; @@ -692,11 +700,12 @@ int RawImage::loadRaw(bool loadData, unsigned int imageNum, bool closeFile, Prog printf("no constants in camconst.json exists for \"%s %s\" (relying only on dcraw defaults)\n", make, model); } + printf("raw dimensions: %d x %d\n", orig_raw_width, orig_raw_height); printf("black levels: R:%d G1:%d B:%d G2:%d (%s)\n", get_cblack(0), get_cblack(1), get_cblack(2), get_cblack(3), black_from_cc ? "provided by camconst.json" : "provided by dcraw"); printf("white levels: R:%d G1:%d B:%d G2:%d (%s)\n", get_white(0), get_white(1), get_white(2), get_white(3), white_from_cc ? "provided by camconst.json" : "provided by dcraw"); - printf("raw crop: %d %d %d %d (provided by %s)\n", left_margin, top_margin, iwidth, iheight, (cc && cc->has_rawCrop()) ? "camconst.json" : "dcraw"); + printf("raw crop: %d %d %d %d (provided by %s)\n", left_margin, top_margin, iwidth, iheight, raw_crop_cc ? "camconst.json" : "dcraw"); printf("color matrix provided by %s\n", (cc && cc->has_dcrawMatrix()) ? "camconst.json" : "dcraw"); } } diff --git a/rtengine/rawimage.h b/rtengine/rawimage.h index 871267dac..2b1cd2156 100644 --- a/rtengine/rawimage.h +++ b/rtengine/rawimage.h @@ -245,11 +245,6 @@ public: return zero_is_bad == 1; } - bool isBayer() const - { - return (filters != 0 && filters != 9); - } - bool isXtrans() const { return filters == 9; diff --git a/rtengine/rawimagesource.cc b/rtengine/rawimagesource.cc index e583a27a5..728d71b3a 100644 --- a/rtengine/rawimagesource.cc +++ b/rtengine/rawimagesource.cc @@ -34,13 +34,16 @@ #include "median.h" #include "mytime.h" #include "pdaflinesfilter.h" +#include "pixelsmap.h" #include "procparams.h" #include "rawimage.h" #include "rawimagesource_i.h" #include "rawimagesource.h" +#include "rescale.h" #include "rt_math.h" #include "rtengine.h" #include "rtlensfun.h" + #include "../rtgui/options.h" #define BENCHMARK @@ -821,7 +824,7 @@ void RawImageSource::getImage (const ColorTemp &ctemp, int tran, Imagefloat* ima int i = sy1 + skip * ix; i = std::min(i, maxy - skip); // avoid trouble - if (ri->getSensorType() == ST_BAYER || ri->getSensorType() == ST_FUJI_XTRANS || ri->get_colors() == 1) { + if (ri->getSensorType() == ST_BAYER || ri->getSensorType() == ST_FUJI_XTRANS || ri->get_colors() == 1 || ri->get_colors() == 3) { for (int j = 0, jx = sx1; j < imwidth; j++, jx += skip) { jx = std::min(jx, maxx - skip); // avoid trouble @@ -1208,9 +1211,11 @@ int RawImageSource::load (const Glib::ustring &fname, bool firstFrameOnly) d1x = ! ri->get_model().compare("D1X"); - if (ri->getSensorType() == ST_FUJI_XTRANS) { + if (ri->getSensorType() == ST_BAYER) { + border = 4; + } else if (ri->getSensorType() == ST_FUJI_XTRANS) { border = 7; - } else if (ri->getSensorType() == ST_FOVEON) { + } else { border = 0; } @@ -1342,14 +1347,14 @@ void RawImageSource::preprocess (const RAWParams &raw, const LensProfParams &le Glib::ustring newDF = raw.dark_frame; - RawImage *rid = nullptr; + const RawImage* rid = nullptr; if (!raw.df_autoselect) { if (!raw.dark_frame.empty()) { - rid = dfm.searchDarkFrame(raw.dark_frame); + rid = DFManager::getInstance().searchDarkFrame(raw.dark_frame); } } else { - rid = dfm.searchDarkFrame(idata->getMake(), idata->getModel(), idata->getISOSpeed(), idata->getShutterSpeed(), idata->getDateTimeAsTS()); + rid = DFManager::getInstance().searchDarkFrame(idata->getMake(), idata->getModel(), idata->getISOSpeed(), idata->getShutterSpeed(), idata->getDateTimeAsTS()); } if (rid && settings->verbose) { @@ -1362,7 +1367,7 @@ void RawImageSource::preprocess (const RAWParams &raw, const LensProfParams &le if (ri->zeroIsBad()) { // mark all pixels with value zero as bad, has to be called before FF and DF. dcraw sets this flag only for some cameras (mainly Panasonic and Leica) bitmapBads.reset(new PixelsMap(W, H)); - totBP = findZeroPixels(*(bitmapBads.get())); + totBP = findZeroPixels(*bitmapBads); if (settings->verbose) { printf("%d pixels with value zero marked as bad pixels\n", totBP); @@ -1380,7 +1385,6 @@ void RawImageSource::preprocess (const RAWParams &raw, const LensProfParams &le rif = ffm.searchFlatField(idata->getMake(), idata->getModel(), idata->getLens(), idata->getFocalLen(), idata->getFNumber(), idata->getDateTimeAsTS()); } - bool hasFlatField = (rif != nullptr); if (hasFlatField && settings->verbose) { @@ -1420,9 +1424,12 @@ void RawImageSource::preprocess (const RAWParams &raw, const LensProfParams &le } //FLATFIELD end + if (raw.ff_FromMetaData && isGainMapSupported()) { + applyDngGainMap(c_black, ri->getGainMaps()); + } // Always correct camera badpixels from .badpixels file - std::vector *bp = dfm.getBadPixels(ri->get_maker(), ri->get_model(), idata->getSerialNumber()); + const std::vector *bp = DFManager::getInstance().getBadPixels(ri->get_maker(), ri->get_model(), idata->getSerialNumber()); if (bp) { if (!bitmapBads) { @@ -1440,9 +1447,9 @@ void RawImageSource::preprocess (const RAWParams &raw, const LensProfParams &le bp = nullptr; if (raw.df_autoselect) { - bp = dfm.getHotPixels(idata->getMake(), idata->getModel(), idata->getISOSpeed(), idata->getShutterSpeed(), idata->getDateTimeAsTS()); + bp = DFManager::getInstance().getHotPixels(idata->getMake(), idata->getModel(), idata->getISOSpeed(), idata->getShutterSpeed(), idata->getDateTimeAsTS()); } else if (!raw.dark_frame.empty()) { - bp = dfm.getHotPixels(raw.dark_frame); + bp = DFManager::getInstance().getHotPixels(raw.dark_frame); } if (bp) { @@ -1506,7 +1513,7 @@ void RawImageSource::preprocess (const RAWParams &raw, const LensProfParams &le bitmapBads.reset(new PixelsMap(W, H)); } - int nFound = findHotDeadPixels(*(bitmapBads.get()), raw.hotdeadpix_thresh, raw.hotPixelFilter, raw.deadPixelFilter); + int nFound = findHotDeadPixels(*bitmapBads, raw.hotdeadpix_thresh, raw.hotPixelFilter, raw.deadPixelFilter); totBP += nFound; if (settings->verbose && nFound > 0) { @@ -1521,7 +1528,7 @@ void RawImageSource::preprocess (const RAWParams &raw, const LensProfParams &le bitmapBads.reset(new PixelsMap(W, H)); } - int n = f.mark(rawData, *(bitmapBads.get())); + int n = f.mark(rawData, *bitmapBads); totBP += n; if (n > 0) { @@ -1585,15 +1592,15 @@ void RawImageSource::preprocess (const RAWParams &raw, const LensProfParams &le if (ri->getSensorType() == ST_BAYER) { if (numFrames == 4) { for (int i = 0; i < 4; ++i) { - interpolateBadPixelsBayer(*(bitmapBads.get()), *rawDataFrames[i]); + interpolateBadPixelsBayer(*bitmapBads, *rawDataFrames[i]); } } else { - interpolateBadPixelsBayer(*(bitmapBads.get()), rawData); + interpolateBadPixelsBayer(*bitmapBads, rawData); } } else if (ri->getSensorType() == ST_FUJI_XTRANS) { - interpolateBadPixelsXtrans(*(bitmapBads.get())); + interpolateBadPixelsXtrans(*bitmapBads); } else { - interpolateBadPixelsNColours(*(bitmapBads.get()), ri->get_colors()); + interpolateBadPixelsNColours(*bitmapBads, ri->get_colors()); } } @@ -1718,6 +1725,9 @@ void RawImageSource::demosaic(const RAWParams &raw, bool autoContrast, double &c } else if (ri->get_colors() == 1) { // Monochrome nodemosaic(true); + } else { + // RGB + nodemosaic(false); } t2.set(); @@ -2485,7 +2495,7 @@ void RawImageSource::HLRecovery_Global(const ToneCurveParams &hrp) /* Copy original pixel data and * subtract dark frame (if present) from current image and apply flat field correction (if present) */ -void RawImageSource::copyOriginalPixels(const RAWParams &raw, RawImage *src, RawImage *riDark, RawImage *riFlatFile, array2D &rawData) +void RawImageSource::copyOriginalPixels(const RAWParams &raw, RawImage *src, const RawImage *riDark, RawImage *riFlatFile, array2D &rawData) { const auto tmpfilters = ri->get_filters(); ri->set_filters(ri->prefilters); // we need 4 blacks for bayer processing @@ -6289,6 +6299,36 @@ void RawImageSource::getRawValues(int x, int y, int rotate, int &R, int &G, int } } +bool RawImageSource::isGainMapSupported() const { + return ri->isGainMapSupported(); +} + +void RawImageSource::applyDngGainMap(const float black[4], const std::vector &gainMaps) { + // now we can apply each gain map to raw_data + array2D mvals[2][2]; + for (auto &m : gainMaps) { + mvals[m.Top & 1][m.Left & 1](m.MapPointsH, m.MapPointsV, m.MapGain.data()); + } + + // now we assume, col_scale and row scale is the same for all maps + const float col_scale = float(gainMaps[0].MapPointsH-1) / float(W); + const float row_scale = float(gainMaps[0].MapPointsV-1) / float(H); + +#ifdef _OPENMP + #pragma omp parallel for schedule(dynamic, 16) +#endif + for (std::size_t y = 0; y < static_cast(H); ++y) { + const float rowBlack[2] = {black[FC(y,0)], black[FC(y,1)]}; + const float ys = y * row_scale; + float xs = 0.f; + for (std::size_t x = 0; x < static_cast(W); ++x, xs += col_scale) { + const float f = getBilinearValue(mvals[y & 1][x & 1], xs, ys); + const float b = rowBlack[x & 1]; + rawData[y][x] = rtengine::max((rawData[y][x] - b) * f + b, 0.f); + } + } +} + void RawImageSource::cleanup () { delete phaseOneIccCurve; diff --git a/rtengine/rawimagesource.h b/rtengine/rawimagesource.h index 9a00e555b..9ef0086da 100644 --- a/rtengine/rawimagesource.h +++ b/rtengine/rawimagesource.h @@ -24,6 +24,7 @@ #include "array2D.h" #include "colortemp.h" +#include "dnggainmap.h" #include "iimage.h" #include "imagesource.h" #include "procparams.h" @@ -138,7 +139,7 @@ public: } void processFlatField(const procparams::RAWParams &raw, const RawImage *riFlatFile, array2D &rawData, const float black[4]); - void copyOriginalPixels(const procparams::RAWParams &raw, RawImage *ri, RawImage *riDark, RawImage *riFlatFile, array2D &rawData ); + void copyOriginalPixels(const procparams::RAWParams &raw, RawImage *ri, const RawImage *riDark, RawImage *riFlatFile, array2D &rawData ); void scaleColors (int winx, int winy, int winw, int winh, const procparams::RAWParams &raw, array2D &rawData); // raw for cblack void WBauto(double &tempref, double &greenref, array2D &redloc, array2D &greenloc, array2D &blueloc, int bfw, int bfh, double &avg_rm, double &avg_gm, double &avg_bm, double &tempitc, double &greenitc, float &studgood, bool &twotimes, const procparams::WBParams & wbpar, int begx, int begy, int yEn, int xEn, int cx, int cy, const procparams::ColorManagementParams &cmp, const procparams::RAWParams &raw) override; void getAutoWBMultipliersitc(double &tempref, double &greenref, double &tempitc, double &greenitc, float &studgood, int begx, int begy, int yEn, int xEn, int cx, int cy, int bf_h, int bf_w, double &rm, double &gm, double &bm, const procparams::WBParams & wbpar, const procparams::ColorManagementParams &cmp, const procparams::RAWParams &raw) override; @@ -177,6 +178,8 @@ public: return true; } + bool isGainMapSupported() const override; + void setProgressListener (ProgressListener* pl) override { plistener = pl; @@ -306,6 +309,7 @@ protected: void vflip (Imagefloat* im); void getRawValues(int x, int y, int rotate, int &R, int &G, int &B) override; void captureSharpening(const procparams::CaptureSharpeningParams &sharpeningParams, bool showMask, double &conrastThreshold, double &radius) override; + void applyDngGainMap(const float black[4], const std::vector &gainMaps); }; } diff --git a/rtengine/refreshmap.cc b/rtengine/refreshmap.cc index cb5353054..3916adfbe 100644 --- a/rtengine/refreshmap.cc +++ b/rtengine/refreshmap.cc @@ -28,7 +28,7 @@ // Aligned so the first entry starts on line 30. int refreshmap[rtengine::NUMOFEVENTS] = { ALL, // EvPhotoLoaded, - ALL, // EvProfileLoaded, + 0, // EvProfileLoaded : obsolete, ALL, // EvProfileChanged, ALL, // EvHistoryBrowsed, AUTOEXP, // EvBrightness, @@ -42,9 +42,9 @@ int refreshmap[rtengine::NUMOFEVENTS] = { AUTOEXP, // EvClip, LUMINANCECURVE, // EvLBrightness, LUMINANCECURVE, // EvLContrast, - LUMINANCECURVE, // EvLBlack, - LUMINANCECURVE, // EvLHLCompr, - LUMINANCECURVE, // EvLSHCompr, + 0, // EvLBlack : obsolete, + 0, // EvLHLCompr : obsolete, + 0, // EvLSHCompr : obsolete, LUMINANCECURVE, // EvLLCurve, SHARPENING, // EvShrEnabled, SHARPENING, // EvShrRadius, @@ -74,14 +74,14 @@ int refreshmap[rtengine::NUMOFEVENTS] = { 0, // EvLDNEdgeTolerance: obsolete, 0, // EvCDNEnabled:obsolete, 0, // free entry - RGBCURVE | M_AUTOEXP, // EvDCPToneCurve, + RGBCURVE | M_AUTOEXP, // EvDCPToneCurve, ALLNORAW, // EvDCPIlluminant, LUMINANCECURVE, // EvSHEnabled, LUMINANCECURVE, // EvSHHighlights, LUMINANCECURVE, // EvSHShadows, LUMINANCECURVE, // EvSHHLTonalW, LUMINANCECURVE, // EvSHSHTonalW, - AUTOEXP, // EvSHLContrast, + 0, // EvSHLContrast : obsolete, LUMINANCECURVE, // EvSHRadius, ALLNORAW, // EvCTRotate, ALLNORAW, // EvCTHFlip, @@ -93,7 +93,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = { CROP, // EvCrop, HDR, // EvCACorr, ALLNORAW, // EvHREnabled, - ALLNORAW, // EvHRAmount, + 0, // EvHRAmount : obsolete, ALLNORAW, // EvHRMethod, DEMOSAIC, // EvWProfile, OUTPUTPROFILE, // EvOProfile, @@ -104,12 +104,12 @@ int refreshmap[rtengine::NUMOFEVENTS] = { RESIZE, // EvResizeMethod, EXIF, // EvExif, IPTC, // EvIPTC - RESIZE, // EvResizeSpec, + 0, // EvResizeSpec : obsolete, RESIZE, // EvResizeWidth RESIZE, // EvResizeHeight RESIZE, // EvResizeEnabled ALL, // EvProfileChangeNotification - RETINEX, // EvShrHighQuality + 0, // EvSHHighQuality : obsolete HDR, // EvPerspCorr DARKFRAME, // EvLCPFile AUTOEXP, // EvRGBrCurveLumamode @@ -157,12 +157,12 @@ int refreshmap[rtengine::NUMOFEVENTS] = { FLATFIELD, // EvFlatFieldBlurRadius, FLATFIELD, // EvFlatFieldBlurType, HDR, // EvAutoDIST, - ALLNORAW, // EvDPDNLumCurve, - ALLNORAW, // EvDPDNChromCurve, - GAMMA, // EvGAMMA - GAMMA, // EvGAMPOS - GAMMA, // EvGAMFREE - GAMMA, // EvSLPOS + 0, // EvDPDNLumCurve : obsolete + 0, // EvDPDNChromCurve : obsolete + 0, // EvGAMMA : obsolete + 0, // EvGAMPOS : obsolete + 0, // EvGAMFREE : obsolete + 0, // EvSLPOS : obsolete DARKFRAME, // EvPreProcessExpBlackzero DARKFRAME, // EvPreProcessExpBlackone DARKFRAME, // EvPreProcessExpBlacktwo @@ -200,7 +200,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = { LUMINANCECURVE, // EvLLCCurve LUMINANCECURVE, // EvLLCredsk ALLNORAW, // EvDPDNLdetail - ALLNORAW, // EvCATEnabled + LUMINANCECURVE, // EvCATEnabled LUMINANCECURVE, // EvCATDegree LUMINANCECURVE, // EvCATMethodsur LUMINANCECURVE, // EvCATAdapscen @@ -235,7 +235,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = { LUMINANCECURVE, // EvCATAutoadap DEFRINGE, // EvPFCurve ALLNORAW, // EvWBequal - ALLNORAW, // EvWBequalbo + 0, // EvWBequalbo : obsolete HDR, // EvGradientDegree HDR, // EvGradientEnabled HDR, // EvPCVignetteStrength @@ -276,7 +276,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = { LUMINANCECURVE, // EvLLHCurve LUMINANCECURVE, // EvLHHCurve ALLNORAW, // EvDirPyrEqualizerThreshold - ALLNORAW, // EvDPDNenhance + 0, // EvDPDNenhance : obsolete AUTOEXP, // EvBWMethodalg ALLNORAW, // EvDirPyrEqualizerSkin ALLNORAW, // EvDirPyrEqlgamutlab @@ -300,8 +300,8 @@ int refreshmap[rtengine::NUMOFEVENTS] = { AUTOEXP, // EvColorToningbluehigh AUTOEXP, // EvColorToningbalance AUTOEXP, // EvColorToningNeutral - AUTOEXP, // EvColorToningsatlow - AUTOEXP, // EvColorToningsathigh + 0, // EvColorToningsatlow : obsolete + 0, // EvColorToningsathigh : obsolete AUTOEXP, // EvColorToningTwocolor AUTOEXP, // EvColorToningNeutralcur AUTOEXP, // EvColorToningLumamode @@ -326,7 +326,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = { ALLNORAW, // EvDPDNsmet DARKFRAME, // EvPreProcessDeadPixel ALLNORAW, // EvDPDNCCCurve - ALLNORAW, // EvDPDNautochroma + 0, // EvDPDNautochroma : obsolete ALLNORAW, // EvDPDNLmet ALLNORAW, // EvDPDNCmet ALLNORAW, // EvDPDNC2met @@ -435,7 +435,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = { DIRPYREQUALIZER, // EvWavNPmet DEMOSAIC, // EvretinexMethod RETINEX, // EvLneigh - RETINEX, // EvLgain + 0, // EvLgain : obsolete RETINEX, // EvLoffs RETINEX, // EvLstr RETINEX, // EvLscal @@ -499,7 +499,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = { 0, // unused DEMOSAIC, // EvPixelShiftMotionMethod DEMOSAIC, // EvPixelShiftSmooth - DEMOSAIC, // EvPixelShiftLmmse + 0, // EvPixelShiftLmmse : obsolete DEMOSAIC, // EvPixelShiftEqualBright DEMOSAIC, // EvPixelShiftEqualBrightChannel LUMINANCECURVE, // EvCATtempout @@ -523,7 +523,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = { DEMOSAIC, // EvPdShrEnabled CAPTURESHARPEN, // EvPdShrMaskToggled AUTOEXP, // EvLocallabSpotDeleted - M_VOID, // EvLocallabSpotSelected + HDR, // EvLocallabSpotSelected M_VOID, // EvLocallabSpotName M_VOID, // EvLocallabSpotVisibility AUTOEXP, // EvLocallabSpotShape @@ -630,7 +630,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = { AUTOEXP, // EvLocallabstreng AUTOEXP, // EvLocallabsensisf AUTOEXP, // Evlocallabsharblur - AUTOEXP, // EvLocenalabregion + 0, // EvLocenalabregion : obsolete AUTOEXP, // EvlocallabshowmaskMethod AUTOEXP, // EvLocallabSpotSelectedWithMask AUTOEXP, // EvlocallabCCmaskshape @@ -874,7 +874,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = { AUTOEXP | M_AUTOEXP, // EvLocenalog HDR, // EvLocallabAuto AUTOEXP, // EvlocallabsourceGray - HDR, // EvlocallabsourceGrayAuto + 0, // EvlocallabsourceGrayAuto : obsolete HDR, // EvlocallabAutoGray AUTOEXP, // EvlocallabblackEv AUTOEXP, // EvlocallabwhiteEv @@ -1069,9 +1069,123 @@ int refreshmap[rtengine::NUMOFEVENTS] = { AUTOEXP, // EvLocallabSpotavoidrad AUTOEXP, // EvLocallabSpotavoidmun AUTOEXP, // Evlocallabcontthres - AUTOEXP // Evlocallabnorm - - + AUTOEXP, // Evlocallabnorm + AUTOEXP, // Evlocallabreparw + AUTOEXP, // Evlocallabreparcol + AUTOEXP, // Evlocallabreparden + AUTOEXP, // Evlocallabreparsh + AUTOEXP, // Evlocallabreparexp + AUTOEXP, // Evlocallabrepartm + AUTOEXP, // Evlocallabchroml + AUTOEXP, // Evlocallabresidgam + AUTOEXP, // Evlocallabresidslop + AUTOEXP, // Evlocallabnoisegam + AUTOEXP, //Evlocallabgamlc + AUTOEXP, //Evlocallabgamc + AUTOEXP, //Evlocallabgamex + AUTOEXP | M_AUTOEXP, // EvLocenacie + AUTOEXP, //Evlocallabreparcie + HDR, //EvlocallabAutograycie + HDR, //EvlocallabsourceGraycie + HDR, //Evlocallabsourceabscie + AUTOEXP, //Evlocallabsursourcie + AUTOEXP, //Evlocallabsaturlcie + AUTOEXP, //Evlocallabchromlcie + AUTOEXP, //Evlocallablightlcie + AUTOEXP, //Evlocallablightqcie + AUTOEXP, //Evlocallabcontlcie + AUTOEXP, //Evlocallabcontthrescie + AUTOEXP, //Evlocallabcontqcie + AUTOEXP, //Evlocallabcolorflcie + AUTOEXP, //Evlocallabtargabscie + AUTOEXP, //EvlocallabtargetGraycie + AUTOEXP, //Evlocallabcatadcie + AUTOEXP, //Evlocallabdetailcie + AUTOEXP, //Evlocallabsurroundcie + AUTOEXP, //Evlocallabsensicie + AUTOEXP, //Evlocallabmodecie + AUTOEXP, //Evlocallabrstprotectcie + AUTOEXP, //Evlocallabsigmoidldacie + AUTOEXP, //Evlocallabsigmoidthcie + AUTOEXP, //Evlocallabsigmoidblcie + AUTOEXP, //Evlocallabsigmoidqjcie + AUTOEXP, //Evlocallabhuecie + AUTOEXP, //Evlocallabjabcie + AUTOEXP, //Evlocallablightjzcie + AUTOEXP, //Evlocallabcontjzcie + AUTOEXP, //Evlocallabchromjzcie + AUTOEXP, //Evlocallabhuejzcie + AUTOEXP, //Evlocallabsigmoidldajzcie + AUTOEXP, //Evlocallabsigmoidthjzcie + AUTOEXP, //Evlocallabsigmoidbljzcie + AUTOEXP, //Evlocallabadapjzcie + AUTOEXP, //Evlocallabmodecam + AUTOEXP, //Evlocallabhljzcie + AUTOEXP, //Evlocallabhlthjzcie + AUTOEXP, //Evlocallabshjzcie + AUTOEXP, //Evlocallabshthjzcie + AUTOEXP, //Evlocallabradjzcie +// AUTOEXP, //EvlocallabHHshapejz + AUTOEXP, //EvlocallabCHshapejz + AUTOEXP, //Evlocallabjz100 + AUTOEXP, //Evlocallabpqremap + AUTOEXP, //EvlocallabLHshapejz + AUTOEXP, //Evlocallabshargam + AUTOEXP, //Evlocallabvibgam + AUTOEXP, //EvLocallabtoneMethodcie + AUTOEXP, //Evlocallabshapecie + AUTOEXP, //EvLocallabtoneMethodcie2 + AUTOEXP, //Evlocallabshapecie2 + AUTOEXP, //Evlocallabshapejz + AUTOEXP, //Evlocallabshapecz + AUTOEXP, //Evlocallabshapeczjz + AUTOEXP, //Evlocallabforcejz +// AUTOEXP, //Evlocallablightlzcam +// AUTOEXP, //Evlocallablightqzcam +// AUTOEXP, //Evlocallabcontlzcam +// AUTOEXP, //Evlocallabcontqzcam +// AUTOEXP, //Evlocallabcontthreszcam +// AUTOEXP, //Evlocallabcolorflzcam +// AUTOEXP, //Evlocallabsaturzcam +// AUTOEXP, //Evlocallabchromzcam + AUTOEXP, //Evlocallabpqremapcam16 + AUTOEXP, //EvLocallabEnacieMask + AUTOEXP, //EvlocallabCCmaskcieshape + AUTOEXP, //EvlocallabLLmaskcieshape + AUTOEXP, //EvlocallabHHmaskcieshape + AUTOEXP, //Evlocallabblendmaskcie + AUTOEXP, //Evlocallabradmaskcie + AUTOEXP, //Evlocallabchromaskcie + AUTOEXP, //EvlocallabLmaskcieshape + AUTOEXP, //Evlocallabrecothrescie + AUTOEXP, //Evlocallablowthrescie + AUTOEXP, //Evlocallabhigthrescie + AUTOEXP, //Evlocallabdecaycie + AUTOEXP, //Evlocallablapmaskcie + AUTOEXP, //Evlocallabgammaskcie + AUTOEXP, //Evlocallabslomaskcie + AUTOEXP, //Evlocallabqtoj + AUTOEXP, //Evlocallabsaturjzcie + AUTOEXP, //EvLocallabSpotdenoichmask + AUTOEXP, //Evlocallabsigmalcjz + AUTOEXP, //EvlocallabcsThresholdjz + AUTOEXP, //EvlocallabwavCurvejz + AUTOEXP, //Evlocallabclarilresjz + AUTOEXP, //Evlocallabclaricresjz + AUTOEXP, //Evlocallabclarisoftjz + AUTOEXP, //EvlocallabHHshapejz + AUTOEXP, //Evlocallabsoftjzcie + AUTOEXP, //Evlocallabthrhjzcie + AUTOEXP, //Evlocallabchjzcie + AUTOEXP, //Evlocallabstrsoftjzcie + AUTOEXP, //EvlocallabblackEvjz + AUTOEXP, //EvlocallabwhiteEvjz + AUTOEXP, //Evlocallablogjz + AUTOEXP, //Evlocallabtargetjz + AUTOEXP, //Evlocallabforcebw + AUTOEXP, //Evlocallabsigjz + AUTOEXP, //Evlocallabsigq + AUTOEXP //Evlocallablogcie }; diff --git a/rtengine/refreshmap.h b/rtengine/refreshmap.h index 0f3e5ee90..b53252796 100644 --- a/rtengine/refreshmap.h +++ b/rtengine/refreshmap.h @@ -32,6 +32,7 @@ // Elementary functions that can be done to // the preview image when an event occurs +#define M_SPOT (1<<19) #define M_CSHARP (1<<18) #define M_MONITOR (1<<14) #define M_RETINEX (1<<13) @@ -51,23 +52,24 @@ // Bitfield of functions to do to the preview image when an event occurs // Use those or create new ones for your new events -#define FIRST (M_PREPROC|M_RAW|M_INIT|M_LINDENOISE|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR|M_MONITOR) // without HIGHQUAL -#define ALL (M_PREPROC|M_RAW|M_INIT|M_LINDENOISE|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) // without HIGHQUAL -#define DARKFRAME (M_PREPROC|M_RAW|M_INIT|M_LINDENOISE|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) -#define FLATFIELD (M_PREPROC|M_RAW|M_INIT|M_LINDENOISE|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) -#define DEMOSAIC (M_RAW|M_INIT|M_LINDENOISE|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) -#define ALLNORAW (M_INIT|M_LINDENOISE|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) -#define CAPTURESHARPEN (M_INIT|M_LINDENOISE|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR|M_CSHARP) -#define HDR (M_LINDENOISE|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) -#define TRANSFORM (M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) -#define AUTOEXP (M_HDR|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) -#define RGBCURVE (M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) -#define LUMINANCECURVE (M_LUMACURVE|M_LUMINANCE|M_COLOR) -#define SHARPENING (M_LUMINANCE|M_COLOR) -#define IMPULSEDENOISE (M_LUMINANCE|M_COLOR) -#define DEFRINGE (M_LUMINANCE|M_COLOR) -#define DIRPYRDENOISE (M_LUMINANCE|M_COLOR) -#define DIRPYREQUALIZER (M_LUMINANCE|M_COLOR) +#define FIRST (M_PREPROC|M_RAW|M_INIT|M_SPOT|M_LINDENOISE|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR|M_MONITOR) // without HIGHQUAL +#define ALL (M_PREPROC|M_RAW|M_INIT|M_SPOT|M_LINDENOISE|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) // without HIGHQUAL +#define DARKFRAME (M_PREPROC|M_RAW|M_INIT|M_SPOT|M_LINDENOISE|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) +#define FLATFIELD (M_PREPROC|M_RAW|M_INIT|M_SPOT|M_LINDENOISE|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) +#define DEMOSAIC (M_RAW|M_INIT|M_SPOT|M_LINDENOISE|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) +#define ALLNORAW (M_INIT|M_SPOT|M_LINDENOISE|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) +#define CAPTURESHARPEN (M_INIT|M_SPOT|M_LINDENOISE|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR|M_CSHARP) +#define HDR (M_SPOT|M_LINDENOISE|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) +#define SPOTADJUST (M_SPOT|M_HDR|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) +#define TRANSFORM (M_SPOT|M_HDR|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) +#define AUTOEXP (M_SPOT|M_HDR|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) +#define RGBCURVE (M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR) +#define LUMINANCECURVE (M_LUMACURVE|M_LUMINANCE|M_COLOR) +#define SHARPENING (M_LUMINANCE|M_COLOR) +#define IMPULSEDENOISE (M_LUMINANCE|M_COLOR) +#define DEFRINGE (M_LUMINANCE|M_COLOR) +#define DIRPYRDENOISE (M_LUMINANCE|M_COLOR) +#define DIRPYREQUALIZER (M_LUMINANCE|M_COLOR) #define GAMMA M_VOID //M_MONITOR #define CROP M_CROP #define RESIZE M_VOID diff --git a/rtengine/rt_algo.cc b/rtengine/rt_algo.cc index e4ae84a46..ff4c572fa 100644 --- a/rtengine/rt_algo.cc +++ b/rtengine/rt_algo.cc @@ -35,14 +35,24 @@ namespace { -template -T calcBlendFactor(T val, T threshold) { +float calcBlendFactor(float val, float threshold) { // sigmoid function // result is in ]0;1] range // inflexion point is at (x, y) (threshold, 0.5) - return 1.f / (1.f + xexpf(16.f - (16.f / threshold) * val)); + const float x = -16.f + (16.f / threshold) * val; + return 0.5f * (1.f + x / std::sqrt(1.f + rtengine::SQR(x))); } +#ifdef __SSE2__ +vfloat calcBlendFactor(vfloat val, vfloat threshold) { + // sigmoid function + // result is in ]0;1] range + // inflexion point is at (x, y) (threshold, 0.5) + const vfloat x = -16.f + (16.f / threshold) * val; + return 0.5f * (1.f + x * _mm_rsqrt_ps(1.f + rtengine::SQR(x))); +} +#endif + float tileAverage(const float * const *data, size_t tileY, size_t tileX, size_t tilesize) { float avg = 0.f; diff --git a/rtengine/rtengine.h b/rtengine/rtengine.h index facbcdcfd..11a6cdfc8 100644 --- a/rtengine/rtengine.h +++ b/rtengine/rtengine.h @@ -75,6 +75,7 @@ class IImage8; class IImage16; class IImagefloat; class ImageSource; +class TweakOperator; /** * This class provides functions to obtain exif and IPTC metadata information @@ -398,6 +399,7 @@ public: double huer; double lumar; double chromar; + float fab; }; struct locallabRetiMinMax { @@ -412,9 +414,10 @@ public: }; virtual ~LocallabListener() = default; - virtual void refChanged(const std::vector &ref, int selspot) = 0; +// virtual void refChanged(const std::vector &ref, int selspot) = 0; virtual void minmaxChanged(const std::vector &minmax, int selspot) = 0; - virtual void logencodChanged(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg) = 0; + virtual void logencodChanged(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg, const bool autocomput, const bool autocie, const float jz1) = 0; + virtual void refChanged2(float *huerefp, float *chromarefp, float *lumarefp, float *fabrefp, int selspot) = 0; }; class AutoColorTonListener @@ -424,6 +427,15 @@ public: virtual void autoColorTonChanged(int bwct, int satthres, int satprot) = 0; }; +class AutoprimListener +{ +public: + virtual ~AutoprimListener() = default; + virtual void primChanged(float rx, float ry, float bx, float by, float gx, float gy) = 0; + virtual void iprimChanged(float r_x, float r_y, float b_x, float b_y, float g_x, float g_y, float w_x, float w_y) = 0; +}; + + class AutoBWListener { public: @@ -456,7 +468,7 @@ class ImageTypeListener { public: virtual ~ImageTypeListener() = default; - virtual void imageTypeChanged(bool isRaw, bool isBayer, bool isXtrans, bool is_Mono = false) = 0; + virtual void imageTypeChanged(bool isRaw, bool isBayer, bool isXtrans, bool is_Mono = false, bool isGainMapSupported = false) = 0; }; class AutoContrastListener @@ -519,9 +531,20 @@ public: /** Returns the initial image corresponding to the image processor. * @return the initial image corresponding to the image processor */ virtual InitialImage* getInitialImage () = 0; + /** Set the TweakOperator + * @param tOperator is a pointer to the object that will alter the ProcParams for the rendering */ + virtual void setTweakOperator (TweakOperator *tOperator) = 0; + /** Unset the TweakOperator + * @param tOperator is a pointer to the object that were altering the ProcParams for the rendering + * It will only unset the tweak operator if tOperator is the same than the currently set operator. + * If it doesn't match, the currently set TweakOperator will remain set. */ + virtual void unsetTweakOperator (TweakOperator *tOperator) = 0; /** Returns the current processing parameters. - * @param dst is the location where the image processing parameters are copied (it is assumed that the memory is allocated by the caller) */ - virtual void getParams (procparams::ProcParams* dst) = 0; + * Since the ProcParams can be tweaked by a GUI to operate on the image at a specific stage or with disabled tool, + * you'll have to specify if you want the tweaked version for the current special mode, or the untweaked one. + * @param dst is the location where the image processing parameters are copied (it is assumed that the memory is allocated by the caller) + * @param tweaked is used to choose between the tweaked ProcParams (if there is one) or the untweaked one */ + virtual void getParams (procparams::ProcParams* dst, bool tweaked=false) = 0; /** An essential member function. Call this when a setting has been changed. This function returns a pointer to the * processing parameters, that you have to update to reflect the changed situation. When ready, call the paramsUpdateReady * function to start the image update. @@ -564,7 +587,7 @@ public: virtual void updateUnLock() = 0; - virtual void setLocallabMaskVisibility(bool previewDeltaE, int locallColorMask, int locallColorMaskinv, int locallExpMask, int locallExpMaskinv, int locallSHMask, int locallSHMaskinv, int locallvibMask, int locallsoftMask, int locallblMask, int localltmMask, int locallretiMask, int locallsharMask, int localllcMask, int locallcbMask, int localllogMask, int locall_Mask) = 0; + virtual void setLocallabMaskVisibility(bool previewDeltaE, int locallColorMask, int locallColorMaskinv, int locallExpMask, int locallExpMaskinv, int locallSHMask, int locallSHMaskinv, int locallvibMask, int locallsoftMask, int locallblMask, int localltmMask, int locallretiMask, int locallsharMask, int localllcMask, int locallcbMask, int localllogMask, int locall_Mask, int locallcieMask) = 0; /** Creates and returns a Crop instance that acts as a window on the image * @param editDataProvider pointer to the EditDataProvider that communicates with the EditSubscriber @@ -596,6 +619,8 @@ public: virtual void setAutoBWListener (AutoBWListener* l) = 0; virtual void setAutoWBListener (AutoWBListener* l) = 0; virtual void setAutoColorTonListener (AutoColorTonListener* l) = 0; + virtual void setAutoprimListener (AutoprimListener* l) = 0; + virtual void setAutoChromaListener (AutoChromaListener* l) = 0; virtual void setRetinexListener (RetinexListener* l) = 0; virtual void setWaveletListener (WaveletListener* l) = 0; diff --git a/rtengine/rtthumbnail.cc b/rtengine/rtthumbnail.cc index 87ad790eb..ccbbb5f21 100644 --- a/rtengine/rtthumbnail.cc +++ b/rtengine/rtthumbnail.cc @@ -1423,12 +1423,15 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, eSensorT ipf.labColorCorrectionRegions(labView); + + if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || !params.colorappearance.enabled) { ipf.EPDToneMap (labView, 5, 6); } ipf.softLight(labView, params.softlight); + if (params.colorappearance.enabled) { CurveFactory::curveLightBrightColor ( params.colorappearance.curve, @@ -1454,10 +1457,11 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, eSensorT adap = 2000.f; } else { float E_V = fcomp + log2 ((fnum * fnum) / fspeed / (fiso / 100.f)); - float expo2 = params.toneCurve.expcomp; // exposure compensation in tonecurve ==> direct EV + double kexp = 0.; + float expo2 = kexp * params.toneCurve.expcomp; // exposure compensation in tonecurve ==> direct EV E_V += expo2; float expo1;//exposure raw white point - expo1 = log2 (params.raw.expos); //log2 ==>linear to EV + expo1 = 0.5 * log2 (params.raw.expos); //log2 ==>linear to EV E_V += expo1; adap = powf (2.f, E_V - 3.f); //cd / m2 //end calculation adaptation scene luminosity @@ -1477,6 +1481,7 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, eSensorT delete cieView; } + // color processing //ipf.colorCurve (labView, labView); @@ -1929,7 +1934,7 @@ bool Thumbnail::writeImage (const Glib::ustring& fname) Glib::ustring fullFName = fname + ".rtti"; - FILE* f = g_fopen (fullFName.c_str (), "wb"); + FILE* f = ::g_fopen (fullFName.c_str (), "wb"); if (!f) { return false; @@ -1972,7 +1977,7 @@ bool Thumbnail::readImage (const Glib::ustring& fname) return false; } - FILE* f = g_fopen(fullFName.c_str (), "rb"); + FILE* f = ::g_fopen(fullFName.c_str (), "rb"); if (!f) { return false; @@ -2203,7 +2208,7 @@ bool Thumbnail::writeData (const Glib::ustring& fname) return false; } - FILE *f = g_fopen (fname.c_str (), "wt"); + FILE *f = ::g_fopen (fname.c_str (), "wt"); if (!f) { if (settings->verbose) { @@ -2226,7 +2231,7 @@ bool Thumbnail::readEmbProfile (const Glib::ustring& fname) embProfile = nullptr; embProfileLength = 0; - FILE* f = g_fopen (fname.c_str (), "rb"); + FILE* f = ::g_fopen (fname.c_str (), "rb"); if (f) { if (!fseek (f, 0, SEEK_END)) { @@ -2254,7 +2259,7 @@ bool Thumbnail::writeEmbProfile (const Glib::ustring& fname) { if (embProfileData) { - FILE* f = g_fopen (fname.c_str (), "wb"); + FILE* f = ::g_fopen (fname.c_str (), "wb"); if (f) { fwrite (embProfileData, 1, embProfileLength, f); diff --git a/rtengine/settings.h b/rtengine/settings.h index f9ba55257..d804b010f 100644 --- a/rtengine/settings.h +++ b/rtengine/settings.h @@ -60,12 +60,14 @@ public: Glib::ustring rec2020; // filename of Rec2020 profile (default to the bundled one) Glib::ustring ACESp0; // filename of ACES P0 profile (default to the bundled one) Glib::ustring ACESp1; // filename of ACES P1 profile (default to the bundled one) + Glib::ustring DCIP3; // filename of DCIP3 profile (default to the bundled one) bool gamutICC; // no longer used bool gamutLch; bool HistogramWorking; // true: histogram is display the value of the image computed in the Working profile // false: histogram is display the value of the image computed in the Output profile int amchroma; + int amchromajz; int protectred; double protectredh; double nrauto; @@ -82,6 +84,7 @@ public: double level0_cbdl; double level123_cbdl; Glib::ustring lensfunDbDirectory; // The directory containing the lensfun database. If empty, the system defaults will be used, as described in https://lensfun.github.io/manual/latest/dbsearch.html + Glib::ustring lensfunDbBundleDirectory; int cropsleep; double reduchigh; double reduclow; diff --git a/rtengine/simpleprocess.cc b/rtengine/simpleprocess.cc index ef5592074..a951aa456 100644 --- a/rtengine/simpleprocess.cc +++ b/rtengine/simpleprocess.cc @@ -16,28 +16,32 @@ * You should have received a copy of the GNU General Public License * along with RawTherapee. If not, see . */ + +#include +#include + #include "cieimage.h" -#include "dcp.h" -#include "imagefloat.h" -#include "labimage.h" -#include "rtengine.h" +#include "clutstore.h" +#include "color.h" #include "colortemp.h" +#include "curves.h" +#include "dcp.h" +#include "guidedfilter.h" +#include "iccstore.h" +#include "imagefloat.h" #include "imagesource.h" #include "improcfun.h" -#include "curves.h" -#include "iccstore.h" -#include "clutstore.h" +#include "labimage.h" +#include "metadata.h" +#include "mytime.h" #include "processingjob.h" #include "procparams.h" -#include -#include -#include "../rtgui/options.h" #include "rawimagesource.h" +#include "rtengine.h" +#include "utils.h" + #include "../rtgui/multilangmgr.h" -#include "mytime.h" -#include "guidedfilter.h" -#include "color.h" -#include "metadata.h" +#include "../rtgui/options.h" #undef THREAD_PRIORITY_NORMAL @@ -793,6 +797,11 @@ private: params.toneCurve.black = 0; } + // Spot Removal + if (params.spot.enabled && !params.spot.entries.empty ()) { + ipf.removeSpots (baseImg, imgsrc, params.spot.entries, pp, currWB, nullptr, tr); + } + // at this stage, we can flush the raw data to free up quite an important amount of memory // commented out because it makes the application crash when batch processing... // TODO: find a better place to flush rawData and rawRGB @@ -916,6 +925,14 @@ private: //ImProcFunctions ipf (¶ms, true); ImProcFunctions &ipf = * (ipf_p.get()); + for (int sp = 0; sp < (int)params.locallab.spots.size(); sp++) { + if(params.locallab.spots.at(sp).expsharp && params.dirpyrequalizer.cbdlMethod == "bef") { + if(params.locallab.spots.at(sp).shardamping < 1) { + params.locallab.spots.at(sp).shardamping = 1; + } + } + } + if (params.dirpyrequalizer.cbdlMethod == "bef" && params.dirpyrequalizer.enabled && !params.colorappearance.enabled) { const int W = baseImg->getWidth(); const int H = baseImg->getHeight(); @@ -925,21 +942,6 @@ private: ipf.lab2rgb(labcbdl, *baseImg, params.icm.workingProfile); } -/* //gamma TRC working - if (params.icm.workingTRC == "Custom") { //exec TRC IN free - const Glib::ustring profile = params.icm.workingProfile; - - if (profile == "sRGB" || profile == "Adobe RGB" || profile == "ProPhoto" || profile == "WideGamut" || profile == "BruceRGB" || profile == "Beta RGB" || profile == "BestRGB" || profile == "Rec2020" || profile == "ACESp0" || profile == "ACESp1") { - const int cw = baseImg->getWidth(); - const int ch = baseImg->getHeight(); - cmsHTRANSFORM dummyTransForm = nullptr; - // put gamma TRC to 1 - ipf.workingtrc(baseImg, baseImg, cw, ch, -5, params.icm.workingProfile, 2.4, 12.92310, dummyTransForm, true, false, false); - //adjust TRC - ipf.workingtrc(baseImg, baseImg, cw, ch, 5, params.icm.workingProfile, params.icm.workingTRCGamma, params.icm.workingTRCSlope, dummyTransForm, false, true, false); - } - } -*/ // RGB processing labView = new LabImage(fw, fh); @@ -959,6 +961,9 @@ private: LocLHCurve loclhCurve; LocHHCurve lochhCurve; LocCHCurve locchCurve; + LocHHCurve lochhCurvejz; + LocCHCurve locchCurvejz; + LocLHCurve loclhCurvejz; LocCCmaskCurve locccmasCurve; LocLLmaskCurve locllmasCurve; LocHHmaskCurve lochhmasCurve; @@ -990,6 +995,9 @@ private: LocCCmaskCurve locccmaslogCurve; LocLLmaskCurve locllmaslogCurve; LocHHmaskCurve lochhmaslogCurve; + LocCCmaskCurve locccmascieCurve; + LocLLmaskCurve locllmascieCurve; + LocHHmaskCurve lochhmascieCurve; LocCCmaskCurve locccmas_Curve; LocLLmaskCurve locllmas_Curve; @@ -1000,6 +1008,7 @@ private: LocwavCurve loclmasCurvecolwav; LocwavCurve loclmasCurve_wav; LocwavCurve locwavCurve; + LocwavCurve locwavCurvejz; LocwavCurve loclevwavCurve; LocwavCurve locconwavCurve; LocwavCurve loccompwavCurve; @@ -1028,6 +1037,12 @@ private: LUTf lmasklclocalcurve(65536, LUT_CLIP_OFF); LUTf lmaskloglocalcurve(65536, LUT_CLIP_OFF); LUTf lmasklocal_curve(65536, LUT_CLIP_OFF); + LUTf lmaskcielocalcurve(65536, LUT_CLIP_OFF); + LUTf cielocalcurve(65536, LUT_CLIP_OFF); + LUTf cielocalcurve2(65536, LUT_CLIP_OFF); + LUTf jzlocalcurve(65536, LUT_CLIP_OFF); + LUTf czlocalcurve(65536, LUT_CLIP_OFF); + LUTf czjzlocalcurve(65536, LUT_CLIP_OFF); array2D shbuffer; for (size_t sp = 0; sp < params.locallab.spots.size(); sp++) { @@ -1045,6 +1060,9 @@ private: const bool LHutili = loclhCurve.Set(params.locallab.spots.at(sp).LHcurve); const bool HHutili = lochhCurve.Set(params.locallab.spots.at(sp).HHcurve); const bool CHutili = locchCurve.Set(params.locallab.spots.at(sp).CHcurve); + const bool HHutilijz = lochhCurvejz.Set(params.locallab.spots.at(sp).HHcurvejz); + const bool CHutilijz = locchCurvejz.Set(params.locallab.spots.at(sp).CHcurvejz); + const bool LHutilijz = loclhCurvejz.Set(params.locallab.spots.at(sp).LHcurvejz); const bool lcmasutili = locccmasCurve.Set(params.locallab.spots.at(sp).CCmaskcurve); const bool llmasutili = locllmasCurve.Set(params.locallab.spots.at(sp).LLmaskcurve); const bool lhmasutili = lochhmasCurve.Set(params.locallab.spots.at(sp).HHmaskcurve); @@ -1074,6 +1092,9 @@ private: const bool lcmaslogutili = locccmaslogCurve.Set(params.locallab.spots.at(sp).CCmaskcurveL); const bool llmaslogutili = locllmaslogCurve.Set(params.locallab.spots.at(sp).LLmaskcurveL); const bool lhmaslogutili = lochhmaslogCurve.Set(params.locallab.spots.at(sp).HHmaskcurveL); + const bool lcmascieutili = locccmascieCurve.Set(params.locallab.spots.at(sp).CCmaskciecurve); + const bool llmascieutili = locllmascieCurve.Set(params.locallab.spots.at(sp).LLmaskciecurve); + const bool lhmascieutili = lochhmascieCurve.Set(params.locallab.spots.at(sp).HHmaskciecurve); const bool lcmas_utili = locccmas_Curve.Set(params.locallab.spots.at(sp).CCmask_curve); const bool llmas_utili = locllmas_Curve.Set(params.locallab.spots.at(sp).LLmask_curve); @@ -1085,6 +1106,7 @@ private: const bool llmaslcutili = locllmaslcCurve.Set(params.locallab.spots.at(sp).LLmasklccurve); const bool lmasutili_wav = loclmasCurve_wav.Set(params.locallab.spots.at(sp).LLmask_curvewav); const bool locwavutili = locwavCurve.Set(params.locallab.spots.at(sp).locwavcurve); + const bool locwavutilijz = locwavCurvejz.Set(params.locallab.spots.at(sp).locwavcurvejz); const bool locwavhueutili = locwavCurvehue.Set(params.locallab.spots.at(sp).locwavcurvehue); const bool locwavdenutili = locwavCurveden.Set(params.locallab.spots.at(sp).locwavcurveden); const bool loclevwavutili = loclevwavCurve.Set(params.locallab.spots.at(sp).loclevwavcurve); @@ -1109,6 +1131,12 @@ private: const bool localmasklcutili = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).Lmasklccurve, lmasklclocalcurve, 1); const bool localmasklogutili = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).LmaskcurveL, lmaskloglocalcurve, 1); const bool localmask_utili = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).Lmask_curve, lmasklocal_curve, 1); + const bool localmaskcieutili = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).Lmaskciecurve, lmaskcielocalcurve, 1); + const bool localcieutili = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).ciecurve, cielocalcurve, 1); + const bool localcieutili2 = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).ciecurve2, cielocalcurve2, 1); + const bool localjzutili = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).jzcurve, jzlocalcurve, 1); + const bool localczutili = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).czcurve, czlocalcurve, 1); + const bool localczjzutili = CurveFactory::diagonalCurve2Lut(params.locallab.spots.at(sp).czjzcurve, czjzlocalcurve, 1); //provisory double ecomp = params.locallab.spots.at(sp).expcomp; @@ -1130,6 +1158,7 @@ private: float stdtme; float meanretie; float stdretie; + float fab = 1.f; if (params.locallab.spots.at(sp).spotMethod == "exc") { ipf.calc_ref(sp, reservView.get(), reservView.get(), 0, 0, fw, fh, 1, huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, avge, locwavCurveden, locwavdenutili); @@ -1149,11 +1178,12 @@ private: float Tmax; // No Locallab mask is shown in exported picture - ipf.Lab_Local(2, sp, shbuffer, labView, labView, reservView.get(), savenormtmView.get(), savenormretiView.get(), lastorigView.get(), 0, 0, fw, fh, 1, locRETgainCurve, locRETtransCurve, + ipf.Lab_Local(2, sp, shbuffer, labView, labView, reservView.get(), savenormtmView.get(), savenormretiView.get(), lastorigView.get(), fw, fh, 0, 0, fw, fh, 1, locRETgainCurve, locRETtransCurve, lllocalcurve, locallutili, cllocalcurve, localclutili, lclocalcurve, locallcutili, loclhCurve, lochhCurve, locchCurve, + lochhCurvejz, locchCurvejz,loclhCurvejz, lmasklocalcurve, localmaskutili, lmaskexplocalcurve, localmaskexputili, lmaskSHlocalcurve, localmaskSHutili, @@ -1165,6 +1195,12 @@ private: lmasklclocalcurve, localmasklcutili, lmaskloglocalcurve, localmasklogutili, lmasklocal_curve, localmask_utili, + lmaskcielocalcurve, localmaskcieutili, + cielocalcurve, localcieutili, + cielocalcurve2, localcieutili2, + jzlocalcurve, localjzutili, + czlocalcurve, localczutili, + czjzlocalcurve, localczjzutili, locccmasCurve, lcmasutili, locllmasCurve, llmasutili, lochhmasCurve, lhmasutili, lochhhmasCurve, lhhmasutili, locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili, locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili, @@ -1177,10 +1213,12 @@ private: locccmaslogCurve, lcmaslogutili, locllmaslogCurve, llmaslogutili, lochhmaslogCurve, lhmaslogutili, locccmas_Curve, lcmas_utili, locllmas_Curve, llmas_utili, lochhmas_Curve, lhmas_utili, + locccmascieCurve, lcmascieutili, locllmascieCurve, llmascieutili, lochhmascieCurve, lhmascieutili, lochhhmas_Curve, lhhmas_utili, loclmasCurveblwav,lmasutiliblwav, loclmasCurvecolwav,lmasutilicolwav, locwavCurve, locwavutili, + locwavCurvejz, locwavutilijz, loclevwavCurve, loclevwavutili, locconwavCurve, locconwavutili, loccompwavCurve, loccompwavutili, @@ -1189,10 +1227,10 @@ private: locwavCurveden, locwavdenutili, locedgwavCurve, locedgwavutili, loclmasCurve_wav,lmasutili_wav, - LHutili, HHutili, CHutili, cclocalcurve, localcutili, rgblocalcurve, localrgbutili, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, - huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, lastsav, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + LHutili, HHutili, CHutili, HHutilijz, CHutilijz, LHutilijz, cclocalcurve, localcutili, rgblocalcurve, localrgbutili, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, + huerefblu, chromarefblu, lumarefblu, huere, chromare, lumare, sobelre, lastsav, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, minCD, maxCD, mini, maxi, Tmean, Tsigma, Tmin, Tmax, - meantme, stdtme, meanretie, stdretie + meantme, stdtme, meanretie, stdretie, fab ); if (sp + 1u < params.locallab.spots.size()) { @@ -1372,6 +1410,7 @@ private: ipf.chromiLuminanceCurve(nullptr, 1, labView, labView, curve1, curve2, satcurve, lhskcurve, clcurve, lumacurve, utili, autili, butili, ccutili, cclutili, clcutili, dummy, dummy); + if ((params.colorappearance.enabled && !params.colorappearance.tonecie) || (!params.colorappearance.enabled)) { ipf.EPDToneMap (labView, 0, 1); } @@ -1571,6 +1610,52 @@ private: ipf.softLight(labView, params.softlight); + + if (params.icm.workingTRC != ColorManagementParams::WorkingTrc::NONE) { + const int GW = labView->W; + const int GH = labView->H; + std::unique_ptr provis; + const float pres = 0.01f * params.icm.preser; + if (pres > 0.f && params.icm.wprim != ColorManagementParams::Primaries::DEFAULT) { + provis.reset(new LabImage(GW, GH)); + provis->CopyFrom(labView); + } + + const std::unique_ptr tmpImage1(new Imagefloat(GW, GH)); + + ipf.lab2rgb(*labView, *tmpImage1, params.icm.workingProfile); + + const float gamtone = params.icm.workingTRCGamma; + const float slotone = params.icm.workingTRCSlope; + + int illum = toUnderlying(params.icm.will); + const int prim = toUnderlying(params.icm.wprim); + + Glib::ustring prof = params.icm.workingProfile; + + cmsHTRANSFORM dummy = nullptr; + int ill = 0; + ipf.workingtrc(tmpImage1.get(), tmpImage1.get(), GW, GH, -5, prof, 2.4, 12.92310, ill, 0, dummy, true, false, false); + ipf.workingtrc(tmpImage1.get(), tmpImage1.get(), GW, GH, 5, prof, gamtone, slotone, illum, prim, dummy, false, true, true); + + ipf.rgb2lab(*tmpImage1, *labView, params.icm.workingProfile); + // labView and provis + if(provis) { + ipf.preserv(labView, provis.get(), GW, GH); + } + if(params.icm.fbw) { +#ifdef _OPENMP + #pragma omp parallel for +#endif + for (int x = 0; x < GH; x++) + for (int y = 0; y < GW; y++) { + labView->a[x][y] = 0.f; + labView->b[x][y] = 0.f; + } + } + + } + //Colorappearance and tone-mapping associated int f_w = 1, f_h = 1; @@ -1606,8 +1691,9 @@ private: }//if no exif data or wrong else { double E_V = fcomp + log2 ((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 + double kexp = 0.; + E_V += kexp * params.toneCurve.expcomp;// exposure compensation in tonecurve ==> direct EV + E_V += 0.5 * log2(params.raw.expos); // exposure raw white point ; log2 ==> linear to EV adap = std::pow(2.0, E_V - 3.0); //cd / m2 } diff --git a/rtengine/sleef.h b/rtengine/sleef.h index 8611e2fc7..e630d882d 100644 --- a/rtengine/sleef.h +++ b/rtengine/sleef.h @@ -26,7 +26,6 @@ #define L2U .69314718055966295651160180568695068359375 #define L2L .28235290563031577122588448175013436025525412068e-12 #define R_LN2 1.442695040888963407359924681001892137426645954152985934135449406931 -#define pow_F(a,b) (xexpf(b*xlogf(a))) __inline int64_t doubleToRawLongBits(double d) { union { diff --git a/rtengine/spot.cc b/rtengine/spot.cc new file mode 100644 index 000000000..5ed090712 --- /dev/null +++ b/rtengine/spot.cc @@ -0,0 +1,580 @@ +/* + * This file is part of RawTherapee. + * + * Copyright (c) 2004-2010 Gabor Horvath + * + * 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 . + */ + +#include "improcfun.h" +#include "alpha.h" +#include "procparams.h" +#include "imagesource.h" +#include "imagefloat.h" +#include "rt_math.h" +#include +#include +#include + +namespace rtengine +{ + +class SpotBox; + +} + +namespace +{ + +using Boxes = std::vector>; + +/** + * Add the spot and its dependencies to a set of dependencies. + * + * @param spotNum The spot's index. + * @param dependencies A set to place the dependencies in. Spots that are + * already in the set must have all their dependencies included already. + * @param srcSpots Information on spot sources. + * @param dstSpots Information on spot destinations. + */ +void addSpotDependencies(int spotNum, std::unordered_set &dependencies, const Boxes &srcSpots, const Boxes &dstSpots); + +/** + * Returns the supplied spots and all their dependencies. + * + * @param visibleSpots The spots to get dependencies for. + * @param srcSpots Information on spot sources. + * @param dstSpots Information on spot destinations. + */ +std::unordered_set calcSpotDependencies(const std::set &visibleSpots, const Boxes &srcSpots, const Boxes &dstSpots); +} + +namespace rtengine +{ + +class SpotBox { + +public: + enum class Type { + SOURCE, + TARGET, + FINAL + }; + + struct Rectangle { + int x1; + int y1; + int x2; + int y2; + + Rectangle() : Rectangle(0, 0, 0, 0) {} + Rectangle(int X1, int Y1, int X2, int Y2) : x1(X1), y1(Y1), x2(X2), y2(Y2) {} + + int getWidth() { + return x2 - x1 + 1; + } + + int getHeight() { + return y2 - y1 + 1; + } + + bool intersects(const Rectangle &other) const { + return (other.x1 <= x2 && other.x2 >= x1) + && (other.y1 <= y2 && other.y2 >= y1); + } + + bool getIntersection(const Rectangle &other, std::unique_ptr &intersection) const { + if (intersects(other)) { + std::unique_ptr intsec( + new Rectangle( + rtengine::max(x1, other.x1), + rtengine::max(y1, other.y1), + rtengine::min(x2, other.x2), + rtengine::min(y2, other.y2) + ) + ); + + if (intsec->x1 > intsec->x2 || intsec->y1 > intsec->y2) { + return false; + } + + intersection = std::move(intsec); + return true; + } + if (intersection) { + // There's no intersection, we delete the Rectangle structure + intersection.release(); + } + return false; + } + + Rectangle& operator+=(const Coord &v) { + x1 += v.x; + y1 += v.y; + x2 += v.x; + y2 += v.y; + return *this; + } + + Rectangle& operator-=(const Coord &v) { + x1 -= v.x; + y1 -= v.y; + x2 -= v.x; + y2 -= v.y; + return *this; + } + + Rectangle& operator/=(int v) { + if (v == 1) { + return *this; + } + + int w = x2 - x1 + 1; + int h = y2 - y1 + 1; + w = w / v + static_cast(w % v); + h = h / v + static_cast(h % v); + x1 /= v; + y1 /= v; + x2 = x1 + w - 1; + y2 = y1 + h - 1; + + return *this; + } + }; + +private: + Type type; + Imagefloat* image; + +public: + // top/left and bottom/right coordinates of the spot in image space (at some point divided by scale factor) + Rectangle spotArea; + // top/left and bottom/right coordinates of the spot in scaled image space (on borders, imgArea won't cover spotArea) + Rectangle imgArea; + // top/left and bottom/right coordinates of useful part of the image in scaled image space (rounding error workaround) + Rectangle intersectionArea; + float radius; + float featherRadius; + + SpotBox (int tl_x, int tl_y, int br_x, int br_y, int radius, int feather_radius, Imagefloat* image, Type type) : + type(type), + image(image), + spotArea(tl_x, tl_y, br_x, br_y), + imgArea(spotArea), + intersectionArea(), + radius(radius), + featherRadius(feather_radius) + {} + + SpotBox (int tl_x, int tl_y, int radius, int feather_radius, Imagefloat* image, Type type) : + type(type), + image(image), + spotArea(tl_x, tl_y, image ? tl_x + image->getWidth() - 1 : 0, image ? tl_y + image->getHeight() - 1 : 0), + imgArea(spotArea), + intersectionArea(), + radius(radius), + featherRadius(feather_radius) + {} + + SpotBox (SpotEntry &spot, Type type) : + type(type), + image(nullptr), + intersectionArea(), + radius(spot.radius), + featherRadius(int(spot.getFeatherRadius() + 0.5f)) // rounding to int before resizing + { + spotArea.x1 = int ((type == Type::SOURCE ? spot.sourcePos.x : spot.targetPos.x) - featherRadius); + spotArea.x2 = int ((type == Type::SOURCE ? spot.sourcePos.x : spot.targetPos.x) + featherRadius); + spotArea.y1 = int ((type == Type::SOURCE ? spot.sourcePos.y : spot.targetPos.y) - featherRadius); + spotArea.y2 = int ((type == Type::SOURCE ? spot.sourcePos.y : spot.targetPos.y) + featherRadius); + imgArea = spotArea; + } + + ~SpotBox() { + if (image && type != Type::FINAL) { + delete image; + } + } + + SpotBox& operator /=(int v) { + if (v == 1) { + return *this; + } + spotArea /= v; + imgArea /= v; + radius /= float(v); + featherRadius = getWidth() / 2.f; + // intersectionArea doesn't need resize, because it's set after resizing + return *this; + } + + int getWidth() { + return spotArea.getWidth(); + } + + int getHeight() { + return spotArea.getHeight(); + } + + int getImageWidth() { + return imgArea.getWidth(); + } + + int getImageHeight() { + return imgArea.getHeight(); + } + + int getIntersectionWidth() { + return intersectionArea.getWidth(); + } + + int getIntersectionHeight() { + return intersectionArea.getHeight(); + } + + bool checkImageSize() { + if (!image || getImageWidth() != image->getWidth() || getImageHeight() != image->getHeight()) { + return false; + } + return true; + } + + void tuneImageSize() { + if (!image) { + return; + } + if (getImageWidth() > image->getWidth()) { + imgArea.x2 = imgArea.x1 + image->getWidth() - 1; + } + if (getImageHeight() > image->getHeight()) { + imgArea.y2 = imgArea.y1 + image->getHeight() - 1; + } + } + + Imagefloat *getImage() { // TODO: this should send back a const value, but getImage don't want it to be const... + return image; + } + + void allocImage() { + int newW = imgArea.x2 - imgArea.x1 + 1; + int newH = imgArea.y2 - imgArea.y1 + 1; + + if (image && type != Type::FINAL && (image->getWidth() != newW || image->getHeight() != newH)) { + delete image; + image = nullptr; + } + if (image == nullptr) { + image = new Imagefloat(newW, newH); + } + } + + bool spotIntersects(const SpotBox &other) const { + return spotArea.intersects(other.spotArea); + } + + bool getSpotIntersection(const SpotBox &other, std::unique_ptr &intersection) const { + return spotArea.getIntersection(other.spotArea, intersection); + } + + bool imageIntersects(const SpotBox &other, bool atDestLocation=false) const { + if (atDestLocation) { + Coord v(other.spotArea.x1 - spotArea.x1, other.spotArea.y1 - spotArea.y1); + Rectangle imgArea2(imgArea.x1, imgArea.y1, imgArea.x2, imgArea.y2); + imgArea2 += v; + return imgArea2.intersects(other.imgArea); + } + return imgArea.intersects(other.imgArea); + } + + bool mutuallyClipImageArea(SpotBox &other) { + Coord v(other.spotArea.x1 - spotArea.x1, other.spotArea.y1 - spotArea.y1); + Rectangle imgArea2 = imgArea; + imgArea2 += v; + std::unique_ptr intersection; + if (!imgArea2.getIntersection(other.imgArea, intersection)) { + return false; + } + other.intersectionArea = *intersection; + Coord v2(-v.x, -v.y); + *intersection -= v; + intersectionArea = *intersection; + return true; + } + + bool setIntersectionWith(const SpotBox &other) { + if (!spotIntersects(other)) { + return false; + } + imgArea.x1 = rtengine::max(spotArea.x1, other.spotArea.x1); + imgArea.x2 = rtengine::min(spotArea.x2, other.spotArea.x2); + imgArea.y1 = rtengine::max(spotArea.y1, other.spotArea.y1); + imgArea.y2 = rtengine::min(spotArea.y2, other.spotArea.y2); + if (imgArea.x1 > imgArea.x2 || imgArea.y1 > imgArea.y2) { + return false; + } + return true; + } + + bool processIntersectionWith(SpotBox &destBox) { + Imagefloat *dstImg = destBox.image; + + if (image == nullptr || dstImg == nullptr) { + std::cerr << "One of the source or destination SpotBox image is missing !" << std::endl; + return false; + } + + int srcImgY = intersectionArea.y1 - imgArea.y1; + int dstImgY = destBox.intersectionArea.y1 - destBox.imgArea.y1; + for (int y = intersectionArea.y1; y <= intersectionArea.y2; ++y) { + float dy = float(y - spotArea.y1) - featherRadius; + + int srcImgX = intersectionArea.x1 - imgArea.x1; + int dstImgX = destBox.intersectionArea.x1 - destBox.imgArea.x1; + for (int x = intersectionArea.x1; x <= intersectionArea.x2; ++x) { + float dx = float(x - spotArea.x1) - featherRadius; + float r = sqrt(dx * dx + dy * dy); + + if (r >= featherRadius) { + ++srcImgX; + ++dstImgX; + continue; + } + if (r <= radius) { + dstImg->r(dstImgY, dstImgX) = image->r(srcImgY, srcImgX); + dstImg->g(dstImgY, dstImgX) = image->g(srcImgY, srcImgX); + dstImg->b(dstImgY, dstImgX) = image->b(srcImgY, srcImgX); + } else { + float opacity = (featherRadius - r) / (featherRadius - radius); + dstImg->r(dstImgY, dstImgX) = (image->r(srcImgY, srcImgX) - dstImg->r(dstImgY, dstImgX)) * opacity + dstImg->r(dstImgY,dstImgX); + dstImg->g(dstImgY, dstImgX) = (image->g(srcImgY, srcImgX) - dstImg->g(dstImgY, dstImgX)) * opacity + dstImg->g(dstImgY,dstImgX); + dstImg->b(dstImgY, dstImgX) = (image->b(srcImgY, srcImgX) - dstImg->b(dstImgY, dstImgX)) * opacity + dstImg->b(dstImgY,dstImgX); + } + ++srcImgX; + ++dstImgX; + } + ++srcImgY; + ++dstImgY; + } + + return true; + } + + // Copy the intersecting part + bool copyImgTo(SpotBox &destBox) { + Imagefloat *destImg = destBox.image; + + if (image == nullptr || destImg == nullptr) { + std::cerr << "One of the source or destination SpotBox image is missing !" << std::endl; + return false; + } + + std::unique_ptr intersection; + + if (!intersectionArea.getIntersection(destBox.intersectionArea, intersection)) { + return false; + } + + Imagefloat *srcImg = image; + Imagefloat *dstImg = destBox.image; + + int srcImgY = intersection->y1 - imgArea.y1; + int dstImgY = intersection->y1 - destBox.imgArea.y1; + for (int y = intersection->y1; y <= intersection->y2; ++y) { + int srcImgX = intersection->x1 - imgArea.x1; + int dstImgX = intersection->x1 - destBox.imgArea.x1; + + for (int x = intersection->x1; x <= intersection->x2; ++x) { + dstImg->r(dstImgY, dstImgX) = srcImg->r(srcImgY, srcImgX); + dstImg->g(dstImgY, dstImgX) = srcImg->g(srcImgY, srcImgX); + dstImg->b(dstImgY, dstImgX) = srcImg->b(srcImgY, srcImgX); + ++srcImgX; + ++dstImgX; + } + ++srcImgY; + ++dstImgY; + } + + return true; + } +}; + +void ImProcFunctions::removeSpots (Imagefloat* img, ImageSource* imgsrc, const std::vector &entries, const PreviewProps &pp, const ColorTemp &currWB, const ColorManagementParams *cmp, int tr) +{ + //Get the clipped image areas (src & dst) from the source image + + std::vector< std::shared_ptr > srcSpotBoxs; + std::vector< std::shared_ptr > dstSpotBoxs; + int fullImgWidth = 0; + int fullImgHeight = 0; + imgsrc->getFullSize(fullImgWidth, fullImgHeight, tr); + SpotBox fullImageBox(0, 0, fullImgWidth - 1, fullImgHeight - 1, 0, 0, nullptr, SpotBox::Type::FINAL); + SpotBox cropBox(pp.getX(), pp.getY(), + pp.getX() + pp.getWidth() - 1, pp.getY() + pp.getHeight() - 1, + 0, 0, img, SpotBox::Type::FINAL); + + std::set visibleSpots; // list of dest spots intersecting the preview's crop + int i = 0; + + for (auto entry : params->spot.entries) { + std::shared_ptr srcSpotBox(new SpotBox(entry, SpotBox::Type::SOURCE)); + std::shared_ptr dstSpotBox(new SpotBox(entry, SpotBox::Type::TARGET)); + if ( !srcSpotBox->setIntersectionWith(fullImageBox) + || !dstSpotBox->setIntersectionWith(fullImageBox) + || !srcSpotBox->imageIntersects(*dstSpotBox, true)) + { + continue; + } + + // If spot intersect the preview image, add it to the visible spots + if (dstSpotBox->spotIntersects(cropBox)) { + visibleSpots.insert(i); + } + ++i; + + // Source area + PreviewProps spp(srcSpotBox->imgArea.x1, srcSpotBox->imgArea.y1, + srcSpotBox->getImageWidth(), srcSpotBox->getImageHeight(), pp.getSkip()); + int w = 0; + int h = 0; + imgsrc->getSize(spp, w, h); + *srcSpotBox /= pp.getSkip(); + srcSpotBox->allocImage(); + Imagefloat *srcImage = srcSpotBox->getImage(); + for (int y = 0; y < (int)srcImage->getHeight(); ++y) { + for (int x = 0; x < (int)srcImage->getWidth(); ++x) { + srcImage->r(y, x) = 60000.f; + srcImage->g(y, x) = 500.f; + srcImage->b(y, x) = 500.f; + } + } + + imgsrc->getImage(currWB, tr, srcSpotBox->getImage(), spp, params->toneCurve, params->raw); + if (cmp) { + imgsrc->convertColorSpace(srcImage, *cmp, currWB); + } + assert(srcSpotBox->checkImageSize()); + + + // Destination area + spp.set(dstSpotBox->imgArea.x1, dstSpotBox->imgArea.y1, dstSpotBox->getImageWidth(), + dstSpotBox->getImageHeight(), pp.getSkip()); + *dstSpotBox /= pp.getSkip(); + dstSpotBox->allocImage(); + Imagefloat *dstImage = dstSpotBox->getImage(); + for (int y = 0; y < (int)dstImage->getHeight(); ++y) { + for (int x = 0; x < (int)dstImage->getWidth(); ++x) { + dstImage->r(y, x) = 500.f; + dstImage->g(y, x) = 500.f; + dstImage->b(y, x) = 60000.f; + } + } + imgsrc->getImage(currWB, tr, dstSpotBox->getImage(), spp, params->toneCurve, params->raw); + if (cmp) { + imgsrc->convertColorSpace(dstImage, *cmp, currWB); + } + assert(dstSpotBox->checkImageSize()); + + // Update the intersectionArea between src and dest + if (srcSpotBox->mutuallyClipImageArea(*dstSpotBox)) { + srcSpotBoxs.push_back(srcSpotBox); + dstSpotBoxs.push_back(dstSpotBox); + } + + } + + // Construct list of upstream dependencies + + std::unordered_set requiredSpotsSet = calcSpotDependencies(visibleSpots, srcSpotBoxs, dstSpotBoxs); + std::vector requiredSpots(requiredSpotsSet.size()); + std::copy(requiredSpotsSet.begin(), requiredSpotsSet.end(), requiredSpots.begin()); + std::sort(requiredSpots.begin(), requiredSpots.end()); + + // Process spots and copy them downstream + + for (auto i = requiredSpots.begin(); i != requiredSpots.end(); i++) { + // Process + srcSpotBoxs.at(*i)->processIntersectionWith(*dstSpotBoxs.at(*i)); + + // Propagate + std::set positiveSpots; // For DEBUG purpose only ! + auto j = i; + ++j; + while (j != requiredSpots.end()) { + bool intersectionFound = false; + int i_ = *i; + int j_ = *j; + intersectionFound |= dstSpotBoxs.at(i_)->copyImgTo(*srcSpotBoxs.at(j_)); + intersectionFound |= dstSpotBoxs.at(i_)->copyImgTo(*dstSpotBoxs.at(j_)); + if (intersectionFound) { + positiveSpots.insert(j_); + } + ++j; + } + } + + // Copy the dest spot to the preview image + cropBox /= pp.getSkip(); + cropBox.tuneImageSize(); + cropBox.intersectionArea = cropBox.imgArea; + + int f = 0; + for (auto i : visibleSpots) { + f += dstSpotBoxs.at(i)->copyImgTo(cropBox) ? 1 : 0; + } +} + +} + +namespace +{ + +void addSpotDependencies(int spotNum, std::unordered_set &dependencies, const Boxes &srcSpots, const Boxes &dstSpots) +{ + dependencies.insert(spotNum); + + // Our spot can depend on previous spots. + for (int i = spotNum - 1; i >= 0; --i) { + if (dependencies.find(i) != dependencies.end()) { + continue; // Spot already has its dependencies added. + } + + // Check if our spot depends on this previous spot. + if (srcSpots.at(spotNum)->imageIntersects(*dstSpots.at(i))) { + // If so, add it and its dependencies. + addSpotDependencies(i, dependencies, srcSpots, dstSpots); + } + } +} + +std::unordered_set calcSpotDependencies(const std::set &visibleSpots, const Boxes &srcSpots, const Boxes &dstSpots) +{ + std::unordered_set dependencies; + std::vector visibleSpotsOrdered(visibleSpots.size()); + + std::copy(visibleSpots.begin(), visibleSpots.end(), visibleSpotsOrdered.begin()); + std::sort(visibleSpotsOrdered.begin(), visibleSpotsOrdered.end()); + + // Add dependencies, starting with the last spot. + for (auto i = visibleSpotsOrdered.crbegin(); i != visibleSpotsOrdered.crend(); ++i) { + if (dependencies.find(*i) != dependencies.end()) { + continue; // Spot already has its dependencies added. + } + addSpotDependencies(*i, dependencies, srcSpots, dstSpots); + } + + return dependencies; +} + +} + diff --git a/rtengine/stdimagesource.h b/rtengine/stdimagesource.h index 9b95fe34e..f83c58a04 100644 --- a/rtengine/stdimagesource.h +++ b/rtengine/stdimagesource.h @@ -100,6 +100,11 @@ public: return false; } + bool isGainMapSupported() const override + { + return false; + } + void setProgressListener (ProgressListener* pl) override { plistener = pl; diff --git a/rtengine/tweakoperator.h b/rtengine/tweakoperator.h new file mode 100644 index 000000000..5ad97e71b --- /dev/null +++ b/rtengine/tweakoperator.h @@ -0,0 +1,45 @@ +/* + * This file is part of RawTherapee. + * + * Copyright (c) 2019 Jean-Christophe FRISCH + * + * 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 . + */ +#pragma once + +namespace rtengine +{ + +namespace procparams +{ + +class ProcParams; + +} + +/** This class can let objects alter the collected values of the ProcParams for a specific + * purpose, e.g. displaying a preview image at a specific point in the pipeline or with + * disabled tools. Before starting the rendering, the engine will call the TweakOperator + * (if set) to modify the ProcParams. The untweaked one will still exist as a backup, and + * can be sent back if necessary. */ +class TweakOperator +{ +public: + virtual ~TweakOperator() {} + + /** Callback that will alter the ProcParams before the image is computed. */ + virtual void tweakParams(procparams::ProcParams& pparams) = 0; +}; + +} diff --git a/rtengine/winutils.h b/rtengine/winutils.h new file mode 100644 index 000000000..757849dd1 --- /dev/null +++ b/rtengine/winutils.h @@ -0,0 +1,124 @@ +/* + * This file is part of RawTherapee. + * + * Copyright (c) 2021 Lawrence Lee + * + * 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 . + */ +#pragma once + +#ifdef WIN32 + +#include +#include + +#include "noncopyable.h" + + +/** + * Wrapper for pointers to memory allocated by HeapAlloc. + * + * Memory is automatically freed when the object goes out of scope. + */ +template +class WinHeapPtr : public rtengine::NonCopyable +{ +private: + const T ptr; + +public: + WinHeapPtr() = delete; + + /** Allocates the specified number of bytes in the process heap. */ + explicit WinHeapPtr(SIZE_T bytes): ptr(static_cast(HeapAlloc(GetProcessHeap(), 0, bytes))) {}; + + ~WinHeapPtr() + { + // HeapFree does a null check. + HeapFree(GetProcessHeap(), 0, static_cast(ptr)); + } + + T operator ->() const + { + return ptr; + } + + operator T() const + { + return ptr; + } +}; + +/** + * Wrapper for HLOCAL pointers to memory allocated by LocalAlloc. + * + * Memory is automatically freed when the object goes out of scope. + */ +template +class WinLocalPtr : public rtengine::NonCopyable +{ +private: + const T ptr; + +public: + WinLocalPtr() = delete; + + /** Wraps a raw pointer. */ + WinLocalPtr(T pointer): ptr(pointer) {}; + + ~WinLocalPtr() + { + // LocalFree does a null check. + LocalFree(static_cast(ptr)); + } + + T operator ->() const + { + return ptr; + } + + operator T() const + { + return ptr; + } +}; + +/** + * Wrapper for HANDLEs. + * + * Handles are automatically closed when the object goes out of scope. + */ +class WinHandle : public rtengine::NonCopyable +{ +private: + const HANDLE handle; + +public: + WinHandle() = delete; + + /** Wraps a HANDLE. */ + WinHandle(HANDLE handle): handle(handle) {}; + + ~WinHandle() + { + CloseHandle(handle); + } + + operator HANDLE() const + { + return handle; + } +}; + +#endif diff --git a/rtgui/CMakeLists.txt b/rtgui/CMakeLists.txt index 6724e8ee1..8d2f38225 100644 --- a/rtgui/CMakeLists.txt +++ b/rtgui/CMakeLists.txt @@ -62,6 +62,7 @@ set(NONCLISOURCEFILES exiffiltersettings.cc exifpanel.cc exportpanel.cc + externaleditorpreferences.cc extprog.cc fattaltonemap.cc filebrowser.cc @@ -134,6 +135,7 @@ set(NONCLISOURCEFILES retinex.cc rgbcurves.cc rotate.cc + rtappchooserdialog.cc rtimage.cc rtscalable.cc rtsurface.cc @@ -150,6 +152,7 @@ set(NONCLISOURCEFILES softlight.cc soundman.cc splash.cc + spot.cc threadutils.cc thresholdadjuster.cc thresholdselector.cc diff --git a/rtgui/adjuster.cc b/rtgui/adjuster.cc index a2f96cac3..2beb429a8 100644 --- a/rtgui/adjuster.cc +++ b/rtgui/adjuster.cc @@ -198,7 +198,7 @@ void Adjuster::addAutoButton (const Glib::ustring &tooltip) autoChange = automatic->signal_toggled().connect( sigc::mem_fun(*this, &Adjuster::autoToggled) ); if (grid) { - // Hombre, adding the checbox next to the reset button because adding it next to the spin button (as before) + // Hombre, adding the checkbox next to the reset button because adding it next to the spin button (as before) // would diminish the available size for the label and would require a much heavier reorganization of the grid ! grid->attach_next_to(*automatic, *reset, Gtk::POS_RIGHT, 1, 1); } else { diff --git a/rtgui/batchqueueentry.cc b/rtgui/batchqueueentry.cc index 31a6f40c7..9fe4dd605 100644 --- a/rtgui/batchqueueentry.cc +++ b/rtgui/batchqueueentry.cc @@ -34,7 +34,7 @@ bool BatchQueueEntry::iconsLoaded(false); Glib::RefPtr BatchQueueEntry::savedAsIcon; BatchQueueEntry::BatchQueueEntry (rtengine::ProcessingJob* pjob, const rtengine::procparams::ProcParams& pparams, Glib::ustring fname, int prevw, int prevh, Thumbnail* thm, bool overwrite) : - ThumbBrowserEntryBase(fname), + ThumbBrowserEntryBase(fname, thm), opreview(nullptr), origpw(prevw), origph(prevh), diff --git a/rtgui/batchtoolpanelcoord.cc b/rtgui/batchtoolpanelcoord.cc index 4d7a08b5f..9e74ddb90 100644 --- a/rtgui/batchtoolpanelcoord.cc +++ b/rtgui/batchtoolpanelcoord.cc @@ -578,6 +578,14 @@ void BatchToolPanelCoordinator::panelChanged(const rtengine::ProcEvent& event, c } } +void BatchToolPanelCoordinator::setTweakOperator (rtengine::TweakOperator *tOperator) +{ +} + +void BatchToolPanelCoordinator::unsetTweakOperator (rtengine::TweakOperator *tOperator) +{ +} + void BatchToolPanelCoordinator::getAutoWB (double& temp, double& green, double equal, double tempBias) { diff --git a/rtgui/batchtoolpanelcoord.h b/rtgui/batchtoolpanelcoord.h index ea11f97c8..0009724e8 100644 --- a/rtgui/batchtoolpanelcoord.h +++ b/rtgui/batchtoolpanelcoord.h @@ -56,6 +56,8 @@ public: // toolpanellistener interface void panelChanged(const rtengine::ProcEvent& event, const Glib::ustring& descr) override; + void setTweakOperator (rtengine::TweakOperator *tOperator) override; + void unsetTweakOperator (rtengine::TweakOperator *tOperator) override; // profilechangelistener interface void profileChange( diff --git a/rtgui/bayerprocess.cc b/rtgui/bayerprocess.cc index 6da15951f..4d1657a47 100644 --- a/rtgui/bayerprocess.cc +++ b/rtgui/bayerprocess.cc @@ -39,6 +39,7 @@ BayerProcess::BayerProcess () : EvDemosaicContrast = m->newEvent(DEMOSAIC, "HISTORY_MSG_DUALDEMOSAIC_CONTRAST"); EvDemosaicAutoContrast = m->newEvent(DEMOSAIC, "HISTORY_MSG_DUALDEMOSAIC_AUTO_CONTRAST"); EvDemosaicPixelshiftDemosaicMethod = m->newEvent(DEMOSAIC, "HISTORY_MSG_PIXELSHIFT_DEMOSAIC"); + EvPixelshiftAverage = m->newEvent(DEMOSAIC, "HISTORY_MSG_PIXELSHIFT_AVERAGE"); Gtk::Box* hb1 = Gtk::manage (new Gtk::Box ()); hb1->pack_start (*Gtk::manage (new Gtk::Label ( M("TP_RAW_DMETHOD") + ": ")), Gtk::PACK_SHRINK, 4); @@ -226,7 +227,13 @@ BayerProcess::BayerProcess () : pixelShiftMedian = Gtk::manage (new CheckBox(M("TP_RAW_PIXELSHIFTMEDIAN"), multiImage)); pixelShiftMedian->setCheckBoxListener (this); pixelShiftMedian->set_tooltip_text (M("TP_RAW_PIXELSHIFTMEDIAN_TOOLTIP")); + + pixelShiftAverage = Gtk::manage (new CheckBox(M("TP_RAW_PIXELSHIFTAVERAGE"), multiImage)); + pixelShiftAverage->setCheckBoxListener (this); + pixelShiftAverage->set_tooltip_text (M("TP_RAW_PIXELSHIFTAVERAGE_TOOLTIP")); + pixelShiftOptions->pack_start(*pixelShiftMedian); + pixelShiftOptions->pack_start(*pixelShiftAverage); pixelShiftMainVBox->pack_start(*pixelShiftOptions); pixelShiftFrame->add(*pixelShiftMainVBox); @@ -281,6 +288,7 @@ void BayerProcess::read(const rtengine::procparams::ProcParams* pp, const Params } pixelShiftHoleFill->setValue (pp->raw.bayersensor.pixelShiftHoleFill); pixelShiftMedian->setValue (pp->raw.bayersensor.pixelShiftMedian); + pixelShiftAverage->setValue (pp->raw.bayersensor.pixelShiftAverage); pixelShiftGreen->setValue (pp->raw.bayersensor.pixelShiftGreen); pixelShiftBlur->setValue (pp->raw.bayersensor.pixelShiftBlur); pixelShiftSmooth->setValue (pp->raw.bayersensor.pixelShiftSmoothFactor); @@ -314,6 +322,7 @@ void BayerProcess::read(const rtengine::procparams::ProcParams* pp, const Params pixelShiftShowMotionMaskOnly->setEdited (pedited->raw.bayersensor.pixelShiftShowMotionMaskOnly); pixelShiftHoleFill->setEdited (pedited->raw.bayersensor.pixelShiftHoleFill); pixelShiftMedian->setEdited(pedited->raw.bayersensor.pixelShiftMedian); + pixelShiftAverage->setEdited(pedited->raw.bayersensor.pixelShiftAverage); pixelShiftGreen->setEdited (pedited->raw.bayersensor.pixelShiftGreen); pixelShiftBlur->setEdited (pedited->raw.bayersensor.pixelShiftBlur); pixelShiftSmooth->setEditedState ( pedited->raw.bayersensor.pixelShiftSmooth ? Edited : UnEdited); @@ -396,6 +405,7 @@ void BayerProcess::write( rtengine::procparams::ProcParams* pp, ParamsEdited* pe pp->raw.bayersensor.pixelShiftShowMotionMaskOnly = pixelShiftShowMotionMaskOnly->getLastActive (); pp->raw.bayersensor.pixelShiftHoleFill = pixelShiftHoleFill->getLastActive (); pp->raw.bayersensor.pixelShiftMedian = pixelShiftMedian->getLastActive (); + pp->raw.bayersensor.pixelShiftAverage = pixelShiftAverage->getLastActive (); pp->raw.bayersensor.pixelShiftGreen = pixelShiftGreen->getLastActive (); pp->raw.bayersensor.pixelShiftBlur = pixelShiftBlur->getLastActive (); pp->raw.bayersensor.pixelShiftSmoothFactor = pixelShiftSmooth->getValue(); @@ -438,6 +448,7 @@ void BayerProcess::write( rtengine::procparams::ProcParams* pp, ParamsEdited* pe pedited->raw.bayersensor.pixelShiftShowMotionMaskOnly = !pixelShiftShowMotionMaskOnly->get_inconsistent(); pedited->raw.bayersensor.pixelShiftHoleFill = !pixelShiftHoleFill->get_inconsistent(); pedited->raw.bayersensor.pixelShiftMedian = !pixelShiftMedian->get_inconsistent(); + pedited->raw.bayersensor.pixelShiftAverage = !pixelShiftAverage->get_inconsistent(); pedited->raw.bayersensor.pixelShiftGreen = !pixelShiftGreen->get_inconsistent(); pedited->raw.bayersensor.pixelShiftBlur = !pixelShiftBlur->get_inconsistent(); pedited->raw.bayersensor.pixelShiftSmooth = pixelShiftSmooth->getEditedState(); @@ -632,9 +643,19 @@ void BayerProcess::checkBoxToggled (CheckBox* c, CheckValue newval) listener->panelChanged (EvPixelShiftHoleFill, pixelShiftHoleFill->getValueAsStr ()); } } else if (c == pixelShiftMedian) { + if (pixelShiftMedian->getLastActive()) { + pixelShiftAverage->setValue(false); + } if (listener) { listener->panelChanged (EvPixelShiftMedian, pixelShiftMedian->getValueAsStr ()); } + } else if (c == pixelShiftAverage) { + if (pixelShiftAverage->getLastActive()) { + pixelShiftMedian->setValue(false); + } + if (listener) { + listener->panelChanged (EvPixelshiftAverage, pixelShiftAverage->getValueAsStr ()); + } } else if (c == pixelShiftGreen) { if (listener) { listener->panelChanged (EvPixelShiftGreen, pixelShiftGreen->getValueAsStr ()); diff --git a/rtgui/bayerprocess.h b/rtgui/bayerprocess.h index c2af5a987..b9c63e9b2 100644 --- a/rtgui/bayerprocess.h +++ b/rtgui/bayerprocess.h @@ -58,6 +58,7 @@ protected: CheckBox* pixelShiftBlur; CheckBox* pixelShiftHoleFill; CheckBox* pixelShiftMedian; + CheckBox* pixelShiftAverage; CheckBox* pixelShiftEqualBright; CheckBox* pixelShiftEqualBrightChannel; Adjuster* pixelShiftSmooth; @@ -73,6 +74,7 @@ protected: rtengine::ProcEvent EvDemosaicAutoContrast; rtengine::ProcEvent EvDemosaicContrast; rtengine::ProcEvent EvDemosaicPixelshiftDemosaicMethod; + rtengine::ProcEvent EvPixelshiftAverage; public: BayerProcess (); diff --git a/rtgui/blackwhite.cc b/rtgui/blackwhite.cc index e713f1450..d869903b5 100644 --- a/rtgui/blackwhite.cc +++ b/rtgui/blackwhite.cc @@ -49,7 +49,8 @@ BlackWhite::BlackWhite (): FoldableToolPanel(this, "blackwhite", M("TP_BWMIX_LAB metHBox->set_spacing (2); Gtk::Label* metLabel = Gtk::manage (new Gtk::Label (M("TP_BWMIX_MET") + ":")); metHBox->pack_start (*metLabel, Gtk::PACK_SHRINK); - method = Gtk::manage (new MyComboBoxText ()); + + method = Gtk::manage (new MyComboBoxText ()); method->append (M("TP_BWMIX_MET_DESAT")); method->append (M("TP_BWMIX_MET_LUMEQUAL")); method->append (M("TP_BWMIX_MET_CHANMIX")); @@ -811,7 +812,6 @@ void BlackWhite::filterChanged () if (listener && (multiImage || getEnabled())) { listener->panelChanged (EvBWfilter, filter->get_active_text ()); - listener->panelChanged (EvAutoch, M("GENERAL_ENABLED")); } } @@ -1206,7 +1206,6 @@ void BlackWhite::setBatchMode (bool batchMode) { removeIfThere (autoHBox, autoch, false); autoch = Gtk::manage (new Gtk::CheckButton (M("TP_BWMIX_AUTOCH"))); - autoch->set_tooltip_markup (M("TP_BWMIX_AUTOCH_TIP")); autoconn = autoch->signal_toggled().connect( sigc::mem_fun(*this, &BlackWhite::autoch_toggled) ); autoHBox->pack_start (*autoch); diff --git a/rtgui/colorappearance.cc b/rtgui/colorappearance.cc index 8b57aadb4..89661a884 100644 --- a/rtgui/colorappearance.cc +++ b/rtgui/colorappearance.cc @@ -220,7 +220,6 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel (this, "colorappearance" milestones.push_back ( GradientMilestone (1., 1., 1., 1.) ); auto m = ProcEventMapper::getInstance(); - Evcatpreset = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_CAT02PRESET"); EvCATAutotempout = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_TEMPOUT"); EvCATillum = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ILLUM"); EvCATcomplex = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_CATCOMPLEX"); @@ -269,10 +268,6 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel (this, "colorappearance" catHBox->pack_start(*catmethod); genVBox->pack_start (*catHBox, Gtk::PACK_SHRINK); - presetcat02 = Gtk::manage (new Gtk::CheckButton (M ("TP_COLORAPP_PRESETCAT02"))); - presetcat02->set_tooltip_markup (M("TP_COLORAPP_PRESETCAT02_TIP")); - presetcat02conn = presetcat02->signal_toggled().connect( sigc::mem_fun(*this, &ColorAppearance::presetcat02pressed)); -// genVBox->pack_start (*presetcat02, Gtk::PACK_SHRINK); genFrame->add (*genVBox); pack_start (*genFrame, Gtk::PACK_EXPAND_WIDGET, 4); @@ -534,6 +529,7 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel (this, "colorappearance" curveEditorG->setTooltip (M ("TP_COLORAPP_CURVEEDITOR1_TOOLTIP")); shape = static_cast (curveEditorG->addCurve (CT_Diagonal, "", toneCurveMode)); + // shape = static_cast (curveEditorG->addCurve (CT_Diagonal, "J(J)")); @@ -549,6 +545,7 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel (this, "colorappearance" curveEditorG2->setCurveListener (this); shape2 = static_cast (curveEditorG2->addCurve (CT_Diagonal, "", toneCurveMode2)); +// shape2 = static_cast (curveEditorG2->addCurve (CT_Diagonal, "J(J)")); tcmode2conn = toneCurveMode2->signal_changed().connect ( sigc::mem_fun (*this, &ColorAppearance::curveMode2Changed), true ); @@ -684,14 +681,22 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel (this, "colorappearance" ybout->set_tooltip_markup (M ("TP_COLORAPP_YBOUT_TOOLTIP")); tempout->set_tooltip_markup (M ("TP_COLORAPP_TEMP2_TOOLTIP")); - // tempout->throwOnButtonRelease(); - // tempout->addAutoButton (M ("TP_COLORAPP_TEMPOUT_TOOLTIP")); - + tempout->throwOnButtonRelease(); + tempout->addAutoButton (M ("TP_COLORAPP_TEMPOUT_TOOLTIP")); + // I renable tempout with addautobutton to work properly (and all code disabled). There are certainly some redundancies, but it doesn't matter tempout->show(); greenout->show(); ybout->show(); - p3VBox->pack_start (*tempout); - p3VBox->pack_start (*greenout); + Gtk::Frame *tempgreenFrame; + tempgreenFrame = Gtk::manage(new Gtk::Frame()); + tempgreenFrame->set_label_align (0.025, 0.5); + Gtk::Box* tempgreenVBox; + tempgreenVBox = Gtk::manage ( new Gtk::Box(Gtk::ORIENTATION_VERTICAL)); + tempgreenVBox->set_spacing (2); + tempgreenVBox->pack_start (*tempout); + tempgreenVBox->pack_start (*greenout); + tempgreenFrame->add(*tempgreenVBox); + p3VBox->pack_start(*tempgreenFrame); p3VBox->pack_start (*ybout); Gtk::Box* surrHBox = Gtk::manage (new Gtk::Box ()); @@ -716,7 +721,6 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel (this, "colorappearance" gamut = Gtk::manage (new Gtk::CheckButton (M ("TP_COLORAPP_GAMUT"))); - gamut->set_tooltip_markup (M ("TP_COLORAPP_GAMUT_TOOLTIP")); gamutconn = gamut->signal_toggled().connect ( sigc::mem_fun (*this, &ColorAppearance::gamut_toggled) ); pack_start (*gamut, Gtk::PACK_SHRINK); @@ -743,7 +747,7 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel (this, "colorappearance" RTImage *resetImg = Gtk::manage (new RTImage ("undo-small.png", "redo-small.png")); setExpandAlignProperties (resetImg, false, false, Gtk::ALIGN_CENTER, Gtk::ALIGN_CENTER); neutral->set_image (*resetImg); - neutral->set_tooltip_text (M ("TP_COLORAPP_NEUTRAL_TIP")); + neutral->set_tooltip_text (M ("TP_COLORAPP_NEUTRAL_TOOLTIP")); neutralconn = neutral->signal_pressed().connect ( sigc::mem_fun (*this, &ColorAppearance::neutral_pressed) ); neutral->show(); @@ -826,7 +830,7 @@ void ColorAppearance::neutral_pressed () qcontrast->resetValue (false); colorh->resetValue (false); tempout->resetValue (false); -// tempout->setAutoValue (true); + tempout->setAutoValue (true); greenout->resetValue (false); ybout->resetValue (false); tempsc->resetValue (false); @@ -835,7 +839,7 @@ void ColorAppearance::neutral_pressed () wbmodel->set_active (0); illum->set_active (2); toneCurveMode->set_active (0); - toneCurveMode2->set_active (0); + toneCurveMode2->set_active (1); toneCurveMode3->set_active (0); shape->reset(); shape2->reset(); @@ -873,7 +877,6 @@ void ColorAppearance::read (const ProcParams* pp, const ParamsEdited* pedited) tcmodeconn.block (true); tcmode2conn.block (true); tcmode3conn.block (true); - presetcat02conn.block (true); shape->setCurve (pp->colorappearance.curve); shape2->setCurve (pp->colorappearance.curve2); shape3->setCurve (pp->colorappearance.curve3); @@ -881,7 +884,6 @@ void ColorAppearance::read (const ProcParams* pp, const ParamsEdited* pedited) toneCurveMode2->set_active (toUnderlying(pp->colorappearance.curveMode2)); toneCurveMode3->set_active (toUnderlying(pp->colorappearance.curveMode3)); curveMode3Changed(); // This will set the correct sensitive state of depending Adjusters - presetcat02->set_active(pp->colorappearance.presetcat02); nexttemp = pp->wb.temperature; nextgreen = 1.; //pp->wb.green; @@ -919,7 +921,7 @@ void ColorAppearance::read (const ProcParams* pp, const ParamsEdited* pedited) adapscen->setAutoInconsistent (multiImage && !pedited->colorappearance.autoadapscen); ybscen->setAutoInconsistent (multiImage && !pedited->colorappearance.autoybscen); set_inconsistent (multiImage && !pedited->colorappearance.enabled); - // tempout->setAutoInconsistent (multiImage && !pedited->colorappearance.autotempout); + tempout->setAutoInconsistent (multiImage && !pedited->colorappearance.autotempout); shape->setUnChanged (!pedited->colorappearance.curve); shape2->setUnChanged (!pedited->colorappearance.curve2); @@ -945,7 +947,6 @@ void ColorAppearance::read (const ProcParams* pp, const ParamsEdited* pedited) if (!pedited->colorappearance.curveMode3) { toneCurveMode3->set_active (3); } - presetcat02->set_inconsistent(!pedited->colorappearance.presetcat02); } @@ -1105,7 +1106,7 @@ void ColorAppearance::read (const ProcParams* pp, const ParamsEdited* pedited) lastAutoAdapscen = pp->colorappearance.autoadapscen; lastAutoDegreeout = pp->colorappearance.autodegreeout; lastAutoybscen = pp->colorappearance.autoybscen; -// lastAutotempout = pp->colorappearance.autotempout; + lastAutotempout = pp->colorappearance.autotempout; degree->setValue (pp->colorappearance.degree); degree->setAutoValue (pp->colorappearance.autodegree); @@ -1128,15 +1129,11 @@ void ColorAppearance::read (const ProcParams* pp, const ParamsEdited* pedited) qcontrast->setValue (pp->colorappearance.qcontrast); colorh->setValue (pp->colorappearance.colorh); tempout->setValue (pp->colorappearance.tempout); -// tempout->setAutoValue (pp->colorappearance.autotempout); + tempout->setAutoValue (pp->colorappearance.autotempout); greenout->setValue (pp->colorappearance.greenout); ybout->setValue (pp->colorappearance.ybout); tempsc->setValue (pp->colorappearance.tempsc); greensc->setValue (pp->colorappearance.greensc); - presetcat02conn.block (true); - presetcat02->set_active (pp->colorappearance.presetcat02); - presetcat02conn.block (false); - lastpresetcat02 = pp->colorappearance.presetcat02; if (complexmethod->get_active_row_number() == 0) { updateGUIToMode(0); @@ -1196,12 +1193,11 @@ void ColorAppearance::write (ProcParams* pp, ParamsEdited* pedited) pp->colorappearance.curve2 = shape2->getCurve (); pp->colorappearance.curve3 = shape3->getCurve (); pp->colorappearance.tempout = tempout->getValue (); -// pp->colorappearance.autotempout = tempout->getAutoValue (); + pp->colorappearance.autotempout = tempout->getAutoValue (); pp->colorappearance.greenout = greenout->getValue (); pp->colorappearance.ybout = ybout->getValue (); pp->colorappearance.tempsc = tempsc->getValue (); pp->colorappearance.greensc = greensc->getValue (); - pp->colorappearance.presetcat02 = presetcat02->get_active(); int tcMode = toneCurveMode->get_active_row_number(); @@ -1275,8 +1271,7 @@ void ColorAppearance::write (ProcParams* pp, ParamsEdited* pedited) pedited->colorappearance.ybout = ybout->getEditedState (); pedited->colorappearance.tempsc = tempsc->getEditedState (); pedited->colorappearance.greensc = greensc->getEditedState (); - pedited->colorappearance.presetcat02 = presetcat02->get_inconsistent (); -// pedited->colorappearance.autotempout = !tempout->getAutoInconsistent(); + pedited->colorappearance.autotempout = !tempout->getAutoInconsistent(); } @@ -1368,7 +1363,9 @@ void ColorAppearance::updateGUIToMode(int mode) curveEditorG->hide(); curveEditorG2->hide(); curveEditorG3->hide(); - greenout->hide(); + //greenout->hide(); + greenout->set_sensitive(false); + badpixsl->hide(); datacie->hide(); } else { @@ -1377,7 +1374,8 @@ void ColorAppearance::updateGUIToMode(int mode) curveEditorG->show(); curveEditorG2->show(); curveEditorG3->show(); - greenout->show(); + // greenout->show(); + greenout->set_sensitive(true); badpixsl->show(); datacie->show(); } @@ -1396,11 +1394,9 @@ void ColorAppearance::convertParamToNormal() shape2->reset(); shape3->reset(); wbmodel->set_active (0); - if (presetcat02->get_active ()) { - wbmodel->set_active (2); - } if (catmethod->get_active_row_number() == 1 || catmethod->get_active_row_number() == 2) { wbmodel->set_active (2); + illumChanged(); } greenout->setValue(def_params.greenout); @@ -1456,7 +1452,7 @@ void ColorAppearance::catmethodChanged() badpixsl->resetValue (false); illum->set_active (2); toneCurveMode->set_active (0); - toneCurveMode2->set_active (0); + toneCurveMode2->set_active (1); toneCurveMode3->set_active (0); shape->reset(); shape2->reset(); @@ -1485,13 +1481,13 @@ void ColorAppearance::catmethodChanged() ybout->setValue(18); tempout->setValue (nexttemp); -/* if(tempout->getAutoValue()) { - tempout->resetValue (false); - } else { - tempout->setValue (nexttemp); - tempout->setAutoValue (true); - } -*/ + if(tempout->getAutoValue()) { + tempout->resetValue (false); + } else { + tempout->setValue (nexttemp); + tempout->setAutoValue (true); + } + greenout->setValue (nextgreen); enableListener(); @@ -1540,7 +1536,7 @@ void ColorAppearance::catmethodChanged() adaplum->resetValue (false); degreeout->resetValue (false); ybout->resetValue (false); - // tempout->resetValue (false); + tempout->resetValue (false); tempout->setValue (nexttemp); greenout->resetValue (false); enableListener(); @@ -1702,140 +1698,6 @@ void ColorAppearance::badpix_toggled () { } */ -void ColorAppearance::presetcat02pressed () //keep in case of... -{ - if (presetcat02->get_active ()) { - disableListener(); - jlight->resetValue (false); - qbright->resetValue (false); - chroma->resetValue (false); - schroma->resetValue (false); - mchroma->resetValue (false); - rstprotection->resetValue (false); - contrast->resetValue (false); - qcontrast->resetValue (false); - colorh->resetValue (false); - tempout->resetValue (false); - greenout->resetValue (false); - ybout->resetValue (false); - tempsc->resetValue (false); - greensc->resetValue (false); - badpixsl->resetValue (false); - wbmodel->set_active (0); - illum->set_active (2); - toneCurveMode->set_active (0); - toneCurveMode2->set_active (0); - toneCurveMode3->set_active (0); - shape->reset(); - shape2->reset(); - shape3->reset(); - gamutconn.block (true); - gamut->set_active (true); - gamutconn.block (false); - degree->setAutoValue (true); - degree->resetValue (false); - degree->setValue(90); - adapscen->resetValue (false); - adapscen->setAutoValue (true); - degreeout->resetValue (false); - degreeout->setAutoValue (true); - ybscen->resetValue (false); - ybscen->setAutoValue (true); - surrsrc->set_active (0); - wbmodel->set_active (2); - tempsc->resetValue (false); - greensc->resetValue (false); - adapscen->setValue(400.); - ybscen->setValue(18); - surround->set_active (0); - adaplum->setValue(400.); - degreeout->setValue(90); - ybout->setValue(18); - tempout->setValue (nexttemp); - -/* if(tempout->getAutoValue()) { - tempout->resetValue (false); - } else { - tempout->setValue (nexttemp); - tempout->setAutoValue (true); - } -*/ - greenout->setValue (nextgreen); - enableListener(); - } else { - disableListener(); -/* jlight->resetValue (false); - qbright->resetValue (false); - chroma->resetValue (false); - schroma->resetValue (false); - mchroma->resetValue (false); - rstprotection->resetValue (false); - contrast->resetValue (false); - qcontrast->resetValue (false); - colorh->resetValue (false); - tempout->resetValue (false); - greenout->resetValue (false); - ybout->resetValue (false); - tempsc->resetValue (false); - greensc->resetValue (false); - badpixsl->resetValue (false); - wbmodel->set_active (0); - toneCurveMode->set_active (0); - toneCurveMode2->set_active (0); - toneCurveMode3->set_active (0); - shape->reset(); - shape2->reset(); - shape3->reset(); - gamutconn.block (true); - gamut->set_active (true); - gamutconn.block (false); -*/ - degree->setAutoValue (true); - degree->resetValue (false); - adapscen->resetValue (false); - adapscen->setAutoValue (true); - degreeout->resetValue (false); - degreeout->setAutoValue (true); - ybscen->resetValue (false); - ybscen->setAutoValue (true); - surrsrc->set_active (0); - wbmodel->set_active (0); - illum->set_active (2); - tempsc->resetValue (false); - greensc->resetValue (false); - adapscen->resetValue (false); - ybscen->resetValue (false); - surround->set_active (0); - adaplum->resetValue (false); - degreeout->resetValue (false); - ybout->resetValue (false); - tempout->resetValue (false); - greenout->resetValue (false); - enableListener(); - - } - if (batchMode) { - if (presetcat02->get_inconsistent()) { - presetcat02->set_inconsistent (false); - presetcat02conn.block (true); - presetcat02->set_active (false); - presetcat02conn.block (false); - } else if (lastpresetcat02) { - presetcat02->set_inconsistent (true); - } - - lastpresetcat02 = presetcat02->get_active (); - } - - if (listener) { - if (presetcat02->get_active ()) { - listener->panelChanged (Evcatpreset, M ("GENERAL_ENABLED")); - } else { - listener->panelChanged (Evcatpreset, M ("GENERAL_DISABLED")); - } - } - -} void ColorAppearance::datacie_toggled () { @@ -1998,9 +1860,6 @@ void ColorAppearance::autoCamChanged (double ccam, double ccamout) void ColorAppearance::adapCamChanged (double cadap) { - if(presetcat02->get_active()){ - return; - } idle_register.add( [this, cadap]() -> bool @@ -2015,14 +1874,14 @@ void ColorAppearance::adapCamChanged (double cadap) void ColorAppearance::wbCamChanged (double temp, double tin) -{ +{//reactivate this function idle_register.add( [this, temp, tin]() -> bool { disableListener(); tempout->setValue(temp); - greenout->setValue(tin); + greenout->setValue(tin); enableListener(); return false; } @@ -2031,9 +1890,6 @@ void ColorAppearance::wbCamChanged (double temp, double tin) void ColorAppearance::ybCamChanged (int ybsc) { - if(presetcat02->get_active()){ - return; - } idle_register.add( [this, ybsc]() -> bool @@ -2119,16 +1975,6 @@ void ColorAppearance::adjusterChanged(Adjuster* a, double newval) void ColorAppearance::adjusterAutoToggled(Adjuster* a) { - /* - if(presetcat02->get_active ()){ - if(tempout->getAutoValue()) { - tempout->resetValue (false); - } else { - tempout->setValue (nexttemp); - tempout->setAutoValue (true); - } - } -*/ if (multiImage) { if (degree->getAutoInconsistent()) { degree->setAutoInconsistent (false); @@ -2164,7 +2010,7 @@ void ColorAppearance::adjusterAutoToggled(Adjuster* a) ybscen->setAutoInconsistent (true); } -/* lastAutotempout = tempout->getAutoValue(); + lastAutotempout = tempout->getAutoValue(); if (tempout->getAutoInconsistent()) { tempout->setAutoInconsistent (false); @@ -2174,7 +2020,7 @@ void ColorAppearance::adjusterAutoToggled(Adjuster* a) } lastAutotempout = tempout->getAutoValue(); -*/ + } if (listener && (multiImage || getEnabled()) ) { @@ -2218,7 +2064,7 @@ void ColorAppearance::adjusterAutoToggled(Adjuster* a) listener->panelChanged (EvCATAutoyb, M ("GENERAL_DISABLED")); } } -/* + if (a == tempout) { if (tempout->getAutoInconsistent()) { listener->panelChanged (EvCATAutotempout, M ("GENERAL_UNCHANGED")); @@ -2228,7 +2074,7 @@ void ColorAppearance::adjusterAutoToggled(Adjuster* a) listener->panelChanged (EvCATAutotempout, M ("GENERAL_DISABLED")); } } -*/ + } } void ColorAppearance::enabledChanged () diff --git a/rtgui/colorappearance.h b/rtgui/colorappearance.h index ce1971e85..d3953c11f 100644 --- a/rtgui/colorappearance.h +++ b/rtgui/colorappearance.h @@ -68,7 +68,6 @@ public: bool adapCamComputed_ (); void ybCamChanged (int yb) override; bool ybCamComputed_ (); - void presetcat02pressed (); void curveChanged (CurveEditor* ce) override; void curveMode1Changed (); bool curveMode1Changed_ (); @@ -106,7 +105,6 @@ public: void writeOptions (std::vector &tpOpen); private: - rtengine::ProcEvent Evcatpreset; rtengine::ProcEvent EvCATAutotempout; rtengine::ProcEvent EvCATillum; rtengine::ProcEvent EvCATcomplex; @@ -159,8 +157,6 @@ private: Gtk::CheckButton* tonecie; // Gtk::CheckButton* sharpcie; Gtk::Button* neutral; - Gtk::CheckButton* presetcat02; - sigc::connection presetcat02conn; MyComboBoxText* surrsrc; sigc::connection surrsrcconn; @@ -198,7 +194,6 @@ private: bool lastgamut; bool lastdatacie; bool lasttonecie; - bool lastpresetcat02; double nexttemp; double nextgreen; diff --git a/rtgui/colortoning.cc b/rtgui/colortoning.cc index 51ca3a4bc..019bedff6 100644 --- a/rtgui/colortoning.cc +++ b/rtgui/colortoning.cc @@ -315,7 +315,7 @@ ColorToning::ColorToning () : FoldableToolPanel(this, "colortoning", M("TP_COLOR neutrHBox = Gtk::manage (new Gtk::Box()); neutral = Gtk::manage (new Gtk::Button (M("TP_COLORTONING_NEUTRAL"))); - neutral->set_tooltip_text (M("TP_COLORTONING_NEUTRAL_TIP")); + neutral->set_tooltip_text (M("TP_COLORTONING_NEUTRAL_TOOLTIP")); neutralconn = neutral->signal_pressed().connect( sigc::mem_fun(*this, &ColorToning::neutral_pressed) ); neutral->show(); neutrHBox->pack_start (*neutral); @@ -646,7 +646,7 @@ void ColorToning::read (const ProcParams* pp, const ParamsEdited* pedited) lastLumamode = pp->colorToning.lumamode; - labgrid->setParams(pp->colorToning.labgridALow / ColorToningParams::LABGRID_CORR_MAX, pp->colorToning.labgridBLow / ColorToningParams::LABGRID_CORR_MAX, pp->colorToning.labgridAHigh / ColorToningParams::LABGRID_CORR_MAX, pp->colorToning.labgridBHigh / ColorToningParams::LABGRID_CORR_MAX, false); + labgrid->setParams(pp->colorToning.labgridALow / ColorToningParams::LABGRID_CORR_MAX, pp->colorToning.labgridBLow / ColorToningParams::LABGRID_CORR_MAX, pp->colorToning.labgridAHigh / ColorToningParams::LABGRID_CORR_MAX, pp->colorToning.labgridBHigh / ColorToningParams::LABGRID_CORR_MAX, 0, 0, 0, 0,false); if (pedited && !pedited->colorToning.method) { method->set_active (7); @@ -715,8 +715,10 @@ void ColorToning::write (ProcParams* pp, ParamsEdited* pedited) pp->colorToning.satProtectionThreshold = satProtectionThreshold->getIntValue(); pp->colorToning.saturatedOpacity = saturatedOpacity->getIntValue(); pp->colorToning.strength = strength->getIntValue(); - - labgrid->getParams(pp->colorToning.labgridALow, pp->colorToning.labgridBLow, pp->colorToning.labgridAHigh, pp->colorToning.labgridBHigh); + double zerox = 0.; + double zeroy = 0.; + + labgrid->getParams(pp->colorToning.labgridALow, pp->colorToning.labgridBLow, pp->colorToning.labgridAHigh, pp->colorToning.labgridBHigh, zerox, zeroy, zerox, zeroy); pp->colorToning.labgridALow *= ColorToningParams::LABGRID_CORR_MAX; pp->colorToning.labgridAHigh *= ColorToningParams::LABGRID_CORR_MAX; pp->colorToning.labgridBLow *= ColorToningParams::LABGRID_CORR_MAX; @@ -832,7 +834,7 @@ void ColorToning::setDefaults (const ProcParams* defParams, const ParamsEdited* hlColSat->setDefault (defParams->colorToning.hlColSat); shadowsColSat->setDefault (defParams->colorToning.shadowsColSat); strength->setDefault (defParams->colorToning.strength); - labgrid->setDefault(defParams->colorToning.labgridALow / ColorToningParams::LABGRID_CORR_MAX, defParams->colorToning.labgridBLow / ColorToningParams::LABGRID_CORR_MAX, defParams->colorToning.labgridAHigh / ColorToningParams::LABGRID_CORR_MAX, defParams->colorToning.labgridBHigh / ColorToningParams::LABGRID_CORR_MAX); + labgrid->setDefault(defParams->colorToning.labgridALow / ColorToningParams::LABGRID_CORR_MAX, defParams->colorToning.labgridBLow / ColorToningParams::LABGRID_CORR_MAX, defParams->colorToning.labgridAHigh / ColorToningParams::LABGRID_CORR_MAX, defParams->colorToning.labgridBHigh / ColorToningParams::LABGRID_CORR_MAX, 0, 0, 0, 0); if (pedited) { @@ -1430,7 +1432,9 @@ void ColorToning::labRegionGet(int idx) auto &r = labRegionData[idx]; double la, lb; - labRegionAB->getParams(la, lb, r.a, r.b); + double zerox = 0.; + double zeroy = 0.; + labRegionAB->getParams(la, lb, r.a, r.b, zerox, zeroy, zerox, zeroy); r.saturation = labRegionSaturation->getValue(); r.slope = labRegionSlope->getValue(); r.offset = labRegionOffset->getValue(); @@ -1566,9 +1570,9 @@ void ColorToning::labRegionShow(int idx, bool list_only) disableListener(); } rtengine::procparams::ColorToningParams::LabCorrectionRegion dflt; - auto &r = labRegionData[idx]; + auto &r = labRegionData[idx]; if (!list_only) { - labRegionAB->setParams(0, 0, r.a, r.b, false); + labRegionAB->setParams(0, 0, r.a, r.b,0, 0, 0, 0, false); labRegionSaturation->setValue(r.saturation); labRegionSlope->setValue(r.slope); labRegionOffset->setValue(r.offset); diff --git a/rtgui/controllines.cc b/rtgui/controllines.cc index 18da514cc..08f9eda37 100644 --- a/rtgui/controllines.cc +++ b/rtgui/controllines.cc @@ -16,6 +16,7 @@ * You should have received a copy of the GNU General Public License * along with RawTherapee. If not, see . */ +#include #include #include "controllines.h" @@ -27,6 +28,53 @@ using namespace rtengine; +namespace +{ + +enum GeometryIndex { + MO_CANVAS, + MO_OBJECT_COUNT, + + VISIBLE_OBJECT_COUNT = 0 +}; + +/** + * Offsets for mouse-over geometry that can be compared to the mouse-over object + * ID modded with the control line object count. + */ +enum GeometryOffset { + OFFSET_LINE = (MO_OBJECT_COUNT + ::ControlLine::LINE) % ::ControlLine::OBJECT_COUNT, + OFFSET_ICON = (MO_OBJECT_COUNT + ::ControlLine::ICON) % ::ControlLine::OBJECT_COUNT, + OFFSET_BEGIN = (MO_OBJECT_COUNT + ::ControlLine::BEGIN) % ::ControlLine::OBJECT_COUNT, + OFFSET_END = (MO_OBJECT_COUNT + ::ControlLine::END) % ::ControlLine::OBJECT_COUNT, +}; + +/** + * Returns true if the object matches the offset. + */ +constexpr bool checkOffset(int object_id, enum GeometryOffset offset) +{ + return object_id % ::ControlLine::OBJECT_COUNT == offset; +} + +/** + * Converts a control line mouse-over geometry ID to the visible geometry ID. + */ +constexpr int mouseOverIdToVisibleId(int mouse_over_id) +{ + return mouse_over_id - MO_OBJECT_COUNT + VISIBLE_OBJECT_COUNT; +} + +/** + * Converts a control line mouse-over geometry ID to the control line ID. + */ +constexpr int mouseOverIdToLineId(int mouse_over_id) +{ + return (mouse_over_id - MO_OBJECT_COUNT) / ::ControlLine::OBJECT_COUNT; +} + +} + ::ControlLine::~ControlLine() = default; ControlLineManager::ControlLineManager(): @@ -36,6 +84,7 @@ ControlLineManager::ControlLineManager(): draw_mode(false), drawing_line(false), edited(false), + horizontalCount(0), verticalCount(0), prev_obj(-1), selected_object(-1) { @@ -79,11 +128,21 @@ void ControlLineManager::setDrawMode(bool draw) draw_mode = draw; } -size_t ControlLineManager::size(void) const +std::size_t ControlLineManager::size() const { return control_lines.size(); } +std::size_t ControlLineManager::getHorizontalCount() const +{ + return horizontalCount; +} + +std::size_t ControlLineManager::getVerticalCount() const +{ + return verticalCount; +} + bool ControlLineManager::button1Pressed(int modifierKey) { EditDataProvider* dataProvider = getEditProvider(); @@ -96,17 +155,20 @@ bool ControlLineManager::button1Pressed(int modifierKey) const int object = dataProvider->getObject(); - if (object > 0) { // A control line. - if (object % ::ControlLine::OBJ_COUNT == 2) { // Icon. + if (object >= MO_OBJECT_COUNT) { // A control line. + if (checkOffset(object, OFFSET_ICON)) { // Icon. action = Action::PICKING; } else { selected_object = object; action = Action::DRAGGING; } } else if (draw_mode && (modifierKey & GDK_CONTROL_MASK)) { // Add new line. + if (object < 0) { + return false; + } addLine(dataProvider->posImage, dataProvider->posImage); drawing_line = true; - selected_object = mouseOverGeometry.size() - 1; // Select endpoint. + selected_object = mouseOverGeometry.size() - ::ControlLine::OBJECT_COUNT + ::ControlLine::END; // Select endpoint. action = Action::DRAGGING; } @@ -117,7 +179,7 @@ bool ControlLineManager::button1Released(void) { action = Action::NONE; - if (selected_object > 0) { + if (selected_object >= MO_OBJECT_COUNT) { mouseOverGeometry[selected_object]->state = Geometry::NORMAL; } @@ -125,7 +187,7 @@ bool ControlLineManager::button1Released(void) callbacks->lineChanged(); drawing_line = false; selected_object = -1; - return false; + return true; } bool ControlLineManager::button3Pressed(int modifierKey) @@ -134,12 +196,12 @@ bool ControlLineManager::button3Pressed(int modifierKey) action = Action::NONE; - if (!provider || provider->getObject() < 1) { + if (!provider || provider->getObject() < MO_OBJECT_COUNT) { return false; } action = Action::PICKING; - return false; + return true; } bool ControlLineManager::pick1(bool picked) @@ -152,24 +214,27 @@ bool ControlLineManager::pick1(bool picked) EditDataProvider* provider = getEditProvider(); - if (!provider || provider->getObject() % ::ControlLine::OBJ_COUNT != 2) { + if (!provider || !checkOffset(provider->getObject(), OFFSET_ICON)) { return false; } // Change line type. int object_id = provider->getObject(); - ::ControlLine& line = - *control_lines[(object_id - 1) / ::ControlLine::OBJ_COUNT]; + ::ControlLine& line = *control_lines[mouseOverIdToLineId(object_id)]; if (line.type == rtengine::ControlLine::HORIZONTAL) { line.icon = line.icon_v; line.type = rtengine::ControlLine::VERTICAL; + horizontalCount--; + verticalCount++; } else if (line.type == rtengine::ControlLine::VERTICAL) { line.icon = line.icon_h; line.type = rtengine::ControlLine::HORIZONTAL; + horizontalCount++; + verticalCount--; } - visibleGeometry[object_id - 1] = line.icon.get(); + visibleGeometry[mouseOverIdToVisibleId(object_id)] = line.icon.get(); edited = true; callbacks->lineChanged(); @@ -191,38 +256,42 @@ bool ControlLineManager::pick3(bool picked) return false; } - removeLine((provider->getObject() - 1) / ::ControlLine::OBJ_COUNT); + removeLine(mouseOverIdToLineId(provider->getObject())); prev_obj = -1; selected_object = -1; - return false; + return true; } bool ControlLineManager::drag1(int modifierKey) { + if (action != Action::DRAGGING) { + return false; + } + EditDataProvider* provider = getEditProvider(); - if (!provider || selected_object < 1) { + if (!provider || selected_object < MO_OBJECT_COUNT) { return false; } ::ControlLine& control_line = - *control_lines[(selected_object - 1) / ::ControlLine::OBJ_COUNT]; + *control_lines[mouseOverIdToLineId(selected_object)]; // 0 == end, 1 == line, 2 == icon, 3 == begin - int component = selected_object % ::ControlLine::OBJ_COUNT; + int component = selected_object % ::ControlLine::OBJECT_COUNT; Coord mouse = provider->posImage + provider->deltaImage; Coord delta = provider->deltaImage - drag_delta; int ih, iw; provider->getImageSize(iw, ih); switch (component) { - case (0): // end + case (OFFSET_END): // end control_line.end->center = mouse; control_line.end->center.clip(iw, ih); control_line.line->end = control_line.end->center; control_line.end->state = Geometry::DRAGGED; break; - case (1): { // line + case (OFFSET_LINE): { // line // Constrain delta so the end stays above the image. Coord new_delta = control_line.end->center + delta; new_delta.clip(iw, ih); @@ -241,7 +310,7 @@ bool ControlLineManager::drag1(int modifierKey) break; } - case (3): // begin + case (OFFSET_BEGIN): // begin control_line.begin->center = mouse; control_line.begin->center.clip(iw, ih); control_line.line->begin = control_line.begin->center; @@ -260,7 +329,24 @@ bool ControlLineManager::drag1(int modifierKey) autoSetLineType(selected_object); } - return false; + return true; +} + +void ControlLineManager::releaseEdit(void) +{ + action = Action::NONE; + + if (selected_object >= MO_OBJECT_COUNT) { + mouseOverGeometry[selected_object]->state = Geometry::NORMAL; + } + if (prev_obj >= MO_OBJECT_COUNT) { + visibleGeometry[mouseOverIdToVisibleId(prev_obj)]->state = Geometry::NORMAL; + } + + edited = true; + callbacks->lineChanged(); + drawing_line = false; + selected_object = -1; } bool ControlLineManager::getEdited(void) const @@ -268,7 +354,7 @@ bool ControlLineManager::getEdited(void) const return edited; } -CursorShape ControlLineManager::getCursor(int objectID) const +CursorShape ControlLineManager::getCursor(int objectID, int xPos, int yPos) const { return cursor; } @@ -283,7 +369,7 @@ bool ControlLineManager::mouseOver(int modifierKey) int cur_obj = provider->getObject(); - if (cur_obj == 0) { // Canvas + if (cur_obj == MO_CANVAS) { // Canvas if (draw_mode && modifierKey & GDK_CONTROL_MASK) { cursor = CSCrosshair; } else { @@ -291,16 +377,16 @@ bool ControlLineManager::mouseOver(int modifierKey) } } else if (cur_obj < 0) { // Nothing cursor = CSArrow; - } else if (cur_obj % ::ControlLine::OBJ_COUNT == 2) { // Icon - visibleGeometry[cur_obj - 1]->state = Geometry::PRELIGHT; + } else if (checkOffset(cur_obj, OFFSET_ICON)) { // Icon + visibleGeometry[mouseOverIdToVisibleId(cur_obj)]->state = Geometry::PRELIGHT; cursor = CSArrow; } else { // Object - visibleGeometry[cur_obj - 1]->state = Geometry::PRELIGHT; + visibleGeometry[mouseOverIdToVisibleId(cur_obj)]->state = Geometry::PRELIGHT; cursor = CSMove2D; } - if (prev_obj != cur_obj && prev_obj > 0) { - visibleGeometry[prev_obj - 1]->state = Geometry::NORMAL; + if (prev_obj != cur_obj && prev_obj >= MO_OBJECT_COUNT) { + visibleGeometry[mouseOverIdToVisibleId(prev_obj)]->state = Geometry::NORMAL; } prev_obj = cur_obj; @@ -394,22 +480,42 @@ void ControlLineManager::addLine(Coord begin, Coord end, control_line->line = std::move(line); control_line->type = type; + auto assertEqual = [](size_t a, int b) { + assert(b >= 0); + assert(a == static_cast(b)); + }; + + const int base_visible_offset = VISIBLE_OBJECT_COUNT + ::ControlLine::OBJECT_COUNT * control_lines.size(); + assertEqual(visibleGeometry.size(), base_visible_offset + ::ControlLine::LINE); EditSubscriber::visibleGeometry.push_back(control_line->line.get()); + assertEqual(visibleGeometry.size(), base_visible_offset + ::ControlLine::ICON); EditSubscriber::visibleGeometry.push_back(control_line->icon.get()); + assertEqual(visibleGeometry.size(), base_visible_offset + ::ControlLine::BEGIN); EditSubscriber::visibleGeometry.push_back(control_line->begin.get()); + assertEqual(visibleGeometry.size(), base_visible_offset + ::ControlLine::END); EditSubscriber::visibleGeometry.push_back(control_line->end.get()); + const int base_mo_count = MO_OBJECT_COUNT + ::ControlLine::OBJECT_COUNT * control_lines.size(); + assertEqual(mouseOverGeometry.size(), base_mo_count + ::ControlLine::LINE); EditSubscriber::mouseOverGeometry.push_back(control_line->line.get()); + assertEqual(mouseOverGeometry.size(), base_mo_count + ::ControlLine::ICON); EditSubscriber::mouseOverGeometry.push_back(control_line->icon.get()); + assertEqual(mouseOverGeometry.size(), base_mo_count + ::ControlLine::BEGIN); EditSubscriber::mouseOverGeometry.push_back(control_line->begin.get()); + assertEqual(mouseOverGeometry.size(), base_mo_count + ::ControlLine::END); EditSubscriber::mouseOverGeometry.push_back(control_line->end.get()); control_lines.push_back(std::move(control_line)); + if (type == rtengine::ControlLine::HORIZONTAL) { + horizontalCount++; + } else { + verticalCount++; + } } void ControlLineManager::autoSetLineType(int object_id) { - int line_id = (object_id - 1) / ::ControlLine::OBJ_COUNT; + int line_id = mouseOverIdToLineId(object_id); ::ControlLine& line = *control_lines[line_id]; int dx = line.begin->center.x - line.end->center.x; @@ -437,7 +543,15 @@ void ControlLineManager::autoSetLineType(int object_id) if (type != line.type) { // Need to update line type. line.type = type; line.icon = icon; - visibleGeometry[line_id * ::ControlLine::OBJ_COUNT + 1] = + if (type == rtengine::ControlLine::HORIZONTAL) { + horizontalCount++; + verticalCount--; + } else { + horizontalCount--; + verticalCount++; + } + visibleGeometry[line_id * ::ControlLine::OBJECT_COUNT ++ VISIBLE_OBJECT_COUNT + ::ControlLine::ICON] = line.icon.get(); } } @@ -445,31 +559,36 @@ void ControlLineManager::autoSetLineType(int object_id) void ControlLineManager::removeAll(void) { visibleGeometry.clear(); - mouseOverGeometry.erase(mouseOverGeometry.begin() + 1, + mouseOverGeometry.erase(mouseOverGeometry.begin() + MO_OBJECT_COUNT, mouseOverGeometry.end()); control_lines.clear(); + horizontalCount = verticalCount = 0; prev_obj = -1; selected_object = -1; edited = true; callbacks->lineChanged(); } -void ControlLineManager::removeLine(size_t line_id) +void ControlLineManager::removeLine(std::size_t line_id) { if (line_id >= control_lines.size()) { return; } visibleGeometry.erase( - visibleGeometry.begin() + ::ControlLine::OBJ_COUNT * line_id, - visibleGeometry.begin() + ::ControlLine::OBJ_COUNT * line_id - + ::ControlLine::OBJ_COUNT + visibleGeometry.begin() + ::ControlLine::OBJECT_COUNT * line_id + VISIBLE_OBJECT_COUNT, + visibleGeometry.begin() + ::ControlLine::OBJECT_COUNT * line_id + VISIBLE_OBJECT_COUNT + + ::ControlLine::OBJECT_COUNT ); mouseOverGeometry.erase( - mouseOverGeometry.begin() + ::ControlLine::OBJ_COUNT * line_id + 1, - mouseOverGeometry.begin() + ::ControlLine::OBJ_COUNT * line_id - + ::ControlLine::OBJ_COUNT + 1 + mouseOverGeometry.begin() + ::ControlLine::OBJECT_COUNT * line_id + MO_OBJECT_COUNT, + mouseOverGeometry.begin() + ::ControlLine::OBJECT_COUNT * line_id + MO_OBJECT_COUNT + ::ControlLine::OBJECT_COUNT ); + if (control_lines[line_id]->type == rtengine::ControlLine::HORIZONTAL) { + horizontalCount--; + } else { + verticalCount--; + } control_lines.erase(control_lines.begin() + line_id); edited = true; diff --git a/rtgui/controllines.h b/rtgui/controllines.h index 61bc17678..7f3f74b7b 100644 --- a/rtgui/controllines.h +++ b/rtgui/controllines.h @@ -31,7 +31,14 @@ class RTSurface; struct ControlLine { - static constexpr int OBJ_COUNT = 4; + enum ObjectIndex { + LINE, + ICON, + BEGIN, + END, + OBJECT_COUNT + }; + std::unique_ptr line; std::shared_ptr icon; std::shared_ptr icon_h, icon_v; @@ -53,6 +60,7 @@ protected: bool draw_mode; bool drawing_line; bool edited; + std::size_t horizontalCount, verticalCount; Cairo::RefPtr line_icon_h, line_icon_v; Cairo::RefPtr line_icon_h_prelight, line_icon_v_prelight; int prev_obj; @@ -68,7 +76,7 @@ protected: * line, inclusive, the line type is set to vertical. Otherwise, horizontal. */ void autoSetLineType(int object_id); - void removeLine(size_t line_id); + void removeLine(std::size_t line_id); public: class Callbacks @@ -88,6 +96,12 @@ public: ~ControlLineManager(); bool getEdited(void) const; + /** Returns the number of horizontal control lines. */ + std::size_t getHorizontalCount() const; + /** Returns the number of vertical control lines. */ + std::size_t getVerticalCount() const; + /** Release anything that is currently being dragged. */ + void releaseEdit(void); void removeAll(void); /** Sets whether or not the lines are visible and interact-able. */ void setActive(bool active); @@ -97,7 +111,7 @@ public: void setEditProvider(EditDataProvider* provider); void setLines(const std::vector& lines); /** Returns the number of lines. */ - size_t size(void) const; + std::size_t size() const; /** * Allocates a new array and populates it with copies of the control lines. */ @@ -110,7 +124,7 @@ public: bool pick1(bool picked) override; bool pick3(bool picked) override; bool drag1(int modifierKey) override; - CursorShape getCursor(int objectID) const override; + CursorShape getCursor(int objectID, int xPos, int yPos) const override; bool mouseOver(int modifierKey) override; void switchOffEditMode(void) override; }; diff --git a/rtgui/controlspotpanel.cc b/rtgui/controlspotpanel.cc index f16ae2cf4..a29a3a885 100644 --- a/rtgui/controlspotpanel.cc +++ b/rtgui/controlspotpanel.cc @@ -24,6 +24,7 @@ #include "options.h" #include "../rtengine/procparams.h" #include "rtimage.h" +#include "eventmapper.h" using namespace rtengine; using namespace procparams; @@ -53,8 +54,9 @@ ControlSpotPanel::ControlSpotPanel(): spotMethod_(Gtk::manage(new MyComboBoxText())), shapeMethod_(Gtk::manage(new MyComboBoxText())), qualityMethod_(Gtk::manage(new MyComboBoxText())), - complexMethod_(Gtk::manage(new MyComboBoxText())), + //complexMethod_(Gtk::manage(new MyComboBoxText())), wavMethod_(Gtk::manage(new MyComboBoxText())), + avoidgamutMethod_(Gtk::manage(new MyComboBoxText())), sensiexclu_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSIEXCLU"), 0, 100, 1, 12))), structexclu_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_STRUCCOL"), 0, 100, 1, 0))), @@ -76,20 +78,19 @@ ControlSpotPanel::ControlSpotPanel(): balanh_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BALANH"), 0.2, 2.5, 0.1, 1.0, Gtk::manage(new RTImage("rawtherapee-logo-16.png")), Gtk::manage(new RTImage("circle-red-green-small.png"))))), colorde_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_COLORDE"), -15, 15, 2, 5, Gtk::manage(new RTImage("circle-blue-yellow-small.png")), Gtk::manage(new RTImage("circle-gray-green-small.png"))))), colorscope_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_COLORSCOPE"), 0., 100.0, 1., 30.))), - avoidrad_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_AVOIDRAD"), 0., 30.0, 0.1, 0.7))), + avoidrad_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_AVOIDRAD"), 0., 30.0, 0.1, 0.))), scopemask_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SCOPEMASK"), 0, 100, 1, 60))), + denoichmask_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_DENOIMASK"), 0., 100., 0.5, 0))), lumask_(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LUMASK"), -50, 30, 1, 10, Gtk::manage(new RTImage("circle-yellow-small.png")), Gtk::manage(new RTImage("circle-gray-small.png")) ))), hishow_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_PREVSHOW")))), activ_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_ACTIVSPOT")))), - avoid_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_AVOID")))), - avoidmun_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_AVOIDMUN")))), blwh_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_BLWH")))), recurs_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_RECURS")))), laplac_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_LAPLACC")))), deltae_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_DELTAEC")))), shortc_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_SHORTC")))), - savrest_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_SAVREST")))), + //savrest_(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_SAVREST")))), expTransGrad_(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_TRANSIT")))), expShapeDetect_(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_ARTIF")))), @@ -99,6 +100,7 @@ ControlSpotPanel::ControlSpotPanel(): preview_(Gtk::manage(new Gtk::ToggleButton(M("TP_LOCALLAB_PREVIEW")))), ctboxshape(Gtk::manage(new Gtk::Box())), ctboxshapemethod(Gtk::manage(new Gtk::Box())), + ctboxgamut(Gtk::manage(new Gtk::Box())), controlPanelListener(nullptr), lastObject_(-1), @@ -110,6 +112,8 @@ ControlSpotPanel::ControlSpotPanel(): excluFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_EXCLUF")))), maskPrevActive(false) { + auto m = ProcEventMapper::getInstance(); + EvLocallabavoidgamutMethod = m->newEvent(AUTOEXP, "HISTORY_MSG_LOCAL_GAMUTMUNSEL"); const bool showtooltip = options.showtooltip; pack_start(*hishow_); @@ -330,6 +334,7 @@ ControlSpotPanel::ControlSpotPanel(): feather_->set_tooltip_text(M("TP_LOCALLAB_FEATH_TOOLTIP")); transitgrad_->set_tooltip_text(M("TP_LOCALLAB_TRANSITGRAD_TOOLTIP")); scopemask_->set_tooltip_text(M("TP_LOCALLAB_SCOPEMASK_TOOLTIP")); + denoichmask_->set_tooltip_text(M("TP_LOCALLAB_DENOIMASK_TOOLTIP")); } transit_->setAdjusterListener(this); @@ -337,6 +342,7 @@ ControlSpotPanel::ControlSpotPanel(): transitgrad_->setAdjusterListener(this); feather_->setAdjusterListener(this); scopemask_->setAdjusterListener(this); + denoichmask_->setAdjusterListener(this); transitBox->pack_start(*transit_); transitBox->pack_start(*transitweak_); transitBox->pack_start(*transitgrad_); @@ -394,20 +400,31 @@ ControlSpotPanel::ControlSpotPanel(): activConn_ = activ_->signal_toggled().connect( sigc::mem_fun(*this, &ControlSpotPanel::activChanged)); - avoidConn_ = avoid_->signal_toggled().connect( - sigc::mem_fun(*this, &ControlSpotPanel::avoidChanged)); - avoidmunConn_ = avoidmun_->signal_toggled().connect( - sigc::mem_fun(*this, &ControlSpotPanel::avoidmunChanged)); - - Gtk::Frame* const avFrame = Gtk::manage(new Gtk::Frame()); + Gtk::Label* const labelgamut = Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_AVOID") + ":")); + ctboxgamut->pack_start(*labelgamut, Gtk::PACK_SHRINK, 4); + avoidgamutMethod_->append(M("TP_LOCALLAB_GAMUTNON")); + avoidgamutMethod_->append(M("TP_LOCALLAB_GAMUTLABRELA")); + avoidgamutMethod_->append(M("TP_LOCALLAB_GAMUTXYZABSO")); + avoidgamutMethod_->append(M("TP_LOCALLAB_GAMUTXYZRELA")); + avoidgamutMethod_->append(M("TP_LOCALLAB_GAMUTMUNSELL")); + avoidgamutMethod_->set_active(4); + avoidgamutconn_ = avoidgamutMethod_->signal_changed().connect( + sigc::mem_fun( + *this, &ControlSpotPanel::avoidgamutMethodChanged)); + ctboxgamut->pack_start(*avoidgamutMethod_); + if (showtooltip) { + ctboxgamut->set_tooltip_text(M("TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP")); + } + + Gtk::Frame* const avFrame = Gtk::manage(new Gtk::Frame()); ToolParamBlock* const avbox = Gtk::manage(new ToolParamBlock()); avFrame->set_label_align(0.025, 0.5); - avFrame->set_label_widget(*avoid_); + avbox->pack_start(*ctboxgamut); avbox->pack_start(*avoidrad_); - avbox->pack_start(*avoidmun_); avFrame->add(*avbox); specCaseBox->pack_start(*avFrame); + blwhConn_ = blwh_->signal_toggled().connect( sigc::mem_fun(*this, &ControlSpotPanel::blwhChanged)); @@ -422,7 +439,6 @@ ControlSpotPanel::ControlSpotPanel(): if (showtooltip) { recurs_->set_tooltip_text(M("TP_LOCALLAB_RECURS_TOOLTIP")); - avoid_->set_tooltip_text(M("TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP")); } specCaseBox->pack_start(*recurs_); @@ -469,11 +485,11 @@ ControlSpotPanel::ControlSpotPanel(): } lumask_->setAdjusterListener(this); - savrestConn_ = savrest_->signal_toggled().connect( - sigc::mem_fun(*this, &ControlSpotPanel::savrestChanged)); + //savrestConn_ = savrest_->signal_toggled().connect( + // sigc::mem_fun(*this, &ControlSpotPanel::savrestChanged)); if (showtooltip) { - savrest_->set_tooltip_text(M("TP_LOCALLAB_SAVREST_TOOLTIP")); + //savrest_->set_tooltip_text(M("TP_LOCALLAB_SAVREST_TOOLTIP")); lumask_->set_tooltip_text(M("TP_LOCALLAB_LUMASK_TOOLTIP")); laplac_->set_tooltip_text(M("TP_LOCALLAB_LAP_MASK_TOOLTIP")); } @@ -481,6 +497,7 @@ ControlSpotPanel::ControlSpotPanel(): // maskBox->pack_start(*laplac_); maskBox->pack_start(*deltae_); maskBox->pack_start(*scopemask_); + maskBox->pack_start(*denoichmask_); // maskBox->pack_start(*shortc_); maskBox->pack_start(*lumask_); // maskBox->pack_start(*savrest_); @@ -490,27 +507,27 @@ ControlSpotPanel::ControlSpotPanel(): Gtk::Separator *separatormet = Gtk::manage(new Gtk::Separator(Gtk::ORIENTATION_HORIZONTAL)); pack_start(*separatormet, Gtk::PACK_SHRINK, 2); - Gtk::Box* const ctboxcomplexmethod = Gtk::manage(new Gtk::Box()); + //Gtk::Box* const ctboxcomplexmethod = Gtk::manage(new Gtk::Box()); - if (showtooltip) { - ctboxcomplexmethod->set_tooltip_markup(M("TP_LOCALLAB_COMPLEXMETHOD_TOOLTIP")); - } + //if (showtooltip) { + // ctboxcomplexmethod->set_tooltip_markup(M("TP_LOCALLAB_COMPLEXMETHOD_TOOLTIP")); + //} - Gtk::Label* const labelcomplexmethod = Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_COMPLEX_METHOD") + ":")); - ctboxcomplexmethod->pack_start(*labelcomplexmethod, Gtk::PACK_SHRINK, 4); + //Gtk::Label* const labelcomplexmethod = Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_COMPLEX_METHOD") + ":")); + //ctboxcomplexmethod->pack_start(*labelcomplexmethod, Gtk::PACK_SHRINK, 4); - if (showtooltip) { - complexMethod_->set_tooltip_markup(M("TP_LOCALLAB_COMPLEX_TOOLTIP")); - } + //if (showtooltip) { + // complexMethod_->set_tooltip_markup(M("TP_LOCALLAB_COMPLEX_TOOLTIP")); + //} - complexMethod_->append(M("TP_LOCALLAB_SIM")); - complexMethod_->append(M("TP_LOCALLAB_MED")); - complexMethod_->append(M("TP_LOCALLAB_ALL")); - complexMethod_->set_active(1); - complexMethodconn_ = complexMethod_->signal_changed().connect( - sigc::mem_fun( - *this, &ControlSpotPanel::complexMethodChanged)); - ctboxcomplexmethod->pack_start(*complexMethod_); + //complexMethod_->append(M("TP_LOCALLAB_SIM")); + //complexMethod_->append(M("TP_LOCALLAB_MED")); + //complexMethod_->append(M("TP_LOCALLAB_ALL")); + //complexMethod_->set_active(1); + //complexMethodconn_ = complexMethod_->signal_changed().connect( + // sigc::mem_fun( + // *this, &ControlSpotPanel::complexMethodChanged)); + //ctboxcomplexmethod->pack_start(*complexMethod_); // pack_start(*ctboxcomplexmethod); /* Gtk::Box* const ctboxwavmethod = Gtk::manage(new Gtk::Box()); @@ -703,6 +720,9 @@ void ControlSpotPanel::on_button_rename() row[spots_.name] = newname; treeview_->columns_autosize(); listener->panelChanged(EvLocallabSpotName, newname); + if (controlPanelListener) { + controlPanelListener->spotNameChanged(newname); + } } } } @@ -843,19 +863,20 @@ void ControlSpotPanel::load_ControlSpot_param() avoidrad_->setValue((double)row[spots_.avoidrad]); hishow_->set_active(row[spots_.hishow]); activ_->set_active(row[spots_.activ]); - avoid_->set_active(row[spots_.avoid]); - avoidmun_->set_active(row[spots_.avoidmun]); blwh_->set_active(row[spots_.blwh]); recurs_->set_active(row[spots_.recurs]); // laplac_->set_active(row[spots_.laplac]); laplac_->set_active(true); deltae_->set_active(row[spots_.deltae]); scopemask_->setValue((double)row[spots_.scopemask]); + denoichmask_->setValue(row[spots_.denoichmask]); shortc_->set_active(row[spots_.shortc]); lumask_->setValue((double)row[spots_.lumask]); - savrest_->set_active(row[spots_.savrest]); - complexMethod_->set_active(row[spots_.complexMethod]); + //savrest_->set_active(row[spots_.savrest]); + //complexMethod_->set_active(row[spots_.complexMethod]); wavMethod_->set_active(row[spots_.wavMethod]); + avoidgamutMethod_->set_active(row[spots_.avoidgamutMethod]); + } void ControlSpotPanel::controlspotChanged() @@ -1043,6 +1064,34 @@ void ControlSpotPanel::spotMethodChanged() } } +void ControlSpotPanel::avoidgamutMethodChanged() +{ + + // Get selected control spot + const auto s = treeview_->get_selection(); + + if (!s->count_selected_rows()) { + return; + } + const int meth = avoidgamutMethod_->get_active_row_number(); + avoidrad_->show(); + + if(meth == 2 || meth == 3 || meth == 4) { + avoidrad_->hide(); + } + + const auto iter = s->get_selected(); + Gtk::TreeModel::Row row = *iter; + + row[spots_.avoidgamutMethod] = avoidgamutMethod_->get_active_row_number(); + + // Raise event + if (listener) { + listener->panelChanged(EvLocallabavoidgamutMethod, avoidgamutMethod_->get_active_text()); + } + +} + void ControlSpotPanel::shapeMethodChanged() { // printf("shapeMethodChanged\n"); @@ -1145,37 +1194,37 @@ void ControlSpotPanel::qualityMethodChanged() } } -void ControlSpotPanel::complexMethodChanged() -{ - // printf("qualityMethodChanged\n"); - - // Get selected control spot - const auto s = treeview_->get_selection(); - - if (!s->count_selected_rows()) { - return; - } - - const auto iter = s->get_selected(); - Gtk::TreeModel::Row row = *iter; - - row[spots_.complexMethod] = complexMethod_->get_active_row_number(); - - if (multiImage && complexMethod_->get_active_text() == M("GENERAL_UNCHANGED")) { - // excluFrame->show(); - } else if (complexMethod_->get_active_row_number() == 0) { //sim - // excluFrame->hide(); - } else if (complexMethod_->get_active_row_number() == 1) { // mod - // excluFrame->show(); - } else if (complexMethod_->get_active_row_number() == 2) { // all - // excluFrame->show(); - } - - // Raise event - if (listener) { - listener->panelChanged(EvLocallabSpotcomplexMethod, complexMethod_->get_active_text()); - } -} +//void ControlSpotPanel::complexMethodChanged() +//{ +// // printf("qualityMethodChanged\n"); +// +// // Get selected control spot +// const auto s = treeview_->get_selection(); +// +// if (!s->count_selected_rows()) { +// return; +// } +// +// const auto iter = s->get_selected(); +// Gtk::TreeModel::Row row = *iter; +// +// row[spots_.complexMethod] = complexMethod_->get_active_row_number(); +// +// if (multiImage && complexMethod_->get_active_text() == M("GENERAL_UNCHANGED")) { +// // excluFrame->show(); +// } else if (complexMethod_->get_active_row_number() == 0) { //sim +// // excluFrame->hide(); +// } else if (complexMethod_->get_active_row_number() == 1) { // mod +// // excluFrame->show(); +// } else if (complexMethod_->get_active_row_number() == 2) { // all +// // excluFrame->show(); +// } +// +// // Raise event +// if (listener) { +// listener->panelChanged(EvLocallabSpotcomplexMethod, complexMethod_->get_active_text()); +// } +//} void ControlSpotPanel::wavMethodChanged() { @@ -1205,6 +1254,7 @@ void ControlSpotPanel::updateParamVisibility() // Update Control Spot GUI according to shapeMethod_ combobox state (to be compliant with shapeMethodChanged function) const int method = shapeMethod_->get_active_row_number(); + const int meth = avoidgamutMethod_->get_active_row_number(); if (!batchMode) { if (method == 1 || method == 3) { // Symmetrical cases @@ -1248,6 +1298,12 @@ void ControlSpotPanel::updateParamVisibility() centerY_->show(); } + if(meth == 1) { + avoidrad_->show(); + } else { + avoidrad_->hide(); +} + // Update Control Spot GUI according to spotMethod_ combobox state (to be compliant with spotMethodChanged function) if (multiImage && spotMethod_->get_active_text() == M("GENERAL_UNCHANGED")) { excluFrame->show(); @@ -1513,6 +1569,14 @@ void ControlSpotPanel::adjusterChanged(Adjuster* a, double newval) } } + if (a == denoichmask_) { + row[spots_.denoichmask] = denoichmask_->getValue(); + + if (listener) { + listener->panelChanged(EvLocallabSpotdenoichmask, denoichmask_->getTextValue()); + } + } + if (a == lumask_) { row[spots_.lumask] = lumask_->getIntValue(); @@ -1568,57 +1632,6 @@ void ControlSpotPanel::hishowChanged() } - -void ControlSpotPanel::avoidChanged() -{ - // printf("avoidChanged\n"); - - // Get selected control spot - const auto s = treeview_->get_selection(); - - if (!s->count_selected_rows()) { - return; - } - - const auto iter = s->get_selected(); - Gtk::TreeModel::Row row = *iter; - row[spots_.avoid] = avoid_->get_active(); - - // Raise event - if (listener) { - if (avoid_->get_active()) { - listener->panelChanged(Evlocallabavoid, M("GENERAL_ENABLED")); - } else { - listener->panelChanged(Evlocallabavoid, M("GENERAL_DISABLED")); - } - } -} - -void ControlSpotPanel::avoidmunChanged() -{ - // printf("avoidmunChanged\n"); - - // Get selected control spot - const auto s = treeview_->get_selection(); - - if (!s->count_selected_rows()) { - return; - } - - const auto iter = s->get_selected(); - Gtk::TreeModel::Row row = *iter; - row[spots_.avoidmun] = avoidmun_->get_active(); - - // Raise event - if (listener) { - if (avoidmun_->get_active()) { - listener->panelChanged(EvLocallabSpotavoidmun, M("GENERAL_ENABLED")); - } else { - listener->panelChanged(EvLocallabSpotavoidmun, M("GENERAL_DISABLED")); - } - } -} - void ControlSpotPanel::activChanged() { // printf("activChanged\n"); @@ -1766,28 +1779,28 @@ void ControlSpotPanel::shortcChanged() } } -void ControlSpotPanel::savrestChanged() -{ - // Get selected control spot - const auto s = treeview_->get_selection(); - - if (!s->count_selected_rows()) { - return; - } - - const auto iter = s->get_selected(); - Gtk::TreeModel::Row row = *iter; - row[spots_.savrest] = savrest_->get_active(); - - // Raise event - if (listener) { - if (savrest_->get_active()) { - listener->panelChanged(Evlocallabsavrest, M("GENERAL_ENABLED")); - } else { - listener->panelChanged(Evlocallabsavrest, M("GENERAL_DISABLED")); - } - } -} +//void ControlSpotPanel::savrestChanged() +//{ +// // Get selected control spot +// const auto s = treeview_->get_selection(); +// +// if (!s->count_selected_rows()) { +// return; +// } +// +// const auto iter = s->get_selected(); +// Gtk::TreeModel::Row row = *iter; +// row[spots_.savrest] = savrest_->get_active(); +// +// // Raise event +// if (listener) { +// if (savrest_->get_active()) { +// listener->panelChanged(Evlocallabsavrest, M("GENERAL_ENABLED")); +// } else { +// listener->panelChanged(Evlocallabsavrest, M("GENERAL_DISABLED")); +// } +// } +//} void ControlSpotPanel::previewChanged() { @@ -1839,18 +1852,19 @@ void ControlSpotPanel::disableParamlistener(bool cond) avoidrad_->block(cond); hishowconn_.block(cond); activConn_.block(cond); - avoidConn_.block(cond); - avoidmunConn_.block(cond); blwhConn_.block(cond); recursConn_.block(cond); laplacConn_.block(cond); deltaeConn_.block(cond); scopemask_->block(cond); + denoichmask_->block(cond); shortcConn_.block(cond); lumask_->block(cond); - savrestConn_.block(cond); - complexMethodconn_.block(cond); + //savrestConn_.block(cond); + //complexMethodconn_.block(cond); wavMethodconn_.block(cond); + avoidgamutconn_.block(cond); + } void ControlSpotPanel::setParamEditable(bool cond) @@ -1885,19 +1899,19 @@ void ControlSpotPanel::setParamEditable(bool cond) avoidrad_->set_sensitive(cond); hishow_->set_sensitive(cond); activ_->set_sensitive(cond); - avoid_->set_sensitive(cond); - avoidmun_->set_sensitive(cond); blwh_->set_sensitive(cond); recurs_->set_sensitive(cond); laplac_->set_sensitive(cond); deltae_->set_sensitive(cond); scopemask_->set_sensitive(cond); + denoichmask_->set_sensitive(cond); shortc_->set_sensitive(cond); lumask_->set_sensitive(cond); - savrest_->set_sensitive(cond); - complexMethod_->set_sensitive(cond); + //savrest_->set_sensitive(cond); + //complexMethod_->set_sensitive(cond); wavMethod_->set_sensitive(cond); preview_->set_sensitive(cond); + avoidgamutMethod_->set_sensitive(cond); if (!cond) { // Reset complex parameters visibility to default state @@ -2197,7 +2211,7 @@ void ControlSpotPanel::updateCurveOpacity(const Gtk::TreeModel::Row& selectedRow } } -CursorShape ControlSpotPanel::getCursor(int objectID) const +CursorShape ControlSpotPanel::getCursor(int objectID, int xPos, int yPos) const { // printf("Object ID: %d\n", objectID); @@ -2566,18 +2580,18 @@ ControlSpotPanel::SpotRow* ControlSpotPanel::getSpot(const int index) r->transitweak = row[spots_.transitweak]; r->transitgrad = row[spots_.transitgrad]; r->scopemask = row[spots_.scopemask]; + r->denoichmask = row[spots_.denoichmask]; r->lumask = row[spots_.lumask]; r->hishow = row[spots_.hishow]; r->activ = row[spots_.activ]; - r->avoid = row[spots_.avoid]; - r->avoidmun = row[spots_.avoidmun]; r->blwh = row[spots_.blwh]; r->recurs = row[spots_.recurs]; r->laplac = row[spots_.laplac]; r->deltae = row[spots_.deltae]; r->shortc = row[spots_.shortc]; - r->savrest = row[spots_.savrest]; + //r->savrest = row[spots_.savrest]; r->wavMethod = row[spots_.wavMethod]; + r->avoidgamutMethod = row[spots_.avoidgamutMethod]; return r; } @@ -2702,18 +2716,18 @@ void ControlSpotPanel::addControlSpot(SpotRow* newSpot) row[spots_.avoidrad] = newSpot->avoidrad; row[spots_.hishow] = newSpot->hishow; row[spots_.activ] = newSpot->activ; - row[spots_.avoid] = newSpot->avoid; - row[spots_.avoidmun] = newSpot->avoidmun; row[spots_.blwh] = newSpot->blwh; row[spots_.recurs] = newSpot->recurs; row[spots_.laplac] = newSpot->laplac; row[spots_.deltae] = newSpot->deltae; row[spots_.scopemask] = newSpot->scopemask; + row[spots_.denoichmask] = newSpot->denoichmask; row[spots_.shortc] = newSpot->shortc; row[spots_.lumask] = newSpot->lumask; - row[spots_.savrest] = newSpot->savrest; + //row[spots_.savrest] = newSpot->savrest; row[spots_.complexMethod] = newSpot->complexMethod; row[spots_.wavMethod] = newSpot->wavMethod; + row[spots_.avoidgamutMethod] = newSpot->avoidgamutMethod; updateParamVisibility(); disableParamlistener(false); @@ -2776,6 +2790,7 @@ void ControlSpotPanel::setDefaults(const rtengine::procparams::ProcParams * defP colorscope_->setDefault(defSpot.colorscope); avoidrad_->setDefault(defSpot.avoidrad); scopemask_->setDefault((double)defSpot.scopemask); + denoichmask_->setDefault((double)defSpot.denoichmask); lumask_->setDefault((double)defSpot.lumask); } @@ -2820,18 +2835,18 @@ ControlSpotPanel::ControlSpots::ControlSpots() add(avoidrad); add(hishow); add(activ); - add(avoid); - add(avoidmun); add(blwh); add(recurs); add(laplac); add(deltae); add(scopemask); + add(denoichmask); add(shortc); add(lumask); - add(savrest); + //add(savrest); add(complexMethod); add(wavMethod); + add(avoidgamutMethod); } //----------------------------------------------------------------------------- diff --git a/rtgui/controlspotpanel.h b/rtgui/controlspotpanel.h index 2f92b9a77..b1e191b0e 100644 --- a/rtgui/controlspotpanel.h +++ b/rtgui/controlspotpanel.h @@ -34,6 +34,7 @@ public: virtual ~ControlPanelListener() {}; virtual void resetToolMaskView() = 0; + virtual void spotNameChanged(const Glib::ustring &newName) = 0; }; @@ -56,6 +57,7 @@ public: int sensiexclu; int structexclu; int shapeMethod; // 0 = Independent (mouse), 1 = Symmetrical (mouse), 2 = Independent (mouse + sliders), 3 = Symmetrical (mouse + sliders) + int avoidgamutMethod; int locX; int locXL; int locY; @@ -78,16 +80,15 @@ public: double avoidrad; bool hishow; bool activ; - bool avoid; - bool avoidmun; bool blwh; bool recurs; bool laplac; bool deltae; int scopemask; + double denoichmask; bool shortc; int lumask; - bool savrest; + //bool savrest; int complexMethod; // 0 = Simple, 1 = Moderate, 2 = all int wavMethod; // 0 = D2, 1 = D4, 2 = D6, 3 = D10, 4 = D14 }; @@ -241,7 +242,8 @@ private: void spotMethodChanged(); void shapeMethodChanged(); void qualityMethodChanged(); - void complexMethodChanged(); + void avoidgamutMethodChanged(); + //void complexMethodChanged(); void wavMethodChanged(); void updateParamVisibility(); @@ -250,14 +252,12 @@ private: void hishowChanged(); void activChanged(); - void avoidChanged(); - void avoidmunChanged(); void blwhChanged(); void recursChanged(); void laplacChanged(); void deltaeChanged(); void shortcChanged(); - void savrestChanged(); + //void savrestChanged(); void previewChanged(); @@ -267,7 +267,7 @@ private: void updateControlSpotCurve(const Gtk::TreeModel::Row& row); void deleteControlSpotCurve(Gtk::TreeModel::Row& row); void updateCurveOpacity(const Gtk::TreeModel::Row& selectedRow); - CursorShape getCursor(int objectID) const override; + CursorShape getCursor(int objectID, int xPos, int yPos) const override; bool mouseOver(int modifierKey) override; bool button1Pressed(int modifierKey) override; bool button1Released() override; @@ -291,6 +291,7 @@ private: Gtk::TreeModelColumn sensiexclu; Gtk::TreeModelColumn structexclu; Gtk::TreeModelColumn shapeMethod; // 0 = Independent (mouse), 1 = Symmetrical (mouse), 2 = Independent (mouse + sliders), 3 = Symmetrical (mouse + sliders) + Gtk::TreeModelColumn avoidgamutMethod; Gtk::TreeModelColumn locX; Gtk::TreeModelColumn locXL; Gtk::TreeModelColumn locY; @@ -313,16 +314,15 @@ private: Gtk::TreeModelColumn avoidrad; Gtk::TreeModelColumn hishow; Gtk::TreeModelColumn activ; - Gtk::TreeModelColumn avoid; - Gtk::TreeModelColumn avoidmun; Gtk::TreeModelColumn blwh; Gtk::TreeModelColumn recurs; Gtk::TreeModelColumn laplac; Gtk::TreeModelColumn deltae; Gtk::TreeModelColumn scopemask; + Gtk::TreeModelColumn denoichmask; Gtk::TreeModelColumn shortc; Gtk::TreeModelColumn lumask; - Gtk::TreeModelColumn savrest; + //Gtk::TreeModelColumn savrest; Gtk::TreeModelColumn complexMethod; // 0 = Simple, 1 = mod, 2 = all Gtk::TreeModelColumn wavMethod; // 0 = D2, 1 = D4, 2 = D6, 3 = D10, 4 = D14 }; @@ -344,6 +344,7 @@ private: }; ControlSpots spots_; + rtengine::ProcEvent EvLocallabavoidgamutMethod; // Child widgets Gtk::ScrolledWindow* const scrolledwindow_; @@ -374,10 +375,12 @@ private: sigc::connection shapeMethodconn_; MyComboBoxText* const qualityMethod_; sigc::connection qualityMethodconn_; - MyComboBoxText* const complexMethod_; - sigc::connection complexMethodconn_; + //MyComboBoxText* const complexMethod_; + //sigc::connection complexMethodconn_; MyComboBoxText* const wavMethod_; sigc::connection wavMethodconn_; + MyComboBoxText* const avoidgamutMethod_; + sigc::connection avoidgamutconn_; Adjuster* const sensiexclu_; Adjuster* const structexclu_; @@ -401,16 +404,13 @@ private: Adjuster* const colorscope_; Adjuster* const avoidrad_; Adjuster* const scopemask_; + Adjuster* const denoichmask_; Adjuster* const lumask_; Gtk::CheckButton* const hishow_; sigc::connection hishowconn_; Gtk::CheckButton* const activ_; sigc::connection activConn_; - Gtk::CheckButton* const avoid_; - sigc::connection avoidConn_; - Gtk::CheckButton* const avoidmun_; - sigc::connection avoidmunConn_; Gtk::CheckButton* const blwh_; sigc::connection blwhConn_; Gtk::CheckButton* const recurs_; @@ -421,8 +421,8 @@ private: sigc::connection deltaeConn_; Gtk::CheckButton* const shortc_; sigc::connection shortcConn_; - Gtk::CheckButton* const savrest_; - sigc::connection savrestConn_; + //Gtk::CheckButton* const savrest_; + //sigc::connection savrestConn_; MyExpander* const expTransGrad_; MyExpander* const expShapeDetect_; @@ -434,6 +434,7 @@ private: Gtk::Box* const ctboxshape; Gtk::Box* const ctboxshapemethod; + Gtk::Box* const ctboxgamut; // Internal variables ControlPanelListener* controlPanelListener; diff --git a/rtgui/crop.cc b/rtgui/crop.cc index ea8906535..853cec255 100644 --- a/rtgui/crop.cc +++ b/rtgui/crop.cc @@ -24,6 +24,7 @@ #include "rtimage.h" #include "../rtengine/procparams.h" +#include "../rtengine/utils.h" using namespace rtengine; using namespace rtengine::procparams; @@ -295,6 +296,7 @@ Crop::Crop(): guide->append (M("TP_CROP_GTTRIANGLE1")); guide->append (M("TP_CROP_GTTRIANGLE2")); guide->append (M("TP_CROP_GTEPASSPORT")); + guide->append (M("TP_CROP_GTCENTEREDSQUARE")); guide->set_active (0); w->set_range (1, maxw); @@ -413,24 +415,19 @@ void Crop::read (const ProcParams* pp, const ParamsEdited* pedited) orientation->set_active (2); } - if (pp->crop.guide == "None") { - guide->set_active (0); - } else if (pp->crop.guide == "Frame") { - guide->set_active (1); - } else if (pp->crop.guide == "Rule of thirds") { - guide->set_active (2); - } else if (pp->crop.guide == "Rule of diagonals") { - guide->set_active (3); - } else if (!strncmp(pp->crop.guide.data(), "Harmonic means", 14)) { - guide->set_active (4); - } else if (pp->crop.guide == "Grid") { - guide->set_active (5); - } else if (pp->crop.guide == "Golden Triangle 1") { - guide->set_active (6); - } else if (pp->crop.guide == "Golden Triangle 2") { - guide->set_active (7); - } else if (pp->crop.guide == "ePassport") { - guide->set_active (8); + switch (pp->crop.guide) { + case procparams::CropParams::Guide::NONE: + case procparams::CropParams::Guide::FRAME: + case procparams::CropParams::Guide::RULE_OF_THIRDS: + case procparams::CropParams::Guide::RULE_OF_DIAGONALS: + case procparams::CropParams::Guide::HARMONIC_MEANS: + case procparams::CropParams::Guide::GRID: + case procparams::CropParams::Guide::GOLDEN_TRIANGLE_1: + case procparams::CropParams::Guide::GOLDEN_TRIANGLE_2: + case procparams::CropParams::Guide::EPASSPORT: + case procparams::CropParams::Guide::CENTERED_SQUARE: { + guide->set_active(toUnderlying(pp->crop.guide)); + } } x->set_value(pp->crop.x); @@ -531,25 +528,7 @@ void Crop::write (ProcParams* pp, ParamsEdited* pedited) pp->crop.orientation = "As Image"; } - if (guide->get_active_row_number() == 0) { - pp->crop.guide = "None"; - } else if (guide->get_active_row_number() == 1) { - pp->crop.guide = "Frame"; - } else if (guide->get_active_row_number() == 2) { - pp->crop.guide = "Rule of thirds"; - } else if (guide->get_active_row_number() == 3) { - pp->crop.guide = "Rule of diagonals"; - } else if (guide->get_active_row_number() == 4) { - pp->crop.guide = "Harmonic means"; - } else if (guide->get_active_row_number() == 5) { - pp->crop.guide = "Grid"; - } else if (guide->get_active_row_number() == 6) { - pp->crop.guide = "Golden Triangle 1"; - } else if (guide->get_active_row_number() == 7) { - pp->crop.guide = "Golden Triangle 2"; - } else if (guide->get_active_row_number() == 8) { - pp->crop.guide = "ePassport"; - } + pp->crop.guide = procparams::CropParams::Guide(guide->get_active_row_number()); if (pedited) { pedited->crop.enabled = !get_inconsistent(); diff --git a/rtgui/cropwindow.cc b/rtgui/cropwindow.cc index 1ed9211a1..c7d7348b3 100644 --- a/rtgui/cropwindow.cc +++ b/rtgui/cropwindow.cc @@ -510,7 +510,7 @@ void CropWindow::buttonPress (int button, int type, int bstate, int x, int y) cropgl->cropInit (cropHandler.cropParams->x, cropHandler.cropParams->y, cropHandler.cropParams->w, cropHandler.cropParams->h); } else if (iarea->getToolMode () == TMHand) { if (editSubscriber) { - if ((cropgl && cropgl->inImageArea(iarea->posImage.x, iarea->posImage.y) && editSubscriber->getEditingType() == ET_PIPETTE && (bstate & GDK_CONTROL_MASK))) { + if ((cropgl && cropgl->inImageArea(iarea->posImage.x, iarea->posImage.y) && (editSubscriber->getEditingType() == ET_PIPETTE && (bstate & GDK_CONTROL_MASK))) || editSubscriber->getEditingType() == ET_OBJECTS) { needRedraw = editSubscriber->button1Pressed(bstate); if (editSubscriber->isDragging()) { state = SEditDrag1; @@ -540,7 +540,7 @@ void CropWindow::buttonPress (int button, int type, int bstate, int x, int y) action_y = 0; } - } else if (iarea->getToolMode () == TMHand) { // events outside of the image domain + } else if (iarea->getToolMode () == TMHand || iarea->getToolMode() == TMPerspective) { // events outside of the image domain EditSubscriber *editSubscriber = iarea->getCurrSubscriber(); if (editSubscriber && editSubscriber->getEditingType() == ET_OBJECTS) { @@ -705,15 +705,15 @@ void CropWindow::buttonRelease (int button, int num, int bstate, int x, int y) state = SNormal; needRedraw = true; } else if (state == SEditDrag1 || state == SEditDrag2 || state == SEditDrag3) { - if (state == SEditDrag1) { - needRedraw = editSubscriber->button1Released(); - } else if (state == SEditDrag2) { - needRedraw = editSubscriber->button2Released(); - } else if (state == SEditDrag3) { - needRedraw = editSubscriber->button3Released(); - } - if (editSubscriber) { + if (state == SEditDrag1) { + needRedraw = editSubscriber->button1Released(); + } else if (state == SEditDrag2) { + needRedraw = editSubscriber->button2Released(); + } else if (state == SEditDrag3) { + needRedraw = editSubscriber->button3Released(); + } + rtengine::Crop* crop = static_cast(cropHandler.getCrop()); Coord imgPos; action_x = x; @@ -794,6 +794,13 @@ void CropWindow::buttonRelease (int button, int num, int bstate, int x, int y) iarea->setToolHand (); } + if (state != SEditDrag1 && state != SEditDrag2 && state != SEditDrag3) { + iarea->deltaImage.set(0, 0); + iarea->deltaScreen.set(0, 0); + iarea->deltaPrevImage.set(0, 0); + iarea->deltaPrevScreen.set(0, 0); + } + if (cropgl && (state == SCropSelecting || state == SResizeH1 || state == SResizeH2 || state == SResizeW1 || state == SResizeW2 || state == SResizeTL || state == SResizeTR || state == SResizeBL || state == SResizeBR || state == SCropMove)) { cropgl->cropManipReady (); iarea->setToolHand (); @@ -1128,7 +1135,7 @@ void CropWindow::pointerMoved (int bstate, int x, int y) rtengine::StagedImageProcessor* ipc = iarea->getImProcCoordinator(); if(ipc) { procparams::ProcParams params; - ipc->getParams(¶ms); + ipc->getParams(¶ms, true); isRaw = params.raw.bayersensor.method == RAWParams::BayerSensor::getMethodString(RAWParams::BayerSensor::Method::NONE) || params.raw.xtranssensor.method == RAWParams::XTransSensor::getMethodString(RAWParams::XTransSensor::Method::NONE); if(isRaw) { ImageSource *isrc = static_cast(ipc->getInitialImage()); @@ -1293,7 +1300,10 @@ void CropWindow::updateCursor (int x, int y) } else if (onArea (CropToolBar, x, y)) { newType = CSMove; } else if (iarea->getObject() > -1 && editSubscriber && editSubscriber->getEditingType() == ET_OBJECTS) { - newType = editSubscriber->getCursor(iarea->getObject()); + int cursorX; + int cursorY; + screenCoordToImage (x, y, cursorX, cursorY); + newType = editSubscriber->getCursor(iarea->getObject(), cursorX, cursorY); } else if (onArea (CropResize, x, y)) { newType = CSResizeDiagonal; } else if (tm == TMColorPicker && hoveredPicker) { @@ -1320,7 +1330,10 @@ void CropWindow::updateCursor (int x, int y) } if (objectID > -1) { - newType = editSubscriber->getCursor(objectID); + int cursorX; + int cursorY; + screenCoordToImage (x, y, cursorX, cursorY); + newType = editSubscriber->getCursor(objectID, cursorX, cursorY); } else if (tm == TMHand) { if (onArea (CropObserved, x, y)) { newType = CSMove; @@ -1346,7 +1359,10 @@ void CropWindow::updateCursor (int x, int y) } if (objectID > -1) { - newType = editSubscriber->getCursor(objectID); + int cursorX; + int cursorY; + screenCoordToImage (x, y, cursorX, cursorY); + newType = editSubscriber->getCursor(objectID, cursorX, cursorY); } else { newType = CSArrow; } @@ -1375,6 +1391,16 @@ void CropWindow::updateCursor (int x, int y) newType = CSResizeDiagonal; } else if (state == SDragPicker) { newType = CSMove2D; + } else if (editSubscriber && editSubscriber->getEditingType() == ET_OBJECTS) { + int objectID = iarea->getObject(); + if (objectID > -1) { + int cursorX; + int cursorY; + screenCoordToImage (x, y, cursorX, cursorY); + newType = editSubscriber->getCursor(objectID, cursorX, cursorY); + } else { + newType = CSArrow; + } } if (newType != cursor_type) { @@ -1444,10 +1470,10 @@ void CropWindow::expose (Cairo::RefPtr cr) if (state == SNormal) { switch (options.cropGuides) { case Options::CROP_GUIDE_NONE: - cropParams.guide = "None"; + cropParams.guide = procparams::CropParams::Guide::NONE; break; case Options::CROP_GUIDE_FRAME: - cropParams.guide = "Frame"; + cropParams.guide = procparams::CropParams::Guide::FRAME; break; default: break; diff --git a/rtgui/curveeditor.cc b/rtgui/curveeditor.cc index e38f3a947..67cea5174 100644 --- a/rtgui/curveeditor.cc +++ b/rtgui/curveeditor.cc @@ -504,7 +504,7 @@ bool CurveEditor::drag1(int modifierKey) return false; } -CursorShape CurveEditor::getCursor(int objectID) const +CursorShape CurveEditor::getCursor(int objectID, int xPos, int yPos) const { if (remoteDrag) { return CSResizeHeight; diff --git a/rtgui/curveeditor.h b/rtgui/curveeditor.h index d5ec49559..398c63603 100644 --- a/rtgui/curveeditor.h +++ b/rtgui/curveeditor.h @@ -133,7 +133,7 @@ public: bool button1Pressed(int modifierKey) override; bool button1Released() override; bool drag1(int modifierKey) override; - CursorShape getCursor(int objectID) const override; + CursorShape getCursor(int objectID, int xPos, int yPos) const override; }; diff --git a/rtgui/darkframe.cc b/rtgui/darkframe.cc index b6b1201a7..5c71d9918 100644 --- a/rtgui/darkframe.cc +++ b/rtgui/darkframe.cc @@ -97,7 +97,7 @@ void DarkFrame::read(const rtengine::procparams::ProcParams* pp, const ParamsEdi if( pp->raw.df_autoselect && dfp && !multiImage) { // retrieve the auto-selected df filename - rtengine::RawImage *img = dfp->getDF(); + const rtengine::RawImage *img = dfp->getDF(); if( img ) { dfInfo->set_text( Glib::ustring::compose("%1: %2ISO %3s", Glib::path_get_basename(img->get_filename()), img->get_ISOspeed(), img->get_shutter()) ); @@ -179,7 +179,7 @@ void DarkFrame::dfAutoChanged() if(dfAuto->get_active() && dfp && !batchMode) { // retrieve the auto-selected df filename - rtengine::RawImage *img = dfp->getDF(); + const rtengine::RawImage *img = dfp->getDF(); if( img ) { dfInfo->set_text( Glib::ustring::compose("%1: %2ISO %3s", Glib::path_get_basename(img->get_filename()), img->get_ISOspeed(), img->get_shutter()) ); diff --git a/rtgui/darkframe.h b/rtgui/darkframe.h index 58e8b4842..cbd7816d6 100644 --- a/rtgui/darkframe.h +++ b/rtgui/darkframe.h @@ -36,7 +36,7 @@ class DFProvider { public: virtual ~DFProvider() = default; - virtual rtengine::RawImage* getDF() = 0; + virtual const rtengine::RawImage* getDF() = 0; virtual Glib::ustring GetCurrentImageFilePath() = 0; // add other info here }; diff --git a/rtgui/distortion.cc b/rtgui/distortion.cc index 165ccee06..6e2bd7a35 100644 --- a/rtgui/distortion.cc +++ b/rtgui/distortion.cc @@ -35,7 +35,7 @@ Distortion::Distortion (): FoldableToolPanel(this, "distortion", M("TP_DISTORTIO autoDistor->set_image (*Gtk::manage (new RTImage ("distortion-auto-small.png"))); autoDistor->get_style_context()->add_class("independent"); autoDistor->set_alignment(0.5f, 0.5f); - autoDistor->set_tooltip_text (M("TP_DISTORTION_AUTO_TIP")); + autoDistor->set_tooltip_text (M("TP_DISTORTION_AUTO_TOOLTIP")); idConn = autoDistor->signal_pressed().connect( sigc::mem_fun(*this, &Distortion::idPressed) ); autoDistor->show(); pack_start (*autoDistor); diff --git a/rtgui/dynamicprofilepanel.cc b/rtgui/dynamicprofilepanel.cc index 865603b3a..feb6aea70 100644 --- a/rtgui/dynamicprofilepanel.cc +++ b/rtgui/dynamicprofilepanel.cc @@ -42,6 +42,7 @@ DynamicProfilePanel::EditDialog::EditDialog (const Glib::ustring &title, Gtk::Wi add_optional (M ("EXIFFILTER_CAMERA"), has_camera_, camera_); add_optional (M ("EXIFFILTER_LENS"), has_lens_, lens_); + add_optional (M ("EXIFFILTER_PATH"), has_path_, path_); imagetype_ = Gtk::manage (new MyComboBoxText()); imagetype_->append(Glib::ustring("(") + M("DYNPROFILEEDITOR_IMGTYPE_ANY") + ")"); @@ -93,6 +94,9 @@ void DynamicProfilePanel::EditDialog::set_rule ( has_lens_->set_active (rule.lens.enabled); lens_->set_text (rule.lens.value); + has_path_->set_active (rule.path.enabled); + path_->set_text (rule.path.value); + if (!rule.imagetype.enabled) { imagetype_->set_active(0); } else if (rule.imagetype.value == "STD") { @@ -136,6 +140,9 @@ DynamicProfileRule DynamicProfilePanel::EditDialog::get_rule() ret.lens.enabled = has_lens_->get_active(); ret.lens.value = lens_->get_text(); + ret.path.enabled = has_path_->get_active(); + ret.path.value = path_->get_text(); + ret.imagetype.enabled = imagetype_->get_active_row_number() > 0; switch (imagetype_->get_active_row_number()) { case 1: @@ -296,6 +303,16 @@ DynamicProfilePanel::DynamicProfilePanel(): *this, &DynamicProfilePanel::render_lens)); } + cell = Gtk::manage (new Gtk::CellRendererText()); + cols_count = treeview_.append_column (M ("EXIFFILTER_PATH"), *cell); + col = treeview_.get_column (cols_count - 1); + + if (col) { + col->set_cell_data_func ( + *cell, sigc::mem_fun ( + *this, &DynamicProfilePanel::render_path)); + } + cell = Gtk::manage (new Gtk::CellRendererText()); cols_count = treeview_.append_column (M ("EXIFFILTER_IMAGETYPE"), *cell); col = treeview_.get_column (cols_count - 1); @@ -375,6 +392,7 @@ void DynamicProfilePanel::update_rule (Gtk::TreeModel::Row row, row[columns_.expcomp] = rule.expcomp; row[columns_.camera] = rule.camera; row[columns_.lens] = rule.lens; + row[columns_.path] = rule.path; row[columns_.imagetype] = rule.imagetype; row[columns_.profilepath] = rule.profilepath; } @@ -398,6 +416,7 @@ DynamicProfileRule DynamicProfilePanel::to_rule (Gtk::TreeModel::Row row, ret.expcomp = row[columns_.expcomp]; ret.camera = row[columns_.camera]; ret.lens = row[columns_.lens]; + ret.path = row[columns_.path]; ret.profilepath = row[columns_.profilepath]; ret.imagetype = row[columns_.imagetype]; return ret; @@ -510,6 +529,12 @@ void DynamicProfilePanel::render_lens ( RENDER_OPTIONAL_ (lens); } +void DynamicProfilePanel::render_path ( + Gtk::CellRenderer *cell, const Gtk::TreeModel::iterator &iter) +{ + RENDER_OPTIONAL_ (path); +} + void DynamicProfilePanel::render_imagetype ( Gtk::CellRenderer *cell, const Gtk::TreeModel::iterator &iter) { diff --git a/rtgui/dynamicprofilepanel.h b/rtgui/dynamicprofilepanel.h index 972ca1c4a..03b9e7c62 100644 --- a/rtgui/dynamicprofilepanel.h +++ b/rtgui/dynamicprofilepanel.h @@ -55,6 +55,7 @@ private: add (expcomp); add (camera); add (lens); + add (path); add (profilepath); add (imagetype); } @@ -66,6 +67,7 @@ private: Gtk::TreeModelColumn> expcomp; Gtk::TreeModelColumn camera; Gtk::TreeModelColumn lens; + Gtk::TreeModelColumn path; Gtk::TreeModelColumn imagetype; Gtk::TreeModelColumn profilepath; }; @@ -78,6 +80,7 @@ private: void render_expcomp (Gtk::CellRenderer* cell, const Gtk::TreeModel::iterator& iter); void render_camera (Gtk::CellRenderer* cell, const Gtk::TreeModel::iterator& iter); void render_lens (Gtk::CellRenderer* cell, const Gtk::TreeModel::iterator& iter); + void render_path (Gtk::CellRenderer* cell, const Gtk::TreeModel::iterator& iter); void render_imagetype (Gtk::CellRenderer* cell, const Gtk::TreeModel::iterator& iter); void render_profilepath (Gtk::CellRenderer* cell, const Gtk::TreeModel::iterator& iter); @@ -114,6 +117,9 @@ private: Gtk::CheckButton *has_lens_; Gtk::Entry *lens_; + Gtk::CheckButton *has_path_; + Gtk::Entry *path_; + MyComboBoxText *imagetype_; ProfileStoreComboBox *profilepath_; diff --git a/rtgui/editcallbacks.cc b/rtgui/editcallbacks.cc index 5404b0bc9..71c342874 100644 --- a/rtgui/editcallbacks.cc +++ b/rtgui/editcallbacks.cc @@ -173,10 +173,10 @@ void EditDataProvider::setPipetteVal3(float newVal) pipetteVal3 = newVal; } -CursorShape EditDataProvider::getCursor(int objectID) const +CursorShape EditDataProvider::getCursor(int objectID, int xPos, int yPos) const { if (currSubscriber) { - currSubscriber->getCursor(objectID); + currSubscriber->getCursor(objectID, xPos, yPos); } return CSHandOpen; @@ -187,12 +187,12 @@ EditSubscriber* EditDataProvider::getCurrSubscriber() const return currSubscriber; } -EditDataProvider* EditSubscriber::getEditProvider() +EditDataProvider* EditSubscriber::getEditProvider() const { return provider; } -CursorShape EditSubscriber::getCursor(int objectID) const +CursorShape EditSubscriber::getCursor(int objectID, int xPos, int yPos) const { return CSHandOpen; } diff --git a/rtgui/editcallbacks.h b/rtgui/editcallbacks.h index d81e84806..134ea6477 100644 --- a/rtgui/editcallbacks.h +++ b/rtgui/editcallbacks.h @@ -57,7 +57,7 @@ public: virtual ~EditSubscriber () = default; void setEditProvider(EditDataProvider *provider); - EditDataProvider* getEditProvider (); + EditDataProvider* getEditProvider () const; void setEditID(EditUniqueID ID, BufferType buffType); bool isCurrentSubscriber() const; virtual void subscribe(); @@ -70,8 +70,10 @@ public: bool isPicking() const; /// Returns true if something is being picked /** @brief Get the cursor to be displayed when above handles - @param objectID object currently "hovered" */ - virtual CursorShape getCursor (int objectID) const; + @param objectID object currently "hovered" + @param xPos X cursor position in image space + @param yPos Y cursor position in image space */ + virtual CursorShape getCursor (int objectID, int xPos, int yPos) const; /** @brief Triggered when the mouse is moving over an object This method is also triggered when the cursor is moving over the image in ET_PIPETTE mode @@ -189,7 +191,7 @@ public: void setPipetteVal1(float newVal); void setPipetteVal2(float newVal); void setPipetteVal3(float newVal); - virtual CursorShape getCursor(int objectID) const; + virtual CursorShape getCursor(int objectID, int xPos, int yPos) const; int getPipetteRectSize () const; EditSubscriber* getCurrSubscriber() const; virtual void getImageSize (int &w, int&h) = 0; diff --git a/rtgui/editorpanel.cc b/rtgui/editorpanel.cc index 62556fb68..8e62805c6 100644 --- a/rtgui/editorpanel.cc +++ b/rtgui/editorpanel.cc @@ -39,11 +39,14 @@ #include "procparamchangers.h" #include "placesbrowser.h" #include "pathutils.h" +#include "rtappchooserdialog.h" #include "thumbnail.h" #include "toolpanelcoord.h" #ifdef WIN32 #include "windows.h" + +#include "../rtengine/winutils.h" #endif using namespace rtengine::procparams; @@ -134,6 +137,235 @@ bool find_default_monitor_profile (GdkWindow *rootwin, Glib::ustring &defprof, G } #endif +bool hasUserOnlyPermission(const Glib::ustring &dirname) +{ +#if defined(__linux__) || defined(__APPLE__) + const Glib::RefPtr file = Gio::File::create_for_path(dirname); + const Glib::RefPtr file_info = file->query_info("owner::user,unix::mode"); + + if (!file_info) { + return false; + } + + const Glib::ustring owner = file_info->get_attribute_string("owner::user"); + const guint32 mode = file_info->get_attribute_uint32("unix::mode"); + + return (mode & 0777) == 0700 && owner == Glib::get_user_name(); +#elif defined(WIN32) + const Glib::RefPtr file = Gio::File::create_for_path(dirname); + const Glib::RefPtr file_info = file->query_info("owner::user"); + if (!file_info) { + return false; + } + + // Current user must be the owner. + const Glib::ustring user_name = Glib::get_user_name(); + const Glib::ustring owner = file_info->get_attribute_string("owner::user"); + if (user_name != owner) { + return false; + } + + // Get security descriptor and discretionary access control list. + PACL dacl = nullptr; + PSECURITY_DESCRIPTOR sec_desc_raw_ptr = nullptr; + auto win_error = GetNamedSecurityInfo( + dirname.c_str(), + SE_FILE_OBJECT, + DACL_SECURITY_INFORMATION, + nullptr, + nullptr, + &dacl, + nullptr, + &sec_desc_raw_ptr + ); + const WinLocalPtr sec_desc_ptr(sec_desc_raw_ptr); + if (win_error != ERROR_SUCCESS) { + return false; + } + + // Must not inherit permissions. + SECURITY_DESCRIPTOR_CONTROL sec_desc_control; + DWORD revision; + if (!( + GetSecurityDescriptorControl(sec_desc_ptr, &sec_desc_control, &revision) + && sec_desc_control & SE_DACL_PROTECTED + )) { + return false; + } + + // Check that there is one entry allowing full access. + ULONG acl_entry_count; + PEXPLICIT_ACCESS acl_entry_list_raw = nullptr; + win_error = GetExplicitEntriesFromAcl(dacl, &acl_entry_count, &acl_entry_list_raw); + const WinLocalPtr acl_entry_list(acl_entry_list_raw); + if (win_error != ERROR_SUCCESS || acl_entry_count != 1) { + return false; + } + const EXPLICIT_ACCESS &ace = acl_entry_list[0]; + if ( + ace.grfAccessMode != GRANT_ACCESS + || (ace.grfAccessPermissions & FILE_ALL_ACCESS) != FILE_ALL_ACCESS + || ace.Trustee.TrusteeForm != TRUSTEE_IS_SID // Should already be SID, but double check. + ) { + return false; + } + + // ACE must be for the current user. + HANDLE process_token_raw; + if (!OpenProcessToken(GetCurrentProcess(), TOKEN_READ, &process_token_raw)) { + return false; + } + const WinHandle process_token(process_token_raw); + DWORD actual_token_info_size = 0; + GetTokenInformation(process_token, TokenUser, nullptr, 0, &actual_token_info_size); + if (!actual_token_info_size) { + return false; + } + const WinHeapPtr user_token_ptr(actual_token_info_size); + if (!user_token_ptr || !GetTokenInformation( + process_token, + TokenUser, + user_token_ptr, + actual_token_info_size, + &actual_token_info_size + )) { + return false; + } + return EqualSid(ace.Trustee.ptstrName, user_token_ptr->User.Sid); +#endif + return false; +} + +/** + * Sets read and write permissions, and optionally the execute permission, for + * the user and no permissions for others. + */ +void setUserOnlyPermission(const Glib::RefPtr file, bool execute) +{ +#if defined(__linux__) || defined(__APPLE__) + const Glib::RefPtr file_info = file->query_info("unix::mode"); + if (!file_info) { + return; + } + + guint32 mode = file_info->get_attribute_uint32("unix::mode"); + mode = (mode & ~0777) | (execute ? 0700 : 0600); + try { + file->set_attribute_uint32("unix::mode", mode, Gio::FILE_QUERY_INFO_NONE); + } catch (Gio::Error &) { + } +#elif defined(WIN32) + // Get the current user's SID. + HANDLE process_token_raw; + if (!OpenProcessToken(GetCurrentProcess(), TOKEN_READ, &process_token_raw)) { + return; + } + const WinHandle process_token(process_token_raw); + DWORD actual_token_info_size = 0; + GetTokenInformation(process_token, TokenUser, nullptr, 0, &actual_token_info_size); + if (!actual_token_info_size) { + return; + } + const WinHeapPtr user_token_ptr(actual_token_info_size); + if (!user_token_ptr || !GetTokenInformation( + process_token, + TokenUser, + user_token_ptr, + actual_token_info_size, + &actual_token_info_size + )) { + return; + } + const PSID user_sid = user_token_ptr->User.Sid; + + // Get a handle to the file. + const Glib::ustring filename = file->get_path(); + const HANDLE file_handle_raw = CreateFile( + filename.c_str(), + READ_CONTROL | WRITE_DAC, + 0, + nullptr, + OPEN_EXISTING, + execute ? FILE_FLAG_BACKUP_SEMANTICS : FILE_ATTRIBUTE_NORMAL, + nullptr + ); + if (file_handle_raw == INVALID_HANDLE_VALUE) { + return; + } + const WinHandle file_handle(file_handle_raw); + + // Create the user-only permission and set it. + EXPLICIT_ACCESS ea = { + .grfAccessPermissions = FILE_ALL_ACCESS, + .grfAccessMode = GRANT_ACCESS, + .grfInheritance = NO_INHERITANCE, + }; + BuildTrusteeWithSid(&(ea.Trustee), user_sid); + PACL new_dacl_raw = nullptr; + auto win_error = SetEntriesInAcl(1, &ea, nullptr, &new_dacl_raw); + if (win_error != ERROR_SUCCESS) { + return; + } + const WinLocalPtr new_dacl(new_dacl_raw); + SetSecurityInfo( + file_handle, + SE_FILE_OBJECT, + DACL_SECURITY_INFORMATION | PROTECTED_DACL_SECURITY_INFORMATION, + nullptr, + nullptr, + new_dacl, + nullptr + ); +#endif +} + +/** + * Gets the path to the temp directory, creating it if necessary. + */ +Glib::ustring getTmpDirectory() +{ +#if defined(__linux__) || defined(__APPLE__) || defined(WIN32) + static Glib::ustring recent_dir = ""; + const Glib::ustring tmp_dir_root = Glib::get_tmp_dir(); + const Glib::ustring subdir_base = + Glib::ustring::compose("rawtherapee-%1", Glib::get_user_name()); + Glib::ustring dir = Glib::build_filename(tmp_dir_root, subdir_base); + + // Returns true if the directory doesn't exist or has the right permissions. + auto is_usable_dir = [](const Glib::ustring &dir_path) { + return !Glib::file_test(dir_path, Glib::FILE_TEST_EXISTS) || (Glib::file_test(dir_path, Glib::FILE_TEST_IS_DIR) && hasUserOnlyPermission(dir_path)); + }; + + if (!(is_usable_dir(dir) || recent_dir.empty())) { + // Try to reuse the random suffix directory. + dir = recent_dir; + } + + if (!is_usable_dir(dir)) { + // Create new directory with random suffix. + gchar *const rand_dir = g_dir_make_tmp((subdir_base + "-XXXXXX").c_str(), nullptr); + if (!rand_dir) { + return tmp_dir_root; + } + dir = recent_dir = rand_dir; + g_free(rand_dir); + Glib::RefPtr file = Gio::File::create_for_path(dir); + setUserOnlyPermission(file, true); + } else if (!Glib::file_test(dir, Glib::FILE_TEST_EXISTS)) { + // Create the directory. + Glib::RefPtr file = Gio::File::create_for_path(dir); + bool dir_created = file->make_directory(); + if (!dir_created) { + return tmp_dir_root; + } + setUserOnlyPermission(file, true); + } + + return dir; +#else + return Glib::get_tmp_dir(); +#endif +} } class EditorPanel::ColorManagementToolbar @@ -470,7 +702,9 @@ public: EditorPanel::EditorPanel (FilePanel* filePanel) : catalogPane (nullptr), realized (false), tbBeforeLock (nullptr), iHistoryShow (nullptr), iHistoryHide (nullptr), iTopPanel_1_Show (nullptr), iTopPanel_1_Hide (nullptr), iRightPanel_1_Show (nullptr), iRightPanel_1_Hide (nullptr), - iBeforeLockON (nullptr), iBeforeLockOFF (nullptr), previewHandler (nullptr), beforePreviewHandler (nullptr), + iBeforeLockON (nullptr), iBeforeLockOFF (nullptr), + externalEditorChangedSignal (nullptr), + previewHandler (nullptr), beforePreviewHandler (nullptr), beforeIarea (nullptr), beforeBox (nullptr), afterBox (nullptr), beforeLabel (nullptr), afterLabel (nullptr), beforeHeaderBox (nullptr), afterHeaderBox (nullptr), parent (nullptr), parentWindow (nullptr), openThm (nullptr), selectedFrame(0), isrc (nullptr), ipc (nullptr), beforeIpc (nullptr), err (0), isProcessing (false), @@ -669,12 +903,14 @@ EditorPanel::EditorPanel (FilePanel* filePanel) queueimg->set_tooltip_markup (M ("MAIN_BUTTON_PUTTOQUEUE_TOOLTIP")); setExpandAlignProperties (queueimg, false, false, Gtk::ALIGN_CENTER, Gtk::ALIGN_FILL); - Gtk::Image *sendToEditorButtonImage = Gtk::manage (new RTImage ("palette-brush.png")); - sendtogimp = Gtk::manage (new Gtk::Button ()); - sendtogimp->set_relief(Gtk::RELIEF_NONE); - sendtogimp->add (*sendToEditorButtonImage); - sendtogimp->set_tooltip_markup (M ("MAIN_BUTTON_SENDTOEDITOR_TOOLTIP")); - setExpandAlignProperties (sendtogimp, false, false, Gtk::ALIGN_CENTER, Gtk::ALIGN_FILL); + send_to_external = Gtk::manage(new PopUpButton("", false)); + send_to_external->set_tooltip_text(M("MAIN_BUTTON_SENDTOEDITOR_TOOLTIP")); + setExpandAlignProperties(send_to_external->buttonGroup, false, false, Gtk::ALIGN_CENTER, Gtk::ALIGN_FILL); + updateExternalEditorWidget( + options.externalEditorIndex >= 0 ? options.externalEditorIndex : options.externalEditors.size(), + options.externalEditors + ); + send_to_external->show(); // Status box progressLabel = Gtk::manage (new MyProgressBar (300)); @@ -739,7 +975,7 @@ EditorPanel::EditorPanel (FilePanel* filePanel) iops->attach_next_to (*vsep1, Gtk::POS_LEFT, 1, 1); if (!gimpPlugin) { - iops->attach_next_to (*sendtogimp, Gtk::POS_LEFT, 1, 1); + iops->attach_next_to(*send_to_external->buttonGroup, Gtk::POS_LEFT, 1, 1); } if (!gimpPlugin && !simpleEditor) { @@ -843,7 +1079,8 @@ EditorPanel::EditorPanel (FilePanel* filePanel) tbRightPanel_1->signal_toggled().connect ( sigc::mem_fun (*this, &EditorPanel::tbRightPanel_1_toggled) ); saveimgas->signal_pressed().connect ( sigc::mem_fun (*this, &EditorPanel::saveAsPressed) ); queueimg->signal_pressed().connect ( sigc::mem_fun (*this, &EditorPanel::queueImgPressed) ); - sendtogimp->signal_pressed().connect ( sigc::mem_fun (*this, &EditorPanel::sendToGimpPressed) ); + send_to_external->signal_changed().connect(sigc::mem_fun(*this, &EditorPanel::sendToExternalChanged)); + send_to_external->signal_pressed().connect(sigc::mem_fun(*this, &EditorPanel::sendToExternalPressed)); toggleHistogramProfile->signal_toggled().connect( sigc::mem_fun (*this, &EditorPanel::histogramProfile_toggled) ); if (navPrev) { @@ -1337,8 +1574,8 @@ void EditorPanel::info_toggled () if (idata && idata->hasExif()) { infoString = Glib::ustring::compose ("%1 + %2\nf/%3 %4s %5%6 %7mm", - Glib::ustring (idata->getMake() + " " + idata->getModel()), - Glib::ustring (idata->getLens()), + escapeHtmlChars (idata->getMake() + " " + idata->getModel()), + escapeHtmlChars (idata->getLens()), Glib::ustring (idata->apertureToString (idata->getFNumber())), Glib::ustring (idata->shutterToString (idata->getShutterSpeed())), M ("QINFO_ISO"), idata->getISOSpeed(), @@ -1363,7 +1600,7 @@ void EditorPanel::info_toggled () ww = ipc->getFullWidth(); hh = ipc->getFullHeight(); } - + //megapixels infoString = Glib::ustring::compose ("%1\n%2 MP (%3x%4)", infoString, @@ -1682,7 +1919,7 @@ bool EditorPanel::handleShortcutKey (GdkEventKey* event) case GDK_KEY_e: if (!gimpPlugin) { - sendToGimpPressed(); + sendToExternalPressed(); } return true; @@ -1764,7 +2001,7 @@ void EditorPanel::procParamsChanged (Thumbnail* thm, int whoChangedIt) PartialProfile pp (true); pp.set (true); * (pp.pparams) = openThm->getProcParams(); - pp.pedited->locallab.spots.resize(pp.pparams->locallab.spots.size(), new LocallabParamsEdited::LocallabSpotEdited(true)); + pp.pedited->locallab.spots.resize(pp.pparams->locallab.spots.size(), LocallabParamsEdited::LocallabSpotEdited(true)); tpc->profileChange (&pp, rtengine::EvProfileChangeNotification, M ("PROGRESSDLG_PROFILECHANGEDINBROWSER")); pp.deleteInstance(); } @@ -1795,12 +2032,12 @@ bool EditorPanel::idle_saveImage (ProgressConnector *pc, delete ld; } } else { - Glib::ustring msg_ = Glib::ustring ("") + fname + ": Error during image processing\n"; + Glib::ustring msg_ = Glib::ustring ("") + escapeHtmlChars(fname) + ": Error during image processing\n"; Gtk::MessageDialog msgd (*parent, msg_, true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); msgd.run (); saveimgas->set_sensitive (true); - sendtogimp->set_sensitive (true); + send_to_external->set_sensitive(true); isProcessing = false; } @@ -1828,7 +2065,7 @@ bool EditorPanel::idle_imageSaved (ProgressConnector *pc, rtengine::IImagef } saveimgas->set_sensitive (true); - sendtogimp->set_sensitive (true); + send_to_external->set_sensitive(true); parent->setProgressStr (""); parent->setProgress (0.); @@ -1939,7 +2176,7 @@ void EditorPanel::saveAsPressed () ld->startFunc (sigc::bind (sigc::ptr_fun (&rtengine::processImage), job, err, parent->getProgressListener(), false ), sigc::bind (sigc::mem_fun ( *this, &EditorPanel::idle_saveImage ), ld, fnameOut, sf, pparams)); saveimgas->set_sensitive (false); - sendtogimp->set_sensitive (false); + send_to_external->set_sensitive(false); } } else { BatchQueueEntry* bqe = createBatchQueueEntry (); @@ -1970,7 +2207,7 @@ void EditorPanel::queueImgPressed () parent->addBatchQueueJob (createBatchQueueEntry ()); } -void EditorPanel::sendToGimpPressed () +void EditorPanel::sendToExternal() { if (!ipc || !openThm) { return; @@ -1979,12 +2216,49 @@ void EditorPanel::sendToGimpPressed () // develop image rtengine::procparams::ProcParams pparams; ipc->getParams (&pparams); + if (options.editor_bypass_output_profile) { + pparams.icm.outputProfile = rtengine::procparams::ColorManagementParams::NoProfileString; + } + + if (!cached_exported_filename.empty() && cached_exported_image == ipc->getInitialImage() && pparams == cached_exported_pparams && Glib::file_test(cached_exported_filename, Glib::FILE_TEST_IS_REGULAR)) { + idle_sentToGimp(nullptr, nullptr, cached_exported_filename); + return; + } + + cached_exported_image = ipc->getInitialImage(); + cached_exported_pparams = pparams; + cached_exported_filename.clear(); rtengine::ProcessingJob* job = rtengine::ProcessingJob::create (ipc->getInitialImage(), pparams); ProgressConnector *ld = new ProgressConnector(); ld->startFunc (sigc::bind (sigc::ptr_fun (&rtengine::processImage), job, err, parent->getProgressListener(), false ), sigc::bind (sigc::mem_fun ( *this, &EditorPanel::idle_sendToGimp ), ld, openThm->getFileName() )); saveimgas->set_sensitive (false); - sendtogimp->set_sensitive (false); + send_to_external->set_sensitive(false); +} + +void EditorPanel::sendToExternalChanged(int) +{ + int index = send_to_external->getSelected(); + if (index >= 0 && static_cast(index) == options.externalEditors.size()) { + index = -1; + } + options.externalEditorIndex = index; + if (externalEditorChangedSignal) { + externalEditorChangedSignal->emit(); + } +} + +void EditorPanel::sendToExternalPressed() +{ + if (options.externalEditorIndex == -1) { + // "Other" external editor. Show app chooser dialog to let user pick. + RTAppChooserDialog *dialog = getAppChooserDialog(); + dialog->show(); + } else { + struct ExternalEditor editor = options.externalEditors.at(options.externalEditorIndex); + external_editor_info = Gio::AppInfo::create_from_commandline(editor.command, editor.name, Gio::APP_INFO_CREATE_NONE); + sendToExternal(); + } } @@ -2038,6 +2312,23 @@ void EditorPanel::syncFileBrowser() // synchronize filebrowser with image in E } } +ExternalEditorChangedSignal * EditorPanel::getExternalEditorChangedSignal() +{ + return externalEditorChangedSignal; +} + +void EditorPanel::setExternalEditorChangedSignal(ExternalEditorChangedSignal *signal) +{ + if (externalEditorChangedSignal) { + externalEditorChangedSignalConnection.disconnect(); + } + externalEditorChangedSignal = signal; + if (signal) { + externalEditorChangedSignalConnection = signal->connect( + sigc::mem_fun(*this, &EditorPanel::updateExternalEditorSelection)); + } +} + void EditorPanel::histogramProfile_toggled() { options.rtSettings.HistogramWorking = toggleHistogramProfile->get_active(); @@ -2052,24 +2343,40 @@ bool EditorPanel::idle_sendToGimp ( ProgressConnector *p if (img) { // get file name base - const Glib::ustring shortname = removeExtension (Glib::path_get_basename (fname)); - const Glib::ustring dirname = Glib::get_tmp_dir (); - const Glib::ustring lfname = Glib::build_filename (dirname, shortname); + Glib::ustring shortname = removeExtension(Glib::path_get_basename(fname)); + Glib::ustring dirname; + switch (options.editor_out_dir) { + case Options::EDITOR_OUT_DIR_CURRENT: + dirname = Glib::path_get_dirname(fname); + break; + case Options::EDITOR_OUT_DIR_CUSTOM: + dirname = options.editor_custom_out_dir; + break; + default: // Options::EDITOR_OUT_DIR_TEMP + dirname = getTmpDirectory(); + break; + } + Glib::ustring fullFileName = Glib::build_filename(dirname, shortname); SaveFormat sf; sf.format = "tif"; - sf.tiffBits = 16; - sf.tiffFloat = false; + if (options.editor_float32) { + sf.tiffBits = 32; + sf.tiffFloat = true; + } else { + sf.tiffBits = 16; + sf.tiffFloat = false; + } + sf.tiffUncompressed = true; sf.saveParams = true; - Glib::ustring fileName = Glib::ustring::compose ("%1.%2", lfname, sf.format); + Glib::ustring fileName = Glib::ustring::compose ("%1.%2", fullFileName, sf.format); // TODO: Just list all file with a suitable name instead of brute force... int tries = 1; - while (Glib::file_test (fileName, Glib::FILE_TEST_EXISTS) && tries < 1000) { - fileName = Glib::ustring::compose ("%1-%2.%3", lfname, tries, sf.format); + fileName = Glib::ustring::compose ("%1-%2.%3", fullFileName, tries, sf.format); tries++; } @@ -2087,7 +2394,7 @@ bool EditorPanel::idle_sendToGimp ( ProgressConnector *p Gtk::MessageDialog msgd (*parent, msg_, true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); msgd.run (); saveimgas->set_sensitive (true); - sendtogimp->set_sensitive (true); + send_to_external->set_sensitive(true); } return false; @@ -2095,25 +2402,27 @@ bool EditorPanel::idle_sendToGimp ( ProgressConnector *p bool EditorPanel::idle_sentToGimp (ProgressConnector *pc, rtengine::IImagefloat* img, Glib::ustring filename) { - delete img; - int errore = pc->returnValue(); + if (img) { + delete img; + cached_exported_filename = filename; + } + int errore = 0; setProgressState(false); - delete pc; + if (pc) { + errore = pc->returnValue(); + delete pc; + } - if (!errore) { + if ((!img && Glib::file_test(filename, Glib::FILE_TEST_IS_REGULAR)) || (img && !errore)) { saveimgas->set_sensitive (true); - sendtogimp->set_sensitive (true); + send_to_external->set_sensitive(true); parent->setProgressStr (""); parent->setProgress (0.); bool success = false; - if (options.editorToSendTo == 1) { - success = ExtProgStore::openInGimp (filename); - } else if (options.editorToSendTo == 2) { - success = ExtProgStore::openInPhotoshop (filename); - } else if (options.editorToSendTo == 3) { - success = ExtProgStore::openInCustomEditor (filename); - } + setUserOnlyPermission(Gio::File::create_for_path(filename), false); + + success = ExtProgStore::openInExternalEditor(filename, external_editor_info); if (!success) { Gtk::MessageDialog msgd (*parent, M ("MAIN_MSG_CANNOTSTARTEDITOR"), false, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); @@ -2126,6 +2435,48 @@ bool EditorPanel::idle_sentToGimp (ProgressConnector *pc, rtengine::IImagef return false; } +RTAppChooserDialog *EditorPanel::getAppChooserDialog() +{ + if (!app_chooser_dialog.get()) { + app_chooser_dialog.reset(new RTAppChooserDialog("image/tiff")); + app_chooser_dialog->signal_response().connect( + sigc::mem_fun(*this, &EditorPanel::onAppChooserDialogResponse) + ); + app_chooser_dialog->set_modal(); + } + + return app_chooser_dialog.get(); +} + +void EditorPanel::onAppChooserDialogResponse(int responseId) +{ + switch (responseId) { + case Gtk::RESPONSE_OK: + getAppChooserDialog()->close(); + external_editor_info = getAppChooserDialog()->get_app_info(); + sendToExternal(); + break; + case Gtk::RESPONSE_CANCEL: + case Gtk::RESPONSE_CLOSE: + getAppChooserDialog()->close(); + break; + default: + break; + } +} + +void EditorPanel::updateExternalEditorSelection() +{ + int index = send_to_external->getSelected(); + if (index >= 0 && static_cast(index) == options.externalEditors.size()) { + index = -1; + } + if (options.externalEditorIndex != index) { + send_to_external->setSelected( + options.externalEditorIndex >= 0 ? options.externalEditorIndex : options.externalEditors.size()); + } +} + void EditorPanel::historyBeforeLineChanged (const rtengine::procparams::ProcParams& params) { @@ -2401,6 +2752,45 @@ void EditorPanel::tbShowHideSidePanels_managestate() ShowHideSidePanelsconn.block (false); } +void EditorPanel::updateExternalEditorWidget(int selectedIndex, const std::vector &editors) +{ + // Remove the editors. + while (send_to_external->getEntryCount()) { + send_to_external->removeEntry(send_to_external->getEntryCount() - 1); + } + + // Create new radio button group because they cannot be reused: https://developer-old.gnome.org/gtkmm/3.16/classGtk_1_1RadioButtonGroup.html#details. + send_to_external_radio_group = Gtk::RadioButtonGroup(); + + // Add the editors. + for (unsigned i = 0; i < editors.size(); i++) { + const auto & name = editors[i].name.empty() ? Glib::ustring(" ") : editors[i].name; + if (!editors[i].icon_serialized.empty()) { + Glib::RefPtr gioIcon; + GError *e = nullptr; + GVariant *icon_variant = g_variant_parse( + nullptr, editors[i].icon_serialized.c_str(), nullptr, nullptr, &e); + + if (e) { + std::cerr + << "Error loading external editor icon from \"" + << editors[i].icon_serialized << "\": " << e->message + << std::endl; + gioIcon = Glib::RefPtr(); + } else { + gioIcon = Gio::Icon::deserialize(Glib::VariantBase(icon_variant)); + } + + send_to_external->insertEntry(i, gioIcon, name, &send_to_external_radio_group); + } else { + send_to_external->insertEntry(i, "palette-brush.png", name, &send_to_external_radio_group); + } + } + send_to_external->addEntry("palette-brush.png", M("GENERAL_OTHER"), &send_to_external_radio_group); + send_to_external->setSelected(selectedIndex); + send_to_external->show(); +} + void EditorPanel::updateProfiles (const Glib::ustring &printerProfile, rtengine::RenderingIntent printerIntent, bool printerBPC) { } diff --git a/rtgui/editorpanel.h b/rtgui/editorpanel.h index 7675face5..fa7f7943b 100644 --- a/rtgui/editorpanel.h +++ b/rtgui/editorpanel.h @@ -38,11 +38,15 @@ template class array2D; } +using ExternalEditorChangedSignal = sigc::signal; + class BatchQueueEntry; class EditorPanel; class FilePanel; class MyProgressBar; class Navigator; +class PopUpButton; +class RTAppChooserDialog; class Thumbnail; class ToolPanelCoordinator; @@ -65,6 +69,7 @@ class EditorPanel final : public rtengine::NonCopyable { public: + explicit EditorPanel (FilePanel* filePanel = nullptr); ~EditorPanel () override; @@ -162,11 +167,17 @@ public: void tbBeforeLock_toggled(); void saveAsPressed (); void queueImgPressed (); - void sendToGimpPressed (); + void sendToExternal(); + void sendToExternalChanged(int); + void sendToExternalPressed(); void openNextEditorImage (); void openPreviousEditorImage (); void syncFileBrowser (); + // Signals. + ExternalEditorChangedSignal * getExternalEditorChangedSignal(); + void setExternalEditorChangedSignal(ExternalEditorChangedSignal *signal); + void tbTopPanel_1_visible (bool visible); bool CheckSidePanelsVisibility(); void tbShowHideSidePanels_managestate(); @@ -182,6 +193,7 @@ public: { return isProcessing; } + void updateExternalEditorWidget(int selectedIndex, const std::vector &editors); void updateProfiles (const Glib::ustring &printerProfile, rtengine::RenderingIntent printerIntent, bool printerBPC); void updateTPVScrollbar (bool hide); void updateHistogramPosition (int oldPosition, int newPosition); @@ -201,6 +213,9 @@ private: bool idle_sendToGimp ( ProgressConnector *pc, Glib::ustring fname); bool idle_sentToGimp (ProgressConnector *pc, rtengine::IImagefloat* img, Glib::ustring filename); void histogramProfile_toggled (); + RTAppChooserDialog *getAppChooserDialog(); + void onAppChooserDialogResponse(int resposneId); + void updateExternalEditorSelection(); Glib::ustring lastSaveAsFileName; @@ -230,10 +245,19 @@ private: Gtk::Button* queueimg; Gtk::Button* saveimgas; - Gtk::Button* sendtogimp; + PopUpButton* send_to_external; + Gtk::RadioButtonGroup send_to_external_radio_group; Gtk::Button* navSync; Gtk::Button* navNext; Gtk::Button* navPrev; + Glib::RefPtr external_editor_info; + std::unique_ptr app_chooser_dialog; + ExternalEditorChangedSignal *externalEditorChangedSignal; + sigc::connection externalEditorChangedSignalConnection; + + rtengine::InitialImage *cached_exported_image; + rtengine::procparams::ProcParams cached_exported_pparams; + Glib::ustring cached_exported_filename; class ColorManagementToolbar; std::unique_ptr colorMgmtToolBar; diff --git a/rtgui/editwidgets.cc b/rtgui/editwidgets.cc index 6611ff519..7ae874673 100644 --- a/rtgui/editwidgets.cc +++ b/rtgui/editwidgets.cc @@ -22,7 +22,11 @@ #include "editbuffer.h" #include "editcallbacks.h" #include "rtsurface.h" -#include "../rtengine/rt_math.h" + +const std::vector Geometry::dash = {3., 1.5}; + +#define INNERGEOM_OPACITY 1. +#define OUTERGEOM_OPACITY 0.7 RGBColor Geometry::getInnerLineColor () { @@ -67,7 +71,8 @@ RGBColor Geometry::getOuterLineColor () void Circle::drawOuterGeometry(Cairo::RefPtr &cr, ObjectMOBuffer *objectBuffer, EditCoordSystem &coordSystem) { - if ((flags & F_VISIBLE) && state != INSENSITIVE) { + double lineWidth = getOuterLineWidth(); + if ((flags & F_VISIBLE) && state != INSENSITIVE && lineWidth > 0. && innerLineWidth > 0.) { RGBColor color; if (flags & F_AUTO_COLOR) { @@ -76,8 +81,9 @@ void Circle::drawOuterGeometry(Cairo::RefPtr &cr, ObjectMOBuffer color = outerLineColor; } - cr->set_source_rgba (color.getR(), color.getG(), color.getB(), opacity / 100.); - cr->set_line_width( getOuterLineWidth() ); + cr->set_source_rgba (color.getR(), color.getG(), color.getB(), OUTERGEOM_OPACITY * rtengine::min(innerLineWidth / 2.f, 1.f)); + cr->set_line_width (lineWidth); + cr->set_line_cap(Cairo::LINE_CAP_ROUND); rtengine::Coord center_ = center; double radius_ = radiusInImageSpace ? coordSystem.scaleValueToCanvas(double(radius)) : double(radius); @@ -107,10 +113,11 @@ void Circle::drawInnerGeometry(Cairo::RefPtr &cr, ObjectMOBuffer color = innerLineColor; } - cr->set_source_rgba(color.getR(), color.getG(), color.getB(), opacity / 100.); + cr->set_source_rgba (color.getR(), color.getG(), color.getB(), INNERGEOM_OPACITY); } - cr->set_line_width( innerLineWidth ); + cr->set_line_width(innerLineWidth); + cr->set_line_cap(flags & F_DASHED ? Cairo::LINE_CAP_BUTT : Cairo::LINE_CAP_ROUND); rtengine::Coord center_ = center; double radius_ = radiusInImageSpace ? coordSystem.scaleValueToCanvas(double(radius)) : double(radius); @@ -123,9 +130,12 @@ void Circle::drawInnerGeometry(Cairo::RefPtr &cr, ObjectMOBuffer center_ += objectBuffer->getDataProvider()->posScreen + objectBuffer->getDataProvider()->deltaScreen; } - if (filled && state != INSENSITIVE) { - cr->arc(center_.x + 0.5, center_.y + 0.5, radius_, 0., 2.*rtengine::RT_PI); + if (flags & F_DASHED) { + cr->set_dash(dash, 0.); + } + if (filled) { + cr->arc(center_.x + 0.5, center_.y + 0.5, radius_, 0., 2.*rtengine::RT_PI); if (innerLineWidth > 0.f) { cr->fill_preserve(); cr->stroke(); @@ -134,28 +144,20 @@ void Circle::drawInnerGeometry(Cairo::RefPtr &cr, ObjectMOBuffer } } else if (innerLineWidth > 0.f) { cr->arc(center_.x + 0.5, center_.y + 0.5, radius_, 0., 2.*rtengine::RT_PI); - - if (state == INSENSITIVE) { - std::valarray ds(1); - ds[0] = 4; - cr->set_source_rgba(1.0, 1.0, 1.0, 0.618); - cr->stroke_preserve(); - cr->set_source_rgba(0.0, 0.0, 0.0, 0.618); - cr->set_dash(ds, 0); - cr->stroke(); - ds.resize(0); - cr->set_dash(ds, 0); - } else { - cr->stroke(); - } + cr->stroke(); } - } + + if (flags & F_DASHED) { + cr->unset_dash(); + } +} } void Circle::drawToMOChannel (Cairo::RefPtr &cr, unsigned short id, ObjectMOBuffer *objectBuffer, EditCoordSystem &coordSystem) { if (flags & F_HOVERABLE) { cr->set_line_width( getMouseOverLineWidth() ); + cr->set_line_cap(Cairo::LINE_CAP_ROUND); rtengine::Coord center_ = center; double radius_ = radiusInImageSpace ? coordSystem.scaleValueToCanvas(double(radius)) : double(radius); @@ -190,7 +192,8 @@ void Circle::drawToMOChannel (Cairo::RefPtr &cr, unsigned short void Line::drawOuterGeometry(Cairo::RefPtr &cr, ObjectMOBuffer *objectBuffer, EditCoordSystem &coordSystem) { - if ((flags & F_VISIBLE) && state != INSENSITIVE) { + double lineWidth = getOuterLineWidth(); + if ((flags & F_VISIBLE) && state != INSENSITIVE && lineWidth > 0. && innerLineWidth > 0.) { RGBColor color; if (flags & F_AUTO_COLOR) { @@ -199,8 +202,9 @@ void Line::drawOuterGeometry(Cairo::RefPtr &cr, ObjectMOBuffer * color = outerLineColor; } - cr->set_source_rgba (color.getR(), color.getG(), color.getB(), opacity / 100.0); - cr->set_line_width( getOuterLineWidth() ); + cr->set_source_rgba (color.getR(), color.getG(), color.getB(), OUTERGEOM_OPACITY * rtengine::min(innerLineWidth / 2.f, 1.f)); + cr->set_line_width (lineWidth); + cr->set_line_cap(Cairo::LINE_CAP_ROUND); rtengine::Coord begin_ = begin; rtengine::Coord end_ = end; @@ -234,10 +238,11 @@ void Line::drawInnerGeometry(Cairo::RefPtr &cr, ObjectMOBuffer * color = innerLineColor; } - cr->set_source_rgba (color.getR(), color.getG(), color.getB(), opacity / 100.); + cr->set_source_rgba (color.getR(), color.getG(), color.getB(), INNERGEOM_OPACITY); } cr->set_line_width(innerLineWidth); + cr->set_line_cap(flags & F_DASHED ? Cairo::LINE_CAP_BUTT : Cairo::LINE_CAP_ROUND); rtengine::Coord begin_ = begin; rtengine::Coord end_ = end; @@ -253,21 +258,16 @@ void Line::drawInnerGeometry(Cairo::RefPtr &cr, ObjectMOBuffer * end_ += objectBuffer->getDataProvider()->posScreen + objectBuffer->getDataProvider()->deltaScreen; } + if (flags & F_DASHED) { + cr->set_dash(dash, 0.); + } + cr->move_to(begin_.x + 0.5, begin_.y + 0.5); cr->line_to(end_.x + 0.5, end_.y + 0.5); + cr->stroke(); - if (state == INSENSITIVE) { - std::valarray ds(1); - ds[0] = 4; - cr->set_source_rgba(1.0, 1.0, 1.0, 0.618); - cr->stroke_preserve(); - cr->set_source_rgba(0.0, 0.0, 0.0, 0.618); - cr->set_dash(ds, 0); - cr->stroke(); - ds.resize(0); - cr->set_dash(ds, 0); - } else { - cr->stroke(); + if (flags & F_DASHED) { + cr->unset_dash(); } } } @@ -276,6 +276,7 @@ void Line::drawToMOChannel(Cairo::RefPtr &cr, unsigned short id, { if (flags & F_HOVERABLE) { cr->set_line_width( getMouseOverLineWidth() ); + cr->set_line_cap(Cairo::LINE_CAP_ROUND); rtengine::Coord begin_ = begin; rtengine::Coord end_ = end; @@ -304,7 +305,8 @@ void Line::drawToMOChannel(Cairo::RefPtr &cr, unsigned short id, void Polyline::drawOuterGeometry(Cairo::RefPtr &cr, ObjectMOBuffer *objectBuffer, EditCoordSystem &coordSystem) { - if ((flags & F_VISIBLE) && state != INSENSITIVE && points.size() > 1) { + double lineWidth = getOuterLineWidth(); + if ((flags & F_VISIBLE) && state != INSENSITIVE && points.size() > 1 && lineWidth > 0.) { RGBColor color; if (flags & F_AUTO_COLOR) { @@ -313,8 +315,10 @@ void Polyline::drawOuterGeometry(Cairo::RefPtr &cr, ObjectMOBuff color = outerLineColor; } - cr->set_source_rgba (color.getR(), color.getG(), color.getB(), opacity / 100.); - cr->set_line_width( getOuterLineWidth() ); + cr->set_source_rgba (color.getR(), color.getG(), color.getB(), OUTERGEOM_OPACITY * rtengine::min(innerLineWidth / 2.f, 1.f)); + cr->set_line_width (lineWidth); + cr->set_line_cap(Cairo::LINE_CAP_ROUND); + cr->set_line_join(Cairo::LINE_JOIN_ROUND); rtengine::Coord currPos; @@ -357,10 +361,16 @@ void Polyline::drawInnerGeometry(Cairo::RefPtr &cr, ObjectMOBuff color = innerLineColor; } - cr->set_source_rgba (color.getR(), color.getG(), color.getB(), opacity / 100.); + cr->set_source_rgba (color.getR(), color.getG(), color.getB(), INNERGEOM_OPACITY); } - cr->set_line_width( innerLineWidth ); + cr->set_line_width(innerLineWidth); + cr->set_line_cap(flags & F_DASHED ? Cairo::LINE_CAP_BUTT : Cairo::LINE_CAP_ROUND); + cr->set_line_join(Cairo::LINE_JOIN_ROUND); + + if (flags & F_DASHED) { + cr->set_dash(dash, 0.); + } if (filled && state != INSENSITIVE) { rtengine::Coord currPos; @@ -409,20 +419,11 @@ void Polyline::drawInnerGeometry(Cairo::RefPtr &cr, ObjectMOBuff cr->line_to(currPos.x + 0.5, currPos.y + 0.5); } } + cr->stroke(); + } - if (state == INSENSITIVE) { - std::valarray ds(1); - ds[0] = 4; - cr->set_source_rgba(1.0, 1.0, 1.0, 0.618); - cr->stroke_preserve(); - cr->set_source_rgba(0.0, 0.0, 0.0, 0.618); - cr->set_dash(ds, 0); - cr->stroke(); - ds.resize(0); - cr->set_dash(ds, 0); - } else { - cr->stroke(); - } + if (flags & F_DASHED) { + cr->unset_dash(); } } } @@ -439,8 +440,11 @@ void Polyline::drawToMOChannel (Cairo::RefPtr &cr, unsigned shor cr->set_source_rgba (0., 0., 0., (id + 1) / 65535.); } + cr->set_line_width( getMouseOverLineWidth() ); + cr->set_line_cap(Cairo::LINE_CAP_ROUND); + cr->set_line_join(Cairo::LINE_JOIN_ROUND); + for (unsigned int i = 0; i < points.size(); ++i) { - cr->set_line_width( getMouseOverLineWidth() ); currPos = points.at(i); if (datum == IMAGE) { @@ -497,7 +501,8 @@ void EditRectangle::setXYXY(rtengine::Coord topLeft, rtengine::Coord bottomRight void EditRectangle::drawOuterGeometry(Cairo::RefPtr &cr, ObjectMOBuffer *objectBuffer, EditCoordSystem &coordSystem) { - if ((flags & F_VISIBLE) && state != INSENSITIVE) { + double lineWidth = getOuterLineWidth(); + if ((flags & F_VISIBLE) && state != INSENSITIVE && lineWidth > 0. && innerLineWidth > 0.) { RGBColor color; if (flags & F_AUTO_COLOR) { @@ -506,8 +511,9 @@ void EditRectangle::drawOuterGeometry(Cairo::RefPtr &cr, ObjectM color = outerLineColor; } - cr->set_source_rgba (color.getR(), color.getG(), color.getB(), opacity / 100.); - cr->set_line_width( getOuterLineWidth() ); + cr->set_source_rgba (color.getR(), color.getG(), color.getB(), OUTERGEOM_OPACITY * rtengine::min(innerLineWidth / 2.f, 1.f)); + cr->set_line_width (lineWidth); + cr->set_line_join(Cairo::LINE_JOIN_BEVEL); rtengine::Coord tl, br; @@ -550,10 +556,11 @@ void EditRectangle::drawInnerGeometry(Cairo::RefPtr &cr, ObjectM color = innerLineColor; } - cr->set_source_rgba (color.getR(), color.getG(), color.getB(), opacity / 100.); + cr->set_source_rgba (color.getR(), color.getG(), color.getB(), INNERGEOM_OPACITY); } - cr->set_line_width( innerLineWidth ); + cr->set_line_width(innerLineWidth); + cr->set_line_join(Cairo::LINE_JOIN_BEVEL); rtengine::Coord tl, br; @@ -573,7 +580,11 @@ void EditRectangle::drawInnerGeometry(Cairo::RefPtr &cr, ObjectM br = bottomRight + objectBuffer->getDataProvider()->posScreen + objectBuffer->getDataProvider()->deltaScreen; } - if (filled && state != INSENSITIVE) { + if (flags & F_DASHED) { + cr->set_dash(dash, 0.); + } + + if (filled) { cr->rectangle(tl.x + 0.5, tl.y + 0.5, br.x - tl.x, br.y - tl.y); if (innerLineWidth > 0.f) { @@ -584,20 +595,11 @@ void EditRectangle::drawInnerGeometry(Cairo::RefPtr &cr, ObjectM } } else if (innerLineWidth > 0.f) { cr->rectangle(tl.x + 0.5, tl.y + 0.5, br.x - tl.x, br.y - tl.y); + cr->stroke(); + } - if (state == INSENSITIVE) { - std::valarray ds(1); - ds[0] = 4; - cr->set_source_rgba(1.0, 1.0, 1.0, 0.618); - cr->stroke_preserve(); - cr->set_source_rgba(0.0, 0.0, 0.0, 0.618); - cr->set_dash(ds, 0); - cr->stroke(); - ds.resize(0); - cr->set_dash(ds, 0); - } else { - cr->stroke(); - } + if (flags & F_DASHED) { + cr->unset_dash(); } } } @@ -606,6 +608,7 @@ void EditRectangle::drawToMOChannel(Cairo::RefPtr &cr, unsigned { if (flags & F_HOVERABLE) { cr->set_line_width( getMouseOverLineWidth() ); + cr->set_line_join(Cairo::LINE_JOIN_ROUND); rtengine::Coord tl, br; diff --git a/rtgui/editwidgets.h b/rtgui/editwidgets.h index 7add435b9..f1cdcf87f 100644 --- a/rtgui/editwidgets.h +++ b/rtgui/editwidgets.h @@ -24,10 +24,11 @@ #include #include "editcoordsys.h" +#include "rtsurface.h" #include "../rtengine/coord.h" +#include "../rtengine/rt_math.h" class ObjectMOBuffer; -class RTSurface; /** @file * @@ -210,6 +211,8 @@ public: F_VISIBLE = 1 << 0, /// true if the geometry have to be drawn on the visible layer F_HOVERABLE = 1 << 1, /// true if the geometry have to be drawn on the "mouse over" layer F_AUTO_COLOR = 1 << 2, /// true if the color depend on the state value, not the color field above + F_DASHED = 1 << 3, /// true if the geometry have to be drawn as a dash line + // (TODO: add a F_LARGE_DASH to have two different dash size ?) }; /// @brief Key point of the image's rectangle that is used to locate the icon copy to the target point: @@ -226,6 +229,7 @@ public: }; protected: + static const std::vector dash; RGBColor innerLineColor; RGBColor outerLineColor; short flags; @@ -252,6 +256,8 @@ public: void setVisible (bool visible); bool isHoverable (); void setHoverable (bool visible); + bool isDashed (); + void setDashed (bool dashed); // setActive will enable/disable the visible and hoverable flags in one shot! @@ -449,7 +455,7 @@ inline void Geometry::setOuterLineColor (char r, char g, char b) { } inline double Geometry::getMouseOverLineWidth () { - return getOuterLineWidth () + 2.; + return rtengine::max(double(innerLineWidth), 1.) + 2.; } inline void Geometry::setAutoColor (bool aColor) { @@ -484,6 +490,18 @@ inline void Geometry::setHoverable (bool hoverable) { } } +inline bool Geometry::isDashed () { + return flags & F_DASHED; +} + +inline void Geometry::setDashed (bool dashed) { + if (dashed) { + flags |= F_DASHED; + } else { + flags &= ~F_DASHED; + } +} + inline void Geometry::setActive (bool active) { if (active) { flags |= (F_VISIBLE | F_HOVERABLE); diff --git a/rtgui/editwindow.cc b/rtgui/editwindow.cc index 3ae3e47fa..0584edf77 100644 --- a/rtgui/editwindow.cc +++ b/rtgui/editwindow.cc @@ -31,11 +31,17 @@ extern Glib::ustring argv0; // Check if the system has more than one display and option is set bool EditWindow::isMultiDisplayEnabled() { - return options.multiDisplayMode > 0 && Gdk::Screen::get_default()->get_n_monitors() > 1; + const auto screen = Gdk::Screen::get_default(); + + if (screen) { + return options.multiDisplayMode > 0 && screen->get_display()->get_n_monitors() > 1; + } else { + return false; // There is no default screen + } } -// Should only be created once, auto-creates window on correct display -EditWindow* EditWindow::getInstance(RTWindow* p, bool restore) +// Should only be created once +EditWindow* EditWindow::getInstance(RTWindow* p) { struct EditWindowInstance { @@ -47,13 +53,15 @@ EditWindow* EditWindow::getInstance(RTWindow* p, bool restore) }; static EditWindowInstance instance_(p); - if(restore) { - instance_.editWnd.restoreWindow(); - } return &instance_.editWnd; } -EditWindow::EditWindow (RTWindow* p) : resolution(RTScalable::baseDPI), parent(p) , isFullscreen(false), isClosed(true) +EditWindow::EditWindow (RTWindow* p) + : resolution(RTScalable::baseDPI) + , parent(p) + , isFullscreen(false) + , isClosed(true) + , isMinimized(false) { updateResolution(); @@ -70,6 +78,8 @@ EditWindow::EditWindow (RTWindow* p) : resolution(RTScalable::baseDPI), parent(p mainNB->signal_switch_page().connect_notify(sigc::mem_fun(*this, &EditWindow::on_mainNB_switch_page)); signal_key_press_event().connect(sigc::mem_fun(*this, &EditWindow::keyPressed)); + signal_window_state_event().connect(sigc::mem_fun(*this, &EditWindow::on_window_state_event)); + onConfEventConn = signal_configure_event().connect(sigc::mem_fun(*this, &EditWindow::on_configure_event)); Gtk::Box* mainBox = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL)); mainBox->pack_start(*mainNB); @@ -78,43 +88,74 @@ EditWindow::EditWindow (RTWindow* p) : resolution(RTScalable::baseDPI), parent(p } -void EditWindow::restoreWindow() { +void EditWindow::restoreWindow() +{ + if (isClosed) { + onConfEventConn.block(true); // Avoid getting size and position while window is being moved, maximized, ... - if(isClosed) { - int meowMonitor = 0; - if(isMultiDisplayEnabled()) { - if(options.meowMonitor >= 0) { // use display from last session if available - meowMonitor = std::min(options.meowMonitor, Gdk::Screen::get_default()->get_n_monitors() - 1); - } else { // Determine the other display - const Glib::RefPtr< Gdk::Window >& wnd = parent->get_window(); - meowMonitor = parent->get_screen()->get_monitor_at_window(wnd) == 0 ? 1 : 0; + int meowMonitor = 0; // By default, set to main monitor + const auto display = get_screen()->get_display(); + + if (isMultiDisplayEnabled()) { + if (options.meowMonitor >= 0) { // Use display from last session if available + meowMonitor = std::max(0, std::min(options.meowMonitor, display->get_n_monitors() - 1)); + } else { // Determine the main RT window display + const Glib::RefPtr &wnd = parent->get_window(); + + // Retrieve window monitor ID + const int monitor_nb = display->get_n_monitors(); + + for (int id = 0; id < monitor_nb; id++) { + if (display->get_monitor_at_window(wnd) == display->get_monitor(id)) { + meowMonitor = id; + break; + } + } } } Gdk::Rectangle lMonitorRect; - get_screen()->get_monitor_geometry(meowMonitor, lMonitorRect); - if(options.meowMaximized) { + display->get_monitor(meowMonitor)->get_geometry(lMonitorRect); + +#ifdef __APPLE__ + // Get macOS menu bar height + Gdk::Rectangle lWorkAreaRect; + display->get_monitor(std::min(meowMonitor, display->get_n_monitors() - 1))->get_workarea(lWorkAreaRect); + const int macMenuBarHeight = lWorkAreaRect.get_y(); + + // Place RT window to saved one in options file + if (options.meowX <= lMonitorRect.get_x() + lMonitorRect.get_width() + && options.meowX >= 0 + && options.meowY <= lMonitorRect.get_y() + lMonitorRect.get_height() - macMenuBarHeight + && options.meowY >= 0) { + move(options.meowX, options.meowY + macMenuBarHeight); + } else { + move(lMonitorRect.get_x(), lMonitorRect.get_y() + macMenuBarHeight); + } +#else + // Place RT window to saved one in options file + if (options.meowX <= lMonitorRect.get_x() + lMonitorRect.get_width() + && options.meowX >= 0 + && options.meowY <= lMonitorRect.get_y() + lMonitorRect.get_height() + && options.meowY >= 0) { + move(options.meowX, options.meowY); + } else { move(lMonitorRect.get_x(), lMonitorRect.get_y()); + } +#endif + + // Maximize RT window according to options file + if (options.meowMaximized) { maximize(); } else { + unmaximize(); resize(options.meowWidth, options.meowHeight); - if(options.meowX <= lMonitorRect.get_x() + lMonitorRect.get_width() && options.meowY <= lMonitorRect.get_y() + lMonitorRect.get_height()) { - move(options.meowX, options.meowY); - } else { - move(lMonitorRect.get_x(), lMonitorRect.get_y()); - } - } - show_all(); - - isFullscreen = options.meowFullScreen; - - if(isFullscreen) { - fullscreen(); } isClosed = false; - } + onConfEventConn.block(false); + } } void EditWindow::on_realize () @@ -174,27 +215,23 @@ bool EditWindow::on_configure_event(GdkEventConfigure* event) setAppIcon(); } - if (get_realized() && is_visible()) { - if(!is_maximized()) { - get_position(options.meowX, options.meowY); - get_size(options.meowWidth, options.meowHeight); - } - options.meowMaximized = is_maximized(); + if (!options.meowMaximized && !isFullscreen && !isMinimized) { + get_position(options.meowX, options.meowY); + get_size(options.meowWidth, options.meowHeight); } return Gtk::Widget::on_configure_event(event); } -/* HOMBRE: Disabling this since it's maximized when opened anyway. - * Someday, the EditorWindow might save its own position and state, so it'll have to be uncommented bool EditWindow::on_window_state_event(GdkEventWindowState* event) { - if (event->changed_mask & GDK_WINDOW_STATE_MAXIMIZED) { - options.windowMaximized = event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED; - } + // Retrieve RT window states + options.meowMaximized = event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED; + isMinimized = event->new_window_state & GDK_WINDOW_STATE_ICONIFIED; + isFullscreen = event->new_window_state & GDK_WINDOW_STATE_FULLSCREEN; return Gtk::Widget::on_window_state_event(event); -}*/ +} void EditWindow::on_mainNB_switch_page(Gtk::Widget* widget, guint page_num) { @@ -213,6 +250,7 @@ void EditWindow::addEditorPanel (EditorPanel* ep, const std::string &name) { ep->setParent (parent); ep->setParentWindow(this); + ep->setExternalEditorChangedSignal(&externalEditorChangedSignal); // construct closeable tab for the image Gtk::Box* hb = Gtk::manage (new Gtk::Box ()); @@ -241,7 +279,8 @@ void EditWindow::addEditorPanel (EditorPanel* ep, const std::string &name) epanels[ name ] = ep; filesEdited.insert ( name ); parent->fpanel->refreshEditedState (filesEdited); - ep->setAspect(); + + show_all(); } void EditWindow::remEditorPanel (EditorPanel* ep) @@ -250,6 +289,7 @@ void EditWindow::remEditorPanel (EditorPanel* ep) return; // Will crash if destroyed while loading } + ep->setExternalEditorChangedSignal(nullptr); epanels.erase (ep->getFileName()); filesEdited.erase (ep->getFileName ()); parent->fpanel->refreshEditedState (filesEdited); @@ -281,10 +321,20 @@ bool EditWindow::selectEditorPanel(const std::string &name) void EditWindow::toFront () { - // when using the secondary window on the same monitor as the primary window we need to present the secondary window. + // When using the secondary window on the same monitor as the primary window we need to present the secondary window. // If we don't, it will stay in background when opening 2nd, 3rd... editor, which is annoying // It will also deiconify the window - present(); + // To avoid unexpected behavior while window is being updated, present() function is called after at idle + idle_register.add( + [this]()-> bool + { + onConfEventConn.block(true); // Avoid getting size and position while window is being moved, maximized, ... + present(); + onConfEventConn.block(false); + + return false; + } + ); } bool EditWindow::keyPressed (GdkEventKey* event) @@ -308,27 +358,63 @@ bool EditWindow::keyPressed (GdkEventKey* event) return false; } - } -void EditWindow::toggleFullscreen () +void EditWindow::toggleFullscreen() { + onConfEventConn.block(true); // Avoid getting size and position while window is getting fullscreen + isFullscreen ? unfullscreen() : fullscreen(); - options.meowFullScreen = isFullscreen = !isFullscreen; + + onConfEventConn.block(false); } -void EditWindow::writeOptions() { +void EditWindow::get_position(int& x, int& y) const +{ + // Call native function + Gtk::Window::get_position(x, y); - if(is_visible()) { - if(isMultiDisplayEnabled()) { - options.meowMonitor = get_screen()->get_monitor_at_window(get_window()); + // Retrieve display (concatenation of all monitors) size + int width = 0, height = 0; + const auto display = get_screen()->get_display(); + const int nbMonitors = display->get_n_monitors(); + + for (int i = 0; i < nbMonitors; i++) { + Gdk::Rectangle lMonitorRect; + display->get_monitor(i)->get_geometry(lMonitorRect); + width = std::max(width, lMonitorRect.get_x() + lMonitorRect.get_width()); + height = std::max(height, lMonitorRect.get_y() + lMonitorRect.get_height()); + } + + // Saturate position at monitor limits to avoid unexpected behavior (fixes #6233) + x = std::min(width, std::max(0, x)); + y = std::min(height, std::max(0, y)); +} + +void EditWindow::writeOptions() +{ + if (is_visible()) { + if (isMultiDisplayEnabled()) { + // Retrieve window monitor ID + options.meowMonitor = 0; + const auto display = get_screen()->get_display(); + const int monitor_nb = display->get_n_monitors(); + + for (int id = 0; id < monitor_nb; id++) { + if (display->get_monitor_at_window(get_window()) == display->get_monitor(id)) { + options.windowMonitor = id; + break; + } + } } - options.meowMaximized = is_maximized(); - get_position(options.meowX, options.meowY); - get_size(options.meowWidth,options.meowHeight); + if (!options.meowMaximized && !isFullscreen && !isMinimized) { + get_position(options.meowX, options.meowY); + get_size(options.meowWidth, options.meowHeight); + } } } + bool EditWindow::on_delete_event(GdkEventAny* event) { diff --git a/rtgui/editwindow.h b/rtgui/editwindow.h index f4ada571d..27d4598c1 100644 --- a/rtgui/editwindow.h +++ b/rtgui/editwindow.h @@ -21,6 +21,7 @@ #include #include "rtimage.h" +#include "guiutils.h" class EditorPanel; class RTWindow; @@ -38,19 +39,24 @@ private: std::set filesEdited; std::map epanels; + sigc::signal externalEditorChangedSignal; + bool isFullscreen; bool isClosed; + bool isMinimized; + sigc::connection onConfEventConn; void toggleFullscreen (); - void restoreWindow(); bool updateResolution(); void setAppIcon(); + IdleRegister idle_register; + public: // Check if the system has more than one display and option is set static bool isMultiDisplayEnabled(); - // Should only be created once, auto-creates window on correct display - static EditWindow* getInstance(RTWindow* p, bool restore = true); + // Should only be created once + static EditWindow* getInstance(RTWindow* p); explicit EditWindow (RTWindow* p); @@ -65,8 +71,10 @@ public: bool keyPressed (GdkEventKey* event); bool on_configure_event(GdkEventConfigure* event) override; bool on_delete_event(GdkEventAny* event) override; - //bool on_window_state_event(GdkEventWindowState* event); + bool on_window_state_event(GdkEventWindowState* event) override; void on_mainNB_switch_page(Gtk::Widget* page, guint page_num); void set_title_decorated(Glib::ustring fname); void on_realize () override; + void get_position(int& x, int& y) const; + void restoreWindow(); }; diff --git a/rtgui/exportpanel.cc b/rtgui/exportpanel.cc index a4ce63c1d..f6c8a79f0 100644 --- a/rtgui/exportpanel.cc +++ b/rtgui/exportpanel.cc @@ -46,7 +46,7 @@ ExportPanel::ExportPanel () : listener (nullptr) use_normal_pipeline = Gtk::manage ( new Gtk::RadioButton (pipeline_group, M ("EXPORT_USE_NORMAL_PIPELINE"))); bypass_box = Gtk::manage (new Gtk::Box(Gtk::ORIENTATION_VERTICAL)); bypass_ALL = Gtk::manage ( new Gtk::CheckButton (M ("EXPORT_BYPASS_ALL"))); - use_fast_pipeline->set_tooltip_text (M ("EXPORT_USE_FAST_PIPELINE_TIP")); + use_fast_pipeline->set_tooltip_text (M ("EXPORT_USE_FAST_PIPELINE_TOOLTIP")); bypass_sharpening = Gtk::manage ( new Gtk::CheckButton (M ("EXPORT_BYPASS_SHARPENING"))); bypass_sharpenEdge = Gtk::manage ( new Gtk::CheckButton (M ("EXPORT_BYPASS_SHARPENEDGE"))); bypass_sharpenMicro = Gtk::manage ( new Gtk::CheckButton (M ("EXPORT_BYPASS_SHARPENMICRO"))); diff --git a/rtgui/externaleditorpreferences.cc b/rtgui/externaleditorpreferences.cc new file mode 100644 index 000000000..79dac52d2 --- /dev/null +++ b/rtgui/externaleditorpreferences.cc @@ -0,0 +1,358 @@ +/* + * This file is part of RawTherapee. + * + * Copyright (c) 2021 Lawrence Lee + * + * 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 . + */ +#include + +#include +#include +#include +#include + +#include "externaleditorpreferences.h" +#include "multilangmgr.h" +#include "rtimage.h" + + +ExternalEditorPreferences::ExternalEditorPreferences(): + Box(Gtk::Orientation::ORIENTATION_VERTICAL), + list_model(Gtk::ListStore::create(model_columns)), + toolbar(Gtk::Orientation::ORIENTATION_HORIZONTAL) +{ + // List view. + list_view = Gtk::manage(new Gtk::TreeView()); + list_view->set_model(list_model); + list_view->append_column(*Gtk::manage(makeAppColumn())); + list_view->append_column(*Gtk::manage(makeCommandColumn())); + + for (auto &&column : list_view->get_columns()) { + column->set_sizing(Gtk::TreeViewColumnSizing::TREE_VIEW_COLUMN_FIXED); + } + + list_view->set_grid_lines(Gtk::TREE_VIEW_GRID_LINES_VERTICAL); + list_view->set_reorderable(); + + // List scroll area. + list_scroll_area.set_hexpand(); + list_scroll_area.set_vexpand(); + list_scroll_area.add(*list_view); + + // Toolbar buttons. + auto add_image = Gtk::manage(new RTImage("add-small.png")); + auto remove_image = Gtk::manage(new RTImage("remove-small.png")); + button_add = Gtk::manage(new Gtk::Button()); + button_remove = Gtk::manage(new Gtk::Button()); + button_add->set_image(*add_image); + button_remove->set_image(*remove_image); + button_app_chooser = Gtk::manage(new Gtk::Button(M("PREFERENCES_EXTERNALEDITOR_CHANGE"))); + button_file_chooser = Gtk::manage(new Gtk::Button(M("PREFERENCES_EXTERNALEDITOR_CHANGE_FILE"))); + + button_app_chooser->signal_pressed().connect(sigc::mem_fun( + *this, &ExternalEditorPreferences::openAppChooserDialog)); + button_add->signal_pressed().connect(sigc::mem_fun( + *this, &ExternalEditorPreferences::addEditor)); + button_file_chooser->signal_pressed().connect(sigc::mem_fun( + *this, &ExternalEditorPreferences::openFileChooserDialog)); + button_remove->signal_pressed().connect(sigc::mem_fun( + *this, &ExternalEditorPreferences::removeSelectedEditors)); + + list_view->get_selection()->signal_changed().connect(sigc::mem_fun( + *this, &ExternalEditorPreferences::updateToolbarSensitivity)); + updateToolbarSensitivity(); + + // Toolbar. + toolbar.set_halign(Gtk::Align::ALIGN_END); + toolbar.add(*button_app_chooser); + toolbar.add(*button_file_chooser); + toolbar.add(*button_add); + toolbar.add(*button_remove); + + // This widget's children. + add(list_scroll_area); + add(toolbar); + show_all(); +} + +std::vector +ExternalEditorPreferences::getEditors() const +{ + std::vector editors; + + auto children = list_model->children(); + + for (auto rowIter = children.begin(); rowIter != children.end(); rowIter++) { + const Gio::Icon *const icon = rowIter->get_value(model_columns.icon).get(); + const auto &icon_serialized = icon == nullptr ? "" : icon->serialize().print(); + editors.push_back(ExternalEditorPreferences::EditorInfo( + rowIter->get_value(model_columns.name), + rowIter->get_value(model_columns.command), + icon_serialized, + rowIter->get_value(model_columns.other_data) + )); + } + + return editors; +} + +void ExternalEditorPreferences::setEditors( + const std::vector &editors) +{ + list_model->clear(); + + for (const ExternalEditorPreferences::EditorInfo & editor : editors) { + auto row = *list_model->append(); + Glib::RefPtr icon; + + // Get icon. + if (editor.icon_serialized.empty()) { + icon = Glib::RefPtr(); + } else { + GError *e = nullptr; + GVariant *icon_variant = g_variant_parse( + nullptr, editor.icon_serialized.c_str(), nullptr, nullptr, &e); + if (e) { + std::cerr + << "Error loading external editor icon from \"" + << editor.icon_serialized << "\": " << e->message + << std::endl; + icon = Glib::RefPtr(); + } else { + icon = Gio::Icon::deserialize(Glib::VariantBase(icon_variant)); + } + } + + row[model_columns.name] = editor.name; + row[model_columns.icon] = icon; + row[model_columns.command] = editor.command; + row[model_columns.other_data] = editor.other_data; + } +} + +void ExternalEditorPreferences::addEditor() +{ + Gtk::TreeModel::Row row; + auto selected = list_view->get_selection()->get_selected_rows(); + + if (selected.size()) { + row = *list_model->insert_after(list_model->get_iter(selected.back())); + } else { + row = *list_model->append(); + } + + row[model_columns.name] = "-"; + list_view->get_selection()->select(row); +} + +Gtk::TreeViewColumn *ExternalEditorPreferences::makeAppColumn() +{ + auto name_renderer = Gtk::manage(new Gtk::CellRendererText()); + auto icon_renderer = Gtk::manage(new Gtk::CellRendererPixbuf()); + auto col = Gtk::manage(new Gtk::TreeViewColumn()); + + col->set_title(M("PREFERENCES_EXTERNALEDITOR_COLUMN_NAME")); + col->set_resizable(); + col->pack_start(*icon_renderer, false); + col->pack_start(*name_renderer); + col->add_attribute(*icon_renderer, "gicon", model_columns.icon); + col->add_attribute(*name_renderer, "text", model_columns.name); + col->set_min_width(20); + + name_renderer->property_editable() = true; + name_renderer->signal_edited().connect( + sigc::mem_fun(*this, &ExternalEditorPreferences::setAppName)); + + return col; +} + +Gtk::TreeViewColumn *ExternalEditorPreferences::makeCommandColumn() +{ + auto command_renderer = Gtk::manage(new Gtk::CellRendererText()); + auto col = Gtk::manage(new Gtk::TreeViewColumn()); + + col->set_title(M("PREFERENCES_EXTERNALEDITOR_COLUMN_COMMAND")); + col->pack_start(*command_renderer); + col->add_attribute(*command_renderer, "text", model_columns.command); + + command_renderer->property_editable() = true; + command_renderer->signal_edited().connect( + sigc::mem_fun(*this, &ExternalEditorPreferences::setAppCommand)); + + return col; +} + +void ExternalEditorPreferences::onAppChooserDialogResponse( + int response_id, RTAppChooserDialog *dialog) +{ + switch (response_id) { + case Gtk::RESPONSE_OK: + dialog->close(); + setApp(dialog->get_app_info()); + break; + + case Gtk::RESPONSE_CANCEL: + case Gtk::RESPONSE_CLOSE: + dialog->close(); + break; + + default: + break; + } +} + +void ExternalEditorPreferences::onFileChooserDialogResponse( + int response_id, Gtk::FileChooserDialog *dialog) +{ + switch (response_id) { + case Gtk::RESPONSE_OK: { + dialog->close(); + + auto selection = list_view->get_selection()->get_selected_rows(); + for (const auto &selected : selection) { + auto row = *list_model->get_iter(selected); + row[model_columns.icon] = Glib::RefPtr(nullptr); + row[model_columns.command] = +#ifdef WIN32 + '"' + dialog->get_filename() + '"'; +#else + Glib::shell_quote(dialog->get_filename()); +#endif + } + + break; + } + + case Gtk::RESPONSE_CANCEL: + case Gtk::RESPONSE_CLOSE: + dialog->close(); + break; + + default: + break; + } +} + +void ExternalEditorPreferences::openAppChooserDialog() +{ + if (app_chooser_dialog.get()) { + app_chooser_dialog->refresh(); + app_chooser_dialog->show(); + return; + } + + app_chooser_dialog.reset(new RTAppChooserDialog("image/tiff")); + app_chooser_dialog->signal_response().connect(sigc::bind( + sigc::mem_fun(*this, &ExternalEditorPreferences::onAppChooserDialogResponse), + app_chooser_dialog.get() + )); + app_chooser_dialog->set_modal(); + app_chooser_dialog->show(); +} + +void ExternalEditorPreferences::openFileChooserDialog() +{ + if (file_chooser_dialog.get()) { + file_chooser_dialog->show(); + return; + } + + file_chooser_dialog.reset(new Gtk::FileChooserDialog(M("PREFERENCES_EXTERNALEDITOR_CHANGE_FILE"))); + + const auto exe_filter = Gtk::FileFilter::create(); + exe_filter->set_name(M("FILECHOOSER_FILTER_EXECUTABLE")); + exe_filter->add_custom(Gtk::FILE_FILTER_MIME_TYPE, [](const Gtk::FileFilter::Info &info) { +#ifdef WIN32 + return info.mime_type == "application/x-msdownload"; +#else + return Gio::content_type_can_be_executable(info.mime_type); +#endif + }); + const auto all_filter = Gtk::FileFilter::create(); + all_filter->set_name(M("FILECHOOSER_FILTER_ANY")); + all_filter->add_pattern("*"); + file_chooser_dialog->add_filter(exe_filter); + file_chooser_dialog->add_filter(all_filter); + + file_chooser_dialog->signal_response().connect(sigc::bind( + sigc::mem_fun(*this, &ExternalEditorPreferences::onFileChooserDialogResponse), + file_chooser_dialog.get())); + file_chooser_dialog->set_modal(); + file_chooser_dialog->add_button(M("GENERAL_CANCEL"), Gtk::RESPONSE_CANCEL); + file_chooser_dialog->add_button(M("GENERAL_OPEN"), Gtk::RESPONSE_OK); + file_chooser_dialog->show(); +} + +void ExternalEditorPreferences::removeSelectedEditors() +{ + auto selection = list_view->get_selection()->get_selected_rows(); + + for (const auto &selected : selection) { + list_model->erase(list_model->get_iter(selected)); + } +} + +void ExternalEditorPreferences::setApp(const Glib::RefPtr app_info) +{ + auto selection = list_view->get_selection()->get_selected_rows(); + + for (const auto &selected : selection) { + auto row = *list_model->get_iter(selected); + row[model_columns.icon] = app_info->get_icon(); + row[model_columns.name] = app_info->get_name(); + row[model_columns.command] = app_info->get_commandline(); + } +} + +void ExternalEditorPreferences::setAppCommand( + const Glib::ustring & path, const Glib::ustring & new_text) +{ + auto row_iter = list_model->get_iter(path); + + if (!row_iter->get_value(model_columns.command).compare(new_text)) { + return; + } + + row_iter->set_value(model_columns.command, new_text); + row_iter->set_value(model_columns.icon, Glib::RefPtr(nullptr)); +} + +void ExternalEditorPreferences::setAppName( + const Glib::ustring & path, const Glib::ustring & new_text) +{ + list_model->get_iter(path)->set_value(model_columns.name, new_text); +} + +void ExternalEditorPreferences::updateToolbarSensitivity() +{ + bool selected = list_view->get_selection()->count_selected_rows(); + button_app_chooser->set_sensitive(selected); + button_file_chooser->set_sensitive(selected); + button_remove->set_sensitive(selected); +} + +ExternalEditorPreferences::EditorInfo::EditorInfo( + Glib::ustring name, Glib::ustring command, Glib::ustring icon_serialized, void *other_data +) : name(name), icon_serialized(icon_serialized), command(command), other_data(other_data) +{ +} + +ExternalEditorPreferences::ModelColumns::ModelColumns() +{ + add(name); + add(icon); + add(command); + add(other_data); +} diff --git a/rtgui/externaleditorpreferences.h b/rtgui/externaleditorpreferences.h new file mode 100644 index 000000000..34658d942 --- /dev/null +++ b/rtgui/externaleditorpreferences.h @@ -0,0 +1,167 @@ +/* + * This file is part of RawTherapee. + * + * Copyright (c) 2021 Lawrence Lee + * + * 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 . + */ +#pragma once + +#include +#include +#include +#include +#include +#include + +#include "rtappchooserdialog.h" + + +namespace Gtk +{ + +class FileChooserDialog; + +} + + +/** + * Widget for editing the external editors options. + */ +class ExternalEditorPreferences : public Gtk::Box +{ +public: + /** + * Data struct containing information about an external editor. + */ + struct EditorInfo { + explicit EditorInfo( + Glib::ustring name = Glib::ustring(), + Glib::ustring command = Glib::ustring(), + Glib::ustring icon_serialized = Glib::ustring(), + void *other_data = nullptr + ); + /** + * Name of the external editor. + */ + Glib::ustring name; + /** + * The string representation of the icon. See Gio::Icon::serialize(). + */ + Glib::ustring icon_serialized; + /** + * The commandline for running the program. See + * Gio::AppInfo::get_commandline() + */ + Glib::ustring command; + /** + * Holds any other data associated with the editor. For example, it can + * be used as a tag to uniquely identify the editor. + */ + void *other_data; + }; + + ExternalEditorPreferences(); + + /** + * Creates and returns a vector representing the external editors shown in + * this widget. + */ + std::vector getEditors() const; + /** + * Populates this widget with the external editors described in the + * argument. + */ + void setEditors(const std::vector &editors); + +private: + /** + * Model representing the data fields each external editor entry has. + */ + class ModelColumns : public Gtk::TreeModelColumnRecord + { + public: + ModelColumns(); + Gtk::TreeModelColumn name; + Gtk::TreeModelColumn> icon; + Gtk::TreeModelColumn command; + Gtk::TreeModelColumn other_data; + }; + + ModelColumns model_columns; + Glib::RefPtr list_model; // The list of editors. + Gtk::ScrolledWindow list_scroll_area; // Allows the list to be scrolled. + Gtk::TreeView *list_view; // Widget for displaying the list. + Gtk::Box toolbar; // Contains buttons for editing the list. + Gtk::Button *button_app_chooser; + Gtk::Button *button_add; + Gtk::Button *button_file_chooser; + Gtk::Button *button_remove; + std::unique_ptr app_chooser_dialog; + std::unique_ptr file_chooser_dialog; + + /** + * Inserts a new editor entry after the current selection, or at the end if + * no editor is selected. + */ + void addEditor(); + /** + * Constructs the column for displaying the external editor name (and icon). + */ + Gtk::TreeViewColumn *makeAppColumn(); + /** + * Constructs the column for displaying an editable commandline. + */ + Gtk::TreeViewColumn *makeCommandColumn(); + /** + * Called when the user is done interacting with the app chooser dialog. + * Closes the dialog and updates the selected entry if an app was chosen. + */ + void onAppChooserDialogResponse(int responseId, RTAppChooserDialog *dialog); + /** + * Called when the user is done interacting with the file chooser dialog. + * Closes the dialog and updates the selected entry if a file was chosen. + */ + void onFileChooserDialogResponse(int responseId, Gtk::FileChooserDialog *dialog); + /** + * Shows the app chooser dialog. + */ + void openAppChooserDialog(); + /** + * Shows the file chooser dialog for picking an executable. + */ + void openFileChooserDialog(); + /** + * Removes all selected editors. + */ + void removeSelectedEditors(); + /** + * Sets the selected entries with the provided information. + */ + void setApp(const Glib::RefPtr app_info); + /** + * Updates the application command and removes the icon for the given row. + */ + void setAppCommand(const Glib::ustring & path, const Glib::ustring & new_text); + /** + * Updates the application name for the given row. + */ + void setAppName(const Glib::ustring & path, const Glib::ustring & new_text); + /** + * Sets the sensitivity of the widgets in the toolbar to reflect the current + * state of the list. For example, makes the remove button insensitive if no + * entries are selected. + */ + void updateToolbarSensitivity(); +}; diff --git a/rtgui/extprog.cc b/rtgui/extprog.cc index 57d57ecd8..9ec87c548 100644 --- a/rtgui/extprog.cc +++ b/rtgui/extprog.cc @@ -276,8 +276,8 @@ bool ExtProgStore::openInGimp (const Glib::ustring& fileName) for (auto ver = 12; ver >= 0; --ver) { executable = Glib::build_filename (options.gimpDir, "bin", Glib::ustring::compose (Glib::ustring("gimp-2.%1.exe"), ver)); - auto lsuccess = ShellExecute( NULL, "open", executable.c_str(), fileName.c_str(), NULL, SW_SHOWNORMAL ); - + Glib::ustring escapedFileName = Glib::ustring::compose ("\"%1\"", fileName); + auto lsuccess = ShellExecute( NULL, "open", executable.c_str(), escapedFileName.c_str(), NULL, SW_SHOWNORMAL ); if (reinterpret_cast(lsuccess) > 32) { return true; } @@ -318,24 +318,58 @@ bool ExtProgStore::openInPhotoshop (const Glib::ustring& fileName) return spawnCommandAsync (cmdLine); } -bool ExtProgStore::openInCustomEditor (const Glib::ustring& fileName) +bool ExtProgStore::openInCustomEditor (const Glib::ustring& fileName, const Glib::ustring* command) { + if (!command) { + command = &(options.customEditorProg); + } + #if defined WIN32 - const auto cmdLine = Glib::ustring("\"") + options.customEditorProg + Glib::ustring("\""); + const auto cmdLine = Glib::ustring("\"") + *command + Glib::ustring("\""); auto success = ShellExecute( NULL, "open", cmdLine.c_str(), ('"' + fileName + '"').c_str(), NULL, SW_SHOWNORMAL ); return (uintptr_t)success > 32; #elif defined __APPLE__ - const auto cmdLine = options.customEditorProg + Glib::ustring(" \"") + fileName + Glib::ustring("\""); + const auto cmdLine = *command + Glib::ustring(" \"") + fileName + Glib::ustring("\""); return spawnCommandAsync (cmdLine); #else - const auto cmdLine = options.customEditorProg + Glib::ustring(" ") + Glib::shell_quote(fileName); + const auto cmdLine = *command + Glib::ustring(" ") + Glib::shell_quote(fileName); return spawnCommandAsync (cmdLine); #endif } + +bool ExtProgStore::openInExternalEditor(const Glib::ustring &fileName, const Glib::RefPtr &editorInfo) +{ + bool success = false; + + try { + success = editorInfo->launch(Gio::File::create_for_path(fileName)); + } catch (const Glib::Error &e) { + std::cerr + << "Error launching external editor.\n" + << "Error code #" << e.code() << ": " << e.what() + << std::endl; + success = false; + } + + if (success) { + return true; + } + + if (rtengine::settings->verbose) { + std::cout << "Unable to launch external editor with Gio. Trying custom launcher." << std::endl; + } + Glib::ustring command = editorInfo->get_commandline(); +#if defined WIN32 + if (command.length() > 2 && command[0] == '"' && command[command.length() - 1] == '"') { + command = command.substr(1, command.length() - 2); + } +#endif + return openInCustomEditor(fileName, &command); +} diff --git a/rtgui/extprog.h b/rtgui/extprog.h index c5e00bb1b..6547896ef 100644 --- a/rtgui/extprog.h +++ b/rtgui/extprog.h @@ -20,10 +20,16 @@ #include +#include #include #include "threadutils.h" +namespace Gio +{ + class AppInfo; +} + struct ExtProgAction { Glib::ustring filePathEXE; @@ -63,7 +69,8 @@ public: static bool openInGimp (const Glib::ustring& fileName); static bool openInPhotoshop (const Glib::ustring& fileName); - static bool openInCustomEditor (const Glib::ustring& fileName); + static bool openInCustomEditor (const Glib::ustring& fileName, const Glib::ustring* command = nullptr); + static bool openInExternalEditor(const Glib::ustring &fileName, const Glib::RefPtr &editorInfo); }; #define extProgStore ExtProgStore::getInstance() diff --git a/rtgui/filebrowser.cc b/rtgui/filebrowser.cc index 0d2451b59..ac4a27dec 100644 --- a/rtgui/filebrowser.cc +++ b/rtgui/filebrowser.cc @@ -167,6 +167,41 @@ FileBrowser::FileBrowser () : pmenu->attach (*Gtk::manage(selall = new Gtk::MenuItem (M("FILEBROWSER_POPUPSELECTALL"))), 0, 1, p, p + 1); p++; + /*********************** + * sort + ***********************/ + const std::array cnameSortOrders = { + M("SORT_ASCENDING"), + M("SORT_DESCENDING"), + }; + + const std::array cnameSortMethods = { + M("SORT_BY_NAME"), + M("SORT_BY_DATE"), + M("SORT_BY_EXIF"), + M("SORT_BY_RANK"), + M("SORT_BY_LABEL"), + }; + + pmenu->attach (*Gtk::manage(menuSort = new Gtk::MenuItem (M("FILEBROWSER_POPUPSORTBY"))), 0, 1, p, p + 1); + p++; + Gtk::Menu* submenuSort = Gtk::manage (new Gtk::Menu ()); + Gtk::RadioButtonGroup sortOrderGroup, sortMethodGroup; + for (size_t i = 0; i < cnameSortOrders.size(); i++) { + submenuSort->attach (*Gtk::manage(sortOrder[i] = new Gtk::RadioMenuItem (sortOrderGroup, cnameSortOrders[i])), 0, 1, p, p + 1); + p++; + sortOrder[i]->set_active (i == options.sortDescending); + } + submenuSort->attach (*Gtk::manage(new Gtk::SeparatorMenuItem ()), 0, 1, p, p + 1); + p++; + for (size_t i = 0; i < cnameSortMethods.size(); i++) { + submenuSort->attach (*Gtk::manage(sortMethod[i] = new Gtk::RadioMenuItem (sortMethodGroup, cnameSortMethods[i])), 0, 1, p, p + 1); + p++; + sortMethod[i]->set_active (i == options.sortMethod); + } + submenuSort->show_all (); + menuSort->set_submenu (*submenuSort); + /*********************** * rank ***********************/ @@ -411,7 +446,7 @@ FileBrowser::FileBrowser () : untrash->add_accelerator ("activate", pmenu->get_accel_group(), GDK_KEY_Delete, Gdk::SHIFT_MASK, Gtk::ACCEL_VISIBLE); open->add_accelerator ("activate", pmenu->get_accel_group(), GDK_KEY_Return, (Gdk::ModifierType)0, Gtk::ACCEL_VISIBLE); if (options.inspectorWindow) - inspect->add_accelerator ("activate", pmenu->get_accel_group(), GDK_KEY_F, (Gdk::ModifierType)0, Gtk::ACCEL_VISIBLE); + inspect->add_accelerator ("activate", pmenu->get_accel_group(), GDK_KEY_f, (Gdk::ModifierType)0, Gtk::ACCEL_VISIBLE); develop->add_accelerator ("activate", pmenu->get_accel_group(), GDK_KEY_B, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE); developfast->add_accelerator ("activate", pmenu->get_accel_group(), GDK_KEY_B, Gdk::CONTROL_MASK | Gdk::SHIFT_MASK, Gtk::ACCEL_VISIBLE); copyprof->add_accelerator ("activate", pmenu->get_accel_group(), GDK_KEY_C, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE); @@ -427,6 +462,14 @@ FileBrowser::FileBrowser () : inspect->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), inspect)); } + for (int i = 0; i < 2; i++) { + sortOrder[i]->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), sortOrder[i])); + } + + for (int i = 0; i < Options::SORT_METHOD_COUNT; i++) { + sortMethod[i]->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), sortMethod[i])); + } + for (int i = 0; i < 6; i++) { rank[i]->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), rank[i])); } @@ -610,27 +653,7 @@ void FileBrowser::addEntry_ (FileBrowserEntry* entry) entry->getThumbButtonSet()->setButtonListener(this); entry->resize(getThumbnailHeight()); entry->filtered = !checkFilter(entry); - - // find place in abc order - { - MYWRITERLOCK(l, entryRW); - - fd.insert( - std::lower_bound( - fd.begin(), - fd.end(), - entry, - [](const ThumbBrowserEntryBase* a, const ThumbBrowserEntryBase* b) - { - return *a < *b; - } - ), - entry - ); - - initEntry(entry); - } - redraw(entry); + insertEntry(entry); } FileBrowserEntry* FileBrowser::delEntry (const Glib::ustring& fname) @@ -724,6 +747,18 @@ void FileBrowser::menuItemActivated (Gtk::MenuItem* m) return; } + for (int i = 0; i < 2; i++) + if (m == sortOrder[i]) { + sortOrderRequested (i); + return; + } + + for (int i = 0; i < Options::SORT_METHOD_COUNT; i++) + if (m == sortMethod[i]) { + sortMethodRequested (i); + return; + } + for (int i = 0; i < 6; i++) if (m == rank[i]) { rankingRequested (mselected, i); @@ -875,11 +910,11 @@ void FileBrowser::menuItemActivated (Gtk::MenuItem* m) } // Reinit cache - rtengine::dfm.init( options.rtSettings.darkFramesPath ); + rtengine::DFManager::getInstance().init( options.rtSettings.darkFramesPath ); } else { // Target directory creation failed, we clear the darkFramesPath setting options.rtSettings.darkFramesPath.clear(); - Glib::ustring msg_ = Glib::ustring::compose (M("MAIN_MSG_PATHDOESNTEXIST"), options.rtSettings.darkFramesPath) + Glib::ustring msg_ = Glib::ustring::compose (M("MAIN_MSG_PATHDOESNTEXIST"), escapeHtmlChars(options.rtSettings.darkFramesPath)) + "\n\n" + M("MAIN_MSG_OPERATIONCANCELLED"); Gtk::MessageDialog msgd (msg_, true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); msgd.set_title(M("TP_DARKFRAME_LABEL")); @@ -955,7 +990,7 @@ void FileBrowser::menuItemActivated (Gtk::MenuItem* m) } else { // Target directory creation failed, we clear the flatFieldsPath setting options.rtSettings.flatFieldsPath.clear(); - Glib::ustring msg_ = Glib::ustring::compose (M("MAIN_MSG_PATHDOESNTEXIST"), options.rtSettings.flatFieldsPath) + Glib::ustring msg_ = Glib::ustring::compose (M("MAIN_MSG_PATHDOESNTEXIST"), escapeHtmlChars(options.rtSettings.flatFieldsPath)) + "\n\n" + M("MAIN_MSG_OPERATIONCANCELLED"); Gtk::MessageDialog msgd (msg_, true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); msgd.set_title(M("TP_FLATFIELD_LABEL")); @@ -1374,6 +1409,19 @@ int FileBrowser::getThumbnailHeight () } } +void FileBrowser::enableTabMode(bool enable) +{ + ThumbBrowserBase::enableTabMode(enable); + if (options.inspectorWindow) { + if (enable) { + inspect->remove_accelerator(pmenu->get_accel_group(), GDK_KEY_f, (Gdk::ModifierType)0); + } + else { + inspect->add_accelerator ("activate", pmenu->get_accel_group(), GDK_KEY_f, (Gdk::ModifierType)0, Gtk::ACCEL_VISIBLE); + } + } +} + void FileBrowser::applyMenuItemActivated (ProfileStoreLabel *label) { MYREADERLOCK(l, entryRW); @@ -1431,7 +1479,7 @@ void FileBrowser::applyPartialMenuItemActivated (ProfileStoreLabel *label) rtengine::procparams::PartialProfile dstProfile(true); *dstProfile.pparams = (static_cast(selected[i]))->thumbnail->getProcParams (); dstProfile.set(true); - dstProfile.pedited->locallab.spots.resize(dstProfile.pparams->locallab.spots.size(), new LocallabParamsEdited::LocallabSpotEdited(true)); + dstProfile.pedited->locallab.spots.resize(dstProfile.pparams->locallab.spots.size(), LocallabParamsEdited::LocallabSpotEdited(true)); partialPasteDlg.applyPaste (dstProfile.pparams, dstProfile.pedited, srcProfiles->pparams, srcProfiles->pedited); (static_cast(selected[i]))->thumbnail->setProcParams (*dstProfile.pparams, dstProfile.pedited, FILEBROWSER); dstProfile.deleteInstance(); @@ -1619,6 +1667,18 @@ void FileBrowser::fromTrashRequested (std::vector tbe) applyFilter (filter); } +void FileBrowser::sortMethodRequested (int method) +{ + options.sortMethod = Options::SortMethod(method); + resort (); +} + +void FileBrowser::sortOrderRequested (int order) +{ + options.sortDescending = !!order; + resort (); +} + void FileBrowser::rankingRequested (std::vector tbe, int rank) { @@ -2100,5 +2160,5 @@ void FileBrowser::openRequested( std::vector mselected) void FileBrowser::inspectRequested(std::vector mselected) { - getInspector()->showWindow(false, false); + getInspector()->showWindow(true); } diff --git a/rtgui/filebrowser.h b/rtgui/filebrowser.h index 03a8636e5..0df1cf9eb 100644 --- a/rtgui/filebrowser.h +++ b/rtgui/filebrowser.h @@ -83,9 +83,12 @@ protected: Gtk::MenuItem* open; Gtk::MenuItem* inspect; Gtk::MenuItem* selall; + Gtk::RadioMenuItem* sortMethod[Options::SORT_METHOD_COUNT]; + Gtk::RadioMenuItem* sortOrder[2]; Gtk::MenuItem* copyTo; Gtk::MenuItem* moveTo; + Gtk::MenuItem* menuSort; Gtk::MenuItem* menuRank; Gtk::MenuItem* menuLabel; Gtk::MenuItem* menuFileOperations; @@ -131,6 +134,8 @@ protected: void toTrashRequested (std::vector tbe); void fromTrashRequested (std::vector tbe); + void sortMethodRequested (int method); + void sortOrderRequested (int order); void rankingRequested (std::vector tbe, int rank); void colorlabelRequested (std::vector tbe, int colorlabel); void requestRanking (int rank); @@ -182,6 +187,8 @@ public: void saveThumbnailHeight (int height) override; int getThumbnailHeight () override; + + void enableTabMode(bool enable); bool isInTabMode() override { return tbl ? tbl->isInTabMode() : false; diff --git a/rtgui/filebrowserentry.cc b/rtgui/filebrowserentry.cc index 432296f38..b89fe340d 100644 --- a/rtgui/filebrowserentry.cc +++ b/rtgui/filebrowserentry.cc @@ -45,10 +45,8 @@ Glib::RefPtr FileBrowserEntry::hdr; Glib::RefPtr FileBrowserEntry::ps; FileBrowserEntry::FileBrowserEntry (Thumbnail* thm, const Glib::ustring& fname) - : ThumbBrowserEntryBase (fname), wasInside(false), iatlistener(nullptr), press_x(0), press_y(0), action_x(0), action_y(0), rot_deg(0.0), landscape(true), cropParams(new rtengine::procparams::CropParams), cropgl(nullptr), state(SNormal), crop_custom_ratio(0.f) + : ThumbBrowserEntryBase (fname, thm), wasInside(false), iatlistener(nullptr), press_x(0), press_y(0), action_x(0), action_y(0), rot_deg(0.0), landscape(true), cropParams(new rtengine::procparams::CropParams), cropgl(nullptr), state(SNormal), crop_custom_ratio(0.f) { - thumbnail = thm; - feih = new FileBrowserEntryIdleHelper; feih->fbentry = this; feih->destroyed = false; @@ -176,10 +174,10 @@ void FileBrowserEntry::customBackBufferUpdate (Cairo::RefPtr c) rtengine::procparams::CropParams cparams = thumbnail->getProcParams().crop; switch (options.cropGuides) { case Options::CROP_GUIDE_NONE: - cparams.guide = "None"; + cparams.guide = rtengine::procparams::CropParams::Guide::NONE; break; case Options::CROP_GUIDE_FRAME: - cparams.guide = "Frame"; + cparams.guide = rtengine::procparams::CropParams::Guide::FRAME; break; default: break; @@ -294,7 +292,7 @@ bool FileBrowserEntry::motionNotify (int x, int y) Inspector* inspector = parent->getInspector(); - if (inspector && inspector->isActive() && !parent->isInTabMode()) { + if (inspector && inspector->isActive() && (!parent->isInTabMode() || options.inspectorWindow)) { const rtengine::Coord2D coord(getPosInImgSpace(x, y)); if (coord.x != -1.) { diff --git a/rtgui/filecatalog.cc b/rtgui/filecatalog.cc index dbea4ade9..d6c440570 100644 --- a/rtgui/filecatalog.cc +++ b/rtgui/filecatalog.cc @@ -1215,9 +1215,13 @@ void FileCatalog::developRequested(const std::vector& tbe, bo if (params.resize.enabled) { params.resize.width = rtengine::min(params.resize.width, options.fastexport_resize_width); params.resize.height = rtengine::min(params.resize.height, options.fastexport_resize_height); + params.resize.longedge = rtengine::min(params.resize.longedge, options.fastexport_resize_longedge); + params.resize.shortedge = rtengine::min(params.resize.shortedge, options.fastexport_resize_shortedge); } else { params.resize.width = options.fastexport_resize_width; params.resize.height = options.fastexport_resize_height; + params.resize.longedge = options.fastexport_resize_longedge; + params.resize.shortedge = options.fastexport_resize_shortedge; } params.resize.enabled = options.fastexport_resize_enabled; @@ -1279,7 +1283,7 @@ void FileCatalog::renameRequested(const std::vector& tbe) /* check if filename already exists*/ if (Glib::file_test (nfname, Glib::FILE_TEST_EXISTS)) { - Glib::ustring msg_ = Glib::ustring("") + nfname + ": " + M("MAIN_MSG_ALREADYEXISTS") + ""; + Glib::ustring msg_ = Glib::ustring("") + escapeHtmlChars(nfname) + ": " + M("MAIN_MSG_ALREADYEXISTS") + ""; Gtk::MessageDialog msgd (msg_, true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); msgd.run (); } else { @@ -2515,8 +2519,10 @@ bool FileCatalog::handleShortcutKey (GdkEventKey* event) if (!ctrl && !alt) { switch (event->keyval) { case GDK_KEY_f: + fileBrowser->getInspector()->showWindow(false, true); + return true; case GDK_KEY_F: - fileBrowser->getInspector()->showWindow(!shift); + fileBrowser->getInspector()->showWindow(false, false); return true; } } @@ -2524,6 +2530,23 @@ bool FileCatalog::handleShortcutKey (GdkEventKey* event) return fileBrowser->keyPressed(event); } +bool FileCatalog::handleShortcutKeyRelease(GdkEventKey* event) +{ + bool ctrl = event->state & GDK_CONTROL_MASK; + bool alt = event->state & GDK_MOD1_MASK; + + if (!ctrl && !alt) { + switch (event->keyval) { + case GDK_KEY_f: + case GDK_KEY_F: + fileBrowser->getInspector()->hideWindow(); + return true; + } + } + + return false; +} + void FileCatalog::showToolBar() { if (hbToolBar1STB) { diff --git a/rtgui/filecatalog.h b/rtgui/filecatalog.h index c7c4f3155..23d56af73 100644 --- a/rtgui/filecatalog.h +++ b/rtgui/filecatalog.h @@ -276,6 +276,7 @@ public: void openNextPreviousEditorImage (Glib::ustring fname, bool clearFilters, eRTNav nextPrevious); bool handleShortcutKey (GdkEventKey* event); + bool handleShortcutKeyRelease(GdkEventKey *event); bool CheckSidePanelsVisibility(); void toggleSidePanels(); diff --git a/rtgui/filepanel.cc b/rtgui/filepanel.cc index a09a82597..9dc2a656c 100644 --- a/rtgui/filepanel.cc +++ b/rtgui/filepanel.cc @@ -304,7 +304,8 @@ bool FilePanel::imageLoaded( Thumbnail* thm, ProgressConnector 0 && winGdiHandles <= 8500) // 0 means we don't have the rights to access the function, 8500 because the limit is 10000 and we need about 1500 free handles + if(winGdiHandles > 0 && winGdiHandles <= 6500) //(old settings 8500) 0 means we don't have the rights to access the function, 8500 because the limit is 10000 and we need about 1500 free handles + //J.Desmis october 2021 I change 8500 to 6500..Why ? because without while increasing size GUI system crash in multieditor #endif { GThreadLock lock; // Acquiring the GUI... not sure that it's necessary, but it shouldn't harm @@ -313,7 +314,7 @@ bool FilePanel::imageLoaded( Thumbnail* thm, ProgressConnector") + M("MAIN_MSG_CANNOTLOAD") + " \"" + thm->getFileName() + "\" .\n" + M("MAIN_MSG_TOOMANYOPENEDITORS") + ""; + Glib::ustring msg_ = Glib::ustring("") + M("MAIN_MSG_CANNOTLOAD") + " \"" + escapeHtmlChars(thm->getFileName()) + "\" .\n" + M("MAIN_MSG_TOOMANYOPENEDITORS") + ""; Gtk::MessageDialog msgd (*parent, msg_, true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); msgd.run (); goto MAXGDIHANDLESREACHED; @@ -334,7 +335,7 @@ bool FilePanel::imageLoaded( Thumbnail* thm, ProgressConnectorset_title_decorated(pl->thm->getFileName()); } } else { - Glib::ustring msg_ = Glib::ustring("") + M("MAIN_MSG_CANNOTLOAD") + " \"" + thm->getFileName() + "\" .\n"; + Glib::ustring msg_ = Glib::ustring("") + M("MAIN_MSG_CANNOTLOAD") + " \"" + escapeHtmlChars(thm->getFileName()) + "\" .\n"; Gtk::MessageDialog msgd (*parent, msg_, true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); msgd.run (); } @@ -412,6 +413,15 @@ bool FilePanel::handleShortcutKey (GdkEventKey* event) return false; } +bool FilePanel::handleShortcutKeyRelease(GdkEventKey *event) +{ + if(fileCatalog->handleShortcutKeyRelease(event)) { + return true; + } + + return false; +} + void FilePanel::loadingThumbs(Glib::ustring str, double rate) { GThreadLock lock; // All GUI access from idle_add callbacks or separate thread HAVE to be protected diff --git a/rtgui/filepanel.h b/rtgui/filepanel.h index 65e1ea548..ba5dfa7c9 100644 --- a/rtgui/filepanel.h +++ b/rtgui/filepanel.h @@ -81,6 +81,7 @@ public: bool imageLoaded( Thumbnail* thm, ProgressConnector * ); bool handleShortcutKey (GdkEventKey* event); + bool handleShortcutKeyRelease(GdkEventKey *event); void updateTPVScrollbar (bool hide); private: diff --git a/rtgui/filmnegative.cc b/rtgui/filmnegative.cc index 28b77b700..dca041c9b 100644 --- a/rtgui/filmnegative.cc +++ b/rtgui/filmnegative.cc @@ -194,6 +194,7 @@ FilmNegative::FilmNegative() : evFilmNegativeColorSpace(ProcEventMapper::getInstance()->newEvent(ALLNORAW, "HISTORY_MSG_FILMNEGATIVE_COLORSPACE")), refInputValues({0.f, 0.f, 0.f}), paramsUpgraded(false), + refLuminance({{0.f, 0.f, 0.f}, 0.f}), fnp(nullptr), colorSpace(Gtk::manage(new MyComboBoxText())), greenExp(createExponentAdjuster(this, M("TP_FILMNEGATIVE_GREEN"), 0.3, 4, 0.01, 1.5)), // master exponent (green channel) @@ -343,6 +344,9 @@ void FilmNegative::read(const rtengine::procparams::ProcParams* pp, const Params setEnabled(pp->filmNegative.enabled); + // Reset luminance reference each time params are read + refLuminance.lum = 0.f; + colorSpace->set_active(CLAMP((int)pp->filmNegative.colorSpace, 0, 1)); redRatio->setValue(pp->filmNegative.redRatio); greenExp->setValue(pp->filmNegative.greenExp); @@ -471,6 +475,9 @@ void FilmNegative::adjusterChanged(Adjuster* a, double newval) ); } else if (a == outputLevel || a == greenBalance || a == blueBalance) { + // Reset luminance reference when output level/color sliders are changed + refLuminance.lum = 0.f; + listener->panelChanged( evFilmNegativeBalance, Glib::ustring::compose( @@ -540,7 +547,7 @@ void FilmNegative::setEditProvider(EditDataProvider* provider) EditSubscriber::setEditProvider(provider); } -CursorShape FilmNegative::getCursor(int objectID) const +CursorShape FilmNegative::getCursor(int objectID, int xPos, int yPos) const { return CSSpotWB; } @@ -606,12 +613,44 @@ bool FilmNegative::button1Pressed(int modifierKey) } else if (refSpotButton->get_active()) { + disableListener(); + + // If the luminance reference is not set, copy the current reference input + // values, and the corresponding output luminance + if(refLuminance.lum <= 0.f) { + RGB out; + readOutputSliders(out); + refLuminance.input = refInputValues; + refLuminance.lum = rtengine::Color::rgbLuminance(out.r, out.g, out.b); + } + RGB refOut; fnp->getFilmNegativeSpot(provider->posImage, 32, refInputValues, refOut); - disableListener(); + // Output luminance of the sampled spot + float spotLum = rtengine::Color::rgbLuminance(refOut.r, refOut.g, refOut.b); + + float rexp = -(greenExp->getValue() * redRatio->getValue()); + float gexp = -greenExp->getValue(); + float bexp = -(greenExp->getValue() * blueRatio->getValue()); + + RGB mult = { + spotLum / pow_F(rtengine::max(refInputValues.r, 1.f), rexp), + spotLum / pow_F(rtengine::max(refInputValues.g, 1.f), gexp), + spotLum / pow_F(rtengine::max(refInputValues.b, 1.f), bexp) + }; + + // Calculate the new luminance of the initial luminance reference spot, by + // applying current multipliers + float newRefLum = rtengine::Color::rgbLuminance( + mult.r * pow_F(rtengine::max(refLuminance.input.r, 1.f), rexp), + mult.g * pow_F(rtengine::max(refLuminance.input.g, 1.f), gexp), + mult.b * pow_F(rtengine::max(refLuminance.input.b, 1.f), bexp)); + + // Choose a suitable gray value for the sampled spot, so that luminance + // of the initial reference spot is preserved. + float gray = spotLum * (refLuminance.lum / newRefLum); - float gray = rtengine::Color::rgbLuminance(refOut.r, refOut.g, refOut.b); writeOutputSliders({gray, gray, gray}); refInputLabel->set_text( diff --git a/rtgui/filmnegative.h b/rtgui/filmnegative.h index e27a38e09..21a7dce5c 100644 --- a/rtgui/filmnegative.h +++ b/rtgui/filmnegative.h @@ -71,7 +71,7 @@ public: void setEditProvider(EditDataProvider* provider) override; // EditSubscriber interface - CursorShape getCursor(int objectID) const override; + CursorShape getCursor(int objectID, int xPos, int yPos) const override; bool mouseOver(int modifierKey) override; bool button1Pressed(int modifierKey) override; bool button1Released() override; @@ -99,6 +99,17 @@ private: RGB refInputValues; bool paramsUpgraded; + /** + * Luminance reference: these input RGB values must produce this output luminance. + * This allows keeping constant luminance when picking several white balance spot + * samples in sequence; values are set on the initial white balance spot sampling, + * and reset every time params are read, or the output sliders are changed. + */ + struct { + RGB input; + float lum; + } refLuminance; + FilmNegProvider* fnp; MyComboBoxText* const colorSpace; diff --git a/rtgui/filmsimulation.cc b/rtgui/filmsimulation.cc index 6b40bb586..d19c84c6f 100644 --- a/rtgui/filmsimulation.cc +++ b/rtgui/filmsimulation.cc @@ -64,6 +64,7 @@ FilmSimulation::FilmSimulation() : FoldableToolPanel( this, "filmsimulation", M("TP_FILMSIMULATION_LABEL"), false, true ) { m_clutComboBox = Gtk::manage( new ClutComboBox(options.clutsDir) ); + int foundClutsCount = m_clutComboBox->foundClutsCount(); if ( foundClutsCount == 0 ) { @@ -218,7 +219,11 @@ ClutComboBox::ClutComboBox(const Glib::ustring &path): set_model(m_model()); if (cm->count > 0) { - pack_start(m_columns().label, false); + // Pack a CellRendererText in order to display long Clut file names properly + Gtk::CellRendererText* const renderer = Gtk::manage(new Gtk::CellRendererText); + renderer->property_ellipsize() = Pango::ELLIPSIZE_END; + pack_start(*renderer, false); + add_attribute(*renderer, "text", 0); } if (!options.multiDisplayMode) { diff --git a/rtgui/flatfield.cc b/rtgui/flatfield.cc index 71fa0aab6..f493ba0b9 100644 --- a/rtgui/flatfield.cc +++ b/rtgui/flatfield.cc @@ -18,6 +18,7 @@ */ #include +#include "eventmapper.h" #include "flatfield.h" #include "guiutils.h" @@ -32,6 +33,9 @@ using namespace rtengine::procparams; FlatField::FlatField () : FoldableToolPanel(this, "flatfield", M("TP_FLATFIELD_LABEL")) { + auto m = ProcEventMapper::getInstance(); + EvFlatFieldFromMetaData = m->newEvent(DARKFRAME, "HISTORY_MSG_FF_FROMMETADATA"); + hbff = Gtk::manage(new Gtk::Box()); flatFieldFile = Gtk::manage(new MyFileChooserButton(M("TP_FLATFIELD_LABEL"), Gtk::FILE_CHOOSER_ACTION_OPEN)); bindCurrentFolder (*flatFieldFile, options.lastFlatfieldDir); @@ -42,6 +46,8 @@ FlatField::FlatField () : FoldableToolPanel(this, "flatfield", M("TP_FLATFIELD_L hbff->pack_start(*flatFieldFile); hbff->pack_start(*flatFieldFileReset, Gtk::PACK_SHRINK); flatFieldAutoSelect = Gtk::manage(new Gtk::CheckButton((M("TP_FLATFIELD_AUTOSELECT")))); + flatFieldFromMetaData = Gtk::manage(new CheckBox((M("TP_FLATFIELD_FROMMETADATA")), multiImage)); + flatFieldFromMetaData->setCheckBoxListener (this); ffInfo = Gtk::manage(new Gtk::Label("-")); setExpandAlignProperties(ffInfo, true, false, Gtk::ALIGN_CENTER, Gtk::ALIGN_CENTER); flatFieldBlurRadius = Gtk::manage(new Adjuster (M("TP_FLATFIELD_BLURRADIUS"), 0, 200, 2, 32)); @@ -70,8 +76,10 @@ FlatField::FlatField () : FoldableToolPanel(this, "flatfield", M("TP_FLATFIELD_L flatFieldClipControl->show(); flatFieldClipControl->set_tooltip_markup (M("TP_FLATFIELD_CLIPCONTROL_TOOLTIP")); - pack_start( *hbff, Gtk::PACK_SHRINK); + pack_start( *flatFieldFromMetaData, Gtk::PACK_SHRINK); + pack_start( *Gtk::manage( new Gtk::Separator(Gtk::ORIENTATION_HORIZONTAL)), Gtk::PACK_SHRINK, 0 ); pack_start( *flatFieldAutoSelect, Gtk::PACK_SHRINK); + pack_start( *hbff, Gtk::PACK_SHRINK); pack_start( *ffInfo, Gtk::PACK_SHRINK); pack_start( *hbffbt, Gtk::PACK_SHRINK); pack_start( *flatFieldBlurRadius, Gtk::PACK_SHRINK); @@ -128,12 +136,14 @@ void FlatField::read(const rtengine::procparams::ProcParams* pp, const ParamsEdi } flatFieldAutoSelect->set_active (pp->raw.ff_AutoSelect); + flatFieldFromMetaData->set_active (pp->raw.ff_FromMetaData); flatFieldBlurRadius->setValue (pp->raw.ff_BlurRadius); flatFieldClipControl->setValue (pp->raw.ff_clipControl); flatFieldClipControl->setAutoValue (pp->raw.ff_AutoClipControl); if(pedited ) { flatFieldAutoSelect->set_inconsistent (!pedited->raw.ff_AutoSelect); + flatFieldFromMetaData->set_inconsistent (!pedited->raw.ff_FromMetaData); flatFieldBlurRadius->setEditedState( pedited->raw.ff_BlurRadius ? Edited : UnEdited ); flatFieldClipControl->setEditedState( pedited->raw.ff_clipControl ? Edited : UnEdited ); flatFieldClipControl->setAutoInconsistent(multiImage && !pedited->raw.ff_AutoClipControl); @@ -214,6 +224,7 @@ void FlatField::write( rtengine::procparams::ProcParams* pp, ParamsEdited* pedit { pp->raw.ff_file = flatFieldFile->get_filename(); pp->raw.ff_AutoSelect = flatFieldAutoSelect->get_active(); + pp->raw.ff_FromMetaData = flatFieldFromMetaData->get_active(); pp->raw.ff_BlurRadius = flatFieldBlurRadius->getIntValue(); pp->raw.ff_clipControl = flatFieldClipControl->getIntValue(); pp->raw.ff_AutoClipControl = flatFieldClipControl->getAutoValue(); @@ -227,6 +238,7 @@ void FlatField::write( rtengine::procparams::ProcParams* pp, ParamsEdited* pedit if (pedited) { pedited->raw.ff_file = ffChanged; pedited->raw.ff_AutoSelect = !flatFieldAutoSelect->get_inconsistent(); + pedited->raw.ff_FromMetaData = !flatFieldFromMetaData->get_inconsistent(); pedited->raw.ff_BlurRadius = flatFieldBlurRadius->getEditedState (); pedited->raw.ff_clipControl = flatFieldClipControl->getEditedState (); pedited->raw.ff_AutoClipControl = !flatFieldClipControl->getAutoInconsistent(); @@ -352,6 +364,13 @@ void FlatField::flatFieldBlurTypeChanged () } } +void FlatField::checkBoxToggled (CheckBox* c, CheckValue newval) +{ + if (listener && c == flatFieldFromMetaData) { + listener->panelChanged (EvFlatFieldFromMetaData, flatFieldFromMetaData->getLastActive() ? M("GENERAL_ENABLED") : M("GENERAL_DISABLED")); + } +} + void FlatField::flatFieldAutoSelectChanged() { if (batchMode) { @@ -419,3 +438,18 @@ void FlatField::flatFieldAutoClipValueChanged(int n) } ); } + +void FlatField::setGainMap(bool enabled) { + flatFieldFromMetaData->set_sensitive(enabled); + if (!enabled) { + idle_register.add( + [this, enabled]() -> bool + { + disableListener(); + flatFieldFromMetaData->setValue(false); + enableListener(); + return false; + } + ); + } +} diff --git a/rtgui/flatfield.h b/rtgui/flatfield.h index 0d6f167e1..be46d5a1d 100644 --- a/rtgui/flatfield.h +++ b/rtgui/flatfield.h @@ -23,6 +23,7 @@ #include #include "adjuster.h" +#include "checkbox.h" #include "guiutils.h" #include "toolpanel.h" @@ -42,7 +43,7 @@ public: // add other info here }; -class FlatField final : public ToolParamBlock, public AdjusterListener, public FoldableToolPanel, public rtengine::FlatFieldAutoClipListener +class FlatField final : public ToolParamBlock, public AdjusterListener, public CheckBoxListener, public FoldableToolPanel, public rtengine::FlatFieldAutoClipListener { protected: @@ -52,6 +53,7 @@ protected: Gtk::Label *ffInfo; Gtk::Button *flatFieldFileReset; Gtk::CheckButton* flatFieldAutoSelect; + CheckBox* flatFieldFromMetaData; Adjuster* flatFieldClipControl; Adjuster* flatFieldBlurRadius; MyComboBoxText* flatFieldBlurType; @@ -64,8 +66,10 @@ protected: Glib::ustring lastShortcutPath; bool b_filter_asCurrent; bool israw; + rtengine::ProcEvent EvFlatFieldFromMetaData; IdleRegister idle_register; + public: FlatField (); @@ -90,4 +94,6 @@ public: ffp = p; }; void flatFieldAutoClipValueChanged(int n = 0) override; + void checkBoxToggled(CheckBox* c, CheckValue newval) override; + void setGainMap(bool enabled); }; diff --git a/rtgui/gradient.cc b/rtgui/gradient.cc index b0c6000be..1274da9ab 100644 --- a/rtgui/gradient.cc +++ b/rtgui/gradient.cc @@ -12,6 +12,19 @@ using namespace rtengine; using namespace rtengine::procparams; +namespace +{ + +enum GeometryIndex { + H_LINE, + V_LINE, + FEATHER_LINE_1, + FEATHER_LINE_2, + CENTER_CIRCLE, +}; + +} + Gradient::Gradient () : FoldableToolPanel(this, "gradient", M("TP_GRADIENT_LABEL"), false, true), EditSubscriber(ET_OBJECTS), lastObject(-1), draggedPointOldAngle(-1000.) { @@ -191,24 +204,24 @@ void Gradient::updateGeometry(const int centerX, const int centerY, const double }; // update horizontal line - updateLine (visibleGeometry.at(0), 1500., 0., 180.); - updateLine (mouseOverGeometry.at(0), 1500., 0., 180.); + updateLine (visibleGeometry.at(H_LINE), 1500., 0., 180.); + updateLine (mouseOverGeometry.at(H_LINE), 1500., 0., 180.); // update vertical line - updateLine (visibleGeometry.at(1), 700., 90., 270.); - updateLine (mouseOverGeometry.at(1), 700., 90., 270.); + updateLine (visibleGeometry.at(V_LINE), 700., 90., 270.); + updateLine (mouseOverGeometry.at(V_LINE), 700., 90., 270.); // update upper feather line - updateLineWithDecay (visibleGeometry.at(2), 350., 270.); - updateLineWithDecay (mouseOverGeometry.at(2), 350., 270.); + updateLineWithDecay (visibleGeometry.at(FEATHER_LINE_1), 350., 270.); + updateLineWithDecay (mouseOverGeometry.at(FEATHER_LINE_1), 350., 270.); // update lower feather line - updateLineWithDecay (visibleGeometry.at(3), 350., 90.); - updateLineWithDecay (mouseOverGeometry.at(3), 350., 90.); + updateLineWithDecay (visibleGeometry.at(FEATHER_LINE_2), 350., 90.); + updateLineWithDecay (mouseOverGeometry.at(FEATHER_LINE_2), 350., 90.); // update circle's position - updateCircle (visibleGeometry.at(4)); - updateCircle (mouseOverGeometry.at(4)); + updateCircle (visibleGeometry.at(CENTER_CIRCLE)); + updateCircle (mouseOverGeometry.at(CENTER_CIRCLE)); } void Gradient::write (ProcParams* pp, ParamsEdited* pedited) @@ -325,19 +338,20 @@ void Gradient::editToggled () if (edit->get_active()) { subscribe(); } else { + releaseEdit(); unsubscribe(); } } -CursorShape Gradient::getCursor(int objectID) const +CursorShape Gradient::getCursor(int objectID, int xPos, int yPos) const { switch (objectID) { - case (0): - case (1): + case (H_LINE): + case (V_LINE): return CSMoveRotate; - case (2): - case (3): { + case (FEATHER_LINE_1): + case (FEATHER_LINE_2): { int angle = degree->getIntValue(); if (angle < -135 || (angle >= -45 && angle <= 45) || angle > 135) { @@ -347,7 +361,7 @@ CursorShape Gradient::getCursor(int objectID) const return CSMove1DH; } - case (4): + case (CENTER_CIRCLE): return CSMove2D; default: @@ -361,18 +375,18 @@ bool Gradient::mouseOver(int modifierKey) if (editProvider && editProvider->getObject() != lastObject) { if (lastObject > -1) { - if (lastObject == 2 || lastObject == 3) { - EditSubscriber::visibleGeometry.at(2)->state = Geometry::NORMAL; - EditSubscriber::visibleGeometry.at(3)->state = Geometry::NORMAL; + if (lastObject == FEATHER_LINE_1 || lastObject == FEATHER_LINE_2) { + EditSubscriber::visibleGeometry.at(FEATHER_LINE_1)->state = Geometry::NORMAL; + EditSubscriber::visibleGeometry.at(FEATHER_LINE_2)->state = Geometry::NORMAL; } else { EditSubscriber::visibleGeometry.at(lastObject)->state = Geometry::NORMAL; } } if (editProvider->getObject() > -1) { - if (editProvider->getObject() == 2 || editProvider->getObject() == 3) { - EditSubscriber::visibleGeometry.at(2)->state = Geometry::PRELIGHT; - EditSubscriber::visibleGeometry.at(3)->state = Geometry::PRELIGHT; + if (editProvider->getObject() == FEATHER_LINE_1 || editProvider->getObject() == FEATHER_LINE_2) { + EditSubscriber::visibleGeometry.at(FEATHER_LINE_1)->state = Geometry::PRELIGHT; + EditSubscriber::visibleGeometry.at(FEATHER_LINE_2)->state = Geometry::PRELIGHT; } else { EditSubscriber::visibleGeometry.at(editProvider->getObject())->state = Geometry::PRELIGHT; } @@ -414,7 +428,7 @@ bool Gradient::button1Pressed(int modifierKey) //printf("\ndraggedPointOldAngle=%.3f\n\n", draggedPointOldAngle); draggedPointAdjusterAngle = degree->getValue(); - if (lastObject == 2 || lastObject == 3) { + if (lastObject == FEATHER_LINE_1 || lastObject == FEATHER_LINE_2) { // Dragging a line to change the angle PolarCoord draggedPoint; rtengine::Coord currPos; @@ -430,7 +444,7 @@ bool Gradient::button1Pressed(int modifierKey) // compute the projected value of the dragged point draggedFeatherOffset = draggedPoint.radius * sin((draggedPoint.angle - degree->getValue()) / 180.*rtengine::RT_PI); - if (lastObject == 3) { + if (lastObject == FEATHER_LINE_2) { draggedFeatherOffset = -draggedFeatherOffset; } @@ -441,9 +455,9 @@ bool Gradient::button1Pressed(int modifierKey) return false; } else { // should theoretically always be true // this will let this class ignore further drag events - if (lastObject == 2 || lastObject == 3) { - EditSubscriber::visibleGeometry.at(2)->state = Geometry::NORMAL; - EditSubscriber::visibleGeometry.at(3)->state = Geometry::NORMAL; + if (lastObject == FEATHER_LINE_1 || lastObject == FEATHER_LINE_2) { + EditSubscriber::visibleGeometry.at(FEATHER_LINE_1)->state = Geometry::NORMAL; + EditSubscriber::visibleGeometry.at(FEATHER_LINE_2)->state = Geometry::NORMAL; } else { EditSubscriber::visibleGeometry.at(lastObject)->state = Geometry::NORMAL; } @@ -471,7 +485,7 @@ bool Gradient::drag1(int modifierKey) double halfSizeW = imW / 2.; double halfSizeH = imH / 2.; - if (lastObject == 0 || lastObject == 1) { + if (lastObject == H_LINE || lastObject == V_LINE) { // Dragging a line to change the angle PolarCoord draggedPoint; @@ -515,7 +529,7 @@ bool Gradient::drag1(int modifierKey) return true; } - } else if (lastObject == 2 || lastObject == 3) { + } else if (lastObject == FEATHER_LINE_1 || lastObject == FEATHER_LINE_2) { // Dragging the upper or lower feather bar PolarCoord draggedPoint; rtengine::Coord currPos; @@ -532,11 +546,11 @@ bool Gradient::drag1(int modifierKey) draggedPoint = currPos - centerPos; double currDraggedFeatherOffset = draggedPoint.radius * sin((draggedPoint.angle - degree->getValue()) / 180.*rtengine::RT_PI); - if (lastObject == 2) + if (lastObject == FEATHER_LINE_1) // Dragging the upper feather bar { currDraggedFeatherOffset -= draggedFeatherOffset; - } else if (lastObject == 3) + } else if (lastObject == FEATHER_LINE_2) // Dragging the lower feather bar { currDraggedFeatherOffset = -currDraggedFeatherOffset + draggedFeatherOffset; @@ -554,7 +568,7 @@ bool Gradient::drag1(int modifierKey) return true; } - } else if (lastObject == 4) { + } else if (lastObject == CENTER_CIRCLE) { // Dragging the circle to change the center rtengine::Coord currPos; draggedCenter += provider->deltaPrevImage; @@ -579,6 +593,19 @@ bool Gradient::drag1(int modifierKey) return false; } +void Gradient::releaseEdit() +{ + if (lastObject >= 0) { + if (lastObject == FEATHER_LINE_1 || lastObject == FEATHER_LINE_2) { + EditSubscriber::visibleGeometry.at(FEATHER_LINE_1)->state = Geometry::NORMAL; + EditSubscriber::visibleGeometry.at(FEATHER_LINE_2)->state = Geometry::NORMAL; + } else { + EditSubscriber::visibleGeometry.at(lastObject)->state = Geometry::NORMAL; + } + } + action = Action::NONE; +} + void Gradient::switchOffEditMode () { if (edit->get_active()) { diff --git a/rtgui/gradient.h b/rtgui/gradient.h index 64eabefae..dc0371932 100644 --- a/rtgui/gradient.h +++ b/rtgui/gradient.h @@ -35,6 +35,7 @@ protected: sigc::connection editConn; void editToggled (); + void releaseEdit(); public: @@ -55,7 +56,7 @@ public: void setEditProvider (EditDataProvider* provider) override; // EditSubscriber interface - CursorShape getCursor(int objectID) const override; + CursorShape getCursor(int objectID, int xPos, int yPos) const override; bool mouseOver(int modifierKey) override; bool button1Pressed(int modifierKey) override; bool button1Released() override; diff --git a/rtgui/guiutils.cc b/rtgui/guiutils.cc index f415d770f..18b82fe36 100644 --- a/rtgui/guiutils.cc +++ b/rtgui/guiutils.cc @@ -221,7 +221,7 @@ bool confirmOverwrite (Gtk::Window& parent, const std::string& filename) bool safe = true; if (Glib::file_test (filename, Glib::FILE_TEST_EXISTS)) { - Glib::ustring msg_ = Glib::ustring ("\"") + Glib::path_get_basename (filename) + "\": " + Glib::ustring msg_ = Glib::ustring ("\"") + escapeHtmlChars(Glib::path_get_basename (filename)) + "\": " + M("MAIN_MSG_ALREADYEXISTS") + "\n" + M("MAIN_MSG_QOVERWRITE"); Gtk::MessageDialog msgd (parent, msg_, true, Gtk::MESSAGE_WARNING, Gtk::BUTTONS_YES_NO, true); safe = (msgd.run () == Gtk::RESPONSE_YES); @@ -232,7 +232,7 @@ bool confirmOverwrite (Gtk::Window& parent, const std::string& filename) void writeFailed (Gtk::Window& parent, const std::string& filename) { - Glib::ustring msg_ = Glib::ustring::compose(M("MAIN_MSG_WRITEFAILED"), filename); + Glib::ustring msg_ = Glib::ustring::compose(M("MAIN_MSG_WRITEFAILED"), escapeHtmlChars(filename)); Gtk::MessageDialog msgd (parent, msg_, true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); msgd.run (); } @@ -267,7 +267,7 @@ void drawCrop (Cairo::RefPtr cr, int imx, int imy, int imw, int cr->fill (); // rectangle around the cropped area and guides - if (cparams.guide != "None" && drawGuide) { + if (cparams.guide != rtengine::procparams::CropParams::Guide::NONE && drawGuide) { double rectx1 = round(c1x) + imx + 0.5; double recty1 = round(c1y) + imy + 0.5; double rectx2 = round(c2x) + imx + 0.5; @@ -296,60 +296,98 @@ void drawCrop (Cairo::RefPtr cr, int imx, int imy, int imw, int cr->stroke (); cr->set_dash (std::valarray(), 0); - if (cparams.guide != "Rule of diagonals" && cparams.guide != "Golden Triangle 1" && cparams.guide != "Golden Triangle 2") { + if ( + cparams.guide != rtengine::procparams::CropParams::Guide::RULE_OF_DIAGONALS + && cparams.guide != rtengine::procparams::CropParams::Guide::GOLDEN_TRIANGLE_1 + && cparams.guide != rtengine::procparams::CropParams::Guide::GOLDEN_TRIANGLE_2 + ) { // draw guide lines std::vector horiz_ratios; std::vector vert_ratios; - if (cparams.guide == "Rule of thirds") { - horiz_ratios.push_back (1.0 / 3.0); - horiz_ratios.push_back (2.0 / 3.0); - vert_ratios.push_back (1.0 / 3.0); - vert_ratios.push_back (2.0 / 3.0); - } else if (!strncmp(cparams.guide.data(), "Harmonic means", 14)) { - horiz_ratios.push_back (1.0 - 0.618); - horiz_ratios.push_back (0.618); - vert_ratios.push_back (0.618); - vert_ratios.push_back (1.0 - 0.618); - } else if (cparams.guide == "Grid") { - // To have even distribution, normalize it a bit - const int longSideNumLines = 10; + switch (cparams.guide) { + case rtengine::procparams::CropParams::Guide::NONE: + case rtengine::procparams::CropParams::Guide::FRAME: + case rtengine::procparams::CropParams::Guide::RULE_OF_DIAGONALS: + case rtengine::procparams::CropParams::Guide::GOLDEN_TRIANGLE_1: + case rtengine::procparams::CropParams::Guide::GOLDEN_TRIANGLE_2: { + break; + } - int w = rectx2 - rectx1, h = recty2 - recty1; + case rtengine::procparams::CropParams::Guide::RULE_OF_THIRDS: { + horiz_ratios.push_back (1.0 / 3.0); + horiz_ratios.push_back (2.0 / 3.0); + vert_ratios.push_back (1.0 / 3.0); + vert_ratios.push_back (2.0 / 3.0); + break; + } - if (w > longSideNumLines && h > longSideNumLines) { - if (w > h) { - for (int i = 1; i < longSideNumLines; i++) { - vert_ratios.push_back ((double)i / longSideNumLines); - } + case rtengine::procparams::CropParams::Guide::HARMONIC_MEANS: { + horiz_ratios.push_back (1.0 - 0.618); + horiz_ratios.push_back (0.618); + vert_ratios.push_back (0.618); + vert_ratios.push_back (1.0 - 0.618); + break; + } - int shortSideNumLines = (int)round(h * (double)longSideNumLines / w); + case rtengine::procparams::CropParams::Guide::GRID: { + // To have even distribution, normalize it a bit + const int longSideNumLines = 10; - for (int i = 1; i < shortSideNumLines; i++) { - horiz_ratios.push_back ((double)i / shortSideNumLines); - } - } else { - for (int i = 1; i < longSideNumLines; i++) { - horiz_ratios.push_back ((double)i / longSideNumLines); - } + int w = rectx2 - rectx1, h = recty2 - recty1; - int shortSideNumLines = (int)round(w * (double)longSideNumLines / h); + if (w > longSideNumLines && h > longSideNumLines) { + if (w > h) { + for (int i = 1; i < longSideNumLines; i++) { + vert_ratios.push_back ((double)i / longSideNumLines); + } - for (int i = 1; i < shortSideNumLines; i++) { - vert_ratios.push_back ((double)i / shortSideNumLines); + int shortSideNumLines = (int)round(h * (double)longSideNumLines / w); + + for (int i = 1; i < shortSideNumLines; i++) { + horiz_ratios.push_back ((double)i / shortSideNumLines); + } + } else { + for (int i = 1; i < longSideNumLines; i++) { + horiz_ratios.push_back ((double)i / longSideNumLines); + } + + int shortSideNumLines = (int)round(w * (double)longSideNumLines / h); + + for (int i = 1; i < shortSideNumLines; i++) { + vert_ratios.push_back ((double)i / shortSideNumLines); + } } } + break; + } + + case rtengine::procparams::CropParams::Guide::EPASSPORT: { + /* Official measurements do not specify exact ratios, just min/max measurements within which the eyes and chin-crown distance must lie. I averaged those measurements to produce these guides. + * The first horizontal guide is for the crown, the second is roughly for the nostrils, the third is for the chin. + * http://www.homeoffice.gov.uk/agencies-public-bodies/ips/passports/information-photographers/ + * "(...) the measurement of the face from the bottom of the chin to the crown (ie the top of the head, not the top of the hair) is between 29mm and 34mm." + */ + horiz_ratios.push_back (7.0 / 45.0); + horiz_ratios.push_back (26.0 / 45.0); + horiz_ratios.push_back (37.0 / 45.0); + vert_ratios.push_back (0.5); + break; + } + + case rtengine::procparams::CropParams::Guide::CENTERED_SQUARE: { + const double w = rectx2 - rectx1, h = recty2 - recty1; + double ratio = w / h; + if (ratio < 1.0) { + ratio = 1.0 / ratio; + horiz_ratios.push_back((ratio - 1.0) / (2.0 * ratio)); + horiz_ratios.push_back(1.0 - (ratio - 1.0) / (2.0 * ratio)); + } else { + vert_ratios.push_back((ratio - 1.0) / (2.0 * ratio)); + vert_ratios.push_back(1.0 - (ratio - 1.0) / (2.0 * ratio)); + } + break; } - } else if (cparams.guide == "ePassport") { - /* Official measurements do not specify exact ratios, just min/max measurements within which the eyes and chin-crown distance must lie. I averaged those measurements to produce these guides. - * The first horizontal guide is for the crown, the second is roughly for the nostrils, the third is for the chin. - * http://www.homeoffice.gov.uk/agencies-public-bodies/ips/passports/information-photographers/ - * "(...) the measurement of the face from the bottom of the chin to the crown (ie the top of the head, not the top of the hair) is between 29mm and 34mm." - */ - horiz_ratios.push_back (7.0 / 45.0); - horiz_ratios.push_back (26.0 / 45.0); - horiz_ratios.push_back (37.0 / 45.0); - vert_ratios.push_back (0.5); } // Horizontals @@ -385,7 +423,7 @@ void drawCrop (Cairo::RefPtr cr, int imx, int imy, int imw, int ds.resize (0); cr->set_dash (ds, 0); } - } else if (cparams.guide == "Rule of diagonals") { + } else if (cparams.guide == rtengine::procparams::CropParams::Guide::RULE_OF_DIAGONALS) { double corners_from[4][2]; double corners_to[4][2]; int mindim = min(rectx2 - rectx1, recty2 - recty1); @@ -421,9 +459,12 @@ void drawCrop (Cairo::RefPtr cr, int imx, int imy, int imw, int ds.resize (0); cr->set_dash (ds, 0); } - } else if (cparams.guide == "Golden Triangle 1" || cparams.guide == "Golden Triangle 2") { + } else if ( + cparams.guide == rtengine::procparams::CropParams::Guide::GOLDEN_TRIANGLE_1 + || cparams.guide == rtengine::procparams::CropParams::Guide::GOLDEN_TRIANGLE_2 + ) { // main diagonal - if(cparams.guide == "Golden Triangle 2") { + if(cparams.guide == rtengine::procparams::CropParams::Guide::GOLDEN_TRIANGLE_2) { std::swap(rectx1, rectx2); } @@ -1003,7 +1044,7 @@ MyScrolledToolbar::MyScrolledToolbar () set_policy (Gtk::POLICY_EXTERNAL, Gtk::POLICY_NEVER); get_style_context()->add_class("scrollableToolbar"); - // Works fine with Gtk 3.22, but a a custom made get_preferred_height had to be created as a workaround + // Works fine with Gtk 3.22, but a custom made get_preferred_height had to be created as a workaround // taken from the official Gtk3.22 source code //set_propagate_natural_height(true); } @@ -1213,7 +1254,7 @@ bool MySpinButton::on_key_press_event (GdkEventKey* event) } else { if (event->keyval == GDK_KEY_comma || event->keyval == GDK_KEY_KP_Decimal) { set_text(get_text() + "."); - set_position(get_text().length()); // When setting text, cursor position is reseted at text start. Avoiding this with this code + set_position(get_text().length()); // When setting text, cursor position is reset at text start. Avoiding this with this code return true; // Event is not propagated further } @@ -1465,33 +1506,110 @@ TextOrIcon::TextOrIcon (const Glib::ustring &fname, const Glib::ustring &labelTx } -MyImageMenuItem::MyImageMenuItem(Glib::ustring label, Glib::ustring imageFileName) +class ImageAndLabel::Impl { - box = Gtk::manage (new Gtk::Grid()); - this->label = Gtk::manage( new Gtk::Label(label)); - box->set_orientation(Gtk::ORIENTATION_HORIZONTAL); +public: + RTImage* image; + Gtk::Label* label; - if (!imageFileName.empty()) { - image = Gtk::manage( new RTImage(imageFileName) ); - box->attach_next_to(*image, Gtk::POS_LEFT, 1, 1); - } else { - image = nullptr; + Impl(RTImage* image, Gtk::Label* label) : image(image), label(label) {} + static std::unique_ptr createImage(const Glib::ustring& fileName); +}; + +std::unique_ptr ImageAndLabel::Impl::createImage(const Glib::ustring& fileName) +{ + if (fileName.empty()) { + return nullptr; + } + return std::unique_ptr(new RTImage(fileName)); +} + +ImageAndLabel::ImageAndLabel(const Glib::ustring& label, const Glib::ustring& imageFileName) : + ImageAndLabel(label, Gtk::manage(Impl::createImage(imageFileName).release())) +{ +} + +ImageAndLabel::ImageAndLabel(const Glib::ustring& label, RTImage *image) : + pimpl(new Impl(image, Gtk::manage(new Gtk::Label(label)))) +{ + Gtk::Grid* grid = Gtk::manage(new Gtk::Grid()); + grid->set_orientation(Gtk::ORIENTATION_HORIZONTAL); + + if (image) { + grid->attach_next_to(*image, Gtk::POS_LEFT, 1, 1); } - box->attach_next_to(*this->label, Gtk::POS_RIGHT, 1, 1); - box->set_column_spacing(4); - box->set_row_spacing(0); - add(*box); + grid->attach_next_to(*(pimpl->label), Gtk::POS_RIGHT, 1, 1); + grid->set_column_spacing(4); + grid->set_row_spacing(0); + pack_start(*grid, Gtk::PACK_SHRINK, 0); +} + +const RTImage* ImageAndLabel::getImage() const +{ + return pimpl->image; +} + +const Gtk::Label* ImageAndLabel::getLabel() const +{ + return pimpl->label; +} + +class MyImageMenuItem::Impl +{ +private: + std::unique_ptr widget; + +public: + Impl(const Glib::ustring &label, const Glib::ustring &imageFileName) : + widget(new ImageAndLabel(label, imageFileName)) {} + Impl(const Glib::ustring &label, RTImage *itemImage) : + widget(new ImageAndLabel(label, itemImage)) {} + ImageAndLabel* getWidget() const { return widget.get(); } +}; + +MyImageMenuItem::MyImageMenuItem(const Glib::ustring& label, const Glib::ustring& imageFileName) : + pimpl(new Impl(label, imageFileName)) +{ + add(*(pimpl->getWidget())); +} + +MyImageMenuItem::MyImageMenuItem(const Glib::ustring& label, RTImage* itemImage) : + pimpl(new Impl(label, itemImage)) +{ + add(*(pimpl->getWidget())); } const RTImage *MyImageMenuItem::getImage () const { - return image; + return pimpl->getWidget()->getImage(); } const Gtk::Label* MyImageMenuItem::getLabel () const { - return label; + return pimpl->getWidget()->getLabel(); +} + +class MyRadioImageMenuItem::Impl +{ + std::unique_ptr widget; + +public: + Impl(const Glib::ustring &label, RTImage *image) : + widget(new ImageAndLabel(label, image)) {} + ImageAndLabel* getWidget() const { return widget.get(); } +}; + +MyRadioImageMenuItem::MyRadioImageMenuItem(const Glib::ustring& label, RTImage *image, Gtk::RadioButton::Group& group) : + Gtk::RadioMenuItem(group), + pimpl(new Impl(label, image)) +{ + add(*(pimpl->getWidget())); +} + +const Gtk::Label* MyRadioImageMenuItem::getLabel() const +{ + return pimpl->getWidget()->getLabel(); } MyProgressBar::MyProgressBar(int width) : w(rtengine::max(width, 10 * RTScalable::getScale())) {} diff --git a/rtgui/guiutils.h b/rtgui/guiutils.h index d90d45370..938c81c42 100644 --- a/rtgui/guiutils.h +++ b/rtgui/guiutils.h @@ -232,7 +232,7 @@ public: */ MyExpander(bool useEnabled, Glib::ustring titleLabel); - /** Create a custom expander with a a custom - and responsive - widget + /** Create a custom expander with a custom - and responsive - widget * @param useEnabled Set whether to handle an enabled/disabled toggle button and display the appropriate image * @param titleWidget A widget to display in the header. Warning: you won't be able to switch to a string label. */ @@ -482,17 +482,56 @@ public: TextOrIcon (const Glib::ustring &filename, const Glib::ustring &labelTx, const Glib::ustring &tooltipTx); }; -class MyImageMenuItem final : public Gtk::MenuItem +/** + * Widget with image and label placed horizontally. + */ +class ImageAndLabel final : public Gtk::Box { -private: - Gtk::Grid *box; - RTImage *image; - Gtk::Label *label; + class Impl; + std::unique_ptr pimpl; public: - MyImageMenuItem (Glib::ustring label, Glib::ustring imageFileName); + ImageAndLabel(const Glib::ustring& label, const Glib::ustring& imageFileName); + ImageAndLabel(const Glib::ustring& label, RTImage* image); + const RTImage* getImage() const; + const Gtk::Label* getLabel() const; +}; + +/** + * Menu item with an image and label. + */ +class MyImageMenuItemInterface +{ +public: + virtual const Gtk::Label* getLabel() const = 0; +}; + +/** + * Basic image menu item. + */ +class MyImageMenuItem final : public Gtk::MenuItem, public MyImageMenuItemInterface +{ + class Impl; + std::unique_ptr pimpl; + +public: + MyImageMenuItem (const Glib::ustring& label, const Glib::ustring& imageFileName); + MyImageMenuItem (const Glib::ustring& label, RTImage* image); const RTImage *getImage () const; - const Gtk::Label* getLabel () const; + const Gtk::Label* getLabel() const override; +}; + +/** + * Image menu item with radio selector. + */ +class MyRadioImageMenuItem final : public Gtk::RadioMenuItem, public MyImageMenuItemInterface +{ + class Impl; + std::unique_ptr pimpl; + +public: + MyRadioImageMenuItem(const Glib::ustring& label, RTImage* image, Gtk::RadioButton::Group& group); + const Gtk::Label* getLabel() const override; }; class MyProgressBar final : public Gtk::ProgressBar diff --git a/rtgui/histogrampanel.cc b/rtgui/histogrampanel.cc index 9123e7841..6bda0812e 100644 --- a/rtgui/histogrampanel.cc +++ b/rtgui/histogrampanel.cc @@ -1181,7 +1181,8 @@ void HistogramArea::update( bhistRaw = histBlueRaw; break; case ScopeType::PARADE: - case ScopeType::WAVEFORM: + case ScopeType::WAVEFORM: { + MyWriterLock wave_lock(wave_mutex); waveform_scale = waveformScale; rwave = waveformRed; gwave = waveformGreen; @@ -1189,6 +1190,7 @@ void HistogramArea::update( lwave = waveformLuma; parade_buffer_r_dirty = parade_buffer_g_dirty = parade_buffer_b_dirty = wave_buffer_dirty = wave_buffer_luma_dirty = true; break; + } case ScopeType::VECTORSCOPE_HS: vectorscope_scale = vectorscopeScale; vect_hs = vectorscopeHS; @@ -1313,6 +1315,7 @@ void HistogramArea::updateBackBuffer () cr->unset_dash(); + MyReaderLock wave_lock(wave_mutex); if (valid && (scopeType == ScopeType::HISTOGRAM || scopeType == ScopeType::HISTOGRAM_RAW)) { bool rawMode = scopeType == ScopeType::HISTOGRAM_RAW; @@ -1429,6 +1432,7 @@ void HistogramArea::updateBackBuffer () } else if (scopeType == ScopeType::VECTORSCOPE_HC || scopeType == ScopeType::VECTORSCOPE_HS) { drawVectorscope(cr, w, h); } + wave_lock.release(); // Draw the frame's border style->render_frame(cr, 0, 0, surface->get_width(), surface->get_height()); diff --git a/rtgui/histogrampanel.h b/rtgui/histogrampanel.h index 393df51a5..26b744546 100644 --- a/rtgui/histogrampanel.h +++ b/rtgui/histogrampanel.h @@ -169,6 +169,7 @@ protected: bool vect_hc_buffer_dirty, vect_hs_buffer_dirty; int waveform_scale; array2D rwave, gwave, bwave, lwave; + MyRWMutex wave_mutex; std::vector parade_buffer_r; std::vector parade_buffer_g; std::vector parade_buffer_b; diff --git a/rtgui/history.cc b/rtgui/history.cc index dfc74af24..4d6940e9b 100644 --- a/rtgui/history.cc +++ b/rtgui/history.cc @@ -180,7 +180,7 @@ void History::historySelectionChanged () if (row && tpc) { ProcParams pparams = row[historyColumns.params]; ParamsEdited pe (true); - pe.locallab.spots.resize(pparams.locallab.spots.size(), new LocallabParamsEdited::LocallabSpotEdited(true)); + pe.locallab.spots.resize(pparams.locallab.spots.size(), LocallabParamsEdited::LocallabSpotEdited(true)); PartialProfile pp (&pparams, &pe); ParamsEdited paramsEdited = row[historyColumns.paramsEdited]; @@ -215,7 +215,7 @@ void History::bookmarkSelectionChanged () if (row && tpc) { ProcParams pparams = row[bookmarkColumns.params]; ParamsEdited pe (true); - pe.locallab.spots.resize(pparams.locallab.spots.size(), new LocallabParamsEdited::LocallabSpotEdited(true)); + pe.locallab.spots.resize(pparams.locallab.spots.size(), LocallabParamsEdited::LocallabSpotEdited(true)); PartialProfile pp (&pparams, &pe); ParamsEdited paramsEdited = row[bookmarkColumns.paramsEdited]; tpc->profileChange (&pp, EvBookmarkSelected, row[bookmarkColumns.text], ¶msEdited); diff --git a/rtgui/iccprofilecreator.cc b/rtgui/iccprofilecreator.cc index 3f1ed4089..446dda3fb 100644 --- a/rtgui/iccprofilecreator.cc +++ b/rtgui/iccprofilecreator.cc @@ -79,6 +79,7 @@ ICCProfileCreator::ICCProfileCreator(RTWindow *rtwindow) primaries->append(M("ICCPROFCREATOR_PRIM_BEST")); primaries->append(M("ICCPROFCREATOR_PRIM_BETA")); primaries->append(M("ICCPROFCREATOR_PRIM_BRUCE")); + primaries->append(M("ICCPROFCREATOR_PRIM_DCIP3")); primaries->set_tooltip_text(M("ICCPROFCREATOR_PRIM_TOOLTIP")); mainGrid->attach(*primaries, 1, 0, 1, 1); @@ -101,17 +102,17 @@ ICCProfileCreator::ICCProfileCreator(RTWindow *rtwindow) Gtk::Image* gamutl5 = Gtk::manage(new RTImage("rt-logo-small.png")); */ - aPrimariesRedX = Gtk::manage(new Adjuster(M("ICCPROFCREATOR_PRIM_REDX"), 0.6300, 0.7350, 0.0001, 0.6400/*, gamuts0, gamutl0*/)); + aPrimariesRedX = Gtk::manage(new Adjuster(M("ICCPROFCREATOR_PRIM_REDX"), 0.4100, 0.9000, 0.0001, 0.6400/*, gamuts0, gamutl0*/)); setExpandAlignProperties(aPrimariesRedX, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); - aPrimariesRedY = Gtk::manage(new Adjuster(M("ICCPROFCREATOR_PRIM_REDY"), 0.2650, 0.3350, 0.0001, 0.3300/*, gamutl1, gamuts1*/)); + aPrimariesRedY = Gtk::manage(new Adjuster(M("ICCPROFCREATOR_PRIM_REDY"), 0.1000, 0.6000, 0.0001, 0.3300/*, gamutl1, gamuts1*/)); setExpandAlignProperties(aPrimariesRedY, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); - aPrimariesGreenX = Gtk::manage(new Adjuster(M("ICCPROFCREATOR_PRIM_GREX"), 0.0000, 0.3100, 0.0001, 0.3000/*, gamutl2, gamuts2*/)); + aPrimariesGreenX = Gtk::manage(new Adjuster(M("ICCPROFCREATOR_PRIM_GREX"), -0.100, 0.4000, 0.0001, 0.3000/*, gamutl2, gamuts2*/)); setExpandAlignProperties(aPrimariesGreenX, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); - aPrimariesGreenY = Gtk::manage(new Adjuster(M("ICCPROFCREATOR_PRIM_GREY"), 0.5900, 1.0000, 0.0001, 0.6000/*, gamuts3, gamutl3*/)); + aPrimariesGreenY = Gtk::manage(new Adjuster(M("ICCPROFCREATOR_PRIM_GREY"), 0.50, 1.0000, 0.0001, 0.6000/*, gamuts3, gamutl3*/)); setExpandAlignProperties(aPrimariesGreenY, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); - aPrimariesBlueX = Gtk::manage(new Adjuster(M("ICCPROFCREATOR_PRIM_BLUX"), 0.0001, 0.1600, 0.0001, 0.1500/*, gamutl4, gamuts4*/)); + aPrimariesBlueX = Gtk::manage(new Adjuster(M("ICCPROFCREATOR_PRIM_BLUX"), -0.1, 0.3000, 0.0001, 0.1500/*, gamutl4, gamuts4*/)); setExpandAlignProperties(aPrimariesBlueX, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); - aPrimariesBlueY = Gtk::manage(new Adjuster(M("ICCPROFCREATOR_PRIM_BLUY"), -0.0800, 0.0700, 0.0001, 0.060/*, gamutl5, gamuts5*/)); + aPrimariesBlueY = Gtk::manage(new Adjuster(M("ICCPROFCREATOR_PRIM_BLUY"), -0.100, 0.4000, 0.0001, 0.060/*, gamutl5, gamuts5*/)); setExpandAlignProperties(aPrimariesBlueY, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); primariesGrid->attach(*aPrimariesRedX, 0, 0, 1, 1); @@ -176,6 +177,7 @@ ICCProfileCreator::ICCProfileCreator(RTWindow *rtwindow) cIlluminant->append(M("ICCPROFCREATOR_ILL_50")); cIlluminant->append(M("ICCPROFCREATOR_ILL_55")); cIlluminant->append(M("ICCPROFCREATOR_ILL_60")); + cIlluminant->append(M("ICCPROFCREATOR_ILL_63")); cIlluminant->append(M("ICCPROFCREATOR_ILL_65")); cIlluminant->append(M("ICCPROFCREATOR_ILL_80")); cIlluminant->append(M("ICCPROFCREATOR_ILL_INC")); @@ -265,6 +267,8 @@ ICCProfileCreator::ICCProfileCreator(RTWindow *rtwindow) primaries->set_active_text(M("ICCPROFCREATOR_PRIM_BETA")); } else if (primariesPreset == "BruceRGB") { primaries->set_active_text(M("ICCPROFCREATOR_PRIM_BRUCE")); + } else if (primariesPreset == "DCIP3") { + primaries->set_active_text(M("ICCPROFCREATOR_PRIM_DCIP3")); } trcPresets->set_active(0); @@ -296,6 +300,8 @@ ICCProfileCreator::ICCProfileCreator(RTWindow *rtwindow) cIlluminant->set_active_text(M("ICCPROFCREATOR_ILL_55")); } else if (illuminant == "D60") { cIlluminant->set_active_text(M("ICCPROFCREATOR_ILL_60")); + } else if (illuminant == "D63") { + cIlluminant->set_active_text(M("ICCPROFCREATOR_ILL_63")); } else if (illuminant == "D65") { cIlluminant->set_active_text(M("ICCPROFCREATOR_ILL_65")); } else if (illuminant == "D80") { @@ -437,6 +443,8 @@ void ICCProfileCreator::storeValues() options.ICCPC_illuminant = illuminant = "D55"; } else if (cIlluminant->get_active_text() == M("ICCPROFCREATOR_ILL_60")) { options.ICCPC_illuminant = illuminant = "D60"; + } else if (cIlluminant->get_active_text() == M("ICCPROFCREATOR_ILL_63")) { + options.ICCPC_illuminant = illuminant = "D63"; } else if (cIlluminant->get_active_text() == M("ICCPROFCREATOR_ILL_65")) { options.ICCPC_illuminant = illuminant = "D65"; } else if (cIlluminant->get_active_text() == M("ICCPROFCREATOR_ILL_80")) { @@ -482,6 +490,8 @@ Glib::ustring ICCProfileCreator::getPrimariesPresetName(const Glib::ustring &pre return Glib::ustring("BetaRGB"); } else if (primaries->get_active_text() == M("ICCPROFCREATOR_PRIM_BRUCE")) { return Glib::ustring("BruceRGB"); + } else if (primaries->get_active_text() == M("ICCPROFCREATOR_PRIM_DCIP3")) { + return Glib::ustring("DCIP3"); } else if (primaries->get_active_text() == M("ICCPROFCREATOR_CUSTOM")) { return Glib::ustring("custom"); } else { @@ -570,6 +580,13 @@ void ICCProfileCreator::getPrimaries(const Glib::ustring &preset, double *p, Col p[3] = 0.8404; p[4] = 0.0366; p[5] = 0.0001; + } else if (preset == "DCIP3") { + p[0] = 0.68; // DCIP3 primaries + p[1] = 0.32; + p[2] = 0.265; + p[3] = 0.69; + p[4] = 0.15; + p[5] = 0.06; } else if (preset == "custom") { p[0] = redPrimaryX; p[1] = redPrimaryY; @@ -655,7 +672,7 @@ void ICCProfileCreator::savePressed() // -------------------------------------------- Compute the default file name // -----------------setmedia white point for monitor profile sRGB or AdobeRGB in case of profile used for monitor--------------------- //instead of calculations made by LCMS..small differences - bool isD65 = (primariesPreset == "sRGB" || primariesPreset == "Adobe" || primariesPreset == "Rec2020" || primariesPreset == "BruceRGB"); + bool isD65 = (primariesPreset == "sRGB" || primariesPreset == "Adobe" || primariesPreset == "Rec2020" || primariesPreset == "BruceRGB" || primariesPreset == "DCIP3"); bool isD60 = (primariesPreset == "ACES-AP1" || primariesPreset == "ACES-AP0"); bool isD50 = (primariesPreset == "ProPhoto" || primariesPreset == "Widegamut" || primariesPreset == "BestRGB" || primariesPreset == "BetaRGB"); // v2except = (profileVersion == "v2" && (primariesPreset == "sRGB" || primariesPreset == "Adobe" || primariesPreset == "Rec2020" || primariesPreset == "BruceRGB" || primariesPreset == "ACES-AP1" || primariesPreset == "ACES-AP0") && illuminant == "DEF"); @@ -693,23 +710,23 @@ void ICCProfileCreator::savePressed() if (options.rtSettings.widegamut.substr(0, 4) == "RTv4") { options.rtSettings.widegamut = "RTv2_Wide"; } - sNewProfile = options.rtSettings.widegamut; - sPrimariesPreset = "Wide"; + } else if (primariesPreset == "DCIP3") {//only at the request of the user + sNewProfile = options.rtSettings.DCIP3; + sPrimariesPreset = "DCIP3"; } else if (primariesPreset == "BestRGB" && rtengine::ICCStore::getInstance()->outputProfileExist(options.rtSettings.best)) { if (options.rtSettings.best.substr(0, 4) == "RTv4") { options.rtSettings.best = "RTv2_Best"; } - sNewProfile = options.rtSettings.best; sPrimariesPreset = "Best"; } else if (primariesPreset == "BetaRGB" && rtengine::ICCStore::getInstance()->outputProfileExist(options.rtSettings.beta)) { - sNewProfile = options.rtSettings.beta; if (options.rtSettings.beta.substr(0, 4) == "RTv4") { options.rtSettings.widegamut = "RTv2_Beta"; } + sNewProfile = options.rtSettings.beta; sPrimariesPreset = "Beta"; } else if (primariesPreset == "BruceRGB" && rtengine::ICCStore::getInstance()->outputProfileExist(options.rtSettings.bruce)) { @@ -750,6 +767,8 @@ void ICCProfileCreator::savePressed() sPrimariesPreset = "Best"; } else if (primariesPreset == "BetaRGB") { sPrimariesPreset = "Beta"; + } else if (primariesPreset == "DCIP3") { + sPrimariesPreset = "DCIP3"; } else if (primariesPreset == "custom") { sPrimariesPreset = "Custom"; } @@ -1012,6 +1031,8 @@ void ICCProfileCreator::savePressed() tempv4 = 5500.; } else if (illuminant == "D60") { tempv4 = 6004.; + } else if (illuminant == "D63") { + tempv4 = 6300.; } else if (illuminant == "D65") { tempv4 = 6504.; } else if (illuminant == "D80") { @@ -1030,6 +1051,10 @@ void ICCProfileCreator::savePressed() xyD = {0.32168, 0.33767, 1.0}; } + if (illuminant == "D63") { + xyD = {0.314, 0.351, 1.0}; + } + if (illuminant == "D50") { xyD = {0.3457, 0.3585, 1.0};//white D50 near LCMS values but not perfect...it's a compromise!! } @@ -1077,6 +1102,9 @@ void ICCProfileCreator::savePressed() } else if (illuminant == "D60") { Wx = 0.952646075; Wz = 1.008825184; + } else if (illuminant == "D63") { + Wx = 0.894587; + Wz = 0.954416; } else if (illuminant == "D41") { Wx = 0.991488263; Wz = 0.631604625; diff --git a/rtgui/icmpanel.cc b/rtgui/icmpanel.cc index e0fd7cd96..3140fbea3 100644 --- a/rtgui/icmpanel.cc +++ b/rtgui/icmpanel.cc @@ -22,6 +22,7 @@ #include "eventmapper.h" #include "guiutils.h" +#include "labgrid.h" #include "options.h" #include "pathutils.h" #include "rtimage.h" @@ -29,6 +30,7 @@ #include "../rtengine/dcp.h" #include "../rtengine/iccstore.h" #include "../rtengine/procparams.h" +#include "../rtengine/utils.h" using namespace rtengine; using namespace rtengine::procparams; @@ -39,21 +41,34 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iuncha EvICMprimariMethod = m->newEvent(GAMMA, "HISTORY_MSG_ICM_OUTPUT_PRIMARIES"); EvICMprofileMethod = m->newEvent(GAMMA, "HISTORY_MSG_ICM_OUTPUT_TYPE"); EvICMtempMethod = m->newEvent(GAMMA, "HISTORY_MSG_ICM_OUTPUT_TEMP"); - EvICMpredx = m->newEvent(GAMMA, "HISTORY_MSG_ICMPREDX"); - EvICMpredy = m->newEvent(GAMMA, "HISTORY_MSG_ICMPREDY"); - EvICMpgrex = m->newEvent(GAMMA, "HISTORY_MSG_ICMPGREX"); - EvICMpgrey = m->newEvent(GAMMA, "HISTORY_MSG_ICMPGREY"); - EvICMpblux = m->newEvent(GAMMA, "HISTORY_MSG_ICMPBLUX"); - EvICMpbluy = m->newEvent(GAMMA, "HISTORY_MSG_ICMPBLUY"); - EvICMgamm = m->newEvent(AUTOEXP, "HISTORY_MSG_ICM_WORKING_GAMMA"); - EvICMslop = m->newEvent(AUTOEXP, "HISTORY_MSG_ICM_WORKING_SLOPE"); - EvICMtrcinMethod = m->newEvent(AUTOEXP, "HISTORY_MSG_ICM_WORKING_TRC_METHOD"); - + //EvICMpredx = m->newEvent(GAMMA, "HISTORY_MSG_ICMPREDX"); + //EvICMpredy = m->newEvent(GAMMA, "HISTORY_MSG_ICMPREDY"); + //EvICMpgrex = m->newEvent(GAMMA, "HISTORY_MSG_ICMPGREX"); + //EvICMpgrey = m->newEvent(GAMMA, "HISTORY_MSG_ICMPGREY"); + //EvICMpblux = m->newEvent(GAMMA, "HISTORY_MSG_ICMPBLUX"); + //EvICMpbluy = m->newEvent(GAMMA, "HISTORY_MSG_ICMPBLUY"); + EvICMgamm = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_WORKING_GAMMA"); + EvICMslop = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_WORKING_SLOPE"); + EvICMtrcinMethod = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_WORKING_TRC_METHOD"); + EvICMwillMethod = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_WORKING_ILLUM_METHOD"); + EvICMwprimMethod = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_WORKING_PRIM_METHOD"); + EvICMredx = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_REDX"); + EvICMredy = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_REDY"); + EvICMgrex = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_GREX"); + EvICMgrey = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_GREY"); + EvICMblux = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_BLUX"); + EvICMbluy = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_BLUY"); + EvaIntent = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_AINTENT"); + EvICMpreser = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_PRESER"); + EvICMLabGridciexy = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICL_LABGRIDCIEXY"); + EvICMfbw = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_FBW"); + EvICMgamut = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_ICM_GAMUT"); isBatchMode = lastToneCurve = lastApplyLookTable = lastApplyBaselineExposureOffset = lastApplyHueSatMap = false; ipDialog = Gtk::manage(new MyFileChooserButton(M("TP_ICM_INPUTDLGLABEL"), Gtk::FILE_CHOOSER_ACTION_OPEN)); ipDialog->set_tooltip_text(M("TP_ICM_INPUTCUSTOM_TOOLTIP")); bindCurrentFolder(*ipDialog, options.lastIccDir); + labgridcie = Gtk::manage(new LabGrid(EvICMLabGridciexy, M("TP_ICM_LABGRID_CIEXY"), true, true)); // ------------------------------- Input profile @@ -184,44 +199,191 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iuncha wProfNames->set_active(0); - // wFrame->add(*wVBox); + wFrame->add(*wProfVBox); //-----------------gamma TRC working + Gtk::Frame *trcFrame = Gtk::manage(new Gtk::Frame(M("TP_ICM_TRCFRAME"))); + trcFrame->set_label_align(0.025, 0.5); + Gtk::Box *trcProfVBox = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL)); + trcFrame->set_tooltip_text(M("TP_ICM_TRCFRAME_TOOLTIP")); - wTRCHBox = Gtk::manage(new Gtk::Box()); + wTRCBox = Gtk::manage(new Gtk::Box()); - Gtk::Label* wtrclab = Gtk::manage(new Gtk::Label(M("TP_ICM_WORKING_TRC"))); - - wTRCHBox->pack_start(*wtrclab, Gtk::PACK_SHRINK); wTRC = Gtk::manage(new MyComboBoxText()); - wTRCHBox->pack_start(*wTRC, Gtk::PACK_EXPAND_WIDGET); - // wProfVBox->pack_start(*wTRCHBox, Gtk::PACK_EXPAND_WIDGET); + wTRCBox->pack_start(*wTRC, Gtk::PACK_EXPAND_WIDGET); + trcProfVBox->pack_start(*wTRCBox, Gtk::PACK_EXPAND_WIDGET); wTRC->append(M("TP_ICM_WORKING_TRC_NONE")); wTRC->append(M("TP_ICM_WORKING_TRC_CUSTOM")); + wTRC->append(M("TP_ICM_WORKING_TRC_BT709")); + wTRC->append(M("TP_ICM_WORKING_TRC_SRGB")); + wTRC->append(M("TP_ICM_WORKING_TRC_22")); + wTRC->append(M("TP_ICM_WORKING_TRC_18")); + wTRC->append(M("TP_ICM_WORKING_TRC_LIN")); -// wTRC->set_active(0); -// wTRC->set_tooltip_text(M("TP_ICM_WORKING_TRC_TOOLTIP")); + wTRC->set_active(0); + wTRC->set_tooltip_text(M("TP_ICM_TRC_TOOLTIP")); + + wFrame->set_tooltip_text(M("TP_ICM_WORKING_TRC_TOOLTIP")); - wGamma = Gtk::manage(new Adjuster(M("TP_ICM_WORKING_TRC_GAMMA"), 0.40, 15.0, 0.001, 2.4)); - wSlope = Gtk::manage(new Adjuster(M("TP_ICM_WORKING_TRC_SLOPE"), 0., 150., 0.01, 12.92310)); -// wProfVBox->pack_start(*wGamma, Gtk::PACK_SHRINK); -// wGamma->show(); + wGamma = Gtk::manage(new Adjuster(M("TP_ICM_WORKING_TRC_GAMMA"), 0.40, 15.0, 0.001, 2.222)); + wSlope = Gtk::manage(new Adjuster(M("TP_ICM_WORKING_TRC_SLOPE"), 0., 300., 0.01, 4.5)); + trcProfVBox->pack_start(*wGamma, Gtk::PACK_SHRINK); + wGamma->show(); -// wProfVBox->pack_start(*wSlope, Gtk::PACK_SHRINK); -// wSlope->show(); + trcProfVBox->pack_start(*wSlope, Gtk::PACK_SHRINK); + wSlope->show(); + willuBox = Gtk::manage(new Gtk::Box()); + willulab = Gtk::manage(new Gtk::Label(M("TP_ICM_WORKING_ILLU") + ":")); + + willuBox->pack_start(*willulab, Gtk::PACK_SHRINK); + will = Gtk::manage(new MyComboBoxText()); + willuBox->pack_start(*will, Gtk::PACK_EXPAND_WIDGET); + trcProfVBox->pack_start(*willuBox, Gtk::PACK_EXPAND_WIDGET); + will->append(M("TP_ICM_WORKING_ILLU_NONE")); + will->append(M("TP_ICM_WORKING_ILLU_D41")); + will->append(M("TP_ICM_WORKING_ILLU_D50")); + will->append(M("TP_ICM_WORKING_ILLU_D55")); + will->append(M("TP_ICM_WORKING_ILLU_D60")); + will->append(M("TP_ICM_WORKING_ILLU_D65")); + will->append(M("TP_ICM_WORKING_ILLU_D80")); + will->append(M("TP_ICM_WORKING_ILLU_D120")); + will->append(M("TP_ICM_WORKING_ILLU_STDA")); + will->append(M("TP_ICM_WORKING_ILLU_2000")); + will->append(M("TP_ICM_WORKING_ILLU_1500")); + will->set_active(0); + will->set_tooltip_text(M("TP_ICM_ILLUMPRIM_TOOLTIP")); + + + wprimBox = Gtk::manage(new Gtk::Box()); + wprimlab = Gtk::manage(new Gtk::Label(M("TP_ICM_WORKING_PRIM") + ":")); + + wprimBox->pack_start(*wprimlab, Gtk::PACK_SHRINK); + wprim = Gtk::manage(new MyComboBoxText()); + wprimBox->pack_start(*wprim, Gtk::PACK_EXPAND_WIDGET); + fbw = Gtk::manage(new Gtk::CheckButton((M("TP_ICM_FBW")))); + fbw->set_active(true); + gamut = Gtk::manage(new Gtk::CheckButton((M("TP_ICM_GAMUT")))); + gamut->set_active(false); + + trcProfVBox->pack_start(*wprimBox, Gtk::PACK_EXPAND_WIDGET); + trcProfVBox->pack_start(*fbw, Gtk::PACK_EXPAND_WIDGET); + trcProfVBox->pack_start(*gamut, Gtk::PACK_EXPAND_WIDGET); + + neutral = Gtk::manage (new Gtk::Button (M ("TP_ICM_NEUTRAL"))); + setExpandAlignProperties (neutral, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START); + RTImage *resetImg = Gtk::manage (new RTImage ("undo-small.png", "redo-small.png")); + setExpandAlignProperties (resetImg, false, false, Gtk::ALIGN_CENTER, Gtk::ALIGN_CENTER); + neutral->set_image (*resetImg); + neutralconn = neutral->signal_pressed().connect ( sigc::mem_fun (*this, &ICMPanel::neutral_pressed) ); + neutral->show(); + + trcProfVBox->pack_start (*neutral); + + + wprim->append(M("TP_ICM_WORKING_PRIM_NONE")); + wprim->append(M("TP_ICM_WORKING_PRIM_SRGB")); + wprim->append(M("TP_ICM_WORKING_PRIM_ADOB")); + wprim->append(M("TP_ICM_WORKING_PRIM_PROP")); + wprim->append(M("TP_ICM_WORKING_PRIM_REC")); + wprim->append(M("TP_ICM_WORKING_PRIM_ACE")); + wprim->append(M("TP_ICM_WORKING_PRIM_WID")); + wprim->append(M("TP_ICM_WORKING_PRIM_AC0")); + wprim->append(M("TP_ICM_WORKING_PRIM_BRU")); + wprim->append(M("TP_ICM_WORKING_PRIM_BET")); + wprim->append(M("TP_ICM_WORKING_PRIM_BST")); + wprim->append(M("TP_ICM_WORKING_PRIM_CUS")); + wprim->append(M("TP_ICM_WORKING_PRIM_CUSGR")); + wprim->set_active(0); + + wprim->set_tooltip_text(M("TP_ICM_PRIMILLUM_TOOLTIP")); + + + redx = Gtk::manage(new Adjuster(M("TC_PRIM_REDX"), 0.41, 1.0, 0.0001, 0.7347)); + setExpandAlignProperties(redx, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); + redy = Gtk::manage(new Adjuster(M("TC_PRIM_REDY"), 0.0, 0.70, 0.0001, 0.2653)); + setExpandAlignProperties(redy, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); + grex = Gtk::manage(new Adjuster(M("TC_PRIM_GREX"), -0.1, 0.4, 0.0001, 0.1596)); + setExpandAlignProperties(grex, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); + grey = Gtk::manage(new Adjuster(M("TC_PRIM_GREY"), 0.50, 1.0, 0.0001, 0.8404)); + setExpandAlignProperties(grey, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); + blux = Gtk::manage(new Adjuster(M("TC_PRIM_BLUX"), -0.1, 0.4, 0.0001, 0.0366)); + setExpandAlignProperties(blux, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); + bluy = Gtk::manage(new Adjuster(M("TC_PRIM_BLUY"), -0.1, 0.49, 0.0001, 0.0001)); + setExpandAlignProperties(bluy, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); + + redx->set_tooltip_text(M("TP_ICM_PRIMRED_TOOLTIP")); + grex->set_tooltip_text(M("TP_ICM_PRIMGRE_TOOLTIP")); + blux->set_tooltip_text(M("TP_ICM_PRIMBLU_TOOLTIP")); + + redFrame = Gtk::manage(new Gtk::Frame(M("TP_ICM_REDFRAME"))); + redFrame->set_label_align(0.025, 0.5); + redFrame->set_tooltip_text(M("TP_ICM_WORKING_PRIMFRAME_TOOLTIP")); + + Gtk::Box *redVBox = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL)); + primCoordGrid = Gtk::manage(new Gtk::Grid()); + primCoordGrid->set_column_homogeneous(true); + primCoordGrid->attach(*redx, 0, 0, 1, 1); + primCoordGrid->attach_next_to(*redy, *redx, Gtk::PositionType::POS_RIGHT, 1, 1); + primCoordGrid->attach_next_to(*grex, *redx, Gtk::PositionType::POS_BOTTOM, 1, 1); + primCoordGrid->attach_next_to(*grey, *grex, Gtk::PositionType::POS_RIGHT, 1, 1); + primCoordGrid->attach_next_to(*blux, *grex, Gtk::PositionType::POS_BOTTOM, 1, 1); + primCoordGrid->attach_next_to(*bluy, *blux, Gtk::PositionType::POS_RIGHT, 1, 1); + redVBox->pack_start(*primCoordGrid, Gtk::PACK_EXPAND_WIDGET); + + Gtk::Separator* const separator1 = Gtk::manage(new Gtk::Separator(Gtk::ORIENTATION_VERTICAL)); + Gtk::Separator* const separator2 = Gtk::manage(new Gtk::Separator(Gtk::ORIENTATION_VERTICAL)); + + preser = Gtk::manage(new Adjuster(M("TP_ICM_WORKING_PRESER"), 0., 100., 0.5, 0.)); + preser->setAdjusterListener(this); + + preBox = Gtk::manage(new Gtk::Box()); + preBox->pack_start(*preser, Gtk::PACK_EXPAND_WIDGET); + redVBox->pack_start(*separator1, Gtk::PACK_SHRINK); + redVBox->pack_start(*preBox, Gtk::PACK_EXPAND_WIDGET); + redVBox->pack_start(*separator2, Gtk::PACK_SHRINK); + + cielab = Gtk::manage(new Gtk::Label(M("TP_ICM_WORKING_CIEDIAG") + ":")); + + redVBox->pack_start(*cielab, Gtk::PACK_SHRINK); + + redVBox->pack_start(*labgridcie, Gtk::PACK_EXPAND_WIDGET, 4); + + redFrame->add(*redVBox); wGamma->setAdjusterListener(this); + wSlope->setLogScale(16, 0); wSlope->setAdjusterListener(this); + redx->setAdjusterListener(this); + redy->setAdjusterListener(this); + grex->setAdjusterListener(this); + grey->setAdjusterListener(this); + blux->setAdjusterListener(this); + bluy->setAdjusterListener(this); wGamma->setDelay(std::max(options.adjusterMinDelay, options.adjusterMaxDelay)); wSlope->setDelay(std::max(options.adjusterMinDelay, options.adjusterMaxDelay)); - wFrame->add(*wProfVBox); + // Rendering intent + riaHBox = Gtk::manage(new Gtk::Box()); + Gtk::Label* abIntentLbl = Gtk::manage(new Gtk::Label(M("TP_ICM_PROFILEINTENT"))); + riaHBox->pack_start(*abIntentLbl, Gtk::PACK_SHRINK); + aRendIntent.reset(new PopUpButton()); + aRendIntent->addEntry("intent-perceptual.png", M("PREFERENCES_INTENT_PERCEPTUAL")); + aRendIntent->addEntry("intent-relative.png", M("PREFERENCES_INTENT_RELATIVE")); + aRendIntent->addEntry("intent-saturation.png", M("PREFERENCES_INTENT_SATURATION")); + aRendIntent->addEntry("intent-absolute.png", M("PREFERENCES_INTENT_ABSOLUTE")); + aRendIntent->setSelected(1); + aRendIntent->show(); + riaHBox->pack_start(*aRendIntent->buttonGroup, Gtk::PACK_EXPAND_PADDING); + + trcFrame->add(*trcProfVBox); pack_start(*wFrame, Gtk::PACK_EXPAND_WIDGET); + pack_start(*trcFrame, Gtk::PACK_EXPAND_WIDGET); + pack_start(*redFrame, Gtk::PACK_EXPAND_WIDGET); // ---------------------------- Output profile @@ -229,6 +391,7 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iuncha Gtk::Frame *oFrame = Gtk::manage(new Gtk::Frame(M("TP_ICM_OUTPUTPROFILE"))); oFrame->set_label_align(0.025, 0.5); + oFrame->set_tooltip_text(M("TP_ICM_OUTPUTPROFILE_TOOLTIP")); Gtk::Box* oProfVBox = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL)); @@ -303,9 +466,14 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iuncha wprofnamesconn = wProfNames->signal_changed().connect(sigc::mem_fun(*this, &ICMPanel::wpChanged)); oprofnamesconn = oProfNames->signal_changed().connect(sigc::mem_fun(*this, &ICMPanel::opChanged)); orendintentconn = oRendIntent->signal_changed().connect(sigc::mem_fun(*this, &ICMPanel::oiChanged)); + arendintentconn = aRendIntent->signal_changed().connect(sigc::mem_fun(*this, &ICMPanel::aiChanged)); dcpillconn = dcpIll->signal_changed().connect(sigc::mem_fun(*this, &ICMPanel::dcpIlluminantChanged)); wtrcconn = wTRC->signal_changed().connect(sigc::mem_fun(*this, &ICMPanel::wtrcinChanged)); + willconn = will->signal_changed().connect(sigc::mem_fun(*this, &ICMPanel::willChanged)); + wprimconn = wprim->signal_changed().connect(sigc::mem_fun(*this, &ICMPanel::wprimChanged)); + fbwconn = fbw->signal_toggled().connect(sigc::mem_fun(*this, &ICMPanel::fbwChanged)); + gamutconn = gamut->signal_toggled().connect(sigc::mem_fun(*this, &ICMPanel::gamutChanged)); obpcconn = obpc->signal_toggled().connect(sigc::mem_fun(*this, &ICMPanel::oBPCChanged)); tcurveconn = ckbToneCurve->signal_toggled().connect(sigc::mem_fun(*this, &ICMPanel::toneCurveChanged)); ltableconn = ckbApplyLookTable->signal_toggled().connect(sigc::mem_fun(*this, &ICMPanel::applyLookTableChanged)); @@ -323,6 +491,39 @@ ICMPanel::ICMPanel() : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iuncha show_all(); } +void ICMPanel::neutral_pressed () +{ //find working profile and set the same destination proile + if (wProfNames->get_active_text() == "Rec2020") { + wprim->set_active(toUnderlying(ColorManagementParams::Primaries::REC2020)); + } else if (wProfNames->get_active_text() == "sRGB") { + wprim->set_active(toUnderlying(ColorManagementParams::Primaries::SRGB)); + } else if (wProfNames->get_active_text() == "Adobe RGB") { + wprim->set_active(toUnderlying(ColorManagementParams::Primaries::ADOBE_RGB)); + } else if (wProfNames->get_active_text() == "ProPhoto") { + wprim->set_active(toUnderlying(ColorManagementParams::Primaries::PRO_PHOTO)); + } else if (wProfNames->get_active_text() == "ACESp1") { + wprim->set_active(toUnderlying(ColorManagementParams::Primaries::ACES_P1)); + } else if (wProfNames->get_active_text() == "WideGamut") { + wprim->set_active(toUnderlying(ColorManagementParams::Primaries::WIDE_GAMUT)); + } else if (wProfNames->get_active_text() == "ACESp0") { + wprim->set_active(toUnderlying(ColorManagementParams::Primaries::ACES_P0)); + } else if (wProfNames->get_active_text() == "BruceRGB") { + wprim->set_active(toUnderlying(ColorManagementParams::Primaries::BRUCE_RGB)); + } else if (wProfNames->get_active_text() == "Beta RGB") { + wprim->set_active(toUnderlying(ColorManagementParams::Primaries::BETA_RGB)); + } else if (wProfNames->get_active_text() == "BestRGB") { + wprim->set_active(toUnderlying(ColorManagementParams::Primaries::BEST_RGB)); + } + const ColorManagementParams defPar; + wGamma->setValue(defPar.workingTRCGamma);//2.4 + wSlope->setValue(defPar.workingTRCSlope);//12.92 + preser->setValue(defPar.preser); + fbw->set_active(defPar.fbw); + gamut->set_active(defPar.gamut); + wTRC->set_active(toUnderlying(ColorManagementParams::WorkingTrc::NONE));//reset to none + will->set_active(toUnderlying(ColorManagementParams::Illuminant::DEFAULT));//reset to default - after wprim +} + void ICMPanel::updateRenderingIntent(const Glib::ustring &profile) { const uint8_t supportedIntents = rtengine::ICCStore::getInstance()->getOutputIntents(profile); @@ -339,6 +540,13 @@ void ICMPanel::updateRenderingIntent(const Glib::ustring &profile) oRendIntent->setItemSensitivity(1, supportsRelative); oRendIntent->setItemSensitivity(2, supportsSaturation); oRendIntent->setItemSensitivity(3, supportsAbsolute); + + aRendIntent->set_sensitive(true); + aRendIntent->setItemSensitivity(0, supportsPerceptual); + aRendIntent->setItemSensitivity(1, supportsRelative); + aRendIntent->setItemSensitivity(2, supportsSaturation); + aRendIntent->setItemSensitivity(3, supportsAbsolute); + } else { oRendIntent->setItemSensitivity(0, true); oRendIntent->setItemSensitivity(1, true); @@ -346,9 +554,91 @@ void ICMPanel::updateRenderingIntent(const Glib::ustring &profile) oRendIntent->setItemSensitivity(3, true); oRendIntent->set_sensitive(false); oRendIntent->setSelected(1); + + aRendIntent->setItemSensitivity(0, true); + aRendIntent->setItemSensitivity(1, true); + aRendIntent->setItemSensitivity(2, true); + aRendIntent->setItemSensitivity(3, true); + aRendIntent->set_sensitive(false); + aRendIntent->setSelected(1); + } } +ICMPanel::~ICMPanel() +{ + idle_register.destroy(); +} + +void ICMPanel::primChanged (float rx, float ry, float bx, float by, float gx, float gy) +{ //update sliders R G B Ciexy + nextrx = rx; + nextry = ry; + nextbx = bx; + nextby = by; + nextgx = gx; + nextgy = gy; + + idle_register.add( + [this]() -> bool + { + disableListener(); + redx->setValue(nextrx); + redy->setValue(nextry); + blux->setValue(nextbx); + bluy->setValue(nextby); + grex->setValue(nextgx); + grey->setValue(nextgy); + + enableListener(); + return false; + } + ); +} + +void ICMPanel::iprimChanged (float r_x, float r_y, float b_x, float b_y, float g_x, float g_y, float w_x, float w_y) +{//update CIE xy graph + nextrx = r_x; + nextry = r_y; + nextbx = b_x; + nextby = b_y; + nextgx = g_x; + nextgy = g_y; + nextwx = w_x; + nextwy = w_y; + //convert xy datas in datas for labgrid areas + nextrx = 1.81818f * (nextrx + 0.1f) - 1.f; + nextry = 1.81818f * (nextry + 0.1f) - 1.f; + nextbx = 1.81818f * (nextbx + 0.1f) - 1.f; + nextby = 1.81818f * (nextby + 0.1f) - 1.f; + nextgx = 1.81818f * (nextgx + 0.1f) - 1.f; + nextgy = 1.81818f * (nextgy + 0.1f) - 1.f; + nextwx = 1.81818f * (nextwx + 0.1f) - 1.f; + nextwy = 1.81818f * (nextwy + 0.1f) - 1.f; + + idle_register.add( + [this]() -> bool + { + disableListener(); + labgridcie->setParams(nextrx, nextry, nextbx, nextby, nextgx, nextgy, nextwx, nextwy, false); + enableListener(); + return false; + } + ); +} + + +void ICMPanel::setEditProvider(EditDataProvider *provider) +{ + //in case of +} + +void ICMPanel::setListener(ToolPanelListener *tpl) +{//enable listener Toolpanel and Labgridcie + ToolPanel::setListener(tpl); + labgridcie->setListener(tpl); +} + void ICMPanel::updateDCP(int dcpIlluminant, Glib::ustring dcp_name) { ConnectionBlocker dcpillconn_(dcpillconn); @@ -481,6 +771,8 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited) disableListener(); ConnectionBlocker obpcconn_(obpcconn); + ConnectionBlocker fbwconn_(fbwconn); + ConnectionBlocker gamutconn_(gamutconn); ConnectionBlocker ipc_(ipc); ConnectionBlocker tcurveconn_(tcurveconn); ConnectionBlocker ltableconn_(ltableconn); @@ -489,10 +781,14 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited) ConnectionBlocker wprofnamesconn_(wprofnamesconn); ConnectionBlocker oprofnamesconn_(oprofnamesconn); ConnectionBlocker orendintentconn_(orendintentconn); + ConnectionBlocker arendintentconn_(arendintentconn); ConnectionBlocker dcpillconn_(dcpillconn); + ConnectionBlocker wtrcconn_(wtrcconn); + ConnectionBlocker willconn_(willconn); + ConnectionBlocker wprimconn_(wprimconn); - if (pp->icm.inputProfile.substr(0, 5) != "file:" && !ipDialog->get_filename().empty()) { - ipDialog->set_filename(pp->icm.inputProfile); + if (pp->icm.inputProfile.substr(0, 5) != "file:") { + ipDialog->set_filename(" "); } if (pp->icm.inputProfile == "(none)") { @@ -525,13 +821,15 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited) wProfNames->set_active_text(pp->icm.workingProfile); - if (pp->icm.workingTRC == "none") { - wTRC->set_active(0); - } else if (pp->icm.workingTRC == "Custom") { - wTRC->set_active(1); - } + wTRC->set_active(rtengine::toUnderlying(pp->icm.workingTRC)); + + will->set_active(rtengine::toUnderlying(pp->icm.will)); + + wprim->set_active(rtengine::toUnderlying(pp->icm.wprim)); wtrcinChanged(); + willChanged(); + wprimChanged(); if (pp->icm.outputProfile == ColorManagementParams::NoICMString) { oProfNames->set_active_text(M("TP_ICM_NOICM")); @@ -544,8 +842,11 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited) } oRendIntent->setSelected(pp->icm.outputIntent); + aRendIntent->setSelected(pp->icm.aRendIntent); obpc->set_active(pp->icm.outputBPC); + fbw->set_active(pp->icm.fbw); + gamut->set_active(pp->icm.gamut); ckbToneCurve->set_active(pp->icm.toneCurve); lastToneCurve = pp->icm.toneCurve; ckbApplyLookTable->set_active(pp->icm.applyLookTable); @@ -557,10 +858,20 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited) wGamma->setValue(pp->icm.workingTRCGamma); wSlope->setValue(pp->icm.workingTRCSlope); + redx->setValue(pp->icm.redx); + redy->setValue(pp->icm.redy); + grex->setValue(pp->icm.grex); + grey->setValue(pp->icm.grey); + blux->setValue(pp->icm.blux); + bluy->setValue(pp->icm.bluy); + preser->setValue(pp->icm.preser); + labgridcie->setParams(pp->icm.labgridcieALow, pp->icm.labgridcieBLow, pp->icm.labgridcieAHigh, pp->icm.labgridcieBHigh, pp->icm.labgridcieGx, pp->icm.labgridcieGy, pp->icm.labgridcieWx, pp->icm.labgridcieWy, false); if (pedited) { iunchanged->set_active(!pedited->icm.inputProfile); obpc->set_inconsistent(!pedited->icm.outputBPC); + fbw->set_inconsistent(!pedited->icm.fbw); + gamut->set_inconsistent(!pedited->icm.gamut); ckbToneCurve->set_inconsistent(!pedited->icm.toneCurve); ckbApplyLookTable->set_inconsistent(!pedited->icm.applyLookTable); ckbApplyBaselineExposureOffset->set_inconsistent(!pedited->icm.applyBaselineExposureOffset); @@ -578,6 +889,10 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited) oRendIntent->setSelected(4); } + if (!pedited->icm.aRendIntent) { + aRendIntent->setSelected(4); + } + if (!pedited->icm.dcpIlluminant) { dcpIll->set_active_text(M("GENERAL_UNCHANGED")); } @@ -586,11 +901,207 @@ void ICMPanel::read(const ProcParams* pp, const ParamsEdited* pedited) wTRC->set_active_text(M("GENERAL_UNCHANGED")); } + if (!pedited->icm.will) { + will->set_active_text(M("GENERAL_UNCHANGED")); + } + + if (!pedited->icm.wprim) { + wprim->set_active_text(M("GENERAL_UNCHANGED")); + } + labgridcie->setEdited(pedited->icm.labgridcieALow || pedited->icm.labgridcieBLow || pedited->icm.labgridcieAHigh || pedited->icm.labgridcieBHigh || pedited->icm.labgridcieGx || pedited->icm.labgridcieGy || pedited->icm.labgridcieWx || pedited->icm.labgridcieWy); + wGamma->setEditedState(pedited->icm.workingTRCGamma ? Edited : UnEdited); wSlope->setEditedState(pedited->icm.workingTRCSlope ? Edited : UnEdited); + redx->setEditedState(pedited->icm.redx ? Edited : UnEdited); + redy->setEditedState(pedited->icm.redy ? Edited : UnEdited); + grex->setEditedState(pedited->icm.grex ? Edited : UnEdited); + grey->setEditedState(pedited->icm.grey ? Edited : UnEdited); + blux->setEditedState(pedited->icm.blux ? Edited : UnEdited); + bluy->setEditedState(pedited->icm.bluy ? Edited : UnEdited); + preser->setEditedState(pedited->icm.preser ? Edited : UnEdited); } + switch (ColorManagementParams::WorkingTrc(wTRC->get_active_row_number())) { + case ColorManagementParams::WorkingTrc::NONE: { + wSlope->set_sensitive(false); + wGamma->set_sensitive(false); + will->set_sensitive(false); + willulab->set_sensitive(false); + wprim->set_sensitive(false); + fbw->set_sensitive(false); + gamut->set_sensitive(false); + wprimlab->set_sensitive(false); + riaHBox->set_sensitive(false); + redFrame->hide(); + break; + } + + case ColorManagementParams::WorkingTrc::CUSTOM: { + will->set_sensitive(false); + willulab->set_sensitive(true); + wprim->set_sensitive(true); + fbw->set_sensitive(true); + gamut->set_sensitive(true); + wprimlab->set_sensitive(true); + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) { + redFrame->hide(); + } else { + redFrame->show(); + if ( + ColorManagementParams::Primaries(wprim->get_active_row_number()) != ColorManagementParams::Primaries::CUSTOM + && ColorManagementParams::Primaries(wprim->get_active_row_number()) != ColorManagementParams::Primaries::CUSTOM_GRID + ) { + will->set_sensitive(false); + primCoordGrid->set_sensitive(false); + labgridcie->set_sensitive(false); + + } else { + will->set_sensitive(false); + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::CUSTOM) { + will->set_sensitive(true); + } + primCoordGrid->set_sensitive(true); + labgridcie->set_sensitive(true); + } + + } + riaHBox->set_sensitive(true); + + if (pp->icm.workingTRCGamma <= 1.) { + wGamma->set_sensitive(true); + wSlope->set_sensitive(false); + } else { + wGamma->set_sensitive(true); + wSlope->set_sensitive(true); + } + break; + } + + case ColorManagementParams::WorkingTrc::BT709: + wGamma->setValue(2.222); + wSlope->setValue(4.5); + will->set_sensitive(true); + willulab->set_sensitive(true); + wprim->set_sensitive(true); + fbw->set_sensitive(true); + gamut->set_sensitive(true); + wprimlab->set_sensitive(true); + wGamma->set_sensitive(false); + wSlope->set_sensitive(false); + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) { + redFrame->hide(); + } else { + redFrame->show(); + } + riaHBox->set_sensitive(true); + break; + case ColorManagementParams::WorkingTrc::SRGB: + wGamma->setValue(2.4); + wSlope->setValue(12.92); + will->set_sensitive(true); + willulab->set_sensitive(true); + wprim->set_sensitive(true); + fbw->set_sensitive(true); + gamut->set_sensitive(true); + wprimlab->set_sensitive(true); + wGamma->set_sensitive(false); + wSlope->set_sensitive(false); + riaHBox->set_sensitive(true); + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) { + redFrame->hide(); + } else { + redFrame->show(); + } + break; + case ColorManagementParams::WorkingTrc::GAMMA_2_2: + wGamma->setValue(2.2); + wSlope->setValue(0.); + will->set_sensitive(true); + willulab->set_sensitive(true); + wprim->set_sensitive(true); + fbw->set_sensitive(true); + gamut->set_sensitive(true); + wprimlab->set_sensitive(true); + redFrame->show(); + wGamma->set_sensitive(false); + wSlope->set_sensitive(false); + riaHBox->set_sensitive(true); + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) { + redFrame->hide(); + } else { + redFrame->show(); + } + break; + case ColorManagementParams::WorkingTrc::GAMMA_1_8: + wGamma->setValue(1.8); + wSlope->setValue(0.); + will->set_sensitive(true); + willulab->set_sensitive(true); + wprim->set_sensitive(true); + fbw->set_sensitive(true); + gamut->set_sensitive(true); + wprimlab->set_sensitive(true); + riaHBox->set_sensitive(true); + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) { + redFrame->hide(); + } else { + redFrame->show(); + } + wGamma->set_sensitive(false); + wSlope->set_sensitive(false); + break; + case ColorManagementParams::WorkingTrc::LINEAR: + wGamma->setValue(1.); + wSlope->setValue(1.); + will->set_sensitive(true); + willulab->set_sensitive(true); + wprim->set_sensitive(true); + fbw->set_sensitive(true); + gamut->set_sensitive(true); + wprimlab->set_sensitive(true); + wGamma->set_sensitive(false); + wSlope->set_sensitive(false); + riaHBox->set_sensitive(true); + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) { + redFrame->hide(); + } else { + redFrame->show(); + } + break; + } + + switch (ColorManagementParams::Primaries(wprim->get_active_row_number())) { + case ColorManagementParams::Primaries::DEFAULT: + case ColorManagementParams::Primaries::SRGB: + case ColorManagementParams::Primaries::ADOBE_RGB: + case ColorManagementParams::Primaries::PRO_PHOTO: + case ColorManagementParams::Primaries::REC2020: + case ColorManagementParams::Primaries::ACES_P1: + case ColorManagementParams::Primaries::WIDE_GAMUT: + case ColorManagementParams::Primaries::ACES_P0: + case ColorManagementParams::Primaries::BRUCE_RGB: + case ColorManagementParams::Primaries::BETA_RGB: + case ColorManagementParams::Primaries::BEST_RGB: { + labgridcie->set_sensitive(false); + will->set_sensitive(false); + break; + } + + case ColorManagementParams::Primaries::CUSTOM: { + will->set_sensitive(true); + labgridcie->set_sensitive(false); + break; + } + + case ColorManagementParams::Primaries::CUSTOM_GRID: { + labgridcie->set_sensitive(true); + primCoordGrid->set_sensitive(false); + will->set_sensitive(false); + break; + } + } + enableListener(); } @@ -615,7 +1126,7 @@ void ICMPanel::write(ProcParams* pp, ParamsEdited* pedited) pp->icm.workingProfile = wProfNames->get_active_text(); pp->icm.dcpIlluminant = rtengine::max(dcpIll->get_active_row_number(), 0); - pp->icm.workingTRC = wTRC->get_active_text(); + labgridcie->getParams(pp->icm.labgridcieALow, pp->icm.labgridcieBLow, pp->icm.labgridcieAHigh, pp->icm.labgridcieBHigh, pp->icm.labgridcieGx, pp->icm.labgridcieGy, pp->icm.labgridcieWx, pp->icm.labgridcieWy); if (oProfNames->get_active_text() == M("TP_ICM_NOICM")) { pp->icm.outputProfile = ColorManagementParams::NoICMString; @@ -631,27 +1142,45 @@ void ICMPanel::write(ProcParams* pp, ParamsEdited* pedited) pp->icm.outputIntent = rtengine::RI_RELATIVE; } - if (wTRC->get_active_row_number() == 0) { - pp->icm.workingTRC = "none"; - } else if (wTRC->get_active_row_number() == 1) { - pp->icm.workingTRC = "Custom"; + int aintentVal = aRendIntent->getSelected(); + + if (aintentVal >= 0 && aintentVal < RI__COUNT) { + pp->icm.aRendIntent = static_cast(aintentVal); + } else { + pp->icm.aRendIntent = rtengine::RI_RELATIVE; } + pp->icm.workingTRC = ColorManagementParams::WorkingTrc(wTRC->get_active_row_number()); + pp->icm.will = ColorManagementParams::Illuminant(will->get_active_row_number()); + pp->icm.wprim = ColorManagementParams::Primaries(wprim->get_active_row_number()); + pp->icm.toneCurve = ckbToneCurve->get_active(); pp->icm.applyLookTable = ckbApplyLookTable->get_active(); pp->icm.applyBaselineExposureOffset = ckbApplyBaselineExposureOffset->get_active(); pp->icm.applyHueSatMap = ckbApplyHueSatMap->get_active(); pp->icm.outputBPC = obpc->get_active(); - pp->icm.workingTRCGamma = (double) wGamma->getValue(); - pp->icm.workingTRCSlope = (double) wSlope->getValue(); + pp->icm.fbw = fbw->get_active(); + pp->icm.gamut = gamut->get_active(); + pp->icm.workingTRCGamma = wGamma->getValue(); + pp->icm.workingTRCSlope = wSlope->getValue(); + pp->icm.redx = redx->getValue(); + pp->icm.redy = redy->getValue(); + pp->icm.grex = grex->getValue(); + pp->icm.grey = grey->getValue(); + pp->icm.blux = blux->getValue(); + pp->icm.bluy = bluy->getValue(); pp->toneCurve.fromHistMatching = false; + pp->icm.preser = preser->getValue(); if (pedited) { pedited->icm.inputProfile = !iunchanged->get_active(); pedited->icm.workingProfile = wProfNames->get_active_text() != M("GENERAL_UNCHANGED"); pedited->icm.outputProfile = oProfNames->get_active_text() != M("GENERAL_UNCHANGED"); pedited->icm.outputIntent = oRendIntent->getSelected() < 4; + pedited->icm.aRendIntent = aRendIntent->getSelected() < 4; pedited->icm.outputBPC = !obpc->get_inconsistent(); + pedited->icm.fbw = !fbw->get_inconsistent(); + pedited->icm.gamut = !gamut->get_inconsistent(); pedited->icm.dcpIlluminant = dcpIll->get_active_text() != M("GENERAL_UNCHANGED"); pedited->icm.toneCurve = !ckbToneCurve->get_inconsistent(); pedited->icm.applyLookTable = !ckbApplyLookTable->get_inconsistent(); @@ -660,21 +1189,50 @@ void ICMPanel::write(ProcParams* pp, ParamsEdited* pedited) pedited->icm.workingTRCGamma = wGamma->getEditedState(); pedited->icm.workingTRCSlope = wSlope->getEditedState(); pedited->icm.workingTRC = wTRC->get_active_text() != M("GENERAL_UNCHANGED"); - } + pedited->icm.will = will->get_active_text() != M("GENERAL_UNCHANGED"); + pedited->icm.wprim = wprim->get_active_text() != M("GENERAL_UNCHANGED"); + pedited->icm.redx = redx->getEditedState(); + pedited->icm.redy = redy->getEditedState(); + pedited->icm.labgridcieALow = pedited->icm.labgridcieBLow = pedited->icm.labgridcieAHigh = pedited->icm.labgridcieBHigh = pedited->icm.labgridcieGx = pedited->icm.labgridcieGy = pedited->icm.labgridcieWx = pedited->icm.labgridcieWy = labgridcie->getEdited(); + } } void ICMPanel::setDefaults(const ProcParams* defParams, const ParamsEdited* pedited) { wGamma->setDefault(defParams->icm.workingTRCGamma); wSlope->setDefault(defParams->icm.workingTRCSlope); + redx->setDefault(defParams->icm.redx); + redy->setDefault(defParams->icm.redy); + grex->setDefault(defParams->icm.grex); + grey->setDefault(defParams->icm.grey); + blux->setDefault(defParams->icm.blux); + bluy->setDefault(defParams->icm.bluy); + preser->setDefault(defParams->icm.preser); + labgridcie->setDefault(defParams->icm.labgridcieALow, defParams->icm.labgridcieBLow , defParams->icm.labgridcieAHigh, defParams->icm.labgridcieBHigh, defParams->icm.labgridcieGx, defParams->icm.labgridcieGy, defParams->icm.labgridcieWx, defParams->icm.labgridcieWy); if (pedited) { wGamma->setDefaultEditedState(pedited->icm.workingTRCGamma ? Edited : UnEdited); wSlope->setDefaultEditedState(pedited->icm.workingTRCSlope ? Edited : UnEdited); + redx->setDefaultEditedState(pedited->icm.redx ? Edited : UnEdited); + redy->setDefaultEditedState(pedited->icm.redy ? Edited : UnEdited); + grex->setDefaultEditedState(pedited->icm.grex ? Edited : UnEdited); + grey->setDefaultEditedState(pedited->icm.grey ? Edited : UnEdited); + blux->setDefaultEditedState(pedited->icm.blux ? Edited : UnEdited); + bluy->setDefaultEditedState(pedited->icm.bluy ? Edited : UnEdited); + labgridcie->setEdited((pedited->icm.labgridcieALow || pedited->icm.labgridcieBLow || pedited->icm.labgridcieAHigh || pedited->icm.labgridcieBHigh || pedited->icm.labgridcieGx || pedited->icm.labgridcieGy || pedited->icm.labgridcieWx || pedited->icm.labgridcieWy) ? Edited : UnEdited); + preser->setDefaultEditedState(pedited->icm.preser ? Edited : UnEdited); } else { wGamma->setDefaultEditedState(Irrelevant); wSlope->setDefaultEditedState(Irrelevant); + redx->setDefaultEditedState(Irrelevant); + redy->setDefaultEditedState(Irrelevant); + grex->setDefaultEditedState(Irrelevant); + grey->setDefaultEditedState(Irrelevant); + blux->setDefaultEditedState(Irrelevant); + bluy->setDefaultEditedState(Irrelevant); + preser->setDefaultEditedState(Irrelevant); + labgridcie->setEdited(Edited); } } @@ -685,9 +1243,28 @@ void ICMPanel::adjusterChanged(Adjuster* a, double newval) Glib::ustring costr2 = Glib::ustring::format(std::setw(3), std::fixed, std::setprecision(2), newval); if (a == wGamma) { + if (wGamma->getValue() <= 1.) { + wSlope->set_sensitive(false); + } else { + wSlope->set_sensitive(true); + } listener->panelChanged(EvICMgamm, costr2); } else if (a == wSlope) { listener->panelChanged(EvICMslop, costr2); + } else if (a == redx) { + listener->panelChanged(EvICMredx, costr2); + } else if (a == redy) { + listener->panelChanged(EvICMredy, costr2); + } else if (a == grex) { + listener->panelChanged(EvICMgrex, costr2); + } else if (a == grey) { + listener->panelChanged(EvICMgrey, costr2); + } else if (a == blux) { + listener->panelChanged(EvICMblux, costr2); + } else if (a == bluy) { + listener->panelChanged(EvICMbluy, costr2); + } else if (a == preser) { + listener->panelChanged(EvICMpreser, costr2); } } @@ -702,13 +1279,223 @@ void ICMPanel::wpChanged() void ICMPanel::wtrcinChanged() { - if (wTRC->get_active_row_number() == 0) { - wGamma->set_sensitive(false); - wSlope->set_sensitive(false); + switch (ColorManagementParams::WorkingTrc(wTRC->get_active_row_number())) { + case ColorManagementParams::WorkingTrc::NONE: { + wGamma->set_sensitive(false); + wSlope->set_sensitive(false); + will->set_sensitive(false); + willulab->set_sensitive(false); + wprim->set_sensitive(false); + fbw->set_sensitive(false); + gamut->set_sensitive(false); + wprimlab->set_sensitive(false); + redFrame->hide(); + riaHBox->set_sensitive(false); + break; + } - } else { - wGamma->set_sensitive(true); - wSlope->set_sensitive(true); + case ColorManagementParams::WorkingTrc::CUSTOM: { + will->set_sensitive(false); + wprim->set_sensitive(true); + fbw->set_sensitive(true); + gamut->set_sensitive(true); + wprimlab->set_sensitive(true); + willulab->set_sensitive(true); + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) { + redFrame->hide(); + } else { + redFrame->show(); + if ( + ColorManagementParams::Primaries(wprim->get_active_row_number()) != ColorManagementParams::Primaries::CUSTOM + && ColorManagementParams::Primaries(wprim->get_active_row_number()) != ColorManagementParams::Primaries::CUSTOM_GRID + ) { + primCoordGrid->set_sensitive(false); + } else { + primCoordGrid->set_sensitive(true); + } + } + riaHBox->set_sensitive(true); + if (wGamma->getValue() <= 1.) { + wGamma->set_sensitive(true); + wSlope->set_sensitive(false); + } else { + wGamma->set_sensitive(true); + wSlope->set_sensitive(true); + } + break; + } + + case ColorManagementParams::WorkingTrc::BT709: { + wGamma->setValue(2.222); + wSlope->setValue(4.5); + will->set_sensitive(false); + willulab->set_sensitive(true); + wprim->set_sensitive(true); + fbw->set_sensitive(true); + gamut->set_sensitive(true); + wprimlab->set_sensitive(true); + wGamma->set_sensitive(false); + wSlope->set_sensitive(false); + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) { + redFrame->hide(); + } else { + redFrame->show(); + if ( + ColorManagementParams::Primaries(wprim->get_active_row_number()) != ColorManagementParams::Primaries::CUSTOM + && ColorManagementParams::Primaries(wprim->get_active_row_number()) != ColorManagementParams::Primaries::CUSTOM_GRID + ) { + primCoordGrid->set_sensitive(false); + } + } + riaHBox->set_sensitive(true); + break; + } + + case ColorManagementParams::WorkingTrc::SRGB: { + wGamma->setValue(2.4); + wSlope->setValue(12.92); + will->set_sensitive(false); + willulab->set_sensitive(true); + wprim->set_sensitive(true); + fbw->set_sensitive(true); + gamut->set_sensitive(true); + wGamma->set_sensitive(false); + wSlope->set_sensitive(false); + riaHBox->set_sensitive(true); + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) { + redFrame->hide(); + } else { + redFrame->show(); + if ( + ColorManagementParams::Primaries(wprim->get_active_row_number()) != ColorManagementParams::Primaries::CUSTOM + && ColorManagementParams::Primaries(wprim->get_active_row_number()) != ColorManagementParams::Primaries::CUSTOM_GRID + ) { + primCoordGrid->set_sensitive(false); + } else { + primCoordGrid->set_sensitive(true); + } + } + break; + } + + case ColorManagementParams::WorkingTrc::GAMMA_2_2: { + wGamma->setValue(2.2); + wSlope->setValue(0.); + will->set_sensitive(false); + willulab->set_sensitive(true); + wprim->set_sensitive(true); + fbw->set_sensitive(true); + gamut->set_sensitive(true); + wprimlab->set_sensitive(true); + wGamma->set_sensitive(false); + wSlope->set_sensitive(false); + riaHBox->set_sensitive(true); + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) { + redFrame->hide(); + } else { + redFrame->show(); + if ( + ColorManagementParams::Primaries(wprim->get_active_row_number()) != ColorManagementParams::Primaries::CUSTOM + && ColorManagementParams::Primaries(wprim->get_active_row_number()) != ColorManagementParams::Primaries::CUSTOM_GRID + ) { + primCoordGrid->set_sensitive(false); + } else { + primCoordGrid->set_sensitive(true); + } + } + break; + } + + case ColorManagementParams::WorkingTrc::GAMMA_1_8: { + wGamma->setValue(1.8); + wSlope->setValue(0.); + will->set_sensitive(false); + willulab->set_sensitive(true); + wprim->set_sensitive(true); + fbw->set_sensitive(true); + gamut->set_sensitive(true); + wprimlab->set_sensitive(true); + wGamma->set_sensitive(false); + wSlope->set_sensitive(false); + riaHBox->set_sensitive(true); + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) { + redFrame->hide(); + } else { + redFrame->show(); + if ( + ColorManagementParams::Primaries(wprim->get_active_row_number()) != ColorManagementParams::Primaries::CUSTOM + && ColorManagementParams::Primaries(wprim->get_active_row_number()) != ColorManagementParams::Primaries::CUSTOM_GRID + ) { + primCoordGrid->set_sensitive(false); + } else { + primCoordGrid->set_sensitive(true); + } + } + break; + } + + case ColorManagementParams::WorkingTrc::LINEAR: { + wGamma->setValue(1.0); + wSlope->setValue(1.); + will->set_sensitive(false); + willulab->set_sensitive(true); + wprim->set_sensitive(true); + fbw->set_sensitive(true); + gamut->set_sensitive(true); + wprimlab->set_sensitive(true); + wGamma->set_sensitive(false); + wSlope->set_sensitive(false); + riaHBox->set_sensitive(true); + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) { + redFrame->hide(); + } else { + redFrame->show(); + if ( + ColorManagementParams::Primaries(wprim->get_active_row_number()) != ColorManagementParams::Primaries::CUSTOM + && ColorManagementParams::Primaries(wprim->get_active_row_number()) != ColorManagementParams::Primaries::CUSTOM_GRID + ) { + primCoordGrid->set_sensitive(false); + } else { + primCoordGrid->set_sensitive(true); + } + } + break; + } + } + wprimChanged(); + + switch (ColorManagementParams::Primaries(wprim->get_active_row_number())) { + case ColorManagementParams::Primaries::DEFAULT: + case ColorManagementParams::Primaries::SRGB: + case ColorManagementParams::Primaries::ADOBE_RGB: + case ColorManagementParams::Primaries::PRO_PHOTO: + case ColorManagementParams::Primaries::REC2020: + case ColorManagementParams::Primaries::ACES_P1: + case ColorManagementParams::Primaries::WIDE_GAMUT: + case ColorManagementParams::Primaries::ACES_P0: + case ColorManagementParams::Primaries::BRUCE_RGB: + case ColorManagementParams::Primaries::BETA_RGB: + case ColorManagementParams::Primaries::BEST_RGB: { + labgridcie->set_sensitive(false); + will->set_sensitive(false); + break; + } + + case ColorManagementParams::Primaries::CUSTOM: { + will->set_sensitive(true); + labgridcie->set_sensitive(false); + break; + } + + case ColorManagementParams::Primaries::CUSTOM_GRID: { + labgridcie->set_sensitive(true); + will->set_sensitive(false); + break; + } + } + + if (ColorManagementParams::WorkingTrc(wTRC->get_active_row_number()) == ColorManagementParams::WorkingTrc::NONE) { + redFrame->hide(); } if (listener) { @@ -716,6 +1503,280 @@ void ICMPanel::wtrcinChanged() } } +void ICMPanel::willChanged() +{ + switch (ColorManagementParams::Primaries(wprim->get_active_row_number())) { + case ColorManagementParams::Primaries::DEFAULT: + case ColorManagementParams::Primaries::SRGB: + case ColorManagementParams::Primaries::ADOBE_RGB: + case ColorManagementParams::Primaries::PRO_PHOTO: + case ColorManagementParams::Primaries::REC2020: + case ColorManagementParams::Primaries::ACES_P1: + case ColorManagementParams::Primaries::WIDE_GAMUT: + case ColorManagementParams::Primaries::ACES_P0: + case ColorManagementParams::Primaries::BRUCE_RGB: + case ColorManagementParams::Primaries::BETA_RGB: + case ColorManagementParams::Primaries::BEST_RGB: { + labgridcie->set_sensitive(false); + will->set_sensitive(false); + break; + } + + case ColorManagementParams::Primaries::CUSTOM: { + will->set_sensitive(true); + labgridcie->set_sensitive(false); + break; + } + + case ColorManagementParams::Primaries::CUSTOM_GRID: { + labgridcie->set_sensitive(true); + will->set_sensitive(false); + break; + } + } + + if (listener) { + listener->panelChanged(EvICMwillMethod, will->get_active_text()); + } +} + + + +void ICMPanel::wprimChanged() +{ + switch (ColorManagementParams::Primaries(wprim->get_active_row_number())) { + case ColorManagementParams::Primaries::DEFAULT: + case ColorManagementParams::Primaries::CUSTOM: + case ColorManagementParams::Primaries::CUSTOM_GRID: { + break; + } + + case ColorManagementParams::Primaries::SRGB: { + redx->setValue(0.64); + redy->setValue(0.33); + grex->setValue(0.30); + grey->setValue(0.60); + blux->setValue(0.15); + bluy->setValue(0.06); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D65)); + break; + } + + case ColorManagementParams::Primaries::ADOBE_RGB: { + redx->setValue(0.64); + redy->setValue(0.33); + grex->setValue(0.21); + grey->setValue(0.71); + blux->setValue(0.15); + bluy->setValue(0.06); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D65)); + break; + } + + case ColorManagementParams::Primaries::PRO_PHOTO: { + redx->setValue(0.7347); + redy->setValue(0.2653); + grex->setValue(0.1596); + grey->setValue(0.8404); + blux->setValue(0.0366); + bluy->setValue(0.0001); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D50)); + break; + } + + case ColorManagementParams::Primaries::REC2020: { + redx->setValue(0.708); + redy->setValue(0.292); + grex->setValue(0.17); + grey->setValue(0.797); + blux->setValue(0.131); + bluy->setValue(0.046); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D65)); + break; + } + + case ColorManagementParams::Primaries::ACES_P1: { + redx->setValue(0.713); + redy->setValue(0.293); + grex->setValue(0.165); + grey->setValue(0.830); + blux->setValue(0.128); + bluy->setValue(0.044); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D60)); + break; + } + + case ColorManagementParams::Primaries::WIDE_GAMUT: { + redx->setValue(0.735); + redy->setValue(0.265); + grex->setValue(0.115); + grey->setValue(0.826); + blux->setValue(0.1570); + bluy->setValue(0.018); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D50)); + break; + } + + case ColorManagementParams::Primaries::ACES_P0: { + redx->setValue(0.7347); + redy->setValue(0.2653); + grex->setValue(0.); + grey->setValue(1.0); + blux->setValue(0.0001); + bluy->setValue(-0.077); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D60)); + break; + } + + case ColorManagementParams::Primaries::BRUCE_RGB: { + redx->setValue(0.64); + redy->setValue(0.33); + grex->setValue(0.28); + grey->setValue(0.65); + blux->setValue(0.15); + bluy->setValue(0.06); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D65)); + break; + } + + case ColorManagementParams::Primaries::BETA_RGB: { + redx->setValue(0.6888); + redy->setValue(0.3112); + grex->setValue(0.1986); + grey->setValue(0.7551); + blux->setValue(0.1265); + bluy->setValue(0.0352); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D50)); + break; + } + + case ColorManagementParams::Primaries::BEST_RGB: { + redx->setValue(0.7347); + redy->setValue(0.2653); + grex->setValue(0.2150); + grey->setValue(0.7750); + blux->setValue(0.130); + bluy->setValue(0.035); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D50)); + break; + } + } + + + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::DEFAULT) { + if (wProfNames->get_active_text() == "Rec2020") { + redx->setValue(0.708); + redy->setValue(0.292); + grex->setValue(0.17); + grey->setValue(0.797); + blux->setValue(0.131); + bluy->setValue(0.046); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D65)); + } else if (wProfNames->get_active_text() == "sRGB") { + redx->setValue(0.64); + redy->setValue(0.33); + grex->setValue(0.30); + grey->setValue(0.60); + blux->setValue(0.15); + bluy->setValue(0.06); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D65)); + } else if (wProfNames->get_active_text() == "Adobe RGB") { + redx->setValue(0.64); + redy->setValue(0.33); + grex->setValue(0.21); + grey->setValue(0.71); + blux->setValue(0.15); + bluy->setValue(0.06); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D65)); + } else if (wProfNames->get_active_text() == "ProPhoto") { + redx->setValue(0.7347); + redy->setValue(0.2653); + grex->setValue(0.1596); + grey->setValue(0.8404); + blux->setValue(0.0366); + bluy->setValue(0.0001); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D50)); + } else if (wProfNames->get_active_text() == "ACESp1") { + redx->setValue(0.713); + redy->setValue(0.293); + grex->setValue(0.165); + grey->setValue(0.830); + blux->setValue(0.128); + bluy->setValue(0.044); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D60)); + } else if (wProfNames->get_active_text() == "WideGamut") { + redx->setValue(0.735); + redy->setValue(0.265); + grex->setValue(0.115); + grey->setValue(0.826); + blux->setValue(0.1570); + bluy->setValue(0.018); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D50)); + } else if (wProfNames->get_active_text() == "ACESp0") { + redx->setValue(0.7347); + redy->setValue(0.2653); + grex->setValue(0.); + grey->setValue(1.0); + blux->setValue(0.0001); + bluy->setValue(-0.077); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D60)); + } else if (wProfNames->get_active_text() == "BruceRGB") { + redx->setValue(0.64); + redy->setValue(0.33); + grex->setValue(0.28); + grey->setValue(0.65); + blux->setValue(0.15); + bluy->setValue(0.06); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D65)); + } else if (wProfNames->get_active_text() == "Beta RGB") { + redx->setValue(0.6888); + redy->setValue(0.3112); + grex->setValue(0.1986); + grey->setValue(0.7551); + blux->setValue(0.1265); + bluy->setValue(0.0352); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D50)); + } else if (wProfNames->get_active_text() == "BestRGB") { + redx->setValue(0.7347); + redy->setValue(0.2653); + grex->setValue(0.2150); + grey->setValue(0.7750); + blux->setValue(0.130); + bluy->setValue(0.035); + will->set_active(toUnderlying(ColorManagementParams::Illuminant::D50)); + } + + redFrame->hide(); + } else { + redFrame->show(); + + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) != ColorManagementParams::Primaries::CUSTOM) { + primCoordGrid->set_sensitive(false); + labgridcie->set_sensitive(false); + will->set_sensitive(false); + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::CUSTOM_GRID) { + labgridcie->set_sensitive(true); + } + } else { + primCoordGrid->set_sensitive(true); + labgridcie->set_sensitive(false); + will->set_sensitive(true); + } + + } + willChanged (); + + if (ColorManagementParams::Primaries(wprim->get_active_row_number()) == ColorManagementParams::Primaries::CUSTOM_GRID) { + labgridcie->set_sensitive(true); + } else { + labgridcie->set_sensitive(false); + } + + if (listener) { + listener->panelChanged(EvICMwprimMethod, wprim->get_active_text()); + } +} + void ICMPanel::dcpIlluminantChanged() { if (listener) { @@ -831,23 +1892,29 @@ void ICMPanel::ipChanged() { Glib::ustring profname; + Glib::ustring localized_profname; if (inone->get_active()) { profname = "(none)"; + localized_profname = inone->get_label(); } else if (iembedded->get_active()) { profname = "(embedded)"; + localized_profname = iembedded->get_label(); } else if (icamera->get_active()) { profname = "(camera)"; + localized_profname = icamera->get_label(); } else if (icameraICC->get_active()) { profname = "(cameraICC)"; + localized_profname = icameraICC->get_label(); } else { profname = ipDialog->get_filename(); + localized_profname = profname; } updateDCP(-1, profname); if (listener && profname != oldip) { - listener->panelChanged(EvIProfile, profname); + listener->panelChanged(EvIProfile, localized_profname); } oldip = profname; @@ -897,6 +1964,39 @@ void ICMPanel::oiChanged(int n) } } +void ICMPanel::aiChanged(int n) +{ + + if (listener) { + Glib::ustring str; + + switch (n) { + case 0: + str = M("PREFERENCES_INTENT_PERCEPTUAL"); + break; + + case 1: + str = M("PREFERENCES_INTENT_RELATIVE"); + break; + + case 2: + str = M("PREFERENCES_INTENT_SATURATION"); + break; + + case 3: + str = M("PREFERENCES_INTENT_ABSOLUTE"); + break; + + case 4: + default: + str = M("GENERAL_UNCHANGED"); + break; + } + + listener->panelChanged(EvaIntent, str); + } +} + void ICMPanel::oBPCChanged() { if (multiImage) { @@ -923,6 +2023,59 @@ void ICMPanel::oBPCChanged() } } +void ICMPanel::fbwChanged() +{ + if (multiImage) { + if (fbw->get_inconsistent()) { + fbw->set_inconsistent(false); + fbwconn.block(true); + fbw->set_active(false); + fbwconn.block(false); + } else if (lastfbw) { + fbw->set_inconsistent(true); + } + + lastfbw = fbw->get_active(); + } + + if (listener) { + if (fbw->get_inconsistent()) { + listener->panelChanged(EvICMfbw, M("GENERAL_UNCHANGED")); + } else if (fbw->get_active()) { + listener->panelChanged(EvICMfbw, M("GENERAL_ENABLED")); + } else { + listener->panelChanged(EvICMfbw, M("GENERAL_DISABLED")); + } + } +} + +void ICMPanel::gamutChanged() +{ + if (multiImage) { + if (gamut->get_inconsistent()) { + gamut->set_inconsistent(false); + gamutconn.block(true); + gamut->set_active(false); + gamutconn.block(false); + } else if (lastgamut) { + gamut->set_inconsistent(true); + } + + lastgamut = gamut->get_active(); + } + + if (listener) { + if (gamut->get_inconsistent()) { + listener->panelChanged(EvICMgamut, M("GENERAL_UNCHANGED")); + } else if (fbw->get_active()) { + listener->panelChanged(EvICMgamut, M("GENERAL_ENABLED")); + } else { + listener->panelChanged(EvICMgamut, M("GENERAL_DISABLED")); + } + } +} + + void ICMPanel::setRawMeta(bool raw, const rtengine::FramesData* pMeta) { @@ -948,6 +2101,8 @@ void ICMPanel::ipSelectionChanged() ipChanged(); } + + void ICMPanel::saveReferencePressed() { @@ -1022,10 +2177,21 @@ void ICMPanel::setBatchMode(bool batchMode) oProfNames->append(M("GENERAL_UNCHANGED")); oRendIntent->addEntry("template-24.png", M("GENERAL_UNCHANGED")); oRendIntent->show(); + aRendIntent->addEntry("template-24.png", M("GENERAL_UNCHANGED")); + aRendIntent->show(); wProfNames->append(M("GENERAL_UNCHANGED")); wTRC->append(M("GENERAL_UNCHANGED")); + will->append(M("GENERAL_UNCHANGED")); + wprim->append(M("GENERAL_UNCHANGED")); dcpIll->append(M("GENERAL_UNCHANGED")); wGamma->showEditedCB(); wSlope->showEditedCB(); + redx->showEditedCB(); + redy->showEditedCB(); + grex->showEditedCB(); + grey->showEditedCB(); + blux->showEditedCB(); + bluy->showEditedCB(); + preser->showEditedCB(); } diff --git a/rtgui/icmpanel.h b/rtgui/icmpanel.h index 81a011c59..31ae6b664 100644 --- a/rtgui/icmpanel.h +++ b/rtgui/icmpanel.h @@ -36,24 +36,38 @@ public: virtual void saveInputICCReference(const Glib::ustring& fname, bool apply_wb) = 0; }; +class LabGrid; + class ICMPanel final : public ToolParamBlock, - public AdjusterListener, - public FoldableToolPanel + public FoldableToolPanel, + public rtengine::AutoprimListener, + public AdjusterListener { protected: Gtk::Frame* dcpFrame; Gtk::Frame* coipFrame; + Gtk::Frame* redFrame; Adjuster* wGamma; Adjuster* wSlope; + Adjuster* redx; + Adjuster* redy; + Adjuster* grex; + Adjuster* grey; + Adjuster* blux; + Adjuster* bluy; + Adjuster* preser; Gtk::Label* labmga; Gtk::Box* gabox; + //Gtk::Label* blr; + //Gtk::Label* blg; + //Gtk::Label* blb; + Gtk::Button* neutral; - - //bool freegamma; + sigc::connection neutralconn; bool lastToneCurve; sigc::connection tcurveconn; bool lastApplyLookTable; @@ -64,24 +78,53 @@ protected: sigc::connection hsmconn; bool lastobpc; sigc::connection obpcconn; + bool lastfbw; + sigc::connection fbwconn; bool isBatchMode; + bool lastgamut; + sigc::connection gamutconn; private: rtengine::ProcEvent EvICMprimariMethod; rtengine::ProcEvent EvICMprofileMethod; rtengine::ProcEvent EvICMtempMethod; - rtengine::ProcEvent EvICMpredx; - rtengine::ProcEvent EvICMpredy; - rtengine::ProcEvent EvICMpgrex; - rtengine::ProcEvent EvICMpgrey; - rtengine::ProcEvent EvICMpblux; - rtengine::ProcEvent EvICMpbluy; + //rtengine::ProcEvent EvICMpredx; + //rtengine::ProcEvent EvICMpredy; + //rtengine::ProcEvent EvICMpgrex; + //rtengine::ProcEvent EvICMpgrey; + //rtengine::ProcEvent EvICMpblux; + //rtengine::ProcEvent EvICMpbluy; rtengine::ProcEvent EvICMgamm; rtengine::ProcEvent EvICMslop; rtengine::ProcEvent EvICMtrcinMethod; + rtengine::ProcEvent EvICMwillMethod; + rtengine::ProcEvent EvICMwprimMethod; + rtengine::ProcEvent EvICMredx; + rtengine::ProcEvent EvICMredy; + rtengine::ProcEvent EvICMgrex; + rtengine::ProcEvent EvICMgrey; + rtengine::ProcEvent EvICMblux; + rtengine::ProcEvent EvICMbluy; + rtengine::ProcEvent EvaIntent; + rtengine::ProcEvent EvICMpreser; + rtengine::ProcEvent EvICMLabGridciexy; + rtengine::ProcEvent EvICMfbw; + rtengine::ProcEvent EvICMgamut; + LabGrid *labgridcie; + IdleRegister idle_register; + Gtk::Box* willuBox; + Gtk::Label* willulab; + Gtk::Box* wprimBox; + Gtk::Label* wprimlab; + Gtk::Label* cielab; + Gtk::Grid* primCoordGrid; + Gtk::Box* riaHBox; + Gtk::Box* preBox; Gtk::Box* iVBox; - Gtk::Box* wTRCHBox; + Gtk::Box* wTRCBox; + Gtk::CheckButton* fbw; + Gtk::CheckButton* gamut; Gtk::CheckButton* obpc; Gtk::RadioButton* inone; @@ -101,6 +144,12 @@ private: sigc::connection wprofnamesconn; MyComboBoxText* wTRC; sigc::connection wtrcconn; + MyComboBoxText* will; + sigc::connection willconn; + MyComboBoxText* wprim; + sigc::connection wprimconn; + std::unique_ptr aRendIntent; + sigc::connection arendintentconn; MyComboBoxText* oProfNames; sigc::connection oprofnamesconn; @@ -113,26 +162,45 @@ private: sigc::connection ipc; Glib::ustring oldip; ICMPanelListener* icmplistener; - + double dcpTemperatures[2]; Glib::ustring lastRefFilename; Glib::ustring camName; void updateDCP(int dcpIlluminant, Glib::ustring dcp_name); void updateRenderingIntent(const Glib::ustring &profile); + + float nextrx; + float nextry; + float nextbx; + float nextby; + float nextgx; + float nextgy; + float nextwx; + float nextwy; + public: ICMPanel(); + ~ICMPanel() override; void read(const rtengine::procparams::ProcParams* pp, const ParamsEdited* pedited = nullptr) override; void write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited = nullptr) override; void setBatchMode(bool batchMode) override; void setDefaults(const rtengine::procparams::ProcParams* defParams, const ParamsEdited* pedited = nullptr) override; void adjusterChanged(Adjuster* a, double newval) override; + void primChanged (float rx, float ry, float bx, float by, float gx, float gy) override; + void iprimChanged (float r_x, float r_y, float b_x, float b_y, float g_x, float g_y, float w_x, float w_y) override; + void neutral_pressed(); void wpChanged(); void wtrcinChanged(); + void willChanged(); + void wprimChanged(); void opChanged(); void oiChanged(int n); + void aiChanged(int n); void oBPCChanged(); + void fbwChanged(); + void gamutChanged(); void ipChanged(); void ipSelectionChanged(); void dcpIlluminantChanged(); @@ -143,9 +211,13 @@ public: void setRawMeta(bool raw, const rtengine::FramesData* pMeta); void saveReferencePressed(); + void setListener(ToolPanelListener* tpl) override; + void setEditProvider(EditDataProvider *provider) override; void setICMPanelListener(ICMPanelListener* ipl) { icmplistener = ipl; } + }; + diff --git a/rtgui/inspector.cc b/rtgui/inspector.cc index 37ed20207..675da51c6 100644 --- a/rtgui/inspector.cc +++ b/rtgui/inspector.cc @@ -21,6 +21,7 @@ #include #include "cursormanager.h" #include "guiutils.h" +#include "multilangmgr.h" #include "options.h" #include "pathutils.h" #include "rtscalable.h" @@ -82,7 +83,7 @@ InspectorBuffer::~InspectorBuffer() { // return deg; //} -Inspector::Inspector () : currImage(nullptr), scaled(false), scale(1.0), zoomScale(1.0), zoomScaleBegin(1.0), active(false), pinned(false), dirty(false) +Inspector::Inspector () : currImage(nullptr), scaled(false), scale(1.0), zoomScale(1.0), zoomScaleBegin(1.0), active(false), pinned(false), dirty(false), fullscreen(true), keyDown(false), windowShowing(false) { set_name("Inspector"); @@ -91,11 +92,14 @@ Inspector::Inspector () : currImage(nullptr), scaled(false), scale(1.0), zoomSca } else { window = new Gtk::Window(); - window->set_title("RawTherapee Inspector"); + window->set_name("InspectorWindow"); + window->set_title("RawTherapee " + M("INSPECTOR_WINDOW_TITLE")); window->set_visible(false); window->add_events(Gdk::KEY_PRESS_MASK); window->signal_key_release_event().connect(sigc::mem_fun(*this, &Inspector::on_key_release)); window->signal_key_press_event().connect(sigc::mem_fun(*this, &Inspector::on_key_press)); + window->signal_hide().connect(sigc::mem_fun(*this, &Inspector::on_window_hide)); + window->signal_window_state_event().connect(sigc::mem_fun(*this, &Inspector::on_inspector_window_state_event)); add_events(Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_MOTION_MASK | Gdk::SCROLL_MASK | Gdk::SMOOTH_SCROLL_MASK); gestureZoom = Gtk::GestureZoom::create(*this); @@ -104,6 +108,7 @@ Inspector::Inspector () : currImage(nullptr), scaled(false), scale(1.0), zoomSca window->add(*this); window->set_size_request(500, 500); + window->fullscreen(); initialized = false; // delay init to avoid flickering on some systems active = true; // always track inspected thumbnails } @@ -116,35 +121,40 @@ Inspector::~Inspector() delete window; } -void Inspector::showWindow(bool scaled, bool fullscreen) +void Inspector::showWindow(bool pinned, bool scaled) { - if (!window) + if (!window || windowShowing) return; // initialize when shown first if (!initialized) { window->show_all(); - window->set_visible(false); initialized = true; } // show inspector window this->scaled = scaled; - if (fullscreen) - window->fullscreen(); - else - window->unfullscreen(); - this->fullscreen = fullscreen; window->set_visible(true); - pinned = false; + this->pinned = pinned; + windowShowing = true; // update content when becoming visible switchImage(next_image_path); mouseMove(next_image_pos, 0); } +void Inspector::hideWindow() +{ + if (!window) { + return; + } + window->set_visible(false); +} + bool Inspector::on_key_release(GdkEventKey *event) { + keyDown = false; + if (!window) return false; @@ -165,6 +175,12 @@ bool Inspector::on_key_press(GdkEventKey *event) if (!window) return false; + if (keyDown) { + return true; + } + + keyDown = true; + switch (event->keyval) { case GDK_KEY_z: case GDK_KEY_F: @@ -196,9 +212,27 @@ bool Inspector::on_key_press(GdkEventKey *event) return true; } + keyDown = false; + return false; } +void Inspector::on_window_hide() +{ + windowShowing = false; +} + +bool Inspector::on_inspector_window_state_event(GdkEventWindowState *event) +{ + if (!window->get_window() || window->get_window()->gobj() != event->window) { + return false; + } + + fullscreen = event->new_window_state & GDK_WINDOW_STATE_FULLSCREEN; + + return true; +} + bool Inspector::on_button_press_event(GdkEventButton *event) { if (!window) @@ -220,13 +254,15 @@ bool Inspector::on_motion_notify_event(GdkEventMotion *event) return false; int deviceScale = get_scale_factor(); - int delta_x = (button_pos.x - event->x)*deviceScale; - int delta_y = (button_pos.y - event->y)*deviceScale; + int event_x = round(event->x); + int event_y = round(event->y); + int delta_x = (button_pos.x - event_x) * deviceScale; + int delta_y = (button_pos.y - event_y) * deviceScale; int imW = currImage->imgBuffer.getWidth(); int imH = currImage->imgBuffer.getHeight(); moveCenter(delta_x, delta_y, imW, imH, deviceScale); - button_pos.set(event->x, event->y); + button_pos.set(event_x, event_y); if (!dirty) { dirty = true; @@ -241,6 +277,8 @@ bool Inspector::on_scroll_event(GdkEventScroll *event) if (!currImage || !window) return false; + pinned = true; + bool alt = event->state & GDK_MOD1_MASK; int deviceScale = get_scale_factor(); int imW = currImage->imgBuffer.getWidth(); @@ -309,8 +347,8 @@ void Inspector::moveCenter(int delta_x, int delta_y, int imW, int imH, int devic rtengine::Coord margin; // limit to image size margin.x = rtengine::min(window->get_width() * deviceScale / scale, imW) / 2; margin.y = rtengine::min(window->get_height() * deviceScale / scale, imH) / 2; - center.set(rtengine::LIM(center.x + delta_x, margin.x, imW - margin.x), - rtengine::LIM(center.y + delta_y, margin.y, imH - margin.y)); + center.set(rtengine::LIM(center.x + delta_x / scale, margin.x, imW - margin.x), + rtengine::LIM(center.y + delta_y / scale, margin.y, imH - margin.y)); } void Inspector::beginZoom(double x, double y) @@ -326,8 +364,17 @@ void Inspector::beginZoom(double x, double y) moveCenter(0, 0, imW, imH, deviceScale); // store center and current position for zooming - dcenterBegin.x = (x - window->get_width()/2) / scale * deviceScale; - dcenterBegin.y = (y - window->get_height()/2) / scale * deviceScale; + double cur_scale = zoomScale; + if (scaled) { + Glib::RefPtr win = get_window(); + double winW = win->get_width() * deviceScale; + double winH = win->get_height() * deviceScale; + int imW = rtengine::max(currImage->imgBuffer.getWidth(), 1); + int imH = rtengine::max(currImage->imgBuffer.getHeight(), 1); + cur_scale *= rtengine::min(winW / imW, winH / imH); + } + dcenterBegin.x = (x - window->get_width() / 2.) / cur_scale * deviceScale; + dcenterBegin.y = (y - window->get_height() / 2.) / cur_scale * deviceScale; centerBegin = center; zoomScaleBegin = zoomScale; @@ -336,6 +383,7 @@ void Inspector::beginZoom(double x, double y) void Inspector::on_zoom_begin(GdkEventSequence *s) { double x, y; + pinned = true; if (gestureZoom->get_point(s, x, y)) beginZoom(x, y); } @@ -378,15 +426,16 @@ bool Inspector::on_draw(const ::Cairo::RefPtr< Cairo::Context> &cr) // this will eventually create/update the off-screen pixmap // compute the displayed area - rtengine::Coord availableSize; - rtengine::Coord topLeft; - rtengine::Coord dest(0, 0); + rtengine::Coord2D availableSize; + rtengine::Coord2D topLeft; + rtengine::Coord topLeftInt; + rtengine::Coord2D dest(0, 0); int deviceScale = window? get_scale_factor(): 1; availableSize.x = win->get_width() * deviceScale; availableSize.y = win->get_height() * deviceScale; int imW = rtengine::max(currImage->imgBuffer.getWidth(), 1); int imH = rtengine::max(currImage->imgBuffer.getHeight(), 1); - scale = rtengine::min((double)availableSize.x / imW, (double)availableSize.y / imH); + scale = rtengine::min(1., rtengine::min(availableSize.x / imW, availableSize.y / imH)); if (scaled) { // reduce size of image to fit into window, no further zoom down zoomScale = rtengine::max(zoomScale, 1.0); @@ -403,33 +452,36 @@ bool Inspector::on_draw(const ::Cairo::RefPtr< Cairo::Context> &cr) if (imW < availableSize.x) { // center the image in the available space along X topLeft.x = 0; - dest.x = (availableSize.x - imW) / 2; + dest.x = (availableSize.x - imW) / 2.; } else { // partial image display // double clamp - topLeft.x = center.x + availableSize.x / 2; - topLeft.x = rtengine::min(topLeft.x, imW); + topLeft.x = center.x + availableSize.x / 2.; + topLeft.x = rtengine::min(topLeft.x, imW); topLeft.x -= availableSize.x; - topLeft.x = rtengine::max(topLeft.x, 0); + topLeft.x = rtengine::max(topLeft.x, 0); } if (imH < availableSize.y) { // center the image in the available space along Y topLeft.y = 0; - dest.y = (availableSize.y - imH) / 2; + dest.y = (availableSize.y - imH) / 2.; } else { // partial image display // double clamp - topLeft.y = center.y + availableSize.y / 2; - topLeft.y = rtengine::min(topLeft.y, imH); + topLeft.y = center.y + availableSize.y / 2.; + topLeft.y = rtengine::min(topLeft.y, imH); topLeft.y -= availableSize.y; - topLeft.y = rtengine::max(topLeft.y, 0); + topLeft.y = rtengine::max(topLeft.y, 0); } //printf("center: %d, %d (img: %d, %d) (availableSize: %d, %d) (topLeft: %d, %d)\n", center.x, center.y, imW, imH, availableSize.x, availableSize.y, topLeft.x, topLeft.y); + topLeftInt.x = floor(topLeft.x); + topLeftInt.y = floor(topLeft.y); + // define the destination area - currImage->imgBuffer.setDrawRectangle(win, dest.x, dest.y, rtengine::min(availableSize.x - dest.x, imW), rtengine::min(availableSize.y - dest.y, imH), false); - currImage->imgBuffer.setSrcOffset(topLeft.x, topLeft.y); + currImage->imgBuffer.setDrawRectangle(win, dest.x, dest.y, rtengine::min(ceil(availableSize.x + (topLeft.x - topLeftInt.x) - 2 * dest.x), imW), rtengine::min(ceil(availableSize.y + (topLeft.y - topLeftInt.y) - 2 * dest.y), imH), false); + currImage->imgBuffer.setSrcOffset(topLeftInt.x, topLeftInt.y); if (!currImage->imgBuffer.surfaceCreated()) { return false; @@ -444,15 +496,6 @@ bool Inspector::on_draw(const ::Cairo::RefPtr< Cairo::Context> &cr) // draw the background style->render_background(cr, 0, 0, get_width(), get_height()); } - else { - ///* --- old method (the new method does not seem to work) - c = style->get_background_color (Gtk::STATE_FLAG_NORMAL); - cr->set_source_rgb (c.get_red(), c.get_green(), c.get_blue()); - cr->set_line_width (0); - cr->rectangle (0, 0, availableSize.x, availableSize.y); - cr->fill (); - //*/ - } bool scaledImage = scale != 1.0; if (!window || (deviceScale == 1 && !scaledImage)) { @@ -462,20 +505,26 @@ bool Inspector::on_draw(const ::Cairo::RefPtr< Cairo::Context> &cr) else { // consider device scale and image scale if (deviceScale > 1) { +#ifdef __APPLE__ // use full device resolution and let it scale the image (macOS) cairo_surface_set_device_scale(cr->get_target()->cobj(), scale, scale); scaledImage = false; +#else + cr->scale(1. / deviceScale, 1. / deviceScale); +#endif } - int viewW = rtengine::min(imW, availableSize.x); - int viewH = rtengine::min(imH, availableSize.y); - Glib::RefPtr crop = Gdk::Pixbuf::create(currImage->imgBuffer.getSurface(), topLeft.x, topLeft.y, viewW, viewH); + int viewW = rtengine::min(imW, ceil(availableSize.x + (topLeft.x - topLeftInt.x))); + int viewH = rtengine::min(imH, ceil(availableSize.y + (topLeft.y - topLeftInt.y))); + Glib::RefPtr crop = Gdk::Pixbuf::create(currImage->imgBuffer.getSurface(), topLeftInt.x, topLeftInt.y, viewW, viewH); if (!scaledImage) { Gdk::Cairo::set_source_pixbuf(cr, crop, dest.x, dest.y); } else { + double dx = scale * (dest.x + topLeftInt.x - topLeft.x); + double dy = scale * (dest.y + topLeftInt.y - topLeft.y); // scale crop as the device does not seem to support it (Linux) - crop = crop->scale_simple(viewW*scale, viewH*scale, Gdk::INTERP_BILINEAR); - Gdk::Cairo::set_source_pixbuf(cr, crop, dest.x*scale, dest.y*scale); + crop = crop->scale_simple(round(viewW*scale), round(viewH*scale), Gdk::INTERP_BILINEAR); + Gdk::Cairo::set_source_pixbuf(cr, crop, dx, dy); } cr->paint(); } @@ -506,7 +555,7 @@ void Inspector::mouseMove (rtengine::Coord2D pos, int transform) return; if (currImage) { - center.set(int(rtengine::LIM01(pos.x)*double(currImage->imgBuffer.getWidth())), int(rtengine::LIM01(pos.y)*double(currImage->imgBuffer.getHeight()))); + center.set(rtengine::LIM01(pos.x)*double(currImage->imgBuffer.getWidth()), rtengine::LIM01(pos.y)*double(currImage->imgBuffer.getHeight())); } else { center.set(0, 0); } diff --git a/rtgui/inspector.h b/rtgui/inspector.h index 726bc947c..5577bfb45 100644 --- a/rtgui/inspector.h +++ b/rtgui/inspector.h @@ -22,7 +22,6 @@ #include "guiutils.h" -#include "../rtengine/coord.h" #include "../rtengine/coord2d.h" class InspectorBuffer @@ -44,18 +43,20 @@ class Inspector final : public Gtk::DrawingArea { private: - rtengine::Coord center; + rtengine::Coord2D center; std::vector images; InspectorBuffer* currImage; bool scaled; // fit image into window double scale; // current scale double zoomScale, zoomScaleBegin; // scale during zoom - rtengine::Coord centerBegin, dcenterBegin; // center during zoom + rtengine::Coord2D centerBegin, dcenterBegin; // center during zoom bool active; bool pinned; bool dirty; bool initialized; bool fullscreen; // window is shown in fullscreen mode + bool keyDown; + bool windowShowing; sigc::connection delayconn; Glib::ustring next_image_path; @@ -65,6 +66,9 @@ private: bool on_key_release(GdkEventKey *event); bool on_key_press(GdkEventKey *event); + void on_window_hide(); + bool on_inspector_window_state_event(GdkEventWindowState *event); + rtengine::Coord button_pos; bool on_button_press_event(GdkEventButton *event) override; bool on_motion_notify_event(GdkEventMotion *event) override; @@ -87,9 +91,15 @@ public: ~Inspector() override; /** @brief Show or hide window + * @param pinned pin window * @param scaled fit image into window */ - void showWindow(bool scaled, bool fullscreen = true); + void showWindow(bool pinned, bool scaled = true); + + /** + * Hide the window. + */ + void hideWindow(); /** @brief Mouse movement to a new position * @param pos Location of the mouse, in percentage (i.e. [0;1] range) relative to the full size image ; -1,-1 == out of the image diff --git a/rtgui/labcurve.cc b/rtgui/labcurve.cc index dca1dfd45..e0e0bfb01 100644 --- a/rtgui/labcurve.cc +++ b/rtgui/labcurve.cc @@ -19,6 +19,7 @@ #include #include "labcurve.h" +#include "eventmapper.h" #include "curveeditor.h" #include "curveeditorgroup.h" @@ -32,61 +33,80 @@ using namespace rtengine; using namespace rtengine::procparams; -LCurve::LCurve () : FoldableToolPanel(this, "labcurves", M("TP_LABCURVE_LABEL"), false, true) +LCurve::LCurve() : FoldableToolPanel(this, "labcurves", M("TP_LABCURVE_LABEL"), false, true) { - brightness = Gtk::manage (new Adjuster (M("TP_LABCURVE_BRIGHTNESS"), -100., 100., 1., 0.)); - contrast = Gtk::manage (new Adjuster (M("TP_LABCURVE_CONTRAST"), -100., 100., 1., 0.)); - chromaticity = Gtk::manage (new Adjuster (M("TP_LABCURVE_CHROMATICITY"), -100., 100., 1., 0.)); + auto m = ProcEventMapper::getInstance(); + Evgamutmunsell = m->newEvent(LUMINANCECURVE, "HISTORY_MSG_GAMUTMUNSEL"); + CurveListener::setMulti(true); + brightness = Gtk::manage(new Adjuster(M("TP_LABCURVE_BRIGHTNESS"), -100., 100., 1., 0.)); + contrast = Gtk::manage(new Adjuster(M("TP_LABCURVE_CONTRAST"), -100., 100., 1., 0.)); + chromaticity = Gtk::manage(new Adjuster(M("TP_LABCURVE_CHROMATICITY"), -100., 100., 1., 0.)); chromaticity->set_tooltip_markup(M("TP_LABCURVE_CHROMA_TOOLTIP")); - pack_start (*brightness); - brightness->show (); + pack_start(*brightness); + brightness->show(); - pack_start (*contrast); - contrast->show (); + pack_start(*contrast); + contrast->show(); - pack_start (*chromaticity); - chromaticity->show (); + pack_start(*chromaticity); + chromaticity->show(); - brightness->setAdjusterListener (this); - contrast->setAdjusterListener (this); - chromaticity->setAdjusterListener (this); + brightness->setAdjusterListener(this); + contrast->setAdjusterListener(this); + chromaticity->setAdjusterListener(this); brightness->setLogScale(2, 0, true); contrast->setLogScale(2, 0, true); chromaticity->setLogScale(2, 0, true); //%%%%%%%%%%%%%%%%%% - Gtk::Separator* hsep2 = Gtk::manage (new Gtk::Separator(Gtk::ORIENTATION_HORIZONTAL)); - hsep2->show (); - pack_start (*hsep2, Gtk::PACK_EXPAND_WIDGET, 4); + Gtk::Separator* hsep2 = Gtk::manage(new Gtk::Separator(Gtk::ORIENTATION_HORIZONTAL)); + hsep2->show(); + pack_start(*hsep2, Gtk::PACK_EXPAND_WIDGET, 4); - avoidcolorshift = Gtk::manage (new Gtk::CheckButton (M("TP_LABCURVE_AVOIDCOLORSHIFT"))); - avoidcolorshift->set_tooltip_text (M("TP_LABCURVE_AVOIDCOLORSHIFT_TOOLTIP")); - pack_start (*avoidcolorshift, Gtk::PACK_SHRINK, 4); - lcredsk = Gtk::manage (new Gtk::CheckButton (M("TP_LABCURVE_LCREDSK"))); - lcredsk->set_tooltip_markup (M("TP_LABCURVE_LCREDSK_TIP")); - pack_start (*lcredsk); - rstprotection = Gtk::manage ( new Adjuster (M("TP_LABCURVE_RSTPROTECTION"), 0., 100., 0.1, 0.) ); - pack_start (*rstprotection); - rstprotection->show (); - rstprotection->setAdjusterListener (this); - rstprotection->set_tooltip_text (M("TP_LABCURVE_RSTPRO_TOOLTIP")); + Gtk::Box* metHBox = Gtk::manage(new Gtk::Box()); + metHBox->set_spacing(2); + Gtk::Label* metLabel = Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_AVOID") + ":")); + metHBox->pack_start(*metLabel, Gtk::PACK_SHRINK); - acconn = avoidcolorshift->signal_toggled().connect( sigc::mem_fun(*this, &LCurve::avoidcolorshift_toggled) ); - lcconn = lcredsk->signal_toggled().connect( sigc::mem_fun(*this, &LCurve::lcredsk_toggled) ); + gamutmunselmethod = Gtk::manage(new MyComboBoxText()); + gamutmunselmethod->append(M("TP_LOCALLAB_GAMUTNON")); + gamutmunselmethod->append(M("TP_LOCALLAB_GAMUTLABRELA")); + gamutmunselmethod->append(M("TP_LOCALLAB_GAMUTXYZABSO")); + gamutmunselmethod->append(M("TP_LOCALLAB_GAMUTXYZRELA")); + gamutmunselmethod->append(M("TP_LOCALLAB_GAMUTMUNSELL")); + gamutmunselmethod->set_active(4); + gamutmunselmethod->set_tooltip_text(M("TP_LOCALLAB_AVOIDCOLORSHIFT_TOOLTIP")); + metHBox->pack_start(*gamutmunselmethod); + pack_start(*metHBox); + gamutmunselmethodconn = gamutmunselmethod->signal_changed().connect(sigc::mem_fun(*this, &LCurve::gamutmunselChanged)); + + + lcredsk = Gtk::manage(new Gtk::CheckButton(M("TP_LABCURVE_LCREDSK"))); + lcredsk->set_tooltip_markup(M("TP_LABCURVE_LCREDSK_TOOLTIP")); + pack_start(*lcredsk); + + rstprotection = Gtk::manage(new Adjuster(M("TP_LABCURVE_RSTPROTECTION"), 0., 100., 0.1, 0.)); + pack_start(*rstprotection); + rstprotection->show(); + + rstprotection->setAdjusterListener(this); + rstprotection->set_tooltip_text(M("TP_LABCURVE_RSTPRO_TOOLTIP")); + + lcconn = lcredsk->signal_toggled().connect(sigc::mem_fun(*this, &LCurve::lcredsk_toggled)); //%%%%%%%%%%%%%%%%%%% - Gtk::Separator* hsep3 = Gtk::manage (new Gtk::Separator(Gtk::ORIENTATION_HORIZONTAL)); - hsep3->show (); - pack_start (*hsep3, Gtk::PACK_EXPAND_WIDGET, 4); + Gtk::Separator* hsep3 = Gtk::manage(new Gtk::Separator(Gtk::ORIENTATION_HORIZONTAL)); + hsep3->show(); + pack_start(*hsep3, Gtk::PACK_EXPAND_WIDGET, 4); - curveEditorG = new CurveEditorGroup (options.lastLabCurvesDir); - curveEditorG->setCurveListener (this); + curveEditorG = new CurveEditorGroup(options.lastLabCurvesDir); + curveEditorG->setCurveListener(this); lshape = static_cast(curveEditorG->addCurve(CT_Diagonal, "L*")); lshape->setTooltip(M("TP_LABCURVE_CURVEEDITOR_LL_TOOLTIP")); @@ -216,88 +236,111 @@ LCurve::LCurve () : FoldableToolPanel(this, "labcurves", M("TP_LABCURVE_LABEL"), // This will add the reset button at the end of the curveType buttons curveEditorG->curveListComplete(); - pack_start (*curveEditorG, Gtk::PACK_SHRINK, 4); - Gtk::Separator* hsepdh = Gtk::manage (new Gtk::Separator(Gtk::ORIENTATION_HORIZONTAL)); - hsepdh->show (); - pack_start (*hsepdh, Gtk::PACK_EXPAND_WIDGET, 4); + pack_start(*curveEditorG, Gtk::PACK_SHRINK, 4); + Gtk::Separator* hsepdh = Gtk::manage(new Gtk::Separator(Gtk::ORIENTATION_HORIZONTAL)); + hsepdh->show(); + pack_start(*hsepdh, Gtk::PACK_EXPAND_WIDGET, 4); + show_all_children(); } -LCurve::~LCurve () +LCurve::~LCurve() { delete curveEditorG; } -void LCurve::read (const ProcParams* pp, const ParamsEdited* pedited) +void LCurve::read(const ProcParams* pp, const ParamsEdited* pedited) { - disableListener (); + disableListener(); + gamutmunselmethodconn.block(true); + + + brightness->setValue(pp->labCurve.brightness); + contrast->setValue(pp->labCurve.contrast); + chromaticity->setValue(pp->labCurve.chromaticity); + adjusterChanged(chromaticity, pp->labCurve.chromaticity); // To update the GUI sensitiveness + //%%%%%%%%%%%%%%%%%%%%%% + rstprotection->setValue(pp->labCurve.rstprotection); + + + bwtconn.block(true); + lcconn.block(true); + lcredsk->set_active(pp->labCurve.lcredsk); + + bwtconn.block(false); + lcconn.block(false); + + lastLCVal = pp->labCurve.lcredsk; + //%%%%%%%%%%%%%%%%%%%%%% + + lshape->setCurve(pp->labCurve.lcurve); + ashape->setCurve(pp->labCurve.acurve); + bshape->setCurve(pp->labCurve.bcurve); + ccshape->setCurve(pp->labCurve.cccurve); + chshape->setCurve(pp->labCurve.chcurve); + lhshape->setCurve(pp->labCurve.lhcurve); + hhshape->setCurve(pp->labCurve.hhcurve); + lcshape->setCurve(pp->labCurve.lccurve); + clshape->setCurve(pp->labCurve.clcurve); + + if (pedited && !pedited->labCurve.gamutmunselmethod) { + gamutmunselmethod->set_active(4); // "Unchanged" + } else if (pp->labCurve.gamutmunselmethod == "NONE") { + gamutmunselmethod->set_active(0); + } else if (pp->labCurve.gamutmunselmethod == "LAB") { + gamutmunselmethod->set_active(1); + } else if (pp->labCurve.gamutmunselmethod == "XYZ") { + gamutmunselmethod->set_active(2); + } else if (pp->labCurve.gamutmunselmethod == "XYZREL") { + gamutmunselmethod->set_active(3); + } else if (pp->labCurve.gamutmunselmethod == "MUN") { + gamutmunselmethod->set_active(4); + } + + gamutmunselChanged(); if (pedited) { - brightness->setEditedState (pedited->labCurve.brightness ? Edited : UnEdited); - contrast->setEditedState (pedited->labCurve.contrast ? Edited : UnEdited); - chromaticity->setEditedState (pedited->labCurve.chromaticity ? Edited : UnEdited); + brightness->setEditedState(pedited->labCurve.brightness ? Edited : UnEdited); + contrast->setEditedState(pedited->labCurve.contrast ? Edited : UnEdited); + chromaticity->setEditedState(pedited->labCurve.chromaticity ? Edited : UnEdited); //%%%%%%%%%%%%%%%%%%%%%% - rstprotection->setEditedState (pedited->labCurve.rstprotection ? Edited : UnEdited); - avoidcolorshift->set_inconsistent (!pedited->labCurve.avoidcolorshift); - lcredsk->set_inconsistent (!pedited->labCurve.lcredsk); + rstprotection->setEditedState(pedited->labCurve.rstprotection ? Edited : UnEdited); + lcredsk->set_inconsistent(!pedited->labCurve.lcredsk); //%%%%%%%%%%%%%%%%%%%%%% - lshape->setUnChanged (!pedited->labCurve.lcurve); - ashape->setUnChanged (!pedited->labCurve.acurve); - bshape->setUnChanged (!pedited->labCurve.bcurve); - ccshape->setUnChanged (!pedited->labCurve.cccurve); - chshape->setUnChanged (!pedited->labCurve.chcurve); - lhshape->setUnChanged (!pedited->labCurve.lhcurve); - hhshape->setUnChanged (!pedited->labCurve.hhcurve); - lcshape->setUnChanged (!pedited->labCurve.lccurve); - clshape->setUnChanged (!pedited->labCurve.clcurve); + lshape->setUnChanged(!pedited->labCurve.lcurve); + ashape->setUnChanged(!pedited->labCurve.acurve); + bshape->setUnChanged(!pedited->labCurve.bcurve); + ccshape->setUnChanged(!pedited->labCurve.cccurve); + chshape->setUnChanged(!pedited->labCurve.chcurve); + lhshape->setUnChanged(!pedited->labCurve.lhcurve); + hhshape->setUnChanged(!pedited->labCurve.hhcurve); + lcshape->setUnChanged(!pedited->labCurve.lccurve); + clshape->setUnChanged(!pedited->labCurve.clcurve); + + if (!pedited->labCurve.gamutmunselmethod) { + gamutmunselmethod->set_active_text(M("GENERAL_UNCHANGED")); + } set_inconsistent(multiImage && !pedited->labCurve.enabled); } - brightness->setValue (pp->labCurve.brightness); - contrast->setValue (pp->labCurve.contrast); - chromaticity->setValue (pp->labCurve.chromaticity); - adjusterChanged(chromaticity, pp->labCurve.chromaticity); // To update the GUI sensitiveness - //%%%%%%%%%%%%%%%%%%%%%% - rstprotection->setValue (pp->labCurve.rstprotection); + gamutmunselmethodconn.block(false); - bwtconn.block (true); - acconn.block (true); - lcconn.block (true); - avoidcolorshift->set_active (pp->labCurve.avoidcolorshift); - lcredsk->set_active (pp->labCurve.lcredsk); - - bwtconn.block (false); - acconn.block (false); - lcconn.block (false); - - lastACVal = pp->labCurve.avoidcolorshift; - lastLCVal = pp->labCurve.lcredsk; - //%%%%%%%%%%%%%%%%%%%%%% - - lshape->setCurve (pp->labCurve.lcurve); - ashape->setCurve (pp->labCurve.acurve); - bshape->setCurve (pp->labCurve.bcurve); - ccshape->setCurve (pp->labCurve.cccurve); - chshape->setCurve (pp->labCurve.chcurve); - lhshape->setCurve (pp->labCurve.lhcurve); - hhshape->setCurve (pp->labCurve.hhcurve); - lcshape->setCurve (pp->labCurve.lccurve); - clshape->setCurve (pp->labCurve.clcurve); setEnabled(pp->labCurve.enabled); - + queue_draw(); - enableListener (); + enableListener(); } -void LCurve::autoOpenCurve () + +void LCurve::autoOpenCurve() { // Open up the first curve if selected bool active = lshape->openIfNonlinear(); @@ -336,7 +379,7 @@ void LCurve::autoOpenCurve () } -void LCurve::setEditProvider (EditDataProvider *provider) +void LCurve::setEditProvider(EditDataProvider *provider) { lshape->setEditProvider(provider); ccshape->setEditProvider(provider); @@ -351,127 +394,128 @@ void LCurve::setEditProvider (EditDataProvider *provider) } -void LCurve::write (ProcParams* pp, ParamsEdited* pedited) +void LCurve::write(ProcParams* pp, ParamsEdited* pedited) { pp->labCurve.enabled = getEnabled(); - - pp->labCurve.brightness = brightness->getValue (); - pp->labCurve.contrast = (int)contrast->getValue (); - pp->labCurve.chromaticity = (int)chromaticity->getValue (); - //%%%%%%%%%%%%%%%%%%%%%% - pp->labCurve.avoidcolorshift = avoidcolorshift->get_active (); - pp->labCurve.lcredsk = lcredsk->get_active (); - pp->labCurve.rstprotection = rstprotection->getValue (); + pp->labCurve.brightness = brightness->getValue(); + pp->labCurve.contrast = (int)contrast->getValue(); + pp->labCurve.chromaticity = (int)chromaticity->getValue(); + //%%%%%%%%%%%%%%%%%%%%%% + pp->labCurve.lcredsk = lcredsk->get_active(); + + pp->labCurve.rstprotection = rstprotection->getValue(); //%%%%%%%%%%%%%%%%%%%%%% - pp->labCurve.lcurve = lshape->getCurve (); - pp->labCurve.acurve = ashape->getCurve (); - pp->labCurve.bcurve = bshape->getCurve (); - pp->labCurve.cccurve = ccshape->getCurve (); - pp->labCurve.chcurve = chshape->getCurve (); - pp->labCurve.lhcurve = lhshape->getCurve (); - pp->labCurve.hhcurve = hhshape->getCurve (); - pp->labCurve.lccurve = lcshape->getCurve (); - pp->labCurve.clcurve = clshape->getCurve (); + pp->labCurve.lcurve = lshape->getCurve(); + pp->labCurve.acurve = ashape->getCurve(); + pp->labCurve.bcurve = bshape->getCurve(); + pp->labCurve.cccurve = ccshape->getCurve(); + pp->labCurve.chcurve = chshape->getCurve(); + pp->labCurve.lhcurve = lhshape->getCurve(); + pp->labCurve.hhcurve = hhshape->getCurve(); + pp->labCurve.lccurve = lcshape->getCurve(); + pp->labCurve.clcurve = clshape->getCurve(); + + if (pedited) { - pedited->labCurve.brightness = brightness->getEditedState (); - pedited->labCurve.contrast = contrast->getEditedState (); - pedited->labCurve.chromaticity = chromaticity->getEditedState (); + pedited->labCurve.brightness = brightness->getEditedState(); + pedited->labCurve.contrast = contrast->getEditedState(); + pedited->labCurve.chromaticity = chromaticity->getEditedState(); //%%%%%%%%%%%%%%%%%%%%%% - pedited->labCurve.avoidcolorshift = !avoidcolorshift->get_inconsistent(); pedited->labCurve.lcredsk = !lcredsk->get_inconsistent(); - pedited->labCurve.rstprotection = rstprotection->getEditedState (); + pedited->labCurve.rstprotection = rstprotection->getEditedState(); + pedited->labCurve.gamutmunselmethod = gamutmunselmethod->get_active_text() != M("GENERAL_UNCHANGED"); - pedited->labCurve.lcurve = !lshape->isUnChanged (); - pedited->labCurve.acurve = !ashape->isUnChanged (); - pedited->labCurve.bcurve = !bshape->isUnChanged (); - pedited->labCurve.cccurve = !ccshape->isUnChanged (); - pedited->labCurve.chcurve = !chshape->isUnChanged (); - pedited->labCurve.lhcurve = !lhshape->isUnChanged (); - pedited->labCurve.hhcurve = !hhshape->isUnChanged (); - pedited->labCurve.lccurve = !lcshape->isUnChanged (); - pedited->labCurve.clcurve = !clshape->isUnChanged (); + pedited->labCurve.lcurve = !lshape->isUnChanged(); + pedited->labCurve.acurve = !ashape->isUnChanged(); + pedited->labCurve.bcurve = !bshape->isUnChanged(); + pedited->labCurve.cccurve = !ccshape->isUnChanged(); + pedited->labCurve.chcurve = !chshape->isUnChanged(); + pedited->labCurve.lhcurve = !lhshape->isUnChanged(); + pedited->labCurve.hhcurve = !hhshape->isUnChanged(); + pedited->labCurve.lccurve = !lcshape->isUnChanged(); + pedited->labCurve.clcurve = !clshape->isUnChanged(); pedited->labCurve.enabled = !get_inconsistent(); + } + if (gamutmunselmethod->get_active_row_number() == 0) { + pp->labCurve.gamutmunselmethod = "NONE"; + } else if (gamutmunselmethod->get_active_row_number() == 1) { + pp->labCurve.gamutmunselmethod = "LAB"; + } else if (gamutmunselmethod->get_active_row_number() == 2) { + pp->labCurve.gamutmunselmethod = "XYZ"; + } else if (gamutmunselmethod->get_active_row_number() == 3) { + pp->labCurve.gamutmunselmethod = "XYZREL"; + } else if (gamutmunselmethod->get_active_row_number() == 4) { + pp->labCurve.gamutmunselmethod = "MUN"; + } + + + } -void LCurve::setDefaults (const ProcParams* defParams, const ParamsEdited* pedited) +void LCurve::setDefaults(const ProcParams* defParams, const ParamsEdited* pedited) { - brightness->setDefault (defParams->labCurve.brightness); - contrast->setDefault (defParams->labCurve.contrast); - chromaticity->setDefault (defParams->labCurve.chromaticity); - rstprotection->setDefault (defParams->labCurve.rstprotection); + brightness->setDefault(defParams->labCurve.brightness); + contrast->setDefault(defParams->labCurve.contrast); + chromaticity->setDefault(defParams->labCurve.chromaticity); + rstprotection->setDefault(defParams->labCurve.rstprotection); if (pedited) { - brightness->setDefaultEditedState (pedited->labCurve.brightness ? Edited : UnEdited); - contrast->setDefaultEditedState (pedited->labCurve.contrast ? Edited : UnEdited); - chromaticity->setDefaultEditedState (pedited->labCurve.chromaticity ? Edited : UnEdited); - rstprotection->setDefaultEditedState (pedited->labCurve.rstprotection ? Edited : UnEdited); + brightness->setDefaultEditedState(pedited->labCurve.brightness ? Edited : UnEdited); + contrast->setDefaultEditedState(pedited->labCurve.contrast ? Edited : UnEdited); + chromaticity->setDefaultEditedState(pedited->labCurve.chromaticity ? Edited : UnEdited); + rstprotection->setDefaultEditedState(pedited->labCurve.rstprotection ? Edited : UnEdited); } else { - brightness->setDefaultEditedState (Irrelevant); - contrast->setDefaultEditedState (Irrelevant); - chromaticity->setDefaultEditedState (Irrelevant); - rstprotection->setDefaultEditedState (Irrelevant); + brightness->setDefaultEditedState(Irrelevant); + contrast->setDefaultEditedState(Irrelevant); + chromaticity->setDefaultEditedState(Irrelevant); + rstprotection->setDefaultEditedState(Irrelevant); } } //%%%%%%%%%%%%%%%%%%%%%% -//Color shift control changed -void LCurve::avoidcolorshift_toggled () + +void LCurve::gamutmunselChanged() { - if (batchMode) { - if (avoidcolorshift->get_inconsistent()) { - avoidcolorshift->set_inconsistent (false); - acconn.block (true); - avoidcolorshift->set_active (false); - acconn.block (false); - } else if (lastACVal) { - avoidcolorshift->set_inconsistent (true); - } - - lastACVal = avoidcolorshift->get_active (); + if (listener && (multiImage || getEnabled())) { + listener->panelChanged(Evgamutmunsell, gamutmunselmethod->get_active_text()); } - if (listener && getEnabled()) { - if (avoidcolorshift->get_active ()) { - listener->panelChanged (EvLAvoidColorShift, M("GENERAL_ENABLED")); - } else { - listener->panelChanged (EvLAvoidColorShift, M("GENERAL_DISABLED")); - } - } } -void LCurve::lcredsk_toggled () + +void LCurve::lcredsk_toggled() { if (batchMode) { if (lcredsk->get_inconsistent()) { - lcredsk->set_inconsistent (false); - lcconn.block (true); - lcredsk->set_active (false); - lcconn.block (false); + lcredsk->set_inconsistent(false); + lcconn.block(true); + lcredsk->set_active(false); + lcconn.block(false); } else if (lastLCVal) { - lcredsk->set_inconsistent (true); + lcredsk->set_inconsistent(true); } - lastLCVal = lcredsk->get_active (); + lastLCVal = lcredsk->get_active(); } else { lcshape->refresh(); } if (listener && getEnabled()) { - if (lcredsk->get_active ()) { - listener->panelChanged (EvLLCredsk, M("GENERAL_ENABLED")); + if (lcredsk->get_active()) { + listener->panelChanged(EvLLCredsk, M("GENERAL_ENABLED")); } else { - listener->panelChanged (EvLLCredsk, M("GENERAL_DISABLED")); + listener->panelChanged(EvLLCredsk, M("GENERAL_DISABLED")); } } } @@ -484,44 +528,44 @@ void LCurve::lcredsk_toggled () * If more than one curve has been added, the curve listener is automatically * set to 'multi=true', and send a pointer of the modified curve in a parameter */ -void LCurve::curveChanged (CurveEditor* ce) +void LCurve::curveChanged(CurveEditor* ce) { if (listener && getEnabled()) { if (ce == lshape) { - listener->panelChanged (EvLLCurve, M("HISTORY_CUSTOMCURVE")); + listener->panelChanged(EvLLCurve, M("HISTORY_CUSTOMCURVE")); } if (ce == ashape) { - listener->panelChanged (EvLaCurve, M("HISTORY_CUSTOMCURVE")); + listener->panelChanged(EvLaCurve, M("HISTORY_CUSTOMCURVE")); } if (ce == bshape) { - listener->panelChanged (EvLbCurve, M("HISTORY_CUSTOMCURVE")); + listener->panelChanged(EvLbCurve, M("HISTORY_CUSTOMCURVE")); } if (ce == ccshape) { - listener->panelChanged (EvLCCCurve, M("HISTORY_CUSTOMCURVE")); + listener->panelChanged(EvLCCCurve, M("HISTORY_CUSTOMCURVE")); } if (ce == chshape) { - listener->panelChanged (EvLCHCurve, M("HISTORY_CUSTOMCURVE")); + listener->panelChanged(EvLCHCurve, M("HISTORY_CUSTOMCURVE")); } if (ce == lhshape) { - listener->panelChanged (EvLLHCurve, M("HISTORY_CUSTOMCURVE")); + listener->panelChanged(EvLLHCurve, M("HISTORY_CUSTOMCURVE")); } if (ce == hhshape) { - listener->panelChanged (EvLHHCurve, M("HISTORY_CUSTOMCURVE")); + listener->panelChanged(EvLHHCurve, M("HISTORY_CUSTOMCURVE")); } if (ce == lcshape) { - listener->panelChanged (EvLLCCurve, M("HISTORY_CUSTOMCURVE")); + listener->panelChanged(EvLLCCurve, M("HISTORY_CUSTOMCURVE")); } if (ce == clshape) { - listener->panelChanged (EvLCLCurve, M("HISTORY_CUSTOMCURVE")); + listener->panelChanged(EvLCLCurve, M("HISTORY_CUSTOMCURVE")); } @@ -533,45 +577,43 @@ void LCurve::adjusterChanged(Adjuster* a, double newval) Glib::ustring costr; if (a == brightness) { - costr = Glib::ustring::format (std::setw(3), std::fixed, std::setprecision(2), a->getValue()); + costr = Glib::ustring::format(std::setw(3), std::fixed, std::setprecision(2), a->getValue()); } else if (a == rstprotection) { - costr = Glib::ustring::format (std::setw(3), std::fixed, std::setprecision(1), a->getValue()); + costr = Glib::ustring::format(std::setw(3), std::fixed, std::setprecision(1), a->getValue()); } else { - costr = Glib::ustring::format ((int)a->getValue()); + costr = Glib::ustring::format((int)a->getValue()); } if (a == brightness) { if (listener && getEnabled()) { - listener->panelChanged (EvLBrightness, costr); + listener->panelChanged(EvLBrightness, costr); } } else if (a == contrast) { if (listener && getEnabled()) { - listener->panelChanged (EvLContrast, costr); + listener->panelChanged(EvLContrast, costr); } } else if (a == rstprotection) { if (listener && getEnabled()) { - listener->panelChanged (EvLRSTProtection, costr); + listener->panelChanged(EvLRSTProtection, costr); } } else if (a == chromaticity) { if (multiImage) { //if chromaticity==-100 (lowest value), we enter the B&W mode and avoid color shift and rstprotection has no effect - rstprotection->set_sensitive( true ); - avoidcolorshift->set_sensitive( true ); - lcredsk->set_sensitive( true ); + rstprotection->set_sensitive(true); + lcredsk->set_sensitive(true); } else { //if chromaticity==-100 (lowest value), we enter the B&W mode and avoid color shift and rstprotection has no effect - rstprotection->set_sensitive( int(newval) > -100 ); //no reason for grey rstprotection - avoidcolorshift->set_sensitive( int(newval) > -100 ); - lcredsk->set_sensitive( int(newval) > -100 ); + rstprotection->set_sensitive(int(newval) > -100); //no reason for grey rstprotection + lcredsk->set_sensitive(int(newval) > -100); } if (listener && getEnabled()) { - listener->panelChanged (EvLSaturation, costr); + listener->panelChanged(EvLSaturation, costr); } } } -void LCurve::colorForValue (double valX, double valY, enum ColorCaller::ElemType elemType, int callerId, ColorCaller *caller) +void LCurve::colorForValue(double valX, double valY, enum ColorCaller::ElemType elemType, int callerId, ColorCaller *caller) { float R = 0.f, G = 0.f, B = 0.f; @@ -586,47 +628,54 @@ void LCurve::colorForValue (double valX, double valY, enum ColorCaller::ElemType float value = (1.f - 0.7f) * float(valX) + 0.7f; // whole hue range // Y axis / from 0.15 up to 0.75 (arbitrary values; was 0.45 before) - Color::hsv2rgb01(float(valY*0.8), float(valX), value, R, G, B); + Color::hsv2rgb01(float(valY * 0.8), float(valX), value, R, G, B); } else if (callerId == 6) { // cc - left bar float value = (1.f - 0.7f) * float(valX) + 0.7f; float hue = (1.14056f - 0.92f) * float(valY) + 0.92f; + if (hue > 1.0f) { hue -= 1.0f; } + // Y axis / from 0.15 up to 0.75 (arbitrary values; was 0.45 before) Color::hsv2rgb01(hue, float(valX), value, R, G, B); } else if (callerId == 3) { // lc - bottom bar float value = (1.f - 0.7f) * float(valX) + 0.7f; + if (lcredsk->get_active()) { // skin range // -0.1 rad < Hue < 1.6 rad // Y axis / from 0.92 up to 0.14056 float hue = (1.14056f - 0.92f) * float(valY) + 0.92f; + if (hue > 1.0f) { hue -= 1.0f; } + // Y axis / from 0.15 up to 0.75 (arbitrary values; was 0.45 before) Color::hsv2rgb01(hue, float(valX), value, R, G, B); } else { // whole hue range // Y axis / from 0.15 up to 0.75 (arbitrary values; was 0.45 before) - Color::hsv2rgb01(float(valY*0.8), float(valX), value, R, G, B); + Color::hsv2rgb01(float(valY * 0.8), float(valX), value, R, G, B); } } else if (callerId == 4) { // LH - bottom bar Color::hsv2rgb01(float(valX), 0.5f, float(valY), R, G, B); } else if (callerId == 5) { // HH - bottom bar float h = float((valY - 0.5) * 0.3 + valX); + if (h > 1.0f) { h -= 1.0f; } else if (h < 0.0f) { h += 1.0f; } + Color::hsv2rgb01(h, 0.5f, 0.5f, R, G, B); } else if (callerId == 7) { // cc and cl - left bar float value = (1.f - 0.7f) * float(valX) + 0.7f; // whole hue range // Y axis / from 0.15 up to 0.75 (arbitrary values; was 0.45 before) - Color::hsv2rgb01(float(valY*0.8), 1.f - float(valX), value, R, G, B); + Color::hsv2rgb01(float(valY * 0.8), 1.f - float(valX), value, R, G, B); } caller->ccRed = double(R); @@ -634,17 +683,19 @@ void LCurve::colorForValue (double valX, double valY, enum ColorCaller::ElemType caller->ccBlue = double(B); } -void LCurve::setBatchMode (bool batchMode) +void LCurve::setBatchMode(bool batchMode) { - ToolPanel::setBatchMode (batchMode); - brightness->showEditedCB (); - contrast->showEditedCB (); - chromaticity->showEditedCB (); - rstprotection->showEditedCB (); - curveEditorG->setBatchMode (batchMode); + ToolPanel::setBatchMode(batchMode); + brightness->showEditedCB(); + contrast->showEditedCB(); + chromaticity->showEditedCB(); + rstprotection->showEditedCB(); + curveEditorG->setBatchMode(batchMode); lcshape->setBottomBarColorProvider(nullptr, -1); lcshape->setLeftBarColorProvider(nullptr, -1); + gamutmunselmethod->append(M("GENERAL_UNCHANGED")); + } @@ -661,13 +712,13 @@ void LCurve::updateCurveBackgroundHistogram( const LUTu& histLRETI ) { - lshape->updateBackgroundHistogram (histLCurve); - ccshape->updateBackgroundHistogram (histCCurve); - lcshape->updateBackgroundHistogram (histCCurve); - clshape->updateBackgroundHistogram (histLCurve); + lshape->updateBackgroundHistogram(histLCurve); + ccshape->updateBackgroundHistogram(histCCurve); + lcshape->updateBackgroundHistogram(histCCurve); + clshape->updateBackgroundHistogram(histLCurve); } -void LCurve::setAdjusterBehavior (bool bradd, bool contradd, bool satadd) +void LCurve::setAdjusterBehavior(bool bradd, bool contradd, bool satadd) { brightness->setAddMode(bradd); @@ -675,7 +726,7 @@ void LCurve::setAdjusterBehavior (bool bradd, bool contradd, bool satadd) chromaticity->setAddMode(satadd); } -void LCurve::trimValues (rtengine::procparams::ProcParams* pp) +void LCurve::trimValues(rtengine::procparams::ProcParams* pp) { brightness->trimValue(pp->labCurve.brightness); @@ -687,11 +738,11 @@ void LCurve::enabledChanged() { if (listener) { if (get_inconsistent()) { - listener->panelChanged (EvLEnabled, M("GENERAL_UNCHANGED")); + listener->panelChanged(EvLEnabled, M("GENERAL_UNCHANGED")); } else if (getEnabled()) { - listener->panelChanged (EvLEnabled, M("GENERAL_ENABLED")); + listener->panelChanged(EvLEnabled, M("GENERAL_ENABLED")); } else { - listener->panelChanged (EvLEnabled, M("GENERAL_DISABLED")); + listener->panelChanged(EvLEnabled, M("GENERAL_DISABLED")); } } } diff --git a/rtgui/labcurve.h b/rtgui/labcurve.h index dfb79ae7a..5d762ea9e 100644 --- a/rtgui/labcurve.h +++ b/rtgui/labcurve.h @@ -59,11 +59,14 @@ protected: DiagonalCurveEditor* cdshape; //%%%%%%%%%%%%%%%% - Gtk::CheckButton* avoidcolorshift; Gtk::CheckButton* lcredsk; + MyComboBoxText* gamutmunselmethod; + sigc::connection gamutmunselmethodconn; + rtengine::ProcEvent Evgamutmunsell; + Adjuster* rstprotection; - sigc::connection bwtconn, acconn, lcconn; + sigc::connection bwtconn, lcconn; bool lastACVal, lastLCVal; //%%%%%%%%%%%%%%%% @@ -84,8 +87,8 @@ public: void curveChanged (CurveEditor* ce) override; void adjusterChanged (Adjuster* a, double newval) override; - void avoidcolorshift_toggled (); void lcredsk_toggled(); + void gamutmunselChanged(); void updateCurveBackgroundHistogram( const LUTu& histToneCurve, diff --git a/rtgui/labgrid.cc b/rtgui/labgrid.cc index d8a22b1d9..bc3b806de 100644 --- a/rtgui/labgrid.cc +++ b/rtgui/labgrid.cc @@ -4,6 +4,8 @@ * * Copyright (c) 2017 Alberto Griggio * + * Copyright (c) 2021 Jacques Desmis for CIE xy graph + * * 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 @@ -57,22 +59,34 @@ bool LabGridArea::notifyListener() { return int(v * 1000) / 1000.f; }; - listener->panelChanged(evt, Glib::ustring::compose(evtMsg, round(high_a), round(high_b), round(low_a), round(low_b))); + if (! ciexy_enabled){ + listener->panelChanged(evt, Glib::ustring::compose(evtMsg, round(high_a), round(high_b), round(low_a), round(low_b))); + } else { + float high_a1 = 0.55f * (high_a + 1.f) - 0.1f; + float high_b1 = 0.55f * (high_b + 1.f) - 0.1f; + float low_a1 = 0.55f * (low_a + 1.f) - 0.1f; + float low_b1 = 0.55f * (low_b + 1.f) - 0.1f; + float gre_x1 = 0.55f * (gre_x + 1.f) - 0.1f; + float gre_y1 = 0.55f * (gre_y + 1.f) - 0.1f; + listener->panelChanged(evt, Glib::ustring::compose(evtMsg, round(low_a1), round(low_b1), round(gre_x1), round(gre_y1), round(high_a1), round(high_b1))); + } } return false; } -LabGridArea::LabGridArea(rtengine::ProcEvent evt, const Glib::ustring &msg, bool enable_low): +LabGridArea::LabGridArea(rtengine::ProcEvent evt, const Glib::ustring &msg, bool enable_low, bool ciexy): Gtk::DrawingArea(), evt(evt), evtMsg(msg), litPoint(NONE), - low_a(0.f), high_a(0.f), low_b(0.f), high_b(0.f), - defaultLow_a(0.f), defaultHigh_a(0.f), defaultLow_b(0.f), defaultHigh_b(0.f), + low_a(0.f), high_a(0.f), low_b(0.f), high_b(0.f), gre_x(0.f), gre_y(0.f), whi_x(0.f), whi_y(0.f),//these variables are used as xy in Ciexy - no change labels + defaultLow_a(0.f), defaultHigh_a(0.f), defaultLow_b(0.f), defaultHigh_b(0.f), defaultgre_x(0.f), defaultgre_y(0.f), defaultwhi_x(0.f), defaultwhi_y(0.f), listener(nullptr), edited(false), isDragged(false), - low_enabled(enable_low) + low_enabled(enable_low), + ciexy_enabled(ciexy) + { set_can_focus(false); // prevent moving the grid while you're moving a point add_events(Gdk::EXPOSURE_MASK | Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK | Gdk::POINTER_MOTION_MASK); @@ -80,16 +94,21 @@ LabGridArea::LabGridArea(rtengine::ProcEvent evt, const Glib::ustring &msg, bool get_style_context()->add_class("drawingarea"); } -void LabGridArea::getParams(double &la, double &lb, double &ha, double &hb) const +void LabGridArea::getParams(double &la, double &lb, double &ha, double &hb, double &gx, double &gy, double &wx, double &wy) const { la = low_a; ha = high_a; lb = low_b; hb = high_b; + gx = gre_x; + gy = gre_y; + wx = whi_x; + wy = whi_y; + // printf("la=%f ha=%f lb=%f hb=%f gx=%f gy=%f\n", la, ha, lb, hb, gx, gy); } -void LabGridArea::setParams(double la, double lb, double ha, double hb, bool notify) +void LabGridArea::setParams(double la, double lb, double ha, double hb, double gx, double gy, double wx, double wy, bool notify) { const double lo = -1.0; const double hi = 1.0; @@ -97,27 +116,37 @@ void LabGridArea::setParams(double la, double lb, double ha, double hb, bool not low_b = rtengine::LIM(lb, lo, hi); high_a = rtengine::LIM(ha, lo, hi); high_b = rtengine::LIM(hb, lo, hi); + gre_x = rtengine::LIM(gx, lo, hi); + gre_y = rtengine::LIM(gy, lo, hi); + whi_x = rtengine::LIM(wx, lo, hi); + whi_y = rtengine::LIM(wy, lo, hi); + queue_draw(); if (notify) { notifyListener(); } } -void LabGridArea::setDefault (double la, double lb, double ha, double hb) +void LabGridArea::setDefault (double la, double lb, double ha, double hb, double gx, double gy, double wx, double wy) { defaultLow_a = la; defaultLow_b = lb; defaultHigh_a = ha; defaultHigh_b = hb; + defaultgre_x = gx; + defaultgre_y = gy; + defaultwhi_x = wx; + defaultwhi_y = wy; } void LabGridArea::reset(bool toInitial) { if (toInitial) { - setParams(defaultLow_a, defaultLow_b, defaultHigh_a, defaultHigh_b, true); + setParams(defaultLow_a, defaultLow_b, defaultHigh_a, defaultHigh_b, defaultgre_x, defaultgre_y, defaultwhi_x, defaultwhi_y, true); } else { - setParams(0., 0., 0., 0., true); + // printf("RESET \n"); + setParams(0., 0., 0., 0., 0., 0., 0., 0., true); } } @@ -166,6 +195,7 @@ bool LabGridArea::on_draw(const ::Cairo::RefPtr &crf) Gtk::Border padding = getPadding(style); // already scaled Cairo::RefPtr cr = getContext(); + if (isDirty()) { int width = allocation.get_width(); int height = allocation.get_height(); @@ -195,55 +225,208 @@ bool LabGridArea::on_draw(const ::Cairo::RefPtr &crf) // flip y: cr->translate(0, height); cr->scale(1., -1.); - const int cells = 8; - float step = 12000.f / float(cells/2); - double cellW = double(width) / double(cells); - double cellH = double(height) / double(cells); - double cellYMin = 0.; - double cellYMax = std::floor(cellH); - for (int j = 0; j < cells; j++) { - double cellXMin = 0.; - double cellXMax = std::floor(cellW); - for (int i = 0; i < cells; i++) { - float R, G, B; - float x, y, z; - int ii = i - cells/2; - int jj = j - cells/2; - float a = step * (ii + 0.5f); - float b = step * (jj + 0.5f); - Color::Lab2XYZ(25000.f, a, b, x, y, z); - Color::xyz2srgb(x, y, z, R, G, B); - cr->set_source_rgb(R / 65535.f, G / 65535.f, B / 65535.f); - cr->rectangle( - cellXMin, - cellYMin, - cellXMax - cellXMin - (i == cells-1 ? 0. : double(s)), - cellYMax - cellYMin - (j == cells-1 ? 0. : double(s)) - ); - cellXMin = cellXMax; - cellXMax = std::floor(cellW * double(i+2) + 0.01); - cr->fill(); - } - cellYMin = cellYMax; - cellYMax = std::floor(cellH * double(j+2) + 0.01); - } + if (! ciexy_enabled) {//draw cells for Labgrid + int cells = 8; + float step = 12000.f / float(cells/2); + double cellW = double(width) / double(cells); + double cellH = double(height) / double(cells); + double cellYMin = 0.; + double cellYMax = std::floor(cellH); + for (int j = 0; j < cells; j++) { + double cellXMin = 0.; + double cellXMax = std::floor(cellW); + for (int i = 0; i < cells; i++) { + float R, G, B; + float x, y, z; + int ii = i - cells/2; + int jj = j - cells/2; + float a = step * (ii + 0.5f); + float b = step * (jj + 0.5f); + Color::Lab2XYZ(25000.f, a, b, x, y, z); + Color::xyz2srgb(x, y, z, R, G, B); + cr->set_source_rgb(R / 65535.f, G / 65535.f, B / 65535.f); + cr->rectangle( + cellXMin, + cellYMin, + cellXMax - cellXMin - (i == cells-1 ? 0. : double(s)), + cellYMax - cellYMin - (j == cells-1 ? 0. : double(s)) + ); + cellXMin = cellXMax; + cellXMax = std::floor(cellW * double(i+2) + 0.01); + cr->fill(); + } + cellYMin = cellYMax; + cellYMax = std::floor(cellH * double(j+2) + 0.01); + } + } else {//cells for CIE xy + int cells = 600; + float step = 1.f / float(cells); + double cellW = double(width) / double(cells); + double cellH = double(height) / double(cells); + double cellYMin = 0.; + double cellYMax = std::floor(cellH); + //various approximations to simulate Ciexy curves graph + // this graph is not accurate...I replace curve by polygon or parabolic + float xa = 0.2653f / (0.7347f - 0.17f); + float xb = -0.17f * xa; + //linear values + // float ax = (0.1f - 0.6f) / 0.08f; + // float bx = 0.6f; + // float ax0 = -0.1f / (0.17f - 0.08f); + // float bx0 = -0.17f* ax0; + float axs = (0.2653f - 0.65f) / (0.7347f - 0.35f); + float bxs = 0.65f - axs * 0.35f; + // float axss = (0.7f - 0.83f) / (0.3f - 0.1f); + // float bxss = 0.7f - 0.3f * axss; + //float bxsss = 0.65f; + //float axsss = (0.83f - bxsss) / 0.05f; + //float bx4s = 0.83f; + float ay = 0.4f; + float by = 0.4f; + for (int j = 0; j < cells; j++) { + double cellXMin = 0.; + double cellXMax = std::floor(cellW); + for (int i = 0; i < cells; i++) { + float R, G, B; + float XX, YY, ZZ; + float x = 1.1f * step * i - 0.1f;//Graph CIExy with -0.1 to 1 - must be enough + float y = 1.1f * step * j - 0.1;//Graph CIExy with -0.1 to 1 - must be enough + if(y > 0.5f) { + YY = 0.6f; + } else { + YY = ay * y + by; + } + XX = (x * YY) / y; + ZZ = ((1.f - x - y)* YY) / y; + float yr = xa * x + xb; + // float y0 = ax0 * x + bx0; + // float y1 = ax * x + bx; + float y2 = axs * x + bxs; + // float y3 = axss * x + bxss; + // float y4 = axsss * x + bxsss; + // float y5 = bx4s; + float y6 = 22.52f * x * x - 7.652f * x + 0.65f;//parabolic passing in x=0.17 y=0 - x=0.1 y =0.11 - x=0 y= 0.65 + float y3 = -1.266666f * x * x -0.170002f * x + 0.859686f;//other parabolic for green passing in x=0.35 y=0.65 - x=0.20 y=0.775 - x=0.1 y=0.83 + float y4 = -60.71428f * x * x + 6.821428f * x + 0.65f;//other parabolic x=0 y=0.65 - x=0.03 y=0.8 - x=0.07 y=0.83 + //small difference in the connection of the 2 last parabolic + + Color::xyz2srgb(XX, YY, ZZ, R, G, B); + //replace color by gray + if(y < yr && x > 0.17f) { + R = 0.7f; G = 0.7f; B = 0.7f; + } + /* + if(y < y0 && x <= 0.17f && x >= 0.08f) { + R = 0.7f; G = 0.7f; B = 0.7f; + } + if(y < y1 && x < 0.08f) { + R = 0.7f; G = 0.7f; B = 0.7f; + } + */ + if(y < y6 && y < 0.65f && x < 0.17f) { + R = 0.7f; G = 0.7f; B = 0.7f; + } + + if(y > y2 && x > 0.35f) {//0.35 + R = 0.7f; G = 0.7f; B = 0.7f; + } + if(y > y3 && x <= 0.35f && x > 0.06f) {//0.35 + R = 0.7f; G = 0.7f; B = 0.7f; + } + if(y > y4 && x <= 0.06f) { + R = 0.7f; G = 0.7f; B = 0.7f; + } + // if(y > y5 && x >= 0.07f && x <= 0.1f) { + // R = 0.7f; G = 0.7f; B = 0.7f; + // } + + cr->set_source_rgb(R , G , B); + + cr->rectangle( + cellXMin, + cellYMin, + cellXMax - cellXMin - (i == cells-1 ? 0. : 0.f * double(s)), + cellYMax - cellYMin - (j == cells-1 ? 0. : 0.f * double(s)) + ); + cellXMin = cellXMax; + cellXMax = std::floor(cellW * double(i+2) + 0.001); + cr->fill(); + } + cellYMin = cellYMax; + cellYMax = std::floor(cellH * double(j+2) + 0.001); + } + } // drawing the connection line cr->set_antialias(Cairo::ANTIALIAS_DEFAULT); - float loa, hia, lob, hib; + float loa, hia, lob, hib, grx, gry, whx, why; loa = .5 * (width + width * low_a); hia = .5 * (width + width * high_a); lob = .5 * (height + height * low_b); hib = .5 * (height + height * high_b); - cr->set_line_width(2. * double(s)); + grx = .5 * (width + width * gre_x); + gry = .5 * (height + height * gre_y); + whx = .5 * (width + width * whi_x); + why = .5 * (height + height * whi_y); + cr->set_line_width(1.5f * double(s)); cr->set_source_rgb(0.6, 0.6, 0.6); cr->move_to(loa, lob); cr->line_to(hia, hib); + if (ciexy_enabled) { + cr->move_to(loa, lob); + cr->line_to(grx, gry); + cr->move_to(grx, gry); + cr->line_to(hia, hib); + } cr->stroke(); + if (ciexy_enabled) { + //to convert from / to Ciexy <=> area + // pos_area = 1.81818 * (x + 0.1) - 1 + // x = 0.55 * (pos_area + 1) - 0.1 + cr->set_line_width(0.2f * double(s)); + cr->set_source_rgb(0.1, 0.1, 0.1); + //draw horiz and vertical lines + for(int i = 0; i < 22; i++) { + cr->move_to(0.04545 * i * width, 0.); + cr->line_to(0.04545 * i * width, height); + } + for(int i = 0; i < 22; i++) { + cr->move_to(0., 0.04545 * i * height ); + cr->line_to(width, 0.04545 * i * height); + } + + cr->stroke(); + //draw abciss and ordonate + cr->set_line_width(1.f * double(s)); + cr->set_source_rgb(0.4, 0., 0.); + cr->move_to(0.04545 * 2 * width, 0.); + cr->line_to(0.04545 * 2 * width, height); + cr->move_to(0., 0.04545 * 2 * height ); + cr->line_to(width, 0.04545 * 2 * height); + cr->stroke(); + + //draw 0 and 1 with circle and lines + cr->set_line_width(1.2f * double(s)); + cr->set_source_rgb(0.4, 0., 0.); + cr->arc(0.06 * width, 0.06 * height, 0.016 * width, 0, 2. * rtengine::RT_PI); + cr->stroke(); + cr->set_line_width(1.5f * double(s)); + cr->set_source_rgb(0.4, 0., 0.); + cr->move_to(0.985 * width, 0.08 * height); + cr->line_to(0.985 * width, 0.055 * height); + + cr->move_to(0.07 * width, 0.99 * height); + cr->line_to(0.07 * width, 0.965 * height); + + cr->stroke(); + + } + + // drawing points if (low_enabled) { - cr->set_source_rgb(0.1, 0.1, 0.1); + cr->set_source_rgb(0.1, 0.1, 0.1);//black for red in Ciexy if (litPoint == LOW) { cr->arc(loa, lob, 5 * s, 0, 2. * rtengine::RT_PI); } else { @@ -252,7 +435,23 @@ bool LabGridArea::on_draw(const ::Cairo::RefPtr &crf) cr->fill(); } - cr->set_source_rgb(0.9, 0.9, 0.9); + if (ciexy_enabled) { + cr->set_source_rgb(0.5, 0.5, 0.5);//gray for green + if (litPoint == GRE) { + cr->arc(grx, gry, 5 * s, 0, 2. * rtengine::RT_PI); + } else { + cr->arc(grx, gry, 3 * s, 0, 2. * rtengine::RT_PI); + } + cr->fill(); + } + + if (ciexy_enabled) {//White Point + cr->set_source_rgb(1., 1., 1.);//White + cr->arc(whx, why, 3 * s, 0, 2. * rtengine::RT_PI); + cr->fill(); + } + + cr->set_source_rgb(0.9, 0.9, 0.9);//white for blue en Ciexy if (litPoint == HIGH) { cr->arc(hia, hib, 5 * s, 0, 2. * rtengine::RT_PI); } else { @@ -269,10 +468,11 @@ bool LabGridArea::on_draw(const ::Cairo::RefPtr &crf) bool LabGridArea::on_button_press_event(GdkEventButton *event) { if (event->button == 1) { + if (!ciexy_enabled) { if (event->type == GDK_2BUTTON_PRESS) { switch (litPoint) { case NONE: - low_a = low_b = high_a = high_b = 0.f; + low_a = low_b = high_a = high_b = gre_x = gre_y = 0.f; break; case LOW: low_a = low_b = 0.f; @@ -280,6 +480,9 @@ bool LabGridArea::on_button_press_event(GdkEventButton *event) case HIGH: high_a = high_b = 0.f; break; + case GRE: + gre_x = gre_y = 0.f; + break; } edited = true; notifyListener(); @@ -287,6 +490,16 @@ bool LabGridArea::on_button_press_event(GdkEventButton *event) } else if (event->type == GDK_BUTTON_PRESS && litPoint != NONE) { isDragged = true; } + } else { + if (event->type == GDK_2BUTTON_PRESS) { + edited = true; + notifyListener(); + queue_draw(); + } else if (event->type == GDK_BUTTON_PRESS && litPoint != NONE) { + isDragged = true; + } + + } return false; } return true; @@ -328,6 +541,9 @@ bool LabGridArea::on_motion_notify_event(GdkEventMotion *event) } else if (litPoint == HIGH) { high_a = ma; high_b = mb; + } else if (litPoint == GRE) { + gre_x = ma; + gre_y = mb; } edited = true; grab_focus(); @@ -343,13 +559,18 @@ bool LabGridArea::on_motion_notify_event(GdkEventMotion *event) float lb = low_b; float ha = high_a; float hb = high_b; + float gx = gre_x; + float gy = gre_y; const float thrs = 0.05f; const float distlo = (la - ma) * (la - ma) + (lb - mb) * (lb - mb); const float disthi = (ha - ma) * (ha - ma) + (hb - mb) * (hb - mb); + const float distgxy = (gx - ma) * (gx - ma) + (gy - mb) * (gy - mb); if (low_enabled && distlo < thrs * thrs && distlo < disthi) { litPoint = LOW; } else if (disthi < thrs * thrs && disthi <= distlo) { litPoint = HIGH; + } else if (ciexy_enabled && distgxy < thrs * thrs && distgxy <= distlo) { + litPoint = GRE; } if ((oldLitPoint == NONE && litPoint != NONE) || (oldLitPoint != NONE && litPoint == NONE)) { queue_draw(); @@ -391,6 +612,10 @@ bool LabGridArea::lowEnabled() const return low_enabled; } +bool LabGridArea::ciexyEnabled() const +{ + return ciexy_enabled; +} void LabGridArea::setLowEnabled(bool yes) { @@ -400,17 +625,26 @@ void LabGridArea::setLowEnabled(bool yes) } } +void LabGridArea::setciexyEnabled(bool yes) +{ + if (ciexy_enabled != yes) { + ciexy_enabled = yes; + queue_draw(); + } +} //----------------------------------------------------------------------------- // LabGrid //----------------------------------------------------------------------------- -LabGrid::LabGrid(rtengine::ProcEvent evt, const Glib::ustring &msg, bool enable_low): - grid(evt, msg, enable_low) +LabGrid::LabGrid(rtengine::ProcEvent evt, const Glib::ustring &msg, bool enable_low, bool ciexy): + grid(evt, msg, enable_low, ciexy) { Gtk::Button *reset = Gtk::manage(new Gtk::Button()); reset->set_tooltip_markup(M("ADJUSTER_RESET_TO_DEFAULT")); - reset->add(*Gtk::manage(new RTImage("undo-small.png", "redo-small.png"))); + if(!ciexy) {//disabled for Cie xy + reset->add(*Gtk::manage(new RTImage("undo-small.png", "redo-small.png"))); + } reset->signal_button_release_event().connect(sigc::mem_fun(*this, &LabGrid::resetPressed)); setExpandAlignProperties(reset, false, false, Gtk::ALIGN_CENTER, Gtk::ALIGN_START); diff --git a/rtgui/labgrid.h b/rtgui/labgrid.h index 78179210c..0ed4cdf98 100644 --- a/rtgui/labgrid.h +++ b/rtgui/labgrid.h @@ -48,17 +48,25 @@ private: rtengine::ProcEvent evt; Glib::ustring evtMsg; - enum State { NONE, HIGH, LOW }; + enum State { NONE, HIGH, LOW, GRE}; State litPoint; double low_a; double high_a; double low_b; double high_b; - + double gre_x; + double gre_y; + double whi_x; + double whi_y; + double defaultLow_a; double defaultHigh_a; double defaultLow_b; double defaultHigh_b; + double defaultgre_x; + double defaultgre_y; + double defaultwhi_x; + double defaultwhi_y; ToolPanelListener *listener; bool edited; @@ -67,16 +75,17 @@ private: static const int inset = 5; bool low_enabled; + bool ciexy_enabled; bool notifyListener(); void getLitPoint(); public: - LabGridArea(rtengine::ProcEvent evt, const Glib::ustring &msg, bool enable_low=true); + LabGridArea(rtengine::ProcEvent evt, const Glib::ustring &msg, bool enable_low=true, bool ciexy=false); - void getParams(double &la, double &lb, double &ha, double &hb) const; - void setParams(double la, double lb, double ha, double hb, bool notify); - void setDefault (double la, double lb, double ha, double hb); + void getParams(double &la, double &lb, double &ha, double &hb, double &gx, double &gy, double &wx, double &wy) const; + void setParams(double la, double lb, double ha, double hb, double gx, double gy, double wx, double wy, bool notify); + void setDefault (double la, double lb, double ha, double hb, double gx, double gy, double wx, double wy); void setEdited(bool yes); bool getEdited() const; void reset(bool toInitial); @@ -84,6 +93,8 @@ public: bool lowEnabled() const; void setLowEnabled(bool yes); + bool ciexyEnabled() const; + void setciexyEnabled(bool yes); bool on_draw(const ::Cairo::RefPtr &crf) override; void on_style_updated () override; @@ -103,16 +114,18 @@ private: bool resetPressed(GdkEventButton *event); public: - LabGrid(rtengine::ProcEvent evt, const Glib::ustring &msg, bool enable_low=true); + LabGrid(rtengine::ProcEvent evt, const Glib::ustring &msg, bool enable_low=true, bool ciexy=false); - void getParams(double &la, double &lb, double &ha, double &hb) const { return grid.getParams(la, lb, ha, hb); } - void setParams(double la, double lb, double ha, double hb, bool notify) { grid.setParams(la, lb, ha, hb, notify); } - void setDefault (double la, double lb, double ha, double hb) { grid.setDefault(la, lb, ha, hb); } + void getParams(double &la, double &lb, double &ha, double &hb, double &gx, double &gy, double &wx, double &wy) const { return grid.getParams(la, lb, ha, hb, gx, gy, wx, wy); } + void setParams(double la, double lb, double ha, double hb, double gx, double gy, double wx, double wy, bool notify) { grid.setParams(la, lb, ha, hb, gx, gy, wx, wy, notify); } + void setDefault (double la, double lb, double ha, double hb, double gx, double gy, double wx, double wy) { grid.setDefault(la, lb, ha, hb, gx, gy, wx, wy); } void setEdited(bool yes) { grid.setEdited(yes); } bool getEdited() const { return grid.getEdited(); } void reset(bool toInitial) { grid.reset(toInitial); } void setListener(ToolPanelListener *l) { grid.setListener(l); } bool lowEnabled() const { return grid.lowEnabled(); } void setLowEnabled(bool yes) { grid.setLowEnabled(yes); } + bool ciexyEnabled() const { return grid.ciexyEnabled(); } + void setciexyEnabled(bool yes) { grid.setciexyEnabled(yes); } }; diff --git a/rtgui/lensgeomlistener.h b/rtgui/lensgeomlistener.h index b9979f9a2..7f437c170 100644 --- a/rtgui/lensgeomlistener.h +++ b/rtgui/lensgeomlistener.h @@ -35,5 +35,4 @@ public: virtual void autoCropRequested () = 0; virtual double autoDistorRequested () = 0; virtual void autoPerspRequested (bool corr_pitch, bool corr_yaw, double& rot, double& pitch, double& yaw, const std::vector *lines = nullptr) = 0; - virtual void updateTransformPreviewRequested (rtengine::ProcEvent event, bool render_perspective) = 0; }; diff --git a/rtgui/locallab.cc b/rtgui/locallab.cc index e1eca81c5..90312b22b 100644 --- a/rtgui/locallab.cc +++ b/rtgui/locallab.cc @@ -148,25 +148,11 @@ Locallab::Locallab(): expsettings(Gtk::manage(new ControlSpotPanel())), // Tool list widget - toollist(Gtk::manage(new LocallabToolList())), - - // Create Locallab tools - expcolor(Gtk::manage(new LocallabColor())), - expexpose(Gtk::manage(new LocallabExposure())), - expshadhigh(Gtk::manage(new LocallabShadow())), - expvibrance(Gtk::manage(new LocallabVibrance())), - expsoft(Gtk::manage(new LocallabSoft())), - expblur(Gtk::manage(new LocallabBlur())), - exptonemap(Gtk::manage(new LocallabTone())), - expreti(Gtk::manage(new LocallabRetinex())), - expsharp(Gtk::manage(new LocallabSharp())), - expcontrast(Gtk::manage(new LocallabContrast())), - expcbdl(Gtk::manage(new LocallabCBDL())), - explog(Gtk::manage(new LocallabLog())), - expmask(Gtk::manage(new LocallabMask())), + toollist(Gtk::manage(new LocallabToolList())) + // expcie(Gtk::manage(new Locallabcie())), // Other widgets - resetshowButton(Gtk::manage(new Gtk::Button(M("TP_LOCALLAB_RESETSHOW")))) + //resetshowButton(Gtk::manage(new Gtk::Button(M("TP_LOCALLAB_RESETSHOW")))) { set_orientation(Gtk::ORIENTATION_VERTICAL); @@ -190,19 +176,20 @@ Locallab::Locallab(): // Add Locallab tools to panel widget ToolVBox* const toolpanel = Gtk::manage(new ToolVBox()); toolpanel->set_name("LocallabToolPanel"); - addTool(toolpanel, expcolor); - addTool(toolpanel, expshadhigh); - addTool(toolpanel, expvibrance); - addTool(toolpanel, explog); - addTool(toolpanel, expexpose); - addTool(toolpanel, expmask); - addTool(toolpanel, expsoft); - addTool(toolpanel, expblur); - addTool(toolpanel, exptonemap); - addTool(toolpanel, expreti); - addTool(toolpanel, expsharp); - addTool(toolpanel, expcontrast); - addTool(toolpanel, expcbdl); + addTool(toolpanel, &expcolor); + addTool(toolpanel, &expshadhigh); + addTool(toolpanel, &expvibrance); + addTool(toolpanel, &explog); + addTool(toolpanel, &expcie); + addTool(toolpanel, &expexpose); + addTool(toolpanel, &expmask); + addTool(toolpanel, &expsoft); + addTool(toolpanel, &expblur); + addTool(toolpanel, &exptonemap); + addTool(toolpanel, &expreti); + addTool(toolpanel, &expsharp); + addTool(toolpanel, &expcontrast); + addTool(toolpanel, &expcbdl); panel->pack_start(*toolpanel, false, false); // Add separator @@ -210,7 +197,7 @@ Locallab::Locallab(): // panel->pack_start(*separator2, false, false); // Add mask reset button to panel widget - resetshowButton->signal_pressed().connect(sigc::mem_fun(*this, &Locallab::resetshowPressed)); + //resetshowButton->signal_pressed().connect(sigc::mem_fun(*this, &Locallab::resetshowPressed)); // panel->pack_start(*resetshowButton); // Add panel widget to Locallab GUI @@ -290,6 +277,18 @@ void Locallab::read(const rtengine::procparams::ProcParams* pp, const ParamsEdit } else { r->shapeMethod = 3; } + + if (pp->locallab.spots.at(i).avoidgamutMethod == "NONE") { + r->avoidgamutMethod = 0; + } else if (pp->locallab.spots.at(i).avoidgamutMethod == "LAB") { + r->avoidgamutMethod = 1; + } else if (pp->locallab.spots.at(i).avoidgamutMethod == "XYZ") { + r->avoidgamutMethod= 2; + } else if (pp->locallab.spots.at(i).avoidgamutMethod == "XYZREL") { + r->avoidgamutMethod= 3; + } else if (pp->locallab.spots.at(i).avoidgamutMethod == "MUNS") { + r->avoidgamutMethod= 4; + } r->locX = pp->locallab.spots.at(i).loc.at(0); r->locXL = pp->locallab.spots.at(i).loc.at(1); @@ -319,16 +318,15 @@ void Locallab::read(const rtengine::procparams::ProcParams* pp, const ParamsEdit r->avoidrad = pp->locallab.spots.at(i).avoidrad; r->hishow = pp->locallab.spots.at(i).hishow; r->activ = pp->locallab.spots.at(i).activ; - r->avoid = pp->locallab.spots.at(i).avoid; - r->avoidmun = pp->locallab.spots.at(i).avoidmun; r->blwh = pp->locallab.spots.at(i).blwh; r->recurs = pp->locallab.spots.at(i).recurs; r->laplac = true; //pp->locallab.spots.at(i).laplac; r->deltae = pp->locallab.spots.at(i).deltae; r->scopemask = pp->locallab.spots.at(i).scopemask; + r->denoichmask = pp->locallab.spots.at(i).denoichmask; r->shortc = pp->locallab.spots.at(i).shortc; r->lumask = pp->locallab.spots.at(i).lumask; - r->savrest = pp->locallab.spots.at(i).savrest; + //r->savrest = pp->locallab.spots.at(i).savrest; if (pp->locallab.spots.at(i).complexMethod == "sim") { r->complexMethod = 0; @@ -356,6 +354,7 @@ void Locallab::read(const rtengine::procparams::ProcParams* pp, const ParamsEdit // Select active spot if (pp->locallab.spots.size() > 0) { expsettings->setSelectedSpot(pp->locallab.selspot); + spotName = pp->locallab.spots.at(pp->locallab.selspot).name; } // Update each Locallab tools GUI @@ -452,6 +451,18 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited r->shapeMethod = 3; } + if (newSpot->avoidgamutMethod == "NONE") { + r->avoidgamutMethod = 0; + } else if (newSpot->avoidgamutMethod == "LAB") { + r->avoidgamutMethod = 1; + } else if (newSpot->avoidgamutMethod == "XYZ") { + r->avoidgamutMethod = 2; + } else if (newSpot->avoidgamutMethod == "XYZREL") { + r->avoidgamutMethod = 3; + } else if (newSpot->avoidgamutMethod == "MUNS") { + r->avoidgamutMethod = 4; + } + // Calculate spot size and center position according to preview area if (provider && !batchMode) { provider->getImageSize(imW, imH); @@ -499,16 +510,15 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited r->avoidrad = newSpot->avoidrad; r->hishow = newSpot->hishow; r->activ = newSpot->activ; - r->avoid = newSpot->avoid; - r->avoidmun = newSpot->avoidmun; r->blwh = newSpot->blwh; r->recurs = newSpot->recurs; r->laplac = newSpot->laplac; r->deltae = newSpot->deltae; r->scopemask = newSpot->scopemask; + r->denoichmask = newSpot->denoichmask; r->shortc = newSpot->shortc; r->lumask = newSpot->lumask; - r->savrest = newSpot->savrest; + //r->savrest = newSpot->savrest; if (newSpot->complexMethod == "sim") { r->complexMethod = 0; @@ -542,6 +552,8 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited // Update Locallab tools GUI with new created spot disableListener(); + spotName = pp->locallab.spots.at(pp->locallab.selspot).name; + for (auto tool : locallabTools) { tool->read(pp, pedited); } @@ -598,6 +610,10 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited // Update Locallab tools GUI with selected spot disableListener(); + if (pp->locallab.spots.size() > 0) { + spotName = pp->locallab.spots.at(pp->locallab.selspot).name; + } + for (auto tool : locallabTools) { tool->read(pp, pedited); } @@ -638,6 +654,10 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited expsettings->setSelectedSpot(pp->locallab.selspot); disableListener(); + if (pp->locallab.spots.size() > 0) { + spotName = pp->locallab.spots.at(pp->locallab.selspot).name; + } + for (auto tool : locallabTools) { tool->read(pp, pedited); } @@ -655,18 +675,19 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited toollist->addToolRow(tool->getToolName(), toolNb); } } - +/* // Update locallab tools mask background if (pp->locallab.selspot < (int)maskBackRef.size()) { const double huer = maskBackRef.at(pp->locallab.selspot).huer; const double lumar = maskBackRef.at(pp->locallab.selspot).lumar; const double chromar = maskBackRef.at(pp->locallab.selspot).chromar; + const float fab = maskBackRef.at(pp->locallab.selspot).fab; for (auto tool : locallabTools) { - tool->refChanged(huer, lumar, chromar); + tool->refChanged(huer, lumar, chromar, fab); } } - +*/ // Update Locallab Retinex tool min/max if (pp->locallab.selspot < (int)retiMinMax.size()) { const double cdma = retiMinMax.at(pp->locallab.selspot).cdma; @@ -678,7 +699,7 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited const double Tmin = retiMinMax.at(pp->locallab.selspot).Tmin; const double Tmax = retiMinMax.at(pp->locallab.selspot).Tmax; - expreti->updateMinMax(cdma, cdmin, mini, maxi, Tmean, Tsigma, Tmin, Tmax); + expreti.updateMinMax(cdma, cdmin, mini, maxi, Tmean, Tsigma, Tmin, Tmax); } // Update default values according to selected spot @@ -740,6 +761,19 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited } else { r->shapeMethod = 3; } + //printf("n0=%f n1=%f n2=%f n3=%f\n", (double) newSpot->loc.at(0), (double) newSpot->loc.at(1), (double) newSpot->loc.at(2), (double) newSpot->loc.at(3)); + if (newSpot->avoidgamutMethod == "NONE") { + r->avoidgamutMethod = 0; + } else if (newSpot->avoidgamutMethod == "LAB") { + r->avoidgamutMethod = 1; + } else if (newSpot->avoidgamutMethod== "XYZ") { + r->avoidgamutMethod = 2; + } else if (newSpot->avoidgamutMethod== "XYZREL") { + r->avoidgamutMethod = 3; + } else if (newSpot->avoidgamutMethod== "MUNS") { + r->avoidgamutMethod = 4; + } + //printf("n0=%f n1=%f n2=%f n3=%f\n", (double) newSpot->loc.at(0), (double) newSpot->loc.at(1), (double) newSpot->loc.at(2), (double) newSpot->loc.at(3)); // Calculate spot size and center position according to preview area if (provider && !batchMode) { @@ -752,17 +786,27 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited newSpot->centerX = rtengine::LIM(int(int((double)prX - (double)imW / 2.) * 2000. / (double)imW), -1000, 1000); newSpot->centerY = rtengine::LIM(int(int((double)prY - (double)imH / 2.) * 2000. / (double)imH), -1000, 1000); // Ellipse/rectangle size computation + /* newSpot->loc.at(0) = rtengine::LIM(int(((double)prW / 2. - 5.) * 2000. / (double)imW), 2, newSpot->loc.at(0)); newSpot->loc.at(1) = rtengine::LIM(int(((double)prW / 2. - 5.) * 2000. / (double)imW), 2, newSpot->loc.at(1)); newSpot->loc.at(2) = rtengine::LIM(int(((double)prH / 2. - 5.) * 2000. / (double)imH), 2, newSpot->loc.at(2)); newSpot->loc.at(3) = rtengine::LIM(int(((double)prH / 2. - 5.) * 2000. / (double)imH), 2, newSpot->loc.at(3)); + */ } } - r->locX = newSpot->loc.at(0); - r->locXL = newSpot->loc.at(1); - r->locY = newSpot->loc.at(2); - r->locYT = newSpot->loc.at(3); + if(r->spotMethod != 2) { + r->locX = newSpot->loc.at(0); + r->locXL = newSpot->loc.at(1); + r->locY = newSpot->loc.at(2); + r->locYT = newSpot->loc.at(3); + } else { + r->locX = 3000.; + r->locXL = 3000.; + r->locY = 3000.; + r->locYT = 3000.; + } + r->centerX = newSpot->centerX; r->centerY = newSpot->centerY; @@ -787,16 +831,15 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited r->colorscope = newSpot->colorscope; r->avoidrad = newSpot->avoidrad; r->activ = newSpot->activ; - r->avoid = newSpot->avoid; - r->avoidmun = newSpot->avoidmun; r->blwh = newSpot->blwh; r->recurs = newSpot->recurs; r->laplac = newSpot->laplac; r->deltae = newSpot->deltae; r->scopemask = newSpot->scopemask; + r->denoichmask = newSpot->denoichmask; r->shortc = newSpot->shortc; r->lumask = newSpot->lumask; - r->savrest = newSpot->savrest; + //r->savrest = newSpot->savrest; if (newSpot->complexMethod == "sim") { r->complexMethod = 0; @@ -831,6 +874,8 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited // Update Locallab tools GUI with new created spot disableListener(); + spotName = pp->locallab.spots.at(pp->locallab.selspot).name; + for (auto tool : locallabTools) { tool->read(pp, pedited); } @@ -912,6 +957,18 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited pp->locallab.spots.at(pp->locallab.selspot).shapeMethod = "SYMSL"; } + if (r->avoidgamutMethod == 0) { + pp->locallab.spots.at(pp->locallab.selspot).avoidgamutMethod = "NONE"; + } else if (r->avoidgamutMethod == 1) { + pp->locallab.spots.at(pp->locallab.selspot).avoidgamutMethod = "LAB"; + } else if (r->avoidgamutMethod == 2) { + pp->locallab.spots.at(pp->locallab.selspot).avoidgamutMethod = "XYZ"; + } else if (r->avoidgamutMethod == 3) { + pp->locallab.spots.at(pp->locallab.selspot).avoidgamutMethod = "XYZREL"; + } else if (r->avoidgamutMethod == 4) { + pp->locallab.spots.at(pp->locallab.selspot).avoidgamutMethod = "MUNS"; + } + pp->locallab.spots.at(pp->locallab.selspot).loc.at(0) = r->locX; pp->locallab.spots.at(pp->locallab.selspot).loc.at(1) = r->locXL; pp->locallab.spots.at(pp->locallab.selspot).loc.at(2) = r->locY; @@ -940,16 +997,15 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited pp->locallab.spots.at(pp->locallab.selspot).avoidrad = r->avoidrad; pp->locallab.spots.at(pp->locallab.selspot).hishow = r->hishow; pp->locallab.spots.at(pp->locallab.selspot).activ = r->activ; - pp->locallab.spots.at(pp->locallab.selspot).avoid = r->avoid; - pp->locallab.spots.at(pp->locallab.selspot).avoidmun = r->avoidmun; pp->locallab.spots.at(pp->locallab.selspot).blwh = r->blwh; pp->locallab.spots.at(pp->locallab.selspot).recurs = r->recurs; pp->locallab.spots.at(pp->locallab.selspot).laplac = r->laplac; pp->locallab.spots.at(pp->locallab.selspot).deltae = r->deltae; pp->locallab.spots.at(pp->locallab.selspot).scopemask = r->scopemask; + pp->locallab.spots.at(pp->locallab.selspot).denoichmask = r->denoichmask; pp->locallab.spots.at(pp->locallab.selspot).shortc = r->shortc; pp->locallab.spots.at(pp->locallab.selspot).lumask = r->lumask; - pp->locallab.spots.at(pp->locallab.selspot).savrest = r->savrest; + //pp->locallab.spots.at(pp->locallab.selspot).savrest = r->savrest; if (r->complexMethod == 0) { pp->locallab.spots.at(pp->locallab.selspot).complexMethod = "sim"; @@ -1027,21 +1083,37 @@ void Locallab::minmaxChanged(const std::vector &minmax, int const double cdmin = retiMinMax.at(selspot).cdmin; const double mini = retiMinMax.at(selspot).mini; const double maxi = retiMinMax.at(selspot).maxi; - const double Tmean = retiMinMax.at(selspot).Tmean; + const double Tmean = retiMinMax.at(selspot).Tmean; const double Tsigma = retiMinMax.at(selspot).Tsigma; const double Tmin = retiMinMax.at(selspot).Tmin; const double Tmax = retiMinMax.at(selspot).Tmax; - expreti->updateMinMax(cdma, cdmin, mini, maxi, Tmean, Tsigma, Tmin, Tmax); + expreti.updateMinMax(cdma, cdmin, mini, maxi, Tmean, Tsigma, Tmin, Tmax); } } -void Locallab::logencodChanged(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg) +void Locallab::logencodChanged(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg, const bool autocomput, const bool autocie, const float jz1) { - // Update Locallab Log Encoding accordingly - explog->updateAutocompute(blackev, whiteev, sourceg, sourceab, targetg); -} + // Update Locallab Log Encoding and Ciecam accordingly + if(autocomput) { + explog.updateAutocompute(blackev, whiteev, sourceg, sourceab, targetg, jz1); + } + if(autocie) { + expcie.updateAutocompute(blackev, whiteev, sourceg, sourceab, targetg, jz1); + } +} +void Locallab::refChanged2(float *huerefp, float *chromarefp, float *lumarefp, float *fabrefp, int selspot) +{ + const double huer = huerefp[selspot]; + const double lumar = lumarefp[selspot]; + const double chromar = chromarefp[selspot]; + const float fab = fabrefp[selspot]; + for (auto tool : locallabTools) { + tool->refChanged(huer, lumar, chromar, fab); + } +} +/* void Locallab::refChanged(const std::vector &ref, int selspot) { // Saving transmitted mask background data @@ -1052,13 +1124,14 @@ void Locallab::refChanged(const std::vector &ref, int selspot) const double huer = maskBackRef.at(selspot).huer; const double lumar = maskBackRef.at(selspot).lumar; const double chromar = maskBackRef.at(selspot).chromar; + const float fab = maskBackRef.at(selspot).fab; for (auto tool : locallabTools) { - tool->refChanged(huer, lumar, chromar); + tool->refChanged(huer, lumar, chromar, fab); } } } - +*/ void Locallab::resetMaskVisibility() { // Indicate to spot control panel that no more mask preview is active @@ -1079,29 +1152,29 @@ Locallab::llMaskVisibility Locallab::getMaskVisibility() const const bool prevDeltaE = expsettings->isDeltaEPrevActive(); // Get mask preview from Locallab tools - int colorMask, colorMaskinv, expMask, expMaskinv, shMask, shMaskinv, vibMask, softMask, blMask, tmMask, retiMask, sharMask, lcMask, cbMask, logMask, maskMask; + int colorMask, colorMaskinv, expMask, expMaskinv, shMask, shMaskinv, vibMask, softMask, blMask, tmMask, retiMask, sharMask, lcMask, cbMask, logMask, maskMask, cieMask; for (auto tool : locallabTools) { - tool->getMaskView(colorMask, colorMaskinv, expMask, expMaskinv, shMask, shMaskinv, vibMask, softMask, blMask, tmMask, retiMask, sharMask, lcMask, cbMask, logMask, maskMask); + tool->getMaskView(colorMask, colorMaskinv, expMask, expMaskinv, shMask, shMaskinv, vibMask, softMask, blMask, tmMask, retiMask, sharMask, lcMask, cbMask, logMask, maskMask, cieMask); } // Indicate to spot control panel if one mask preview is active const bool isMaskActive = (colorMask == 0) || (colorMaskinv == 0) || (expMask == 0) || (expMaskinv == 0) || (shMask == 0) || (shMaskinv == 0) || (vibMask == 0) || (softMask == 0) || (blMask == 0) || (tmMask == 0) || (retiMask == 0) || (sharMask == 0) || - (lcMask == 0) || (cbMask == 0) || (logMask == 0) || (maskMask == 0); + (lcMask == 0) || (cbMask == 0) || (logMask == 0) || (maskMask == 0) || (cieMask == 0); expsettings->setMaskPrevActive(isMaskActive); - return {prevDeltaE, colorMask, colorMaskinv, expMask, expMaskinv, shMask, shMaskinv, vibMask, softMask, blMask, tmMask, retiMask, sharMask, lcMask, cbMask, logMask, maskMask}; + return {prevDeltaE, colorMask, colorMaskinv, expMask, expMaskinv, shMask, shMaskinv, vibMask, softMask, blMask, tmMask, retiMask, sharMask, lcMask, cbMask, logMask, maskMask, cieMask}; } -void Locallab::resetshowPressed() -{ - // Raise event to reset mask - if (listener) { - listener->panelChanged(Evlocallabshowreset, ""); - } -} +//void Locallab::resetshowPressed() +//{ +// // Raise event to reset mask +// if (listener) { +// listener->panelChanged(Evlocallabshowreset, ""); +// } +//} void Locallab::setEditProvider(EditDataProvider * provider) { @@ -1169,12 +1242,18 @@ void Locallab::updateShowtooltipVisibility(bool showtooltip) } } +void Locallab::spotNameChanged(const Glib::ustring &newName) +{ + spotName = newName; +} + void Locallab::addTool(Gtk::Box* where, LocallabTool* tool) { tool->getExpander()->setLevel(3); where->pack_start(*tool->getExpander(), false, false); locallabTools.push_back(tool); tool->setLocallabToolListener(this); + tool->setSpotNameSource(&spotName); } void Locallab::setParamEditable(bool cond) diff --git a/rtgui/locallab.h b/rtgui/locallab.h index 1c3c06167..60c186c55 100644 --- a/rtgui/locallab.h +++ b/rtgui/locallab.h @@ -103,19 +103,20 @@ private: LocallabToolList* const toollist; // Locallab tool widgets - LocallabColor* const expcolor; - LocallabExposure* const expexpose; - LocallabShadow* const expshadhigh; - LocallabVibrance* const expvibrance; - LocallabSoft* const expsoft; - LocallabBlur* const expblur; - LocallabTone* const exptonemap; - LocallabRetinex* const expreti; - LocallabSharp* const expsharp; - LocallabContrast* const expcontrast; - LocallabCBDL* const expcbdl; - LocallabLog* const explog; - LocallabMask* const expmask; + LocallabColor expcolor; + LocallabExposure expexpose; + LocallabShadow expshadhigh; + LocallabVibrance expvibrance; + LocallabSoft expsoft; + LocallabBlur expblur; + LocallabTone exptonemap; + LocallabRetinex expreti; + LocallabSharp expsharp; + LocallabContrast expcontrast; + LocallabCBDL expcbdl; + LocallabLog explog; + LocallabMask expmask; + Locallabcie expcie; std::vector locallabTools; @@ -126,7 +127,9 @@ private: std::vector maskBackRef; // Other widgets - Gtk::Button* const resetshowButton; + //Gtk::Button* const resetshowButton; + + Glib::ustring spotName; public: Locallab(); @@ -141,10 +144,11 @@ public: void minmaxChanged(const std::vector &minmax, int selspot) override; // Locallab Log Encoding autocompute function - void logencodChanged(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg) override; + void logencodChanged(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg, const bool autocomput, const bool autocie, const float jz1) override; // Locallab tools mask background management function - void refChanged(const std::vector &ref, int selspot) override; +// void refChanged(const std::vector &ref, int selspot) override; + void refChanged2(float *huerefp, float *chromarefp, float *lumarefp, float *fabrefp, int selspot)override; // Mask visibility management functions struct llMaskVisibility { @@ -165,13 +169,14 @@ public: int cbMask; int logMask; int maskMask; + int cieMask; }; void resetMaskVisibility(); llMaskVisibility getMaskVisibility() const; // Other widgets event functions - void resetshowPressed(); + //void resetshowPressed(); // EditProvider management function void setEditProvider(EditDataProvider* provider) override; @@ -200,6 +205,7 @@ private: // ControlSpotListener function void resetToolMaskView() override; + void spotNameChanged(const Glib::ustring &newName) override; // LocallabToolListener function void resetOtherMaskView(LocallabTool* current) override; diff --git a/rtgui/locallabtools.cc b/rtgui/locallabtools.cc index 2edb7db82..c59dd233a 100644 --- a/rtgui/locallabtools.cc +++ b/rtgui/locallabtools.cc @@ -184,6 +184,14 @@ LocallabTool::~LocallabTool() idle_register.destroy(); } +Glib::ustring LocallabTool::getSpotName() const +{ + if (spotNameSource) { + return *spotNameSource; + } + return ""; +} + void LocallabTool::addLocallabTool(bool raiseEvent) { exp->set_visible(true); @@ -218,7 +226,7 @@ void LocallabTool::addLocallabTool(bool raiseEvent) if (listener) { listener->panelChanged(EvlocallabToolAdded, - toolName + " (" + escapeHtmlChars(spotName) + ")"); + toolName + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -242,13 +250,13 @@ void LocallabTool::removeLocallabTool(bool raiseEvent) // Raise event if required refreshing image if (raiseEvent && listener) { listener->panelChanged(EvlocallabToolRemovedWithRefresh, - toolName + " (" + escapeHtmlChars(spotName) + ")"); + toolName + " (" + escapeHtmlChars(getSpotName()) + ")"); } } else { // Raise event if required without refreshing image if (raiseEvent && listener) { listener->panelChanged(EvlocallabToolRemovedWithoutRefresh, - toolName + " (" + escapeHtmlChars(spotName) + ")"); + toolName + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -258,7 +266,7 @@ bool LocallabTool::isLocallabToolAdded() return exp->get_visible(); } -void LocallabTool::refChanged(const double huer, const double lumar, const double chromar) +void LocallabTool::refChanged(const double huer, const double lumar, const double chromar, const float fab) { // Hue reference normalization (between 0 and 1) double normHuer = huer; @@ -271,14 +279,25 @@ void LocallabTool::refChanged(const double huer, const double lumar, const doubl normHuer = h; + double normHuerjz = huer; + + float hz = Color::huejz_to_huehsv2(normHuerjz); + + if (hz > 1.f) { + hz -= 1.f; + } + normHuerjz = hz; + // Luma reference normalization (between 0 and 1) const double normLumar = lumar / 100.f; // Chroma reference normalization (between 0 and 1) - const double normChromar = chromar / 137.4f; + const double corfap = (65535.) / (double) fab; + //printf("FAB=%f corfap=%f chromar=%f chroret=%f\n", (double) fab, corfap, chromar, (double) corfap * (chromar / 195.f)); + const double normChromar = LIM01(corfap * (chromar / 195.f));//195 a little more than 128 * 1.414 = 181 // Update mask curve backgrounds - updateMaskBackground(normChromar, normLumar, normHuer); + updateMaskBackground(normChromar, normLumar, normHuer, normHuerjz); } void LocallabTool::colorForValue(double valX, double valY, enum ColorCaller::ElemType elemType, int callerId, ColorCaller* caller) @@ -387,7 +406,7 @@ void LocallabTool::complexityModeChanged() if (listener && isLocActivated) { listener->panelChanged(EvlocallabcomplexityWithRefresh, - M("TP_LOCALLAB_MODE_SIMPLE") + " (" + escapeHtmlChars(spotName) + ")"); + M("TP_LOCALLAB_MODE_SIMPLE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } else if (complexity->get_active_row_number() == Normal) { // New selected mode is Normal one // Convert tool widget parameters @@ -397,7 +416,7 @@ void LocallabTool::complexityModeChanged() if (listener && isLocActivated) { listener->panelChanged(EvlocallabcomplexityWithRefresh, - M("TP_LOCALLAB_MODE_NORMAL") + " (" + escapeHtmlChars(spotName) + ")"); + M("TP_LOCALLAB_MODE_NORMAL") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } else if (complexity->get_active_row_number() == Expert) { // New selected mode is Expert one // Update GUI based on new mode @@ -405,7 +424,7 @@ void LocallabTool::complexityModeChanged() if (listener && isLocActivated) { listener->panelChanged(EvlocallabcomplexityWithRefresh, - M("TP_LOCALLAB_MODE_EXPERT") + " (" + escapeHtmlChars(spotName) + ")"); + M("TP_LOCALLAB_MODE_EXPERT") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -416,12 +435,14 @@ LocallabColor::LocallabColor(): // Color & Light specific widgets lumFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_LUMFRA")))), + reparcol(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGREPART"), 1.0, 100.0, 1., 100.0))), + gamc(Gtk::manage(new Adjuster(M("TP_LOCALLAB_GAMC"), 0.5, 3.0, 0.05, 1.))), lightness(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LIGHTNESS"), -100, 500, 1, 0))), contrast(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CONTRAST"), -100, 100, 1, 0))), chroma(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CHROMA"), -100, 150, 1, 0))), curvactiv(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_CURV")))), gridFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_LABGRID")))), - labgrid(Gtk::manage(new LabGrid(EvLocallabLabGridValue, M("TP_LOCALLAB_LABGRID_VALUES")))), + labgrid(Gtk::manage(new LabGrid(EvLocallabLabGridValue, M("TP_LOCALLAB_LABGRID_VALUES"), true, false))), gridMethod(Gtk::manage(new MyComboBoxText())), strengthgrid(Gtk::manage(new Adjuster(M("TP_LOCALLAB_STRGRID"), 0, 100, 1, 30))), sensi(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 15))), @@ -431,7 +452,7 @@ LocallabColor::LocallabColor(): exprecov(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_DENOI2_EXP")))), maskusablec(Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_MASKUSABLE")))), maskunusablec(Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_MASKUNUSABLE")))), - recothresc(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKRECOTHRES"), 1., 2., 0.01, 1.))), + recothresc(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKRECOTHRES"), 0., 2., 0.01, 1.))), lowthresc(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKLCTHRLOW"), 1., 80., 0.5, 12.))), higthresc(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKLCTHR"), 20., 99., 0.5, 85.))), decayc(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKDDECAY"), 0.5, 4., 0.1, 2.))), @@ -525,6 +546,10 @@ LocallabColor::LocallabColor(): lightness->setAdjusterListener(this); + gamc->setAdjusterListener(this); + + reparcol->setAdjusterListener(this); + contrast->setAdjusterListener(this); chroma->setAdjusterListener(this); @@ -787,10 +812,13 @@ LocallabColor::LocallabColor(): csThresholdcol->setAdjusterListener(this); // Add Color & Light specific widgets to GUI + pack_start(*reparcol); + pack_start(*invers); ToolParamBlock* const lumBox = Gtk::manage(new ToolParamBlock()); lumBox->pack_start(*lightness); lumBox->pack_start(*contrast); lumBox->pack_start(*chroma); + lumBox->pack_start(*gamc); lumFrame->add(*lumBox); pack_start(*lumFrame); Gtk::Frame* const superFrame = Gtk::manage(new Gtk::Frame()); @@ -809,7 +837,7 @@ LocallabColor::LocallabColor(): pack_start(*structcol); pack_start(*blurcolde); pack_start(*softradiuscol); - pack_start(*invers); +// pack_start(*invers); ToolParamBlock* const colBox3 = Gtk::manage(new ToolParamBlock()); colBox3->pack_start(*maskusablec, Gtk::PACK_SHRINK, 0); colBox3->pack_start(*maskunusablec, Gtk::PACK_SHRINK, 0); @@ -946,7 +974,7 @@ void LocallabColor::resetMaskView() showmaskcolMethodConninv.block(false); } -void LocallabColor::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) +void LocallabColor::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) { colorMask = showmaskcolMethod->get_active_row_number(); colorMaskinv = showmaskcolMethodinv->get_active_row_number(); @@ -956,7 +984,10 @@ void LocallabColor::updateAdviceTooltips(const bool showTooltips) { if (showTooltips) { lumFrame->set_tooltip_text(M("TP_LOCALLAB_EXPCOLOR_TOOLTIP")); + recothresc->set_tooltip_text(M("TP_LOCALLAB_RECOTHRES02_TOOLTIP")); + gamc->set_tooltip_text(M("TP_LOCALLAB_GAMCOL_TOOLTIP")); lightness->set_tooltip_text(M("TP_LOCALLAB_LIGHTN_TOOLTIP")); + reparcol->set_tooltip_text(M("TP_LOCALLAB_REPARCOL_TOOLTIP")); gridMethod->set_tooltip_text(M("TP_LOCALLAB_GRIDMETH_TOOLTIP")); strengthgrid->set_tooltip_text(M("TP_LOCALLAB_STRENGRID_TOOLTIP")); blurcolde->set_tooltip_text(M("TP_LOCALLAB_BLURCOLDE_TOOLTIP")); @@ -1007,7 +1038,10 @@ void LocallabColor::updateAdviceTooltips(const bool showTooltips) higthresc->set_tooltip_text(M("TP_LOCALLAB_MASKHIGTHRESC_TOOLTIP")); } else { lumFrame->set_tooltip_text(""); + recothresc->set_tooltip_text(""); lightness->set_tooltip_text(""); + gamc->set_tooltip_text(""); + reparcol->set_tooltip_text(""); gridMethod->set_tooltip_text(""); strengthgrid->set_tooltip_text(""); blurcolde->set_tooltip_text(""); @@ -1117,13 +1151,13 @@ void LocallabColor::read(const rtengine::procparams::ProcParams* pp, const Param if (index < (int)pp->locallab.spots.size()) { const LocallabParams::LocallabSpot& spot = pp->locallab.spots.at(index); - spotName = spot.name; // Update spot name according to selected spot - exp->set_visible(spot.visicolor); exp->setEnabled(spot.expcolor); complexity->set_active(spot.complexcolor); lightness->setValue(spot.lightness); + gamc->setValue(spot.gamc); + reparcol->setValue(spot.reparcol); contrast->setValue(spot.contrast); chroma->setValue(spot.chroma); curvactiv->set_active(spot.curvactiv); @@ -1131,8 +1165,8 @@ void LocallabColor::read(const rtengine::procparams::ProcParams* pp, const Param spot.labgridBLow / LocallabParams::LABGRIDL_CORR_MAX, spot.labgridAHigh / LocallabParams::LABGRIDL_CORR_MAX, spot.labgridBHigh / LocallabParams::LABGRIDL_CORR_MAX, - false); - + 0, 0, 0, 0, false); + // printf("labgridlow=%f \n", spot.labgridALow); if (spot.gridMethod == "one") { gridMethod->set_active(0); } else if (spot.gridMethod == "two") { @@ -1244,7 +1278,7 @@ void LocallabColor::read(const rtengine::procparams::ProcParams* pp, const Param labgridmerg->setParams(0, 0, spot.labgridAHighmerg / LocallabParams::LABGRIDL_CORR_MAX, spot.labgridBHighmerg / LocallabParams::LABGRIDL_CORR_MAX, - false); + 0, 0, 0, 0, false); merlucol->setValue(spot.merlucol); enaColorMask->set_active(spot.enaColorMask); CCmaskshape->setCurve(spot.CCmaskcurve); @@ -1298,13 +1332,17 @@ void LocallabColor::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pe spot.complexcolor = complexity->get_active_row_number(); spot.lightness = lightness->getIntValue(); + spot.gamc = gamc->getValue(); + spot.reparcol = reparcol->getValue(); spot.contrast = contrast->getIntValue(); spot.chroma = chroma->getIntValue(); spot.curvactiv = curvactiv->get_active(); + double zerox = 0.; + double zeroy = 0.; labgrid->getParams(spot.labgridALow, spot.labgridBLow, spot.labgridAHigh, - spot.labgridBHigh); + spot.labgridBHigh, zerox, zeroy, zerox, zeroy); spot.labgridALow *= LocallabParams::LABGRIDL_CORR_MAX; spot.labgridAHigh *= LocallabParams::LABGRIDL_CORR_MAX; spot.labgridBLow *= LocallabParams::LABGRIDL_CORR_MAX; @@ -1418,10 +1456,12 @@ void LocallabColor::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pe spot.mercol = mercol->getValue(); spot.opacol = opacol->getValue(); spot.conthrcol = conthrcol->getValue(); + double zerox1 = 0.; + double zeroy1 = 0.; labgridmerg->getParams(spot.labgridALowmerg, spot.labgridBLowmerg, spot.labgridAHighmerg, - spot.labgridBHighmerg); + spot.labgridBHighmerg, zerox1, zeroy1, zerox1, zeroy1); spot.labgridALowmerg *= LocallabParams::LABGRIDL_CORR_MAX; spot.labgridAHighmerg *= LocallabParams::LABGRIDL_CORR_MAX; spot.labgridBLowmerg *= LocallabParams::LABGRIDL_CORR_MAX; @@ -1461,12 +1501,14 @@ void LocallabColor::setDefaults(const rtengine::procparams::ProcParams* defParam // Set default value for adjuster, labgrid and threshold adjuster widgets lightness->setDefault((double)defSpot.lightness); + gamc->setDefault((double)defSpot.gamc); + reparcol->setDefault(defSpot.reparcol); contrast->setDefault((double)defSpot.contrast); chroma->setDefault((double)defSpot.chroma); labgrid->setDefault(defSpot.labgridALow / LocallabParams::LABGRIDL_CORR_MAX, defSpot.labgridBLow / LocallabParams::LABGRIDL_CORR_MAX, defSpot.labgridAHigh / LocallabParams::LABGRIDL_CORR_MAX, - defSpot.labgridBHigh / LocallabParams::LABGRIDL_CORR_MAX); + defSpot.labgridBHigh / LocallabParams::LABGRIDL_CORR_MAX, 0, 0, 0, 0); strengthgrid->setDefault((double) defSpot.strengthgrid); sensi->setDefault((double)defSpot.sensi); structcol->setDefault((double)defSpot.structcol); @@ -1482,7 +1524,7 @@ void LocallabColor::setDefaults(const rtengine::procparams::ProcParams* defParam labgridmerg->setDefault(defSpot.labgridALowmerg / LocallabParams::LABGRIDL_CORR_MAX, defSpot.labgridBLowmerg / LocallabParams::LABGRIDL_CORR_MAX, defSpot.labgridAHighmerg / LocallabParams::LABGRIDL_CORR_MAX, - defSpot.labgridBHighmerg / LocallabParams::LABGRIDL_CORR_MAX); + defSpot.labgridBHighmerg / LocallabParams::LABGRIDL_CORR_MAX, 0, 0, 0, 0); merlucol->setDefault(defSpot.merlucol); strumaskcol->setDefault(defSpot.strumaskcol); contcol->setDefault(defSpot.contcol); @@ -1511,56 +1553,70 @@ void LocallabColor::adjusterChanged(Adjuster* a, double newval) if (a == lightness) { if (listener) { listener->panelChanged(Evlocallablightness, - lightness->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lightness->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == gamc) { + if (listener) { + listener->panelChanged(Evlocallabgamc, + gamc->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == reparcol) { + if (listener) { + listener->panelChanged(Evlocallabreparcol, + reparcol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == contrast) { if (listener) { listener->panelChanged(Evlocallabcontrast, - contrast->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + contrast->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == chroma) { if (listener) { listener->panelChanged(Evlocallabchroma, - chroma->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + chroma->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strengthgrid) { if (listener) { listener->panelChanged(EvLocallabLabstrengthgrid, - strengthgrid->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strengthgrid->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sensi) { if (listener) { listener->panelChanged(Evlocallabsensi, - sensi->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sensi->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == structcol) { if (listener) { listener->panelChanged(Evlocallabstructcol, - structcol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + structcol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blurcolde) { if (listener) { listener->panelChanged(Evlocallabblurcolde, - blurcolde->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blurcolde->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == softradiuscol) { if (listener) { listener->panelChanged(Evlocallabsoftradiuscol, - softradiuscol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + softradiuscol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -1568,28 +1624,28 @@ void LocallabColor::adjusterChanged(Adjuster* a, double newval) if (listener) { listener->panelChanged(Evlocallabrecothresc, - recothresc->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + recothresc->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lowthresc) { if (listener) { listener->panelChanged(Evlocallablowthresc, - lowthresc->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lowthresc->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == higthresc) { if (listener) { listener->panelChanged(Evlocallabhigthresc, - higthresc->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + higthresc->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == decayc) { if (listener) { listener->panelChanged(Evlocallabdecayc, - decayc->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + decayc->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -1597,126 +1653,126 @@ void LocallabColor::adjusterChanged(Adjuster* a, double newval) if (a == strcol) { if (listener) { listener->panelChanged(Evlocallabstrcol, - strcol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strcol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strcolab) { if (listener) { listener->panelChanged(Evlocallabstrcolab, - strcolab->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strcolab->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strcolh) { if (listener) { listener->panelChanged(Evlocallabstrcolh, - strcolh->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strcolh->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == angcol) { if (listener) { listener->panelChanged(Evlocallabangcol, - angcol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + angcol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == mercol) { if (listener) { listener->panelChanged(Evlocallabmercol, - mercol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + mercol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == opacol) { if (listener) { listener->panelChanged(Evlocallabopacol, - opacol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + opacol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == conthrcol) { if (listener) { listener->panelChanged(Evlocallabconthrcol, - conthrcol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + conthrcol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == merlucol) { if (listener) { listener->panelChanged(Evlocallabmerlucol, - merlucol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + merlucol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strumaskcol) { if (listener) { listener->panelChanged(Evlocallabstrumaskcol, - strumaskcol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strumaskcol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == contcol) { if (listener) { listener->panelChanged(Evlocallabcontcol, - contcol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + contcol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blurcol) { if (listener) { listener->panelChanged(Evlocallabblurcol, - blurcol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blurcol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blendmaskcol) { if (listener) { listener->panelChanged(Evlocallabblendmaskcol, - blendmaskcol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blendmaskcol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == radmaskcol) { if (listener) { listener->panelChanged(Evlocallabradmaskcol, - radmaskcol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + radmaskcol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lapmaskcol) { if (listener) { listener->panelChanged(Evlocallablapmaskcol, - lapmaskcol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lapmaskcol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == chromaskcol) { if (listener) { listener->panelChanged(Evlocallabchromaskcol, - chromaskcol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + chromaskcol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == gammaskcol) { if (listener) { listener->panelChanged(Evlocallabgammaskcol, - gammaskcol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + gammaskcol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == slomaskcol) { if (listener) { listener->panelChanged(Evlocallabslomaskcol, - slomaskcol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + slomaskcol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == shadmaskcol) { if (listener) { listener->panelChanged(Evlocallabshadmaskcol, - shadmaskcol->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + shadmaskcol->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -1728,7 +1784,7 @@ void LocallabColor::adjusterChanged2(ThresholdAdjuster* a, int newBottomL, int n if (a == csThresholdcol) { if (listener) { listener->panelChanged(EvlocallabcsThresholdcol, - csThresholdcol->getHistoryString() + " (" + escapeHtmlChars(spotName) + ")"); + csThresholdcol->getHistoryString() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -1740,98 +1796,98 @@ void LocallabColor::curveChanged(CurveEditor* ce) if (ce == llshape) { if (listener) { listener->panelChanged(Evlocallabllshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == ccshape) { if (listener) { listener->panelChanged(Evlocallabccshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == clshape) { if (listener) { listener->panelChanged(Evlocallabclshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == lcshape) { if (listener) { listener->panelChanged(Evlocallablcshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == LHshape) { if (listener) { listener->panelChanged(EvlocallabLHshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == CHshape) { if (listener) { listener->panelChanged(EvlocallabCHshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == HHshape) { if (listener) { listener->panelChanged(EvlocallabHHshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == rgbshape) { if (listener) { listener->panelChanged(Evlocallabrgbshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == CCmaskshape) { if (listener) { listener->panelChanged(EvlocallabCCmaskshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == LLmaskshape) { if (listener) { listener->panelChanged(EvlocallabLLmaskshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == HHmaskshape) { if (listener) { listener->panelChanged(EvlocallabHHmaskshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == HHhmaskshape) { if (listener) { listener->panelChanged(EvlocallabHHhmaskshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == Lmaskshape) { if (listener) { listener->panelChanged(EvlocallabLmaskshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == LLmaskcolshapewav) { if (listener) { listener->panelChanged(EvlocallabLLmaskcolshapewav, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -1843,10 +1899,10 @@ void LocallabColor::enabledChanged() if (listener) { if (exp->getEnabled()) { listener->panelChanged(EvLocenacolor, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocenacolor, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -1858,6 +1914,7 @@ void LocallabColor::convertParamToNormal() // Disable all listeners disableListener(); + gamc->setValue(defSpot.gamc); // Set hidden GUI widgets in Normal mode to default spot values blurcolde->setValue((double)defSpot.blurcolde); @@ -1945,7 +2002,7 @@ void LocallabColor::convertParamToNormal() labgridmerg->setParams(0, 0, defSpot.labgridAHighmerg / LocallabParams::LABGRIDL_CORR_MAX, defSpot.labgridBHighmerg / LocallabParams::LABGRIDL_CORR_MAX, - false); + 0, 0, 0, 0, false); merlucol->setValue(defSpot.merlucol); strumaskcol->setValue(defSpot.strumaskcol); toolcol->set_active(defSpot.toolcol); @@ -1982,6 +2039,7 @@ void LocallabColor::convertParamToSimple() softradiuscol->setValue(defSpot.softradiuscol); strcol->setValue(defSpot.strcol); angcol->setValue(defSpot.angcol); + gamc->setValue(defSpot.gamc); if (defSpot.qualitycurveMethod == "none") { qualitycurveMethod->set_active(0); @@ -2026,11 +2084,13 @@ void LocallabColor::updateGUIToMode(const modeType new_type) maskusablec->hide(); maskunusablec->hide(); decayc->hide(); + gamc->hide(); break; case Normal: // Expert mode widgets are hidden in Normal mode structcol->hide(); + gamc->hide(); blurcolde->hide(); strcolab->hide(); strcolh->hide(); @@ -2066,6 +2126,7 @@ void LocallabColor::updateGUIToMode(const modeType new_type) if (!invers->get_active()) { // Keep widget hidden when invers is toggled expgradcol->show(); exprecov->show(); + gamc->hide(); } expcurvcol->show(); @@ -2078,11 +2139,13 @@ void LocallabColor::updateGUIToMode(const modeType new_type) // Show widgets hidden in Normal and Simple mode structcol->show(); blurcolde->show(); + gamc->show(); if (!invers->get_active()) { // Keep widget hidden when invers is toggled softradiuscol->show(); expgradcol->show(); exprecov->show(); + gamc->show(); } strcolab->show(); @@ -2128,7 +2191,7 @@ void LocallabColor::updateGUIToMode(const modeType new_type) } } -void LocallabColor::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) +void LocallabColor::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) { idle_register.add( [this, normHuer, normLumar, normChromar]() -> bool { @@ -2159,10 +2222,10 @@ void LocallabColor::curvactivChanged() if (listener) { if (curvactiv->get_active()) { listener->panelChanged(Evlocallabcurvactiv, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabcurvactiv, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -2173,7 +2236,7 @@ void LocallabColor::gridMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvLocallabgridMethod, - gridMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + gridMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -2196,10 +2259,10 @@ void LocallabColor::inversChanged() if (listener) { if (invers->get_active()) { listener->panelChanged(Evlocallabinvers, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabinvers, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -2210,7 +2273,7 @@ void LocallabColor::qualitycurveMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallabqualitycurveMethod, - qualitycurveMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + qualitycurveMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -2220,7 +2283,7 @@ void LocallabColor::toneMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvLocallabtoneMethod, - toneMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + toneMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -2231,10 +2294,10 @@ void LocallabColor::specialChanged() if (listener) { if (special->get_active()) { listener->panelChanged(EvLocallabspecial, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabspecial, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -2247,7 +2310,7 @@ void LocallabColor::merMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvLocallabmerMethod, - merMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + merMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -2257,7 +2320,7 @@ void LocallabColor::mergecolMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvLocallabmergecolMethod, - mergecolMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + mergecolMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -2273,9 +2336,10 @@ void LocallabColor::showmaskcolMethodChanged() if (locToolListener) { locToolListener->resetOtherMaskView(this); } - - if (listener) { - listener->panelChanged(EvlocallabshowmaskMethod, ""); + if(exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } } } @@ -2290,9 +2354,10 @@ void LocallabColor::showmaskcolMethodChangedinv() if (locToolListener) { locToolListener->resetOtherMaskView(this); } - - if (listener) { - listener->panelChanged(EvlocallabshowmaskMethod, ""); + if(exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } } } @@ -2311,10 +2376,10 @@ void LocallabColor::enaColorMaskChanged() if (listener) { if (enaColorMask->get_active()) { listener->panelChanged(EvLocallabEnaColorMask, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabEnaColorMask, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -2326,10 +2391,10 @@ void LocallabColor::toolcolChanged() if (listener) { if (toolcol->get_active()) { listener->panelChanged(EvLocallabtoolcol, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabtoolcol, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -2343,10 +2408,10 @@ void LocallabColor::fftColorMaskChanged() if (listener) { if (fftColorMask->get_active()) { listener->panelChanged(EvLocallabfftColorMask, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabfftColorMask, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -2376,8 +2441,11 @@ void LocallabColor::updateColorGUI1() showmaskcolMethodinv->show(); contcol->hide(); blurcol->hide(); + reparcol->hide(); + gamc->hide(); } else { gridFrame->show(); + gamc->hide(); if (mode == Expert) { // Keep widget hidden in Normal and Simple mode structcol->show(); @@ -2397,6 +2465,7 @@ void LocallabColor::updateColorGUI1() HCurveEditorG->show(); H3CurveEditorG->show(); expmaskcol1->show(); + gamc->show(); } showmaskcolMethod->show(); @@ -2407,6 +2476,7 @@ void LocallabColor::updateColorGUI1() showmaskcolMethodConninv.block(false); contcol->show(); blurcol->show(); + reparcol->show(); } } @@ -2488,6 +2558,7 @@ LocallabExposure::LocallabExposure(): // pdeFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_PDEFRA")))), exppde(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_PDEFRA")))), laplacexp(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LAPLACEXP"), 0.0, 100.0, 0.1, 0.))), + reparexp(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGREPART"), 1.0, 100.0, 1., 100.0))), linear(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LINEAR"), 0.01, 1., 0.01, 0.05))), balanexp(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BALANEXP"), 0.5, 1.5, 0.01, 1.0))), gamm(Gtk::manage(new Adjuster(M("TP_LOCALLAB_GAMM"), 0.2, 1.3, 0.01, 0.4))), @@ -2499,14 +2570,15 @@ LocallabExposure::LocallabExposure(): fatdetail(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATDETAIL"), -100., 300., 1., 0.))), norm(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_EQUIL")))), fatlevel(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATLEVEL"), 0.5, 2.0, 0.01, 1.))), - fatanchor(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATANCHORA"), 0.5, 2.0, 0.01, 1.))), + fatanchor(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATANCHOR"), 0.1, 100.0, 0.01, 50., Gtk::manage(new RTImage("circle-black-small.png")), Gtk::manage(new RTImage("circle-white-small.png"))))), + gamex(Gtk::manage(new Adjuster(M("TP_LOCALLAB_GAMC"), 0.5, 3.0, 0.05, 1.))), sensiex(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 60))), structexp(Gtk::manage(new Adjuster(M("TP_LOCALLAB_STRUCCOL"), 0, 100, 1, 0))), blurexpde(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BLURDE"), 2, 100, 1, 5))), exptoolexp(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_EXPTOOL")))), expcomp(Gtk::manage(new Adjuster(M("TP_LOCALLAB_EXPCOMP"), MINEXP, MAXEXP, 0.01, 0.))), black(Gtk::manage(new Adjuster(M("TP_EXPOSURE_BLACKLEVEL"), -16384, 32768, 10, 0))), - hlcompr(Gtk::manage(new Adjuster(M("TP_EXPOSURE_COMPRHIGHLIGHTS"), 0, 500, 1, 20))), + hlcompr(Gtk::manage(new Adjuster(M("TP_EXPOSURE_COMPRHIGHLIGHTS"), 0, 500, 1, 0))), hlcomprthresh(Gtk::manage(new Adjuster(M("TP_EXPOSURE_COMPRHIGHLIGHTSTHRESHOLD"), 0, 100, 1, 0))), shadex(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHADEX"), 0, 100, 1, 0))), shcompr(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHADEXCOMP"), 0, 100, 1, 50))), @@ -2516,7 +2588,7 @@ LocallabExposure::LocallabExposure(): exprecove(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_DENOI2_EXP")))), maskusablee(Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_MASKUSABLE")))), maskunusablee(Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_MASKUNUSABLE")))), - recothrese(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKRECOTHRES"), 1., 2., 0.01, 1.))), + recothrese(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKRECOTHRES"), 0., 2., 0.01, 1.))), lowthrese(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKLCTHRLOW"), 1., 80., 0.5, 12.))), higthrese(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKLCTHR"), 20., 99., 0.5, 85.))), decaye(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKDDECAY"), 0.5, 4., 0.1, 2.))), @@ -2562,6 +2634,7 @@ LocallabExposure::LocallabExposure(): setExpandAlignProperties(expfat, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START); laplacexp->setAdjusterListener(this); + reparexp->setAdjusterListener(this); linear->setAdjusterListener(this); @@ -2587,6 +2660,8 @@ LocallabExposure::LocallabExposure(): sensiex->setAdjusterListener(this); + gamex->setAdjusterListener(this); + structexp->setAdjusterListener(this); blurexpde->setAdjusterListener(this); @@ -2701,7 +2776,9 @@ LocallabExposure::LocallabExposure(): mask2expCurveEditorG->curveListComplete(); // Add Color & Light specific widgets to GUI -// pack_start(*expMethod); + pack_start(*sensiex); + pack_start(*reparexp); + pack_start(*inversex); ToolParamBlock* const pdeBox = Gtk::manage(new ToolParamBlock()); pdeBox->pack_start(*laplacexp); pdeBox->pack_start(*linear); @@ -2721,13 +2798,13 @@ LocallabExposure::LocallabExposure(): fatBox->pack_start(*fatdetail); // fatBox->pack_start(*norm); // fatBox->pack_start(*fatlevel); -// fatBox->pack_start(*fatanchor); + fatBox->pack_start(*fatanchor); // fatFrame->add(*fatBox); expfat->add(*fatBox, false); // pack_start(*fatFrame); pack_start(*expfat); pack_start(*expcomp); - pack_start(*sensiex); + pack_start(*gamex); pack_start(*structexp); pack_start(*blurexpde); ToolParamBlock* const toolBox = Gtk::manage(new ToolParamBlock()); @@ -2756,7 +2833,7 @@ LocallabExposure::LocallabExposure(): expgradexp->add(*gradBox, false); pack_start(*expgradexp); pack_start(*softradiusexp); - pack_start(*inversex); + // pack_start(*inversex); ToolParamBlock* const maskexpBox = Gtk::manage(new ToolParamBlock()); maskexpBox->pack_start(*showmaskexpMethod, Gtk::PACK_SHRINK, 4); maskexpBox->pack_start(*showmaskexpMethodinv, Gtk::PACK_SHRINK, 4); @@ -2803,7 +2880,7 @@ void LocallabExposure::resetMaskView() showmaskexpMethodConninv.block(false); } -void LocallabExposure::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) +void LocallabExposure::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) { expMask = showmaskexpMethod->get_active_row_number(); expMaskinv = showmaskexpMethodinv->get_active_row_number(); @@ -2816,12 +2893,14 @@ void LocallabExposure::updateAdviceTooltips(const bool showTooltips) // expMethod->set_tooltip_text(M("TP_LOCALLAB_EXPMETHOD_TOOLTIP")); // pdeFrame->set_tooltip_text(M("TP_LOCALLAB_PDEFRAME_TOOLTIP")); exppde->set_tooltip_text(M("TP_LOCALLAB_PDEFRAME_TOOLTIP")); + recothrese->set_tooltip_text(M("TP_LOCALLAB_RECOTHRES02_TOOLTIP")); exprecove->set_tooltip_markup(M("TP_LOCALLAB_MASKREEXP_TOOLTIP")); decaye->set_tooltip_text(M("TP_LOCALLAB_MASKDECAY_TOOLTIP")); lowthrese->set_tooltip_text(M("TP_LOCALLAB_MASKLOWTHRESE_TOOLTIP")); higthrese->set_tooltip_text(M("TP_LOCALLAB_MASKHIGTHRESE_TOOLTIP")); blurexpde->set_tooltip_text(M("TP_LOCALLAB_BLURCOLDE_TOOLTIP")); laplacexp->set_tooltip_text(M("TP_LOCALLAB_EXPLAP_TOOLTIP")); + reparexp->set_tooltip_text(M("TP_LOCALLAB_REPAREXP_TOOLTIP")); linear->set_tooltip_text(M("TP_LOCALLAB_EXPLAPLIN_TOOLTIP")); balanexp->set_tooltip_text(M("TP_LOCALLAB_EXPLAPBAL_TOOLTIP")); gamm->set_tooltip_text(M("TP_LOCALLAB_EXPLAPGAMM_TOOLTIP")); @@ -2830,6 +2909,7 @@ void LocallabExposure::updateAdviceTooltips(const bool showTooltips) // fatFrame->set_tooltip_text(M("TP_LOCALLAB_FATFRAME_TOOLTIP")); expfat->set_tooltip_text(M("TP_LOCALLAB_FATFRAME_TOOLTIP")); expcomp->set_tooltip_text(M("TP_LOCALLAB_EXPCOMP_TOOLTIP")); + gamex->set_tooltip_text(M("TP_LOCALLAB_GAMCOL_TOOLTIP")); sensiex->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP")); structexp->set_tooltip_text(M("TP_LOCALLAB_STRUCT_TOOLTIP")); expchroma->set_tooltip_text(M("TP_LOCALLAB_EXPCHROMA_TOOLTIP")); @@ -2852,10 +2932,12 @@ void LocallabExposure::updateAdviceTooltips(const bool showTooltips) lapmaskexp->set_tooltip_text(M("TP_LOCALLAB_LAPRAD1_TOOLTIP")); } else { exp->set_tooltip_text(""); + recothrese->set_tooltip_text(""); exppde->set_tooltip_text(""); blurexpde->set_tooltip_text(""); exprecove->set_tooltip_markup(""); laplacexp->set_tooltip_text(""); + reparexp->set_tooltip_text(""); linear->set_tooltip_text(""); balanexp->set_tooltip_text(""); gamm->set_tooltip_text(""); @@ -2881,6 +2963,7 @@ void LocallabExposure::updateAdviceTooltips(const bool showTooltips) chromaskexp->set_tooltip_text(""); slomaskexp->set_tooltip_text(""); lapmaskexp->set_tooltip_text(""); + gamex->set_tooltip_text(""); } } @@ -2933,8 +3016,6 @@ void LocallabExposure::read(const rtengine::procparams::ProcParams* pp, const Pa if (index < (int)pp->locallab.spots.size()) { const LocallabParams::LocallabSpot& spot = pp->locallab.spots.at(index); - spotName = spot.name; // Update spot name according to selected spot - exp->set_visible(spot.visiexpose); exp->setEnabled(spot.expexpose); complexity->set_active(spot.complexexpose); @@ -2946,6 +3027,7 @@ void LocallabExposure::read(const rtengine::procparams::ProcParams* pp, const Pa } */ laplacexp->setValue(spot.laplacexp); + reparexp->setValue(spot.reparexp); linear->setValue(spot.linear); balanexp->setValue(spot.balanexp); gamm->setValue(spot.gamm); @@ -2970,6 +3052,7 @@ void LocallabExposure::read(const rtengine::procparams::ProcParams* pp, const Pa // fatlevel->setValue(1.); // fatanchor->setValue(1.); sensiex->setValue(spot.sensiex); + gamex->setValue(spot.gamex); structexp->setValue(spot.structexp); blurexpde->setValue(spot.blurexpde); expcomp->setValue(spot.expcomp); @@ -3037,6 +3120,7 @@ void LocallabExposure::write(rtengine::procparams::ProcParams* pp, ParamsEdited* } */ spot.laplacexp = laplacexp->getValue(); + spot.reparexp = reparexp->getValue(); spot.linear = linear->getValue(); spot.balanexp = balanexp->getValue(); spot.gamm = gamm->getValue(); @@ -3058,6 +3142,7 @@ void LocallabExposure::write(rtengine::procparams::ProcParams* pp, ParamsEdited* spot.fatlevel = fatlevel->getValue(); spot.fatanchor = fatanchor->getValue(); spot.sensiex = sensiex->getIntValue(); + spot.gamex = gamex->getValue(); spot.structexp = structexp->getIntValue(); spot.blurexpde = blurexpde->getIntValue(); spot.expcomp = expcomp->getValue(); @@ -3101,6 +3186,7 @@ void LocallabExposure::setDefaults(const rtengine::procparams::ProcParams* defPa // Set default values for adjuster widgets laplacexp->setDefault(defSpot.laplacexp); + reparexp->setDefault(defSpot.reparexp); linear->setDefault(defSpot.linear); balanexp->setDefault(defSpot.balanexp); gamm->setDefault(defSpot.gamm); @@ -3109,6 +3195,7 @@ void LocallabExposure::setDefaults(const rtengine::procparams::ProcParams* defPa fatlevel->setDefault(defSpot.fatlevel); fatanchor->setDefault(defSpot.fatanchor); sensiex->setDefault((double)defSpot.sensiex); + gamex->setDefault((double)defSpot.gamex); structexp->setDefault((double)defSpot.structexp); blurexpde->setDefault((double)defSpot.blurexpde); expcomp->setDefault(defSpot.expcomp); @@ -3149,231 +3236,245 @@ void LocallabExposure::adjusterChanged(Adjuster* a, double newval) if (a == laplacexp) { if (listener) { listener->panelChanged(Evlocallablaplacexp, - laplacexp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + laplacexp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == reparexp) { + if (listener) { + listener->panelChanged(Evlocallabreparexp, + reparexp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == linear) { if (listener) { listener->panelChanged(Evlocallablinear, - linear->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + linear->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == balanexp) { if (listener) { listener->panelChanged(Evlocallabbalanexp, - balanexp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + balanexp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == gamm) { if (listener) { listener->panelChanged(Evlocallabgamm, - gamm->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + gamm->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == fatamount) { if (listener) { listener->panelChanged(Evlocallabfatamount, - fatamount->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + fatamount->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == fatdetail) { if (listener) { listener->panelChanged(Evlocallabfatdetail, - fatdetail->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + fatdetail->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == fatlevel) { if (listener) { listener->panelChanged(Evlocallabfatlevel, - fatlevel->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + fatlevel->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == fatanchor) { if (listener) { listener->panelChanged(Evlocallabfatanchor, - fatanchor->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + fatanchor->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == gamex) { + if (listener) { + listener->panelChanged(Evlocallabgamex, + gamex->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == recothrese) { if (listener) { listener->panelChanged(Evlocallabrecothrese, - recothrese->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + recothrese->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lowthrese) { if (listener) { listener->panelChanged(Evlocallablowthrese, - lowthrese->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lowthrese->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == higthrese) { if (listener) { listener->panelChanged(Evlocallabhigthrese, - higthrese->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + higthrese->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == decaye) { if (listener) { listener->panelChanged(Evlocallabdecaye, - decaye->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + decaye->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sensiex) { if (listener) { listener->panelChanged(Evlocallabsensiex, - sensiex->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sensiex->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == structexp) { if (listener) { listener->panelChanged(Evlocallabstructexp, - structexp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + structexp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blurexpde) { if (listener) { listener->panelChanged(Evlocallabblurexpde, - blurexpde->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blurexpde->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == expcomp) { if (listener) { listener->panelChanged(Evlocallabexpcomp, - expcomp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + expcomp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == black) { if (listener) { listener->panelChanged(Evlocallabblack, - black->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + black->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == hlcompr) { if (listener) { listener->panelChanged(Evlocallabhlcompr, - hlcompr->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + hlcompr->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == hlcomprthresh) { if (listener) { listener->panelChanged(Evlocallabhlcomprthresh, - hlcomprthresh->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + hlcomprthresh->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == shadex) { if (listener) { listener->panelChanged(Evlocallabshadex, - shadex->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + shadex->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == shcompr) { if (listener) { listener->panelChanged(Evlocallabshcompr, - shcompr->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + shcompr->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == expchroma) { if (listener) { listener->panelChanged(Evlocallabexpchroma, - expchroma->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + expchroma->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strexp) { if (listener) { listener->panelChanged(Evlocallabstrexp, - strexp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strexp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == angexp) { if (listener) { listener->panelChanged(Evlocallabangexp, - angexp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + angexp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == softradiusexp) { if (listener) { listener->panelChanged(Evlocallabsoftradiusexp, - softradiusexp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + softradiusexp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blendmaskexp) { if (listener) { listener->panelChanged(Evlocallabblendmaskexp, - blendmaskexp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blendmaskexp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == radmaskexp) { if (listener) { listener->panelChanged(Evlocallabradmaskexp, - radmaskexp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + radmaskexp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lapmaskexp) { if (listener) { listener->panelChanged(Evlocallablapmaskexp, - lapmaskexp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lapmaskexp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == chromaskexp) { if (listener) { listener->panelChanged(Evlocallabchromaskexp, - chromaskexp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + chromaskexp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == gammaskexp) { if (listener) { listener->panelChanged(Evlocallabgammaskexp, - gammaskexp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + gammaskexp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == slomaskexp) { if (listener) { listener->panelChanged(Evlocallabslomaskexp, - slomaskexp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + slomaskexp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strmaskexp) { if (listener) { listener->panelChanged(Evlocallabstrmaskexp, - strmaskexp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strmaskexp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == angmaskexp) { if (listener) { listener->panelChanged(Evlocallabangmaskexp, - angmaskexp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + angmaskexp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -3385,35 +3486,35 @@ void LocallabExposure::curveChanged(CurveEditor* ce) if (ce == shapeexpos) { if (listener) { listener->panelChanged(Evlocallabshapeexpos, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == CCmaskexpshape) { if (listener) { listener->panelChanged(EvlocallabCCmaskexpshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == LLmaskexpshape) { if (listener) { listener->panelChanged(EvlocallabLLmaskexpshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == HHmaskexpshape) { if (listener) { listener->panelChanged(EvlocallabHHmaskexpshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == Lmaskexpshape) { if (listener) { listener->panelChanged(EvlocallabLmaskexpshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -3425,10 +3526,10 @@ void LocallabExposure::enabledChanged() if (listener) { if (exp->getEnabled()) { listener->panelChanged(EvLocenaexpose, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocenaexpose, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -3440,6 +3541,7 @@ void LocallabExposure::convertParamToNormal() // Disable all listeners disableListener(); + gamex->setValue(defSpot.gamex); // Set hidden GUI widgets in Normal mode to default spot values structexp->setValue((double)defSpot.structexp); @@ -3449,12 +3551,9 @@ void LocallabExposure::convertParamToNormal() slomaskexp->setValue(defSpot.slomaskexp); strmaskexp->setValue(defSpot.strmaskexp); angmaskexp->setValue(defSpot.angmaskexp); -// fatlevel->setValue(defSpot.fatlevel); -// fatanchor->setValue(defSpot.fatanchor); decaye->setValue(defSpot.decaye); // norm->set_active(defSpot.enaExpMask); fatlevel->setValue(defSpot.fatlevel); - fatanchor->setValue(defSpot.fatanchor); // Enable all listeners enableListener(); @@ -3475,6 +3574,7 @@ void LocallabExposure::convertParamToSimple() softradiusexp->setValue(defSpot.softradiusexp); enaExpMask->set_active(defSpot.enaExpMask); enaExpMaskaft->set_active(defSpot.enaExpMaskaft); + gamex->setValue(defSpot.gamex); // CCmaskexpshape->setCurve(defSpot.CCmaskexpcurve); // LLmaskexpshape->setCurve(defSpot.CCmaskexpcurve); // HHmaskexpshape->setCurve(defSpot.HHmaskexpcurve); @@ -3508,12 +3608,14 @@ void LocallabExposure::updateGUIToMode(const modeType new_type) norm->hide(); fatlevel->hide(); fatanchor->hide(); + gamex->hide(); break; case Normal: // Expert mode widgets are hidden in Normal mode structexp->hide(); + gamex->hide(); blurexpde->hide(); lapmaskexp->hide(); gammaskexp->hide(); @@ -3530,13 +3632,18 @@ void LocallabExposure::updateGUIToMode(const modeType new_type) } norm->show(); fatlevel->hide(); - fatanchor->hide(); + fatanchor->show(); // Specific Simple mode widgets are shown in Normal mode + softradiusexp->hide(); + blurexpde->hide(); + if (!inversex->get_active()) { // Keep widget hidden when invers is toggled expgradexp->show(); softradiusexp->show(); exprecove->show(); + gamex->hide(); + blurexpde->show(); } expmaskexp->show(); @@ -3546,7 +3653,8 @@ void LocallabExposure::updateGUIToMode(const modeType new_type) case Expert: // Show widgets hidden in Normal and Simple mode - if (!inversex->get_active()) { // Keep widget hidden when invers is toggled + structexp->hide(); + if (!inversex->get_active()) { // Keep widget hidden when invers is toggled structexp->show(); } @@ -3554,11 +3662,16 @@ void LocallabExposure::updateGUIToMode(const modeType new_type) norm->show(); fatlevel->show(); fatanchor->show(); + softradiusexp->hide(); + gamex->show(); if (!inversex->get_active()) { // Keep widget hidden when invers is toggled expgradexp->show(); softradiusexp->show(); exprecove->show(); + gamex->show(); + blurexpde->show(); + } if (enaExpMask->get_active()) { maskusablee->show(); @@ -3578,7 +3691,7 @@ void LocallabExposure::updateGUIToMode(const modeType new_type) } } -void LocallabExposure::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) +void LocallabExposure::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) { idle_register.add( [this, normHuer, normLumar, normChromar]() -> bool { @@ -3603,7 +3716,7 @@ void LocallabExposure::expMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallabexpMethod, - expMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + expMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -3613,7 +3726,7 @@ void LocallabExposure::exnoiseMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallabexnoiseMethod, - exnoiseMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + exnoiseMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -3625,10 +3738,10 @@ void LocallabExposure::normChanged() if (listener) { if (norm->get_active()) { listener->panelChanged(Evlocallabnorm, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabnorm, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -3653,10 +3766,10 @@ void LocallabExposure::inversexChanged() if (listener) { if (inversex->get_active()) { listener->panelChanged(Evlocallabinversex, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabinversex, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -3674,8 +3787,10 @@ void LocallabExposure::showmaskexpMethodChanged() locToolListener->resetOtherMaskView(this); } - if (listener) { - listener->panelChanged(EvlocallabshowmaskMethod, ""); + if(exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } } } @@ -3691,8 +3806,10 @@ void LocallabExposure::showmaskexpMethodChangedinv() locToolListener->resetOtherMaskView(this); } - if (listener) { - listener->panelChanged(EvlocallabshowmaskMethod, ""); + if(exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } } } @@ -3710,10 +3827,10 @@ void LocallabExposure::enaExpMaskChanged() if (listener) { if (enaExpMask->get_active()) { listener->panelChanged(EvLocallabEnaExpMask, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabEnaExpMask, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -3725,10 +3842,10 @@ void LocallabExposure::enaExpMaskaftChanged() if (listener) { if (enaExpMaskaft->get_active()) { listener->panelChanged(EvLocallabEnaExpMaskaft, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabEnaExpMaskaft, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -3774,6 +3891,12 @@ void LocallabExposure::updateExposureGUI3() expMethod->hide(); expcomp->setLabel(M("TP_LOCALLAB_EXPCOMPINV")); exprecove->hide(); + reparexp->hide(); + gamex->hide(); + expfat->hide(); + exppde->hide(); + structexp->hide(); + blurexpde->hide(); // Manage specific case where expMethod is different from 0 if (expMethod->get_active_row_number() > 0) { @@ -3796,12 +3919,27 @@ void LocallabExposure::updateExposureGUI3() } else { expMethod->show(); expcomp->setLabel(M("TP_LOCALLAB_EXPCOMP")); + gamex->hide(); + expfat->show(); + exppde->show(); - if (mode == Expert || mode == Normal) { // Keep widgets hidden in Simple mode + if (mode == Normal) { // Keep widgets hidden in Simple mode softradiusexp->show(); expgradexp->show(); exprecove->show(); + blurexpde->show(); } + if (mode == Expert) { // Keep widgets hidden in Simple mode + softradiusexp->show(); + expgradexp->show(); + exprecove->show(); + structexp->show(); + blurexpde->show(); + gamex->show(); + + } + + reparexp->show(); showmaskexpMethodinv->hide(); // Reset hidden mask combobox @@ -3818,6 +3956,7 @@ LocallabShadow::LocallabShadow(): // Shadow highlight specific widgets shMethod(Gtk::manage(new MyComboBoxText())), + reparsh(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGREPART"), 1.0, 100.0, 1., 100.0))), multipliersh([]() -> std::array { std::array res = {}; @@ -3848,7 +3987,7 @@ LocallabShadow::LocallabShadow(): exprecovs(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_DENOI2_EXP")))), maskusables(Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_MASKUSABLE")))), maskunusables(Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_MASKUNUSABLE")))), - recothress(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKRECOTHRES"), 1., 2., 0.01, 1.))), + recothress(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKRECOTHRES"), 0., 2., 0.01, 1.))), lowthress(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKLCTHRLOW"), 1., 80., 0.5, 12.))), higthress(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKLCTHR"), 20., 99., 0.5, 85.))), decays(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKDDECAY"), 0.5, 4., 0.1, 2.))), @@ -3895,6 +4034,7 @@ LocallabShadow::LocallabShadow(): } detailSH->setAdjusterListener(this); + reparsh->setAdjusterListener(this); highlights->setAdjusterListener(this); @@ -3995,6 +4135,8 @@ LocallabShadow::LocallabShadow(): fatanchorSH->setAdjusterListener(this); // Add Shadow highlight specific widgets to GUI + pack_start(*reparsh); + pack_start(*inverssh); pack_start(*shMethod); for (const auto multiplier : multipliersh) { @@ -4030,7 +4172,7 @@ LocallabShadow::LocallabShadow(): gradSHBox->pack_start(*angSH); expgradsh->add(*gradSHBox, false); pack_start(*expgradsh); - pack_start(*inverssh); +// pack_start(*inverssh); ToolParamBlock* const maskSHBox = Gtk::manage(new ToolParamBlock()); maskSHBox->pack_start(*showmaskSHMethod, Gtk::PACK_SHRINK, 4); maskSHBox->pack_start(*showmaskSHMethodinv, Gtk::PACK_SHRINK, 4); @@ -4075,7 +4217,7 @@ void LocallabShadow::resetMaskView() showmaskSHMethodConninv.block(false); } -void LocallabShadow::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) +void LocallabShadow::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) { shMask = showmaskSHMethod->get_active_row_number(); shMaskinv = showmaskSHMethodinv->get_active_row_number(); @@ -4089,8 +4231,9 @@ void LocallabShadow::updateAdviceTooltips(const bool showTooltips) for (const auto multiplier : multipliersh) { multiplier->set_tooltip_text(M("TP_LOCALLAB_MULTIPL_TOOLTIP")); } - + recothress->set_tooltip_text(M("TP_LOCALLAB_RECOTHRES02_TOOLTIP")); gamSH->set_tooltip_text(M("TP_LOCALLAB_SHTRC_TOOLTIP")); + reparsh->set_tooltip_text(M("TP_LOCALLAB_REPARSH_TOOLTIP")); sloSH->set_tooltip_text(M("TP_LOCALLAB_SHTRC_TOOLTIP")); strSH->set_tooltip_text(M("TP_LOCALLAB_GRADGEN_TOOLTIP")); exprecovs->set_tooltip_markup(M("TP_LOCALLAB_MASKRESH_TOOLTIP")); @@ -4130,7 +4273,9 @@ void LocallabShadow::updateAdviceTooltips(const bool showTooltips) for (const auto multiplier : multipliersh) { multiplier->set_tooltip_text(""); } + recothress->set_tooltip_text(""); gamSH->set_tooltip_text(""); + reparsh->set_tooltip_text(""); sloSH->set_tooltip_text(""); strSH->set_tooltip_text(""); blurSHde->set_tooltip_text(""); @@ -4200,8 +4345,6 @@ void LocallabShadow::read(const rtengine::procparams::ProcParams* pp, const Para if (index < (int)pp->locallab.spots.size()) { const LocallabParams::LocallabSpot& spot = pp->locallab.spots.at(index); - spotName = spot.name; // Update spot name according to selected spot - exp->set_visible(spot.visishadhigh); exp->setEnabled(spot.expshadhigh); complexity->set_active(spot.complexshadhigh); @@ -4221,6 +4364,7 @@ void LocallabShadow::read(const rtengine::procparams::ProcParams* pp, const Para decays->setValue((double)spot.decays); detailSH->setValue((double)spot.detailSH); + reparsh->setValue(spot.reparsh); highlights->setValue((double)spot.highlights); h_tonalwidth->setValue((double)spot.h_tonalwidth); shadows->setValue(spot.shadows); @@ -4285,6 +4429,7 @@ void LocallabShadow::write(rtengine::procparams::ProcParams* pp, ParamsEdited* p } spot.detailSH = detailSH->getIntValue(); + spot.reparsh = reparsh->getValue(); spot.highlights = highlights->getIntValue(); spot.h_tonalwidth = h_tonalwidth->getIntValue(); spot.shadows = shadows->getIntValue(); @@ -4332,6 +4477,7 @@ void LocallabShadow::setDefaults(const rtengine::procparams::ProcParams* defPara } detailSH->setDefault((double)defSpot.detailSH); + reparsh->setDefault(defSpot.reparsh); highlights->setDefault((double)defSpot.highlights); h_tonalwidth->setDefault((double)defSpot.h_tonalwidth); shadows->setDefault((double)defSpot.shadows); @@ -4371,49 +4517,56 @@ void LocallabShadow::adjusterChanged(Adjuster* a, double newval) Glib::ustring::format(std::fixed, std::setprecision(2), multipliersh[1]->getIntValue()), Glib::ustring::format(std::fixed, std::setprecision(2), multipliersh[2]->getIntValue()), Glib::ustring::format(std::fixed, std::setprecision(2), multipliersh[3]->getIntValue()), - Glib::ustring::format(std::fixed, std::setprecision(2), multipliersh[4]->getIntValue())) + " (" + escapeHtmlChars(spotName) + ")"); + Glib::ustring::format(std::fixed, std::setprecision(2), multipliersh[4]->getIntValue())) + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == detailSH) { if (listener) { listener->panelChanged(EvlocallabdetailSH, - detailSH->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + detailSH->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == reparsh) { + if (listener) { + listener->panelChanged(Evlocallabreparsh, + reparsh->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == highlights) { if (listener) { listener->panelChanged(Evlocallabhighlights, - highlights->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + highlights->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == h_tonalwidth) { if (listener) { listener->panelChanged(Evlocallabh_tonalwidth, - h_tonalwidth->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + h_tonalwidth->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == shadows) { if (listener) { listener->panelChanged(Evlocallabshadows, - shadows->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + shadows->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == s_tonalwidth) { if (listener) { listener->panelChanged(Evlocallabs_tonalwidth, - s_tonalwidth->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + s_tonalwidth->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sh_radius) { if (listener) { listener->panelChanged(Evlocallabsh_radius, - sh_radius->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sh_radius->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -4421,28 +4574,28 @@ void LocallabShadow::adjusterChanged(Adjuster* a, double newval) if (listener) { listener->panelChanged(Evlocallabrecothress, - recothress->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + recothress->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lowthress) { if (listener) { listener->panelChanged(Evlocallablowthress, - lowthress->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lowthress->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == higthress) { if (listener) { listener->panelChanged(Evlocallabhigthress, - higthress->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + higthress->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == decays) { if (listener) { listener->panelChanged(Evlocallabdecays, - decays->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + decays->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -4450,91 +4603,91 @@ void LocallabShadow::adjusterChanged(Adjuster* a, double newval) if (a == sensihs) { if (listener) { listener->panelChanged(Evlocallabsensihs, - sensihs->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sensihs->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blurSHde) { if (listener) { listener->panelChanged(EvlocallabblurSHde, - blurSHde->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blurSHde->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == gamSH) { if (listener) { listener->panelChanged(EvlocallabgamSH, - gamSH->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + gamSH->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sloSH) { if (listener) { listener->panelChanged(EvlocallabsloSH, - sloSH->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sloSH->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strSH) { if (listener) { listener->panelChanged(EvlocallabstrSH, - strSH->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strSH->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == angSH) { if (listener) { listener->panelChanged(EvlocallabangSH, - angSH->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + angSH->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blendmaskSH) { if (listener) { listener->panelChanged(EvlocallabblendmaskSH, - blendmaskSH->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blendmaskSH->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == radmaskSH) { if (listener) { listener->panelChanged(EvlocallabradmaskSH, - radmaskSH->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + radmaskSH->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lapmaskSH) { if (listener) { listener->panelChanged(EvlocallablapmaskSH, - lapmaskSH->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lapmaskSH->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == chromaskSH) { if (listener) { listener->panelChanged(EvlocallabchromaskSH, - chromaskSH->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + chromaskSH->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == gammaskSH) { if (listener) { listener->panelChanged(EvlocallabgammaskSH, - gammaskSH->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + gammaskSH->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == slomaskSH) { if (listener) { listener->panelChanged(EvlocallabslomaskSH, - slomaskSH->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + slomaskSH->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == fatamountSH) { if (listener) { listener->panelChanged(EvlocallabfatamountSH, - fatamountSH->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + fatamountSH->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -4542,7 +4695,7 @@ void LocallabShadow::adjusterChanged(Adjuster* a, double newval) if (a == fatanchorSH) { if (listener) { listener->panelChanged(EvlocallabfatanchorSH, - fatanchorSH->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + fatanchorSH->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4554,28 +4707,28 @@ void LocallabShadow::curveChanged(CurveEditor* ce) if (ce == CCmaskSHshape) { if (listener) { listener->panelChanged(EvlocallabCCmaskSHshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == LLmaskSHshape) { if (listener) { listener->panelChanged(EvlocallabLLmaskSHshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == HHmaskSHshape) { if (listener) { listener->panelChanged(EvlocallabHHmaskSHshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == LmaskSHshape) { if (listener) { listener->panelChanged(EvlocallabLmaskSHshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4587,10 +4740,10 @@ void LocallabShadow::enabledChanged() if (listener) { if (exp->getEnabled()) { listener->panelChanged(EvLocenashadhigh, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocenashadhigh, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4728,7 +4881,7 @@ void LocallabShadow::updateGUIToMode(const modeType new_type) } } -void LocallabShadow::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) +void LocallabShadow::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) { idle_register.add( [this, normHuer, normLumar, normChromar]() -> bool { @@ -4754,7 +4907,7 @@ void LocallabShadow::shMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallabshMethod, - shMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + shMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4777,10 +4930,10 @@ void LocallabShadow::inversshChanged() if (listener) { if (inverssh->get_active()) { listener->panelChanged(Evlocallabinverssh, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabinverssh, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4798,8 +4951,10 @@ void LocallabShadow::showmaskSHMethodChanged() locToolListener->resetOtherMaskView(this); } - if (listener) { - listener->panelChanged(EvlocallabshowmaskMethod, ""); + if(exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } } } @@ -4815,8 +4970,10 @@ void LocallabShadow::showmaskSHMethodChangedinv() locToolListener->resetOtherMaskView(this); } - if (listener) { - listener->panelChanged(EvlocallabshowmaskMethod, ""); + if(exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } } } @@ -4835,10 +4992,10 @@ void LocallabShadow::enaSHMaskChanged() if (listener) { if (enaSHMask->get_active()) { listener->panelChanged(EvLocallabEnaSHMask, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabEnaSHMask, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4858,11 +5015,13 @@ void LocallabShadow::updateShadowGUI1() showmaskSHMethodConn.block(false); showmaskSHMethodinv->show(); exprecovs->hide(); + reparsh->hide(); } else { if (mode == Expert || mode == Normal) { // Keep widget hidden in Simple mode expgradsh->show(); exprecovs->show(); } + reparsh->show(); showmaskSHMethod->show(); showmaskSHMethodinv->hide(); @@ -4915,6 +5074,7 @@ LocallabVibrance::LocallabVibrance(): // Vibrance specific widgets saturated(Gtk::manage(new Adjuster(M("TP_VIBRANCE_SATURATED"), -100., 100., 1., 0.))), pastels(Gtk::manage(new Adjuster(M("TP_VIBRANCE_PASTELS"), -100., 100., 1., 0.))), + vibgam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_GAMC"), 0.5, 3., 0.05, 1.))), warm(Gtk::manage(new Adjuster(M("TP_LOCALLAB_WARM"), -100., 100., 1., 0., Gtk::manage(new RTImage("circle-blue-small.png")), Gtk::manage(new RTImage("circle-orange-small.png"))))), psThreshold(Gtk::manage(new ThresholdAdjuster(M("TP_VIBRANCE_PSTHRESHOLD"), -100., 100., 0., M("TP_VIBRANCE_PSTHRESHOLD_WEIGTHING"), 0, 0., 100., 75., M("TP_VIBRANCE_PSTHRESHOLD_SATTHRESH"), 0, this, false))), protectSkins(Gtk::manage(new Gtk::CheckButton(M("TP_VIBRANCE_PROTECTSKINS")))), @@ -4926,7 +5086,7 @@ LocallabVibrance::LocallabVibrance(): exprecovv(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_DENOI2_EXP")))), maskusablev(Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_MASKUSABLE")))), maskunusablev(Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_MASKUNUSABLE")))), - recothresv(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKRECOTHRES"), 1., 2., 0.01, 1.))), + recothresv(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKRECOTHRES"), 0., 2., 0.01, 1.))), lowthresv(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKLCTHRLOW"), 1., 80., 0.5, 12.))), higthresv(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKLCTHR"), 20., 99., 0.5, 85.))), decayv(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKDDECAY"), 0.5, 4., 0.1, 2.))), @@ -4963,6 +5123,8 @@ LocallabVibrance::LocallabVibrance(): pastels->setAdjusterListener(this); + vibgam->setAdjusterListener(this); + warm->setAdjusterListener(this); psThreshold->set_tooltip_markup(M("TP_VIBRANCE_PSTHRESHOLD_TOOLTIP")); @@ -4984,7 +5146,7 @@ LocallabVibrance::LocallabVibrance(): Color::hsv2rgb01(0.92f, 0.45f, 0.6f, R, G, B); mskinTonesCurve.emplace_back(0.0, R, G, B); Color::hsv2rgb01(0.14056f, 0.45f, 0.6f, R, G, B); - mskinTonesCurve.emplace_back(0.0, R, G, B); + mskinTonesCurve.emplace_back(1.0, R, G, B); skinTonesCurve->setBottomBarBgGradient(mskinTonesCurve); skinTonesCurve->setLeftBarBgGradient(mskinTonesCurve); skinTonesCurve->setRangeLabels( @@ -5067,6 +5229,9 @@ LocallabVibrance::LocallabVibrance(): // Add Vibrance specific widgets to GUI pack_start(*saturated, Gtk::PACK_SHRINK, 0); pack_start(*pastels, Gtk::PACK_SHRINK, 0); + pack_start(*vibgam, Gtk::PACK_SHRINK, 0); + Gtk::Separator* const separatorvib = Gtk::manage(new Gtk::Separator(Gtk::ORIENTATION_HORIZONTAL)); + pack_start(*separatorvib, Gtk::PACK_SHRINK, 2); pack_start(*warm, Gtk::PACK_SHRINK, 0); pack_start(*psThreshold, Gtk::PACK_SHRINK, 0); pack_start(*protectSkins, Gtk::PACK_SHRINK, 0); @@ -5126,7 +5291,7 @@ void LocallabVibrance::resetMaskView() showmaskvibMethodConn.block(false); } -void LocallabVibrance::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) +void LocallabVibrance::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) { vibMask = showmaskvibMethod->get_active_row_number(); } @@ -5136,6 +5301,7 @@ void LocallabVibrance::updateAdviceTooltips(const bool showTooltips) if (showTooltips) { exp->set_tooltip_text(M("TP_LOCALLAB_VIBRA_TOOLTIP")); warm->set_tooltip_text(M("TP_LOCALLAB_WARM_TOOLTIP")); + recothresv->set_tooltip_text(M("TP_LOCALLAB_RECOTHRES02_TOOLTIP")); strvib->set_tooltip_text(M("TP_LOCALLAB_GRADGEN_TOOLTIP")); exprecovv->set_tooltip_markup(M("TP_LOCALLAB_MASKRESVIB_TOOLTIP")); expmaskvib->set_tooltip_markup(M("TP_LOCALLAB_MASK_TOOLTIP")); @@ -5150,6 +5316,8 @@ void LocallabVibrance::updateAdviceTooltips(const bool showTooltips) chromaskvib->set_tooltip_text(M("TP_LOCALLAB_CHROMASK_TOOLTIP")); slomaskvib->set_tooltip_text(M("TP_LOCALLAB_SLOMASK_TOOLTIP")); lapmaskvib->set_tooltip_text(M("TP_LOCALLAB_LAPRAD1_TOOLTIP")); + vibgam->set_tooltip_text(M("TP_LOCALLAB_GAMCOL_TOOLTIP")); + /* saturated->set_tooltip_text(M("TP_LOCALLAB_NUL_TOOLTIP")); pastels->set_tooltip_text(M("TP_LOCALLAB_NUL_TOOLTIP")); @@ -5177,6 +5345,7 @@ void LocallabVibrance::updateAdviceTooltips(const bool showTooltips) exp->set_tooltip_text(""); warm->set_tooltip_text(""); strvib->set_tooltip_text(""); + recothresv->set_tooltip_text(""); expmaskvib->set_tooltip_markup(""); CCmaskvibshape->setTooltip(""); LLmaskvibshape->setTooltip(""); @@ -5201,6 +5370,7 @@ void LocallabVibrance::updateAdviceTooltips(const bool showTooltips) decayv->set_tooltip_text(""); lowthresv->set_tooltip_text(""); higthresv->set_tooltip_text(""); + vibgam->set_tooltip_text(""); } } @@ -5244,14 +5414,13 @@ void LocallabVibrance::read(const rtengine::procparams::ProcParams* pp, const Pa if (index < (int)pp->locallab.spots.size()) { const LocallabParams::LocallabSpot& spot = pp->locallab.spots.at(index); - spotName = spot.name; // Update spot name according to selected spot - exp->set_visible(spot.visivibrance); exp->setEnabled(spot.expvibrance); complexity->set_active(spot.complexvibrance); saturated->setValue(spot.saturated); pastels->setValue(spot.pastels); + vibgam->setValue(spot.vibgam); warm->setValue(spot.warm); psThreshold->setValue(spot.psthreshold); protectSkins->set_active(spot.protectskins); @@ -5305,6 +5474,7 @@ void LocallabVibrance::write(rtengine::procparams::ProcParams* pp, ParamsEdited* spot.saturated = saturated->getIntValue(); spot.pastels = pastels->getIntValue(); + spot.vibgam = vibgam->getValue(); spot.warm = warm->getIntValue(); spot.psthreshold = psThreshold->getValue(); spot.protectskins = protectSkins->get_active(); @@ -5346,6 +5516,7 @@ void LocallabVibrance::setDefaults(const rtengine::procparams::ProcParams* defPa // Set default values for adjuster and threshold adjuster widgets saturated->setDefault((double)defSpot.saturated); pastels->setDefault((double)defSpot.pastels); + vibgam->setDefault((double)defSpot.vibgam); warm->setDefault((double)defSpot.warm); psThreshold->setDefault(defSpot.psthreshold); sensiv->setDefault((double)defSpot.sensiv); @@ -5379,28 +5550,35 @@ void LocallabVibrance::adjusterChanged(Adjuster* a, double newval) if (a == saturated && !pastSatTog->get_active()) { if (listener) { listener->panelChanged(EvlocallabSaturated, - saturated->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + saturated->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == pastels) { if (listener) { listener->panelChanged(EvlocallabPastels, - pastels->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + pastels->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == vibgam) { + if (listener) { + listener->panelChanged(Evlocallabvibgam, + vibgam->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == warm) { if (listener) { listener->panelChanged(Evlocallabwarm, - warm->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + warm->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sensiv) { if (listener) { listener->panelChanged(Evlocallabsensiv, - sensiv->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sensiv->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -5408,98 +5586,98 @@ void LocallabVibrance::adjusterChanged(Adjuster* a, double newval) if (listener) { listener->panelChanged(Evlocallabrecothresv, - recothresv->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + recothresv->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lowthresv) { if (listener) { listener->panelChanged(Evlocallablowthresv, - lowthresv->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lowthresv->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == higthresv) { if (listener) { listener->panelChanged(Evlocallabhigthresv, - higthresv->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + higthresv->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == decayv) { if (listener) { listener->panelChanged(Evlocallabdecayv, - decayv->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + decayv->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strvib) { if (listener) { listener->panelChanged(Evlocallabstrvib, - strvib->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strvib->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strvibab) { if (listener) { listener->panelChanged(Evlocallabstrvibab, - strvibab->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strvibab->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strvibh) { if (listener) { listener->panelChanged(Evlocallabstrvibh, - strvibh->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strvibh->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == angvib) { if (listener) { listener->panelChanged(Evlocallabangvib, - angvib->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + angvib->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blendmaskvib) { if (listener) { listener->panelChanged(Evlocallabblendmaskvi, - blendmaskvib->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blendmaskvib->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == radmaskvib) { if (listener) { listener->panelChanged(Evlocallabradmaskvib, - radmaskvib->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + radmaskvib->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lapmaskvib) { if (listener) { listener->panelChanged(Evlocallablapmaskvib, - lapmaskvib->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lapmaskvib->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == chromaskvib) { if (listener) { listener->panelChanged(Evlocallabchromaskvib, - chromaskvib->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + chromaskvib->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == gammaskvib) { if (listener) { listener->panelChanged(Evlocallabgammaskvib, - gammaskvib->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + gammaskvib->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == slomaskvib) { if (listener) { listener->panelChanged(Evlocallabslomaskvib, - slomaskvib->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + slomaskvib->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -5510,7 +5688,7 @@ void LocallabVibrance::adjusterChanged(ThresholdAdjuster* a, int newBottom, int if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallabPastSatThreshold, - psThreshold->getHistoryString() + " (" + escapeHtmlChars(spotName) + ")"); + psThreshold->getHistoryString() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -5569,35 +5747,35 @@ void LocallabVibrance::curveChanged(CurveEditor* ce) if (ce == skinTonesCurve) { if (listener) { listener->panelChanged(EvlocallabSkinTonesCurve, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == CCmaskvibshape) { if (listener) { listener->panelChanged(EvlocallabCCmaskvibshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == LLmaskvibshape) { if (listener) { listener->panelChanged(EvlocallabLLmaskvibshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == HHmaskvibshape) { if (listener) { listener->panelChanged(EvlocallabHHmaskvibshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == Lmaskvibshape) { if (listener) { listener->panelChanged(EvlocallabLmaskvibshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -5609,10 +5787,10 @@ void LocallabVibrance::enabledChanged() if (listener) { if (exp->getEnabled()) { listener->panelChanged(EvLocenavibrance, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocenashadhigh, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -5627,6 +5805,8 @@ void LocallabVibrance::convertParamToNormal() // Set hidden GUI widgets in Normal mode to default spot values saturated->setValue((double)defSpot.saturated); + vibgam->setValue(defSpot.vibgam); + psThreshold->setValue(defSpot.psthreshold); protectSkins->set_active(defSpot.protectskins); avoidColorShift->set_active(defSpot.avoidcolorshift); @@ -5682,6 +5862,7 @@ void LocallabVibrance::updateGUIToMode(const modeType new_type) // Expert and Normal mode widgets are hidden in Simple mode saturated->hide(); pastels->setLabel(M("TP_LOCALLAB_PASTELS2")); + vibgam->hide(); psThreshold->hide(); protectSkins->hide(); avoidColorShift->hide(); @@ -5699,6 +5880,7 @@ void LocallabVibrance::updateGUIToMode(const modeType new_type) case Normal: // Expert mode widgets are hidden in Normal mode saturated->hide(); + vibgam->hide(); pastels->setLabel(M("TP_LOCALLAB_PASTELS2")); psThreshold->hide(); protectSkins->hide(); @@ -5729,6 +5911,7 @@ void LocallabVibrance::updateGUIToMode(const modeType new_type) case Expert: // Show widgets hidden in Normal and Simple mode saturated->show(); + vibgam->show(); pastels->setLabel(M("TP_VIBRANCE_PASTELS")); psThreshold->show(); protectSkins->show(); @@ -5755,7 +5938,7 @@ void LocallabVibrance::updateGUIToMode(const modeType new_type) } } -void LocallabVibrance::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) +void LocallabVibrance::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) { idle_register.add( [this, normHuer, normLumar, normChromar]() -> bool { @@ -5778,10 +5961,10 @@ void LocallabVibrance::protectskins_toggled() if (listener) { if (protectSkins->get_active()) { listener->panelChanged(EvlocallabProtectSkins, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvlocallabProtectSkins, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -5793,10 +5976,10 @@ void LocallabVibrance::avoidcolorshift_toggled() if (listener) { if (avoidColorShift->get_active()) { listener->panelChanged(EvlocallabAvoidColorShift, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvlocallabAvoidColorShift, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -5811,10 +5994,10 @@ void LocallabVibrance::pastsattog_toggled() if (listener) { if (pastSatTog->get_active()) { listener->panelChanged(EvlocallabPastSatTog, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvlocallabPastSatTog, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -5827,8 +6010,10 @@ void LocallabVibrance::showmaskvibMethodChanged() locToolListener->resetOtherMaskView(this); } - if (listener) { - listener->panelChanged(EvlocallabshowmaskMethod, ""); + if(exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } } } @@ -5847,10 +6032,10 @@ void LocallabVibrance::enavibMaskChanged() if (listener) { if (enavibMask->get_active()) { listener->panelChanged(EvLocallabEnavibMask, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabEnavibMask, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -5929,7 +6114,7 @@ void LocallabSoft::resetMaskView() showmasksoftMethodConn.block(false); } -void LocallabSoft::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) +void LocallabSoft::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) { softMask = showmasksoftMethod->get_active_row_number(); } @@ -5979,8 +6164,6 @@ void LocallabSoft::read(const rtengine::procparams::ProcParams* pp, const Params if (index < (int)pp->locallab.spots.size()) { const LocallabParams::LocallabSpot& spot = pp->locallab.spots.at(index); - spotName = spot.name; // Update spot name according to selected spot - exp->set_visible(spot.visisoft); exp->setEnabled(spot.expsoft); complexity->set_active(spot.complexsoft); @@ -6055,21 +6238,21 @@ void LocallabSoft::adjusterChanged(Adjuster* a, double newval) if (a == streng) { if (listener) { listener->panelChanged(Evlocallabstreng, - streng->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + streng->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sensisf) { if (listener) { listener->panelChanged(Evlocallabsensisf, - sensisf->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sensisf->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == laplace) { if (listener) { listener->panelChanged(Evlocallablaplace, - laplace->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + laplace->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -6095,7 +6278,7 @@ void LocallabSoft::complexityModeChanged() if (listener && isLocActivated) { listener->panelChanged(EvlocallabcomplexityWithRefresh, - M("TP_LOCALLAB_MODE_SIMPLE") + " (" + escapeHtmlChars(spotName) + ")"); + M("TP_LOCALLAB_MODE_SIMPLE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } else if (complexity->get_active_row_number() == Normal) { // New selected mode is Normal one const bool maskPreviewActivated = isMaskViewActive(); @@ -6114,7 +6297,7 @@ void LocallabSoft::complexityModeChanged() if (listener && isLocActivated) { listener->panelChanged(EvlocallabcomplexityWithRefresh, - M("TP_LOCALLAB_MODE_NORMAL") + " (" + escapeHtmlChars(spotName) + ")"); + M("TP_LOCALLAB_MODE_NORMAL") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } else if (complexity->get_active_row_number() == Expert) { // New selected mode is Expert one // Update GUI based on new mode @@ -6122,7 +6305,7 @@ void LocallabSoft::complexityModeChanged() if (listener && isLocActivated) { listener->panelChanged(EvlocallabcomplexityWithRefresh, - M("TP_LOCALLAB_MODE_EXPERT") + " (" + escapeHtmlChars(spotName) + ")"); + M("TP_LOCALLAB_MODE_EXPERT") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -6133,10 +6316,10 @@ void LocallabSoft::enabledChanged() if (listener) { if (exp->getEnabled()) { listener->panelChanged(EvLocenasoft, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocenasoft, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -6223,7 +6406,7 @@ void LocallabSoft::softMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallabsoftMethod, - softMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + softMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -6234,9 +6417,10 @@ void LocallabSoft::showmasksoftMethodChanged() if (locToolListener) { locToolListener->resetOtherMaskView(this); } - - if (listener) { - listener->panelChanged(EvlocallabshowmaskMethod, ""); + if(exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } } } @@ -6312,6 +6496,7 @@ LocallabBlur::LocallabBlur(): noiselumc(Gtk::manage(new Adjuster(M("TP_LOCALLAB_NOISELUMCOARSE"), MINCHRO, MAXCHROCC, 0.01, 0.))),//unused here, but used for normalize_mean_dt noiselumdetail(Gtk::manage(new Adjuster(M("TP_LOCALLAB_NOISELUMDETAIL"), 0., 100., 0.01, 50.))), noiselequal(Gtk::manage(new Adjuster(M("TP_LOCALLAB_NOISELEQUAL"), -2, 10, 1, 7, Gtk::manage(new RTImage("circle-white-small.png")), Gtk::manage(new RTImage("circle-black-small.png"))))), + noisegam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_NOISEGAM"), 1.0, 5., 0.1, 1.))), LocalcurveEditorwavhue(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_WAVELET_DENOISEHUE"))), wavhue(static_cast(LocalcurveEditorwavhue->addCurve(CT_Flat, "", nullptr, false, true))), noisechrof(Gtk::manage(new Adjuster(M("TP_LOCALLAB_NOISECHROFINE"), MINCHRO, MAXCHRO, 0.01, 0.))), @@ -6337,6 +6522,7 @@ LocallabBlur::LocallabBlur(): nlgam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_NLGAM"), 2., 5., 0.1, 3.))), bilateral(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BILATERAL"), 0, 100, 1, 0))), sensiden(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 60))), + reparden(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGREPART"), 1.0, 100.0, 1., 100.0))), neutral(Gtk::manage (new Gtk::Button (M ("TP_RETINEX_NEUTRAL")))), expmaskbl(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_SHOWPLUS")))), showmaskblMethod(Gtk::manage(new MyComboBoxText())), @@ -6480,6 +6666,8 @@ LocallabBlur::LocallabBlur(): noiselequal->setAdjusterListener(this); + noisegam->setAdjusterListener(this); + LocalcurveEditorwavhue->setCurveListener(this); wavhue->setIdentityValue(0.); @@ -6522,13 +6710,14 @@ LocallabBlur::LocallabBlur(): nlgam->setAdjusterListener(this); sensiden->setAdjusterListener(this); + reparden->setAdjusterListener(this); setExpandAlignProperties (neutral, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START); RTImage *resetImg = Gtk::manage (new RTImage ("undo-small.png", "redo-small.png")); setExpandAlignProperties (resetImg, false, false, Gtk::ALIGN_CENTER, Gtk::ALIGN_CENTER); neutral->set_image (*resetImg); - neutral->set_tooltip_text (M ("TP_RETINEX_NEUTRAL_TIP")); + neutral->set_tooltip_text (M ("TP_RETINEX_NEUTRAL_TOOLTIP")); neutralconn = neutral->signal_pressed().connect ( sigc::mem_fun (*this, &LocallabBlur::neutral_pressed) ); neutral->show(); @@ -6607,6 +6796,7 @@ LocallabBlur::LocallabBlur(): // Add Blur, Noise & Denoise specific widgets to GUI ToolParamBlock* const blnoisebox = Gtk::manage(new ToolParamBlock()); blnoisebox->pack_start(*sensibn); + blnoisebox->pack_start(*invbl); blnoisebox->pack_start(*blMethod); blnoisebox->pack_start(*fftwbl, Gtk::PACK_SHRINK, 0); blnoisebox->pack_start(*radius); @@ -6639,7 +6829,7 @@ LocallabBlur::LocallabBlur(): blnoisebox->pack_start(*expdenoise2); // blnoisebox->pack_start(*sensibn); // blnoisebox->pack_start(*blurMethod); - blnoisebox->pack_start(*invbl); +// blnoisebox->pack_start(*invbl); blnoisebox->pack_start(*chroMethod); // blnoisebox->pack_start(*activlum); expblnoise->add(*blnoisebox, false); @@ -6655,6 +6845,7 @@ LocallabBlur::LocallabBlur(): // wavBox->pack_start(*noiselumc);//unused here, but used for normalize_mean_dt wavBox->pack_start(*noiselumdetail); wavBox->pack_start(*noiselequal); + wavBox->pack_start(*noisegam); wavBox->pack_start(*LocalcurveEditorwavhue, Gtk::PACK_SHRINK, 4); ToolParamBlock* const wavBox1 = Gtk::manage(new ToolParamBlock()); wavBox1->pack_start(*maskusable, Gtk::PACK_SHRINK, 0); @@ -6670,7 +6861,8 @@ LocallabBlur::LocallabBlur(): detailFrame->add(*detailBox); wavBox->pack_start(*detailFrame); denoisebox->pack_start(*sensiden); - + denoisebox->pack_start(*reparden); + ToolParamBlock* const nlbox = Gtk::manage(new ToolParamBlock()); nlbox->pack_start(*nlstr); nlbox->pack_start(*nldet); @@ -6757,7 +6949,7 @@ void LocallabBlur::resetMaskView() showmaskblMethodConn.block(false); } -void LocallabBlur::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) +void LocallabBlur::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) { blMask = showmaskblMethod->get_active_row_number(); } @@ -6770,6 +6962,7 @@ void LocallabBlur::updateAdviceTooltips(const bool showTooltips) strength->set_tooltip_text(M("TP_LOCALLAB_NOISE_TOOLTIP")); grainFrame->set_tooltip_text(M("TP_LOCALLAB_GRAIN_TOOLTIP")); sensibn->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP")); + reparden->set_tooltip_text(M("TP_LOCALLAB_REPARDEN_TOOLTIP")); medMethod->set_tooltip_text(M("TP_LOCALLAB_MEDIAN_TOOLTIP")); itera->set_tooltip_text(M("TP_LOCALLAB_MEDIANITER_TOOLTIP")); fftwbl->set_tooltip_text(M("TP_LOCALLAB_FFTMASK_TOOLTIP")); @@ -6789,6 +6982,7 @@ void LocallabBlur::updateAdviceTooltips(const bool showTooltips) invmaskd->set_tooltip_text(M("TP_LOCALLAB_MASKDEINV_TOOLTIP")); LocalcurveEditorwavden->setTooltip(M("TP_LOCALLAB_WASDEN_TOOLTIP")); noiselequal->set_tooltip_text(M("TP_LOCALLAB_DENOIEQUAL_TOOLTIP")); + noisegam->set_tooltip_text(M("TP_LOCALLAB_NOISEGAM_TOOLTIP")); noiselumdetail->set_tooltip_text(M("TP_LOCALLAB_DENOILUMDETAIL_TOOLTIP")); noisechrof->set_tooltip_text(M("TP_LOCALLAB_DENOICHROF_TOOLTIP")); noisechroc->set_tooltip_text(M("TP_LOCALLAB_DENOICHROC_TOOLTIP")); @@ -6838,6 +7032,7 @@ void LocallabBlur::updateAdviceTooltips(const bool showTooltips) strength->set_tooltip_text(""); grainFrame->set_tooltip_text(""); sensibn->set_tooltip_text(""); + reparden->set_tooltip_text(""); medMethod->set_tooltip_text(""); itera->set_tooltip_text(""); fftwbl->set_tooltip_text(""); @@ -6854,6 +7049,7 @@ void LocallabBlur::updateAdviceTooltips(const bool showTooltips) invmaskd->set_tooltip_text(""); LocalcurveEditorwavden->setTooltip(""); noiselequal->set_tooltip_text(""); + noisegam->set_tooltip_text(""); noiselumdetail->set_tooltip_text(""); noisechrof->set_tooltip_text(""); noisechroc->set_tooltip_text(""); @@ -6867,7 +7063,6 @@ void LocallabBlur::updateAdviceTooltips(const bool showTooltips) nlpat->set_tooltip_text(""); nlrad->set_tooltip_text(""); nlgam->set_tooltip_text(""); - sensibn->set_tooltip_text(""); blurMethod->set_tooltip_markup(""); expdenoise->set_tooltip_markup(""); wavshapeden->setTooltip(""); @@ -6912,6 +7107,7 @@ void LocallabBlur::neutral_pressed () noiselumf0->setValue(defSpot.noiselumf0); noiselumdetail->setValue(defSpot.noiselumdetail); noiselequal->setValue(defSpot.noiselequal); + noisegam->setValue(defSpot.noisegam); noisechrof->setValue(defSpot.noisechrof); noisechroc->setValue(defSpot.noisechroc); noisechrodetail->setValue(defSpot.noisechrodetail); @@ -7006,8 +7202,6 @@ void LocallabBlur::read(const rtengine::procparams::ProcParams* pp, const Params if (index < (int)pp->locallab.spots.size()) { const LocallabParams::LocallabSpot& spot = pp->locallab.spots.at(index); - spotName = spot.name; // Update spot name according to selected spot - exp->set_visible(spot.visiblur); exp->setEnabled(spot.expblur); complexity->set_active(spot.complexblur); @@ -7052,6 +7246,7 @@ void LocallabBlur::read(const rtengine::procparams::ProcParams* pp, const Params higthres->setValue((double)spot.higthres); epsbl->setValue((double)spot.epsbl); sensibn->setValue((double)spot.sensibn); + reparden->setValue(spot.reparden); recothresd->setValue((double)spot.recothresd); lowthresd->setValue((double)spot.lowthresd); midthresd->setValue((double)spot.midthresd); @@ -7095,6 +7290,7 @@ void LocallabBlur::read(const rtengine::procparams::ProcParams* pp, const Params lnoiselow->setValue(spot.lnoiselow); levelthrlow->setValue(spot.levelthrlow); noiselequal->setValue((double)spot.noiselequal); + noisegam->setValue((double)spot.noisegam); noisechrof->setValue(spot.noisechrof); noisechroc->setValue(spot.noisechroc); noisechrodetail->setValue(spot.noisechrodetail); @@ -7198,6 +7394,7 @@ void LocallabBlur::write(rtengine::procparams::ProcParams* pp, ParamsEdited* ped spot.higthres = higthres->getValue(); spot.epsbl = epsbl->getIntValue(); spot.sensibn = sensibn->getIntValue(); + spot.reparden = reparden->getValue(); spot.recothresd = recothresd->getValue(); spot.lowthresd = lowthresd->getValue(); spot.midthresd = midthresd->getValue(); @@ -7241,6 +7438,7 @@ void LocallabBlur::write(rtengine::procparams::ProcParams* pp, ParamsEdited* ped spot.lnoiselow = lnoiselow->getValue(); spot.levelthrlow = levelthrlow->getValue(); spot.noiselequal = noiselequal->getIntValue(); + spot.noisegam = noisegam->getValue(); spot.noisechrof = noisechrof->getValue(); spot.noisechroc = noisechroc->getValue(); spot.noisechrodetail = noisechrodetail->getValue(); @@ -7307,6 +7505,7 @@ void LocallabBlur::setDefaults(const rtengine::procparams::ProcParams* defParams higthres->setDefault((double)defSpot.higthres); epsbl->setDefault((double)defSpot.epsbl); sensibn->setDefault((double)defSpot.sensibn); + reparden->setDefault(defSpot.reparden); recothresd->setDefault((double)defSpot.recothresd); lowthresd->setDefault((double)defSpot.lowthresd); midthresd->setDefault((double)defSpot.midthresd); @@ -7322,6 +7521,7 @@ void LocallabBlur::setDefaults(const rtengine::procparams::ProcParams* defParams lnoiselow->setDefault(defSpot.lnoiselow); levelthrlow->setDefault(defSpot.levelthrlow); noiselequal->setDefault((double)defSpot.noiselequal); + noisegam->setDefault(defSpot.noisegam); noisechrof->setDefault(defSpot.noisechrof); noisechroc->setDefault(defSpot.noisechroc); noisechrodetail->setDefault(defSpot.noisechrodetail); @@ -7355,63 +7555,63 @@ void LocallabBlur::adjusterChanged(Adjuster* a, double newval) if (a == radius) { if (listener) { listener->panelChanged(Evlocallabradius, - radius->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + radius->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strength) { if (listener) { listener->panelChanged(Evlocallabstrength, - strength->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strength->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == isogr) { if (listener) { listener->panelChanged(Evlocallabisogr, - isogr->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + isogr->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strengr) { if (listener) { listener->panelChanged(Evlocallabstrengr, - strengr->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strengr->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == scalegr) { if (listener) { listener->panelChanged(Evlocallabscalegr, - scalegr->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + scalegr->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == divgr) { if (listener) { listener->panelChanged(Evlocallabdivgr, - divgr->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + divgr->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == itera) { if (listener) { listener->panelChanged(Evlocallabitera, - itera->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + itera->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == guidbl) { if (listener) { listener->panelChanged(Evlocallabguidbl, - guidbl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + guidbl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strbl) { if (listener) { listener->panelChanged(Evlocallabstrbl, - strbl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strbl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -7424,21 +7624,21 @@ void LocallabBlur::adjusterChanged(Adjuster* a, double newval) if (listener) { listener->panelChanged(Evlocallabrecothres, - recothres->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + recothres->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lowthres) { if (listener) { listener->panelChanged(Evlocallablowthres, - lowthres->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lowthres->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == higthres) { if (listener) { listener->panelChanged(Evlocallabhigthres, - higthres->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + higthres->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -7451,105 +7651,112 @@ void LocallabBlur::adjusterChanged(Adjuster* a, double newval) if (listener) { listener->panelChanged(Evlocallabrecothresd, - recothresd->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + recothresd->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lowthresd) { if (listener) { listener->panelChanged(Evlocallablowthresd, - lowthresd->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lowthresd->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == midthresd) { if (listener) { listener->panelChanged(Evlocallabmidthresd, - midthresd->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + midthresd->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == midthresdch) { if (listener) { listener->panelChanged(Evlocallabmidthresdch, - midthresdch->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + midthresdch->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == higthresd) { if (listener) { listener->panelChanged(Evlocallabhigthresd, - higthresd->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + higthresd->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == decayd) { if (listener) { listener->panelChanged(Evlocallabdecayd, - decayd->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + decayd->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == epsbl) { if (listener) { listener->panelChanged(Evlocallabepsbl, - epsbl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + epsbl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sensibn) { if (listener) { listener->panelChanged(Evlocallabsensibn, - sensibn->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sensibn->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == noiselumf0) { if (listener) { listener->panelChanged(Evlocallabnoiselumf0, - noiselumf0->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + noiselumf0->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == noiselumf) { if (listener) { listener->panelChanged(Evlocallabnoiselumf, - noiselumf->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + noiselumf->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == noiselumf2) { if (listener) { listener->panelChanged(Evlocallabnoiselumf2, - noiselumf2->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + noiselumf2->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == noiselumc) { if (listener) { listener->panelChanged(Evlocallabnoiselumc, - noiselumc->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + noiselumc->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == noiselumdetail) { if (listener) { listener->panelChanged(Evlocallabnoiselumdetail, - noiselumdetail->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + noiselumdetail->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == noiselequal) { if (listener) { listener->panelChanged(Evlocallabnoiselequal, - noiselequal->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + noiselequal->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == noisegam) { + if (listener) { + listener->panelChanged(Evlocallabnoisegam, + noisegam->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == levelthr) { if (listener) { listener->panelChanged(Evlocallablevelthr, - levelthr->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + levelthr->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -7561,161 +7768,168 @@ void LocallabBlur::adjusterChanged(Adjuster* a, double newval) } if (listener) { listener->panelChanged(Evlocallablnoiselow, - lnoiselow->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lnoiselow->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == levelthrlow) { if (listener) { listener->panelChanged(Evlocallablevelthrlow, - levelthrlow->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + levelthrlow->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == noisechrof) { if (listener) { listener->panelChanged(Evlocallabnoisechrof, - noisechrof->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + noisechrof->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == noisechroc) { if (listener) { listener->panelChanged(Evlocallabnoisechroc, - noisechroc->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + noisechroc->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == noisechrodetail) { if (listener) { listener->panelChanged(Evlocallabnoisechrodetail, - noisechrodetail->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + noisechrodetail->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == detailthr) { if (listener) { listener->panelChanged(Evlocallabdetailthr, - detailthr->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + detailthr->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == adjblur) { if (listener) { listener->panelChanged(Evlocallabadjblur, - adjblur->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + adjblur->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == bilateral) { if (listener) { listener->panelChanged(Evlocallabbilateral, - bilateral->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + bilateral->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == nlstr) { if (listener) { listener->panelChanged(Evlocallabnlstr, - nlstr->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + nlstr->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == nldet) { if (listener) { listener->panelChanged(Evlocallabnldet, - nldet->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + nldet->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == nlpat) { if (listener) { listener->panelChanged(Evlocallabnlpat, - nlpat->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + nlpat->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == nlrad) { if (listener) { listener->panelChanged(Evlocallabnlrad, - nlrad->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + nlrad->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == nlgam) { if (listener) { listener->panelChanged(Evlocallabnlgam, - nlgam->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + nlgam->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sensiden) { if (listener) { listener->panelChanged(Evlocallabsensiden, - sensiden->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sensiden->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == reparden) { + if (listener) { + listener->panelChanged(Evlocallabreparden, + reparden->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strumaskbl) { if (listener) { listener->panelChanged(Evlocallabstrumaskbl, - strumaskbl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strumaskbl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blendmaskbl) { if (listener) { listener->panelChanged(Evlocallabblendmaskbl, - blendmaskbl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blendmaskbl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == radmaskbl) { if (listener) { listener->panelChanged(Evlocallabradmaskbl, - radmaskbl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + radmaskbl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lapmaskbl) { if (listener) { listener->panelChanged(Evlocallablapmaskbl, - lapmaskbl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lapmaskbl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == chromaskbl) { if (listener) { listener->panelChanged(Evlocallabchromaskbl, - chromaskbl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + chromaskbl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == gammaskbl) { if (listener) { listener->panelChanged(Evlocallabgammaskbl, - gammaskbl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + gammaskbl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == slomaskbl) { if (listener) { listener->panelChanged(Evlocallabslomaskbl, - slomaskbl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + slomaskbl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == shadmaskbl) { if (listener) { listener->panelChanged(Evlocallabshadmaskbl, - shadmaskbl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + shadmaskbl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == shadmaskblsha) { if (listener) { listener->panelChanged(Evlocallabshadmaskblsha, - shadmaskblsha->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + shadmaskblsha->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -7729,7 +7943,7 @@ void LocallabBlur::adjusterChanged2(ThresholdAdjuster* a, int newBottomL, int ne if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallabcsThresholdblur, - csThresholdblur->getHistoryString() + " (" + escapeHtmlChars(spotName) + ")"); + csThresholdblur->getHistoryString() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -7740,49 +7954,49 @@ void LocallabBlur::curveChanged(CurveEditor* ce) if (ce == wavshapeden) { if (listener) { listener->panelChanged(EvlocallabwavCurveden, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == wavhue) { if (listener) { listener->panelChanged(EvlocallabwavCurvehue, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == CCmaskblshape) { if (listener) { listener->panelChanged(EvlocallabCCmaskblshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == LLmaskblshape) { if (listener) { listener->panelChanged(EvlocallabLLmaskblshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == HHmaskblshape) { if (listener) { listener->panelChanged(EvlocallabHHmaskblshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == Lmaskblshape) { if (listener) { listener->panelChanged(EvlocallabLmaskblshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == LLmaskblshapewav) { if (listener) { listener->panelChanged(EvlocallabLLmaskblshapewav, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -7794,10 +8008,10 @@ void LocallabBlur::enabledChanged() if (listener) { if (exp->getEnabled()) { listener->panelChanged(EvLocenablur, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocenablur, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -7823,6 +8037,7 @@ void LocallabBlur::convertParamToNormal() csThresholdblur->setValue(defSpot.csthresholdblur); lnoiselow->setValue(defSpot.lnoiselow); nlrad->setValue(defSpot.nlrad); + noisegam->setValue(defSpot.noisegam); // Enable all listeners enableListener(); @@ -7878,6 +8093,7 @@ void LocallabBlur::convertParamToSimple() nlpat->setValue(defSpot.nlpat); nlrad->setValue(defSpot.nlrad); nlgam->setValue(defSpot.nlgam); + noisegam->setValue(defSpot.noisegam); // Enable all listeners enableListener(); @@ -7909,6 +8125,7 @@ void LocallabBlur::updateGUIToMode(const modeType new_type) nlrad->hide(); nlgam->hide(); scalegr->hide(); + noisegam->hide(); break; case Normal: @@ -7934,6 +8151,7 @@ void LocallabBlur::updateGUIToMode(const modeType new_type) nlrad->hide(); nlgam->show(); scalegr->show(); + noisegam->hide(); if (blMethod->get_active_row_number() == 2) { expdenoise2->show(); @@ -8013,6 +8231,7 @@ void LocallabBlur::updateGUIToMode(const modeType new_type) nlpat->show(); nlrad->show(); nlgam->show(); + noisegam->show(); if(lnoiselow->getValue()!= 1.) { if (showmaskblMethodtyp->get_active_row_number() == 0) { @@ -8049,7 +8268,7 @@ void LocallabBlur::updateGUIToMode(const modeType new_type) } } -void LocallabBlur::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) +void LocallabBlur::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) { idle_register.add( [this, normHuer, normLumar, normChromar]() -> bool { @@ -8087,7 +8306,7 @@ void LocallabBlur::blMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallabblMethod, - blMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + blMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -8098,10 +8317,10 @@ void LocallabBlur::fftwblChanged() if (listener) { if (fftwbl->get_active()) { listener->panelChanged(Evlocallabfftwbl, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabfftwbl, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -8113,10 +8332,10 @@ void LocallabBlur::usemaskChanged() if (listener) { if (usemask->get_active()) { listener->panelChanged(Evlocallabusemask1, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabusemask1, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -8128,10 +8347,10 @@ void LocallabBlur::invmaskdChanged() if (listener) { if (invmaskd->get_active()) { listener->panelChanged(Evlocallabinvmaskd, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabinvmaskd, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -8143,10 +8362,10 @@ void LocallabBlur::invmaskChanged() if (listener) { if (invmask->get_active()) { listener->panelChanged(Evlocallabinvmask, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabinvmask, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -8174,10 +8393,10 @@ void LocallabBlur::invblChanged() if (listener) { if (invbl->get_active()) { listener->panelChanged(Evlocallabinvbl, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabinvbl, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -8188,7 +8407,7 @@ void LocallabBlur::medMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallabmedMethod, - medMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + medMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -8198,7 +8417,7 @@ void LocallabBlur::blurMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallabblurMethod, - blurMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + blurMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -8208,7 +8427,7 @@ void LocallabBlur::chroMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallabchroMethod, - chroMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + chroMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -8218,7 +8437,7 @@ void LocallabBlur::quamethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallabquaMethod, - quamethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + quamethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -8230,10 +8449,10 @@ void LocallabBlur::activlumChanged() if (listener) { if (activlum->get_active()) { listener->panelChanged(Evlocallabactivlum, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabactivlum, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -8276,7 +8495,7 @@ void LocallabBlur::showmaskblMethodtypChanged() if (listener) { listener->panelChanged(EvlocallabshowmasktypMethod, - showmaskblMethodtyp->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + showmaskblMethodtyp->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -8302,10 +8521,10 @@ void LocallabBlur::enablMaskChanged() if (listener) { if (enablMask->get_active()) { listener->panelChanged(EvLocallabEnablMask, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabEnablMask, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -8317,10 +8536,10 @@ void LocallabBlur::toolblChanged() if (listener) { if (toolbl->get_active()) { listener->panelChanged(Evlocallabtoolbl, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabtoolbl, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } diff --git a/rtgui/locallabtools.h b/rtgui/locallabtools.h index 53eafd6f8..c4e54ca61 100644 --- a/rtgui/locallabtools.h +++ b/rtgui/locallabtools.h @@ -59,7 +59,7 @@ protected: // LocallabTool parameters bool needMode; bool isLocActivated; - Glib::ustring spotName; + const Glib::ustring *spotNameSource; LocallabToolListener* locToolListener; // LocallabTool generic widgets @@ -70,6 +70,8 @@ protected: IdleRegister idle_register; + Glib::ustring getSpotName() const; + public: // Locallab tool constructor/destructor LocallabTool(Gtk::Box* content, Glib::ustring toolName, Glib::ustring UILabel, bool need11 = false, bool needMode = true); @@ -98,10 +100,10 @@ public: isLocActivated = cond; } - // Setter for spot name - void setSpotName(const Glib::ustring &spotname) + // Setter for spot name source + void setSpotNameSource(const Glib::ustring *source) { - spotName = spotname; + spotNameSource = source; } // Setter for Locallab tool listener @@ -116,7 +118,7 @@ public: bool isLocallabToolAdded(); // Mask background management function - void refChanged(const double huer, const double lumar, const double chromar); + void refChanged(const double huer, const double lumar, const double chromar, const float fab); // Mask preview functions virtual bool isMaskViewActive() @@ -124,7 +126,7 @@ public: return false; }; virtual void resetMaskView() {}; - virtual void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) {}; + virtual void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) {}; // Advice tooltips management function virtual void updateAdviceTooltips(const bool showTooltips) {}; @@ -149,7 +151,7 @@ public: protected: // To be implemented - virtual void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) {}; // Only necessary when using mask + virtual void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) {}; // Only necessary when using mask private: // Remove button event function @@ -177,6 +179,8 @@ class LocallabColor: private: // Color & Light specific widgets Gtk::Frame* const lumFrame; + Adjuster* const reparcol; + Adjuster* const gamc; Adjuster* const lightness; Adjuster* const contrast; Adjuster* const chroma; @@ -274,7 +278,7 @@ public: bool isMaskViewActive() override; void resetMaskView() override; - void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override; + void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override; void updateAdviceTooltips(const bool showTooltips) override; @@ -299,7 +303,7 @@ private: void convertParamToSimple() override; void updateGUIToMode(const modeType new_type) override; - void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override; + void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override; void curvactivChanged(); void gridMethodChanged(); @@ -331,6 +335,7 @@ private: // Gtk::Frame* const pdeFrame; MyExpander* const exppde; Adjuster* const laplacexp; + Adjuster* const reparexp; Adjuster* const linear; Adjuster* const balanexp; Adjuster* const gamm; @@ -343,6 +348,7 @@ private: Gtk::CheckButton* const norm; Adjuster* const fatlevel; Adjuster* const fatanchor; + Adjuster* const gamex; Adjuster* const sensiex; Adjuster* const structexp; Adjuster* const blurexpde; @@ -398,7 +404,7 @@ public: bool isMaskViewActive() override; void resetMaskView() override; - void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override; + void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override; void updateAdviceTooltips(const bool showTooltips) override; @@ -417,7 +423,7 @@ private: void convertParamToSimple() override; void updateGUIToMode(const modeType new_type) override; - void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override; + void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override; void expMethodChanged(); void exnoiseMethodChanged(); @@ -434,7 +440,7 @@ private: }; -/* ==== LocallabShadow ==== */ +/* ==== LocallabjShadow ==== */ class LocallabShadow: public Gtk::Box, public LocallabTool @@ -442,6 +448,7 @@ class LocallabShadow: private: // Shadow highlight specific widgets MyComboBoxText* const shMethod; + Adjuster* const reparsh; const std::array multipliersh; Adjuster* const detailSH; Adjuster* const highlights; @@ -493,7 +500,7 @@ public: bool isMaskViewActive() override; void resetMaskView() override; - void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override; + void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override; void updateAdviceTooltips(const bool showTooltips) override; @@ -512,7 +519,7 @@ private: void convertParamToSimple() override; void updateGUIToMode(const modeType new_type) override; - void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override; + void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override; void shMethodChanged(); void inversshChanged(); @@ -535,6 +542,7 @@ private: // Vibrance specific widgets Adjuster* const saturated; Adjuster* const pastels; + Adjuster* const vibgam; Adjuster* const warm; ThresholdAdjuster* const psThreshold; Gtk::CheckButton* const protectSkins; @@ -579,7 +587,7 @@ public: bool isMaskViewActive() override; void resetMaskView() override; - void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override; + void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override; void updateAdviceTooltips(const bool showTooltips) override; @@ -605,7 +613,7 @@ private: void convertParamToSimple() override; void updateGUIToMode(const modeType new_type) override; - void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override; + void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override; void protectskins_toggled(); void avoidcolorshift_toggled(); @@ -637,7 +645,7 @@ public: bool isMaskViewActive() override; void resetMaskView() override; - void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override; + void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override; void updateAdviceTooltips(const bool showTooltips) override; @@ -719,6 +727,7 @@ private: Adjuster* const noiselumc; Adjuster* const noiselumdetail; Adjuster* const noiselequal; + Adjuster* const noisegam; CurveEditorGroup* const LocalcurveEditorwavhue; FlatCurveEditor* wavhue; Adjuster* const noisechrof; @@ -745,6 +754,7 @@ private: Adjuster* const nlgam; Adjuster* const bilateral; Adjuster* const sensiden; + Adjuster* const reparden; Gtk::Button* neutral; MyExpander* const expmaskbl; MyComboBoxText* const showmaskblMethod; @@ -781,7 +791,7 @@ public: bool isMaskViewActive() override; void resetMaskView() override; - void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override; + void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override; void updateAdviceTooltips(const bool showTooltips) override; void neutral_pressed(); @@ -807,7 +817,7 @@ private: void convertParamToSimple() override; void updateGUIToMode(const modeType new_type) override; - void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override; + void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override; void blMethodChanged(); void fftwblChanged(); @@ -835,6 +845,7 @@ class LocallabTone: { private: // Tone Mapping specific widgets + Adjuster* const repartm; Adjuster* const amount; Adjuster* const stren; Gtk::CheckButton* const equiltm; @@ -877,7 +888,7 @@ public: bool isMaskViewActive() override; void resetMaskView() override; - void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override; + void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override; void updateAdviceTooltips(const bool showTooltips) override; @@ -896,7 +907,7 @@ private: void convertParamToSimple() override; void updateGUIToMode(const modeType new_type) override; - void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override; + void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override; void equiltmChanged(); void showmasktmMethodChanged(); @@ -976,7 +987,7 @@ public: bool isMaskViewActive() override; void resetMaskView() override; - void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override; + void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override; void updateAdviceTooltips(const bool showTooltips) override; @@ -995,7 +1006,7 @@ private: void convertParamToSimple() override; void updateGUIToMode(const modeType new_type) override; - void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override; + void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override; void loglinChanged(); void retinexMethodChanged(); @@ -1019,6 +1030,7 @@ class LocallabSharp: private: Adjuster* const sharcontrast; Adjuster* const sharblur; + Adjuster* const shargam; Adjuster* const sharamount; Adjuster* const shardamping; Adjuster* const shariter; @@ -1035,7 +1047,7 @@ public: bool isMaskViewActive() override; void resetMaskView() override; - void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override; + void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override; void updateAdviceTooltips(const bool showTooltips) override; @@ -1082,7 +1094,11 @@ private: Adjuster* const residshathr; Adjuster* const residhi; Adjuster* const residhithr; + Adjuster* const gamlc; + Adjuster* const residgam; + Adjuster* const residslop; Adjuster* const sensilc; + Adjuster* const reparw; Gtk::Frame* const clariFrame; Adjuster* const clarilres; Adjuster* const claricres; @@ -1135,7 +1151,7 @@ private: Adjuster* const deltad; CurveEditorGroup* const LocalcurveEditorwavcomp; FlatCurveEditor* const wavshapecomp; - Adjuster* const fatres; + //Adjuster* const fatres; Gtk::CheckButton* const fftwlc; MyExpander* const exprecovw; Gtk::Label* const maskusablew; @@ -1165,7 +1181,7 @@ public: bool isMaskViewActive() override; void resetMaskView() override; - void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override; + void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override; void updateAdviceTooltips(const bool showTooltips) override; @@ -1190,7 +1206,7 @@ private: void convertParamToSimple() override; void updateGUIToMode(const modeType new_type) override; - void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override; + void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override; void localcontMethodChanged(); void origlcChanged(); @@ -1264,7 +1280,7 @@ public: bool isMaskViewActive() override; void resetMaskView() override; - void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override; + void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override; void updateAdviceTooltips(const bool showTooltips) override; @@ -1283,7 +1299,7 @@ private: void convertParamToSimple() override; void updateGUIToMode(const modeType new_type) override; - void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override; + void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override; void showmaskcbMethodChanged(); void enacbMaskChanged(); @@ -1324,9 +1340,10 @@ private: Adjuster* const contthres; Adjuster* const colorfl; Adjuster* const saturl; + Adjuster* const chroml; MyExpander* const expL; - CurveEditorGroup* const CurveEditorL; - DiagonalCurveEditor* const LshapeL; + //CurveEditorGroup* const CurveEditorL; + //DiagonalCurveEditor* const LshapeL; Adjuster* const targabs; MyComboBoxText* const surround; Gtk::Box* const surrHBox; @@ -1366,7 +1383,7 @@ public: bool isMaskViewActive() override; void resetMaskView() override; - void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override; + void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override; void updateAdviceTooltips(const bool showTooltips) override; void surroundChanged(); @@ -1381,7 +1398,7 @@ public: void adjusterChanged(Adjuster* a, double newval) override; void curveChanged(CurveEditor* ce) override; - void updateAutocompute(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg); + void updateAutocompute(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg, const float jz1); private: void enabledChanged() override; @@ -1396,7 +1413,7 @@ private: void ciecamChanged(); void showmaskLMethodChanged(); void enaLMaskChanged(); - void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override; + void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override; void updateLogGUI(); void updateLogGUI2(); @@ -1453,7 +1470,7 @@ public: bool isMaskViewActive() override; void resetMaskView() override; - void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) override; + void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override; void updateAdviceTooltips(const bool showTooltips) override; @@ -1479,7 +1496,7 @@ private: void convertParamToSimple() override; void updateGUIToMode(const modeType new_type) override; - void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) override; + void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override; void showmask_MethodChanged(); void enamaskChanged(); @@ -1489,4 +1506,225 @@ private: void updateMaskGUI(); }; + +/* ==== Locallabcie ==== */ +class Locallabcie: + public Gtk::Box, + public ThresholdAdjusterListener, + public LocallabTool +{ +private: + Adjuster* const sensicie; + Adjuster* const reparcie; + Gtk::CheckButton* const jabcie; + MyComboBoxText* const modecam; + MyComboBoxText* const modecie; + Gtk::Frame* const jzFrame; + Gtk::Box* const modeHBoxcam; + Gtk::Box* const modeHBoxcie; + Gtk::Frame* const cieFrame; + Gtk::CheckButton* const Autograycie; + Adjuster* const sourceGraycie; + Adjuster* const sourceabscie; + MyComboBoxText* const sursourcie; + Gtk::Box* const surHBoxcie; + Gtk::Frame* const cie1Frame; + Gtk::Frame* const cie1lightFrame; + Gtk::Frame* const cie1contFrame; + Gtk::Frame* const cie1colorFrame; + Gtk::Frame* const czlightFrame; +// Gtk::Frame* const czcontFrame; + Gtk::Frame* const czcolorFrame; + Gtk::Frame* const PQFrame; + Gtk::CheckButton* const qtoj; + Adjuster* const lightlcie; + Adjuster* const lightjzcie; + Adjuster* const contjzcie; + Adjuster* const adapjzcie; + Adjuster* const jz100; + Adjuster* const pqremap; + Adjuster* const pqremapcam16; + Gtk::CheckButton* const forcejz; + MyExpander* const expjz; + Gtk::Frame* const jzshFrame; + Adjuster* const hljzcie; + Adjuster* const hlthjzcie; + Adjuster* const shjzcie; + Adjuster* const shthjzcie; + Adjuster* const radjzcie; + + MyExpander* const expwavjz; + + Gtk::Frame* const contFramejz; + Adjuster* const sigmalcjz; + CurveEditorGroup* const LocalcurveEditorwavjz; + FlatCurveEditor* const wavshapejz; + ThresholdAdjuster* const csThresholdjz; + Gtk::Frame* const clariFramejz; + Adjuster* const clarilresjz; + Adjuster* const claricresjz; + Adjuster* const clarisoftjz; + + MyExpander* const expcam16; + + Adjuster* const lightqcie; + Adjuster* const contlcie; + Adjuster* const contqcie; + Adjuster* const contthrescie; + Gtk::Frame* const logjzFrame; + Gtk::CheckButton* const logjz; + Adjuster* const blackEvjz; + Adjuster* const whiteEvjz; + Adjuster* const targetjz; + Gtk::Frame* const bevwevFrame; + Gtk::CheckButton* const forcebw; + + Gtk::Frame* const sigmoidFrame; + Gtk::CheckButton* const sigq; + Adjuster* const sigmoidldacie; + Adjuster* const sigmoidthcie; + Adjuster* const sigmoidblcie; + Gtk::CheckButton* const sigmoidqjcie; + Gtk::CheckButton* const logcie; + Gtk::Frame* const sigmoidjzFrame; + Gtk::CheckButton* const sigjz; + Adjuster* const sigmoidldajzcie; + Adjuster* const sigmoidthjzcie; + Adjuster* const sigmoidbljzcie; + + Adjuster* const colorflcie; + Adjuster* const saturlcie; + Adjuster* const rstprotectcie; + Adjuster* const chromlcie; + Adjuster* const huecie; + CurveEditorGroup* const cieCurveEditorG; + MyComboBoxText* const toneMethodcie; + DiagonalCurveEditor* const shapecie; + CurveEditorGroup* const cieCurveEditorG2; + MyComboBoxText* const toneMethodcie2; + DiagonalCurveEditor* const shapecie2; + + Adjuster* const chromjzcie; + Adjuster* const saturjzcie; + Adjuster* const huejzcie; + CurveEditorGroup* const jz1CurveEditorG; + DiagonalCurveEditor* const shapejz; + DiagonalCurveEditor* const shapecz; + + + Gtk::Frame* const HFramejz; + Gtk::Frame* const JzHFramejz; + CurveEditorGroup* const jz2CurveEditorG; + CurveEditorGroup* const jz3CurveEditorG; + DiagonalCurveEditor* const shapeczjz; + FlatCurveEditor* const HHshapejz; + FlatCurveEditor* const CHshapejz; + FlatCurveEditor* const LHshapejz; + Adjuster* const softjzcie; + Adjuster* const thrhjzcie; + Gtk::CheckButton* const chjzcie; + Adjuster* const strsoftjzcie; + +/* + Gtk::Frame* const ciezFrame; + Adjuster* const lightlzcam; + Adjuster* const lightqzcam; + Adjuster* const contlzcam; + Adjuster* const contqzcam; + Adjuster* const contthreszcam; + Adjuster* const colorflzcam; + Adjuster* const saturzcam; + Adjuster* const chromzcam; +*/ + MyExpander* const expLcie; + Gtk::Frame* const cie2Frame; + Adjuster* const targetGraycie; + Adjuster* const targabscie; + Adjuster* const detailcie; + Adjuster* const catadcie; + MyComboBoxText* const surroundcie; + Gtk::Box* const surrHBoxcie; + + MyExpander* const exprecovcie; + Gtk::Label* const maskusablecie; + Gtk::Label* const maskunusablecie; + Adjuster* const recothrescie; + Adjuster* const lowthrescie; + Adjuster* const higthrescie; + Adjuster* const decaycie; + + MyExpander* const expmaskcie; + MyComboBoxText* const showmaskcieMethod; + Gtk::CheckButton* const enacieMask; + CurveEditorGroup* const maskcieCurveEditorG; + FlatCurveEditor* const CCmaskcieshape; + FlatCurveEditor* const LLmaskcieshape; + FlatCurveEditor* const HHmaskcieshape; + Adjuster* const blendmaskcie; + Adjuster* const radmaskcie; + Adjuster* const lapmaskcie; + Adjuster* const chromaskcie; + Adjuster* const gammaskcie; + Adjuster* const slomaskcie; + + CurveEditorGroup* const mask2cieCurveEditorG; + DiagonalCurveEditor* const Lmaskcieshape; + + sigc::connection AutograycieConn, forcejzConn, forcebwConn, qtojConn, showmaskcieMethodConn, enacieMaskConn, jabcieConn, sursourcieconn, surroundcieconn, modecieconn, modecamconn, sigmoidqjcieconn, logcieconn, logjzconn, sigjzconn, sigqconn, chjzcieconn, toneMethodcieConn, toneMethodcieConn2; +public: + Locallabcie(); + ~Locallabcie(); + + bool isMaskViewActive() override; + void resetMaskView() override; + void getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) override; + + void updateAdviceTooltips(const bool showTooltips) override; + void setDefaultExpanderVisibility() override; + + void disableListener() override; + void enableListener() override; + void read(const rtengine::procparams::ProcParams* pp, const ParamsEdited* pedited = nullptr) override; + void write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited = nullptr) override; + void setDefaults(const rtengine::procparams::ProcParams* defParams, const ParamsEdited* pedited = nullptr) override; + void adjusterChanged(Adjuster* a, double newval) override; + void adjusterChanged(ThresholdAdjuster* a, double newBottom, double newTop) override {}; // Not used +// void adjusterChanged3(ThresholdAdjuster* a, double newBottom, double newTop) override {}; + void adjusterChanged(ThresholdAdjuster* a, double newBottomLeft, double newTopLeft, double newBottomRight, double newTopRight) override {}; // Not used + void adjusterChanged(ThresholdAdjuster* a, int newBottom, int newTop) override {}; // Not used + void adjusterChanged(ThresholdAdjuster* a, int newBottomLeft, int newTopLeft, int newBottomRight, int newTopRight) override {}; // Not used + void adjusterChanged2(ThresholdAdjuster* a, int newBottomL, int newTopL, int newBottomR, int newTopR) override; + void sursourcieChanged(); + void surroundcieChanged(); + void modecieChanged(); + void modecamChanged(); + void curveChanged(CurveEditor* ce) override; + void toneMethodcieChanged(); + void toneMethodcie2Changed(); + void updateAutocompute(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg, const float jz1); + +private: + void enabledChanged() override; + void convertParamToNormal() override; + void convertParamToSimple() override; + void updateGUIToMode(const modeType new_type) override; + void complexityModeChanged(); + void AutograycieChanged(); + void forcejzChanged(); + void forcebwChanged(); + void qtojChanged(); + void jabcieChanged(); + void sigmoidqjcieChanged(); + void logcieChanged(); + void logjzChanged(); + void sigjzChanged(); + void sigqChanged(); + void chjzcieChanged(); + void updatecieGUI(); + void updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) override; + void showmaskcieMethodChanged(); + void enacieMaskChanged(); + +}; + #endif diff --git a/rtgui/locallabtools2.cc b/rtgui/locallabtools2.cc index d0ed30a8a..a2c18ee08 100644 --- a/rtgui/locallabtools2.cc +++ b/rtgui/locallabtools2.cc @@ -24,6 +24,7 @@ #include "../rtengine/procparams.h" #include "locallab.h" #include "rtimage.h" +#include "../rtengine/color.h" #define MINNEIGH 0.1 #define MAXNEIGH 1500 @@ -118,6 +119,7 @@ LocallabTone::LocallabTone(): LocallabTool(this, M("TP_LOCALLAB_TONE_TOOLNAME"), M("TP_LOCALLAB_TM"), true), // Tone mapping specific widgets + repartm(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGREPART"), 1.0, 100.0, 1., 100.0))), amount(Gtk::manage(new Adjuster(M("TP_LOCALLAB_AMOUNT"), 50., 100.0, 0.5, 95.))), stren(Gtk::manage(new Adjuster(M("TP_LOCALLAB_STREN"), -0.5, 2.0, 0.01, 0.5))), equiltm(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_EQUIL")))), @@ -131,7 +133,7 @@ LocallabTone::LocallabTone(): exprecovt(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_DENOI2_EXP")))), maskusablet(Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_MASKUSABLE")))), maskunusablet(Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_MASKUNUSABLE")))), - recothrest(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKRECOTHRES"), 1., 2., 0.01, 1.))), + recothrest(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKRECOTHRES"), 0., 2., 0.01, 1.))), lowthrest(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKLCTHRLOW"), 1., 80., 0.5, 12.))), higthrest(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKLCTHR"), 20., 99., 0.5, 85.))), decayt(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKDDECAY"), 0.5, 4., 0.1, 2.))), @@ -160,6 +162,8 @@ LocallabTone::LocallabTone(): // Parameter Tone Mapping specific widgets amount->setAdjusterListener(this); + repartm->setAdjusterListener(this); + stren->setAdjusterListener(this); equiltmConn = equiltm->signal_toggled().connect(sigc::mem_fun(*this, &LocallabTone::equiltmChanged)); @@ -235,10 +239,13 @@ LocallabTone::LocallabTone(): Lmasktmshape->setLeftBarBgGradient({{0., 0., 0., 0.}, {1., 1., 1., 1.}}); mask2tmCurveEditorG->curveListComplete(); + Gtk::Separator* const separatortm = Gtk::manage(new Gtk::Separator(Gtk::ORIENTATION_HORIZONTAL)); // Add Tone Mapping specific widgets to GUI // pack_start(*amount); // To use if we change transit_shapedetect parameters pack_start(*sensitm); + pack_start(*repartm); + pack_start(*separatortm); pack_start(*stren); pack_start(*equiltm); pack_start(*gamma); @@ -293,7 +300,7 @@ void LocallabTone::resetMaskView() showmasktmMethodConn.block(false); } -void LocallabTone::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) +void LocallabTone::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) { tmMask = showmasktmMethod->get_active_row_number(); } @@ -302,8 +309,10 @@ void LocallabTone::updateAdviceTooltips(const bool showTooltips) { if (showTooltips) { exp->set_tooltip_text(M("TP_LOCALLAB_TONEMAP_TOOLTIP")); + recothrest->set_tooltip_text(M("TP_LOCALLAB_RECOTHRES02_TOOLTIP")); exprecovt->set_tooltip_markup(M("TP_LOCALLAB_MASKRESTM_TOOLTIP")); equiltm->set_tooltip_text(M("TP_LOCALLAB_EQUILTM_TOOLTIP")); + repartm->set_tooltip_text(M("TP_LOCALLAB_REPARTM_TOOLTIP")); gamma->set_tooltip_text(M("TP_LOCALLAB_TONEMAPGAM_TOOLTIP")); estop->set_tooltip_text(M("TP_LOCALLAB_TONEMAPESTOP_TOOLTIP")); scaltm->set_tooltip_text(M("TP_LOCALLAB_TONEMASCALE_TOOLTIP")); @@ -329,6 +338,8 @@ void LocallabTone::updateAdviceTooltips(const bool showTooltips) } else { exp->set_tooltip_text(""); equiltm->set_tooltip_text(""); + recothrest->set_tooltip_text(""); + repartm->set_tooltip_text(""); gamma->set_tooltip_text(""); estop->set_tooltip_text(""); scaltm->set_tooltip_text(""); @@ -393,14 +404,13 @@ void LocallabTone::read(const rtengine::procparams::ProcParams* pp, const Params if (index < (int)pp->locallab.spots.size()) { const LocallabParams::LocallabSpot& spot = pp->locallab.spots.at(index); - spotName = spot.name; // Update spot name according to selected spot - exp->set_visible(spot.visitonemap); exp->setEnabled(spot.exptonemap); complexity->set_active(spot.complextonemap); amount->setValue(spot.amount); stren->setValue(spot.stren); + repartm->setValue(spot.repartm); equiltm->set_active(spot.equiltm); gamma->setValue(spot.gamma); satur->setValue(spot.satur); @@ -449,6 +459,7 @@ void LocallabTone::write(rtengine::procparams::ProcParams* pp, ParamsEdited* ped spot.amount = amount->getValue(); spot.stren = stren->getValue(); + spot.repartm = repartm->getValue(); spot.equiltm = equiltm->get_active(); spot.gamma = gamma->getValue(); spot.satur = satur->getValue(); @@ -492,6 +503,7 @@ void LocallabTone::setDefaults(const rtengine::procparams::ProcParams* defParams satur->setDefault(defSpot.satur); estop->setDefault(defSpot.estop); scaltm->setDefault(defSpot.scaltm); + repartm->setDefault(defSpot.repartm); rewei->setDefault((double)defSpot.rewei); softradiustm->setDefault(defSpot.softradiustm); sensitm->setDefault((double)defSpot.sensitm); @@ -513,7 +525,7 @@ void LocallabTone::setDefaults(const rtengine::procparams::ProcParams* defParams void LocallabTone::adjusterChanged(Adjuster* a, double newval) { if (isLocActivated && exp->getEnabled() && listener) { - const auto spName = " (" + escapeHtmlChars(spotName) + ")"; + const auto spName = " (" + escapeHtmlChars(getSpotName()) + ")"; if (a == amount) { listener->panelChanged(Evlocallabamount, amount->getTextValue() + spName); @@ -527,6 +539,8 @@ void LocallabTone::adjusterChanged(Adjuster* a, double newval) listener->panelChanged(Evlocallabestop, estop->getTextValue() + spName); } else if (a == scaltm) { listener->panelChanged(Evlocallabscaltm, scaltm->getTextValue() + spName); + } else if (a == repartm) { + listener->panelChanged(Evlocallabrepartm, repartm->getTextValue() + spName); } else if (a == rewei) { listener->panelChanged(Evlocallabrewei, rewei->getTextValue() + spName); } else if (a == softradiustm) { @@ -560,7 +574,7 @@ void LocallabTone::adjusterChanged(Adjuster* a, double newval) void LocallabTone::curveChanged(CurveEditor* ce) { if (isLocActivated && exp->getEnabled() && listener) { - const auto spName = M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"; + const auto spName = M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"; if (ce == CCmasktmshape) { listener->panelChanged(EvlocallabCCmasktmshape, spName); @@ -578,7 +592,7 @@ void LocallabTone::enabledChanged() { if (isLocActivated && listener) { listener->panelChanged(EvLocenatonemap, (exp->getEnabled() ? M("GENERAL_ENABLED") : M("GENERAL_DISABLED")) - + " (" + escapeHtmlChars(spotName) + ")"); + + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -689,7 +703,7 @@ void LocallabTone::updateGUIToMode(const modeType new_type) } } -void LocallabTone::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) +void LocallabTone::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) { idle_register.add( [this, normHuer, normLumar, normChromar]() -> bool { @@ -712,10 +726,10 @@ void LocallabTone::equiltmChanged() if (listener) { if (equiltm->get_active()) { listener->panelChanged(Evlocallabequiltm, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabequiltm, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -728,8 +742,10 @@ void LocallabTone::showmasktmMethodChanged() locToolListener->resetOtherMaskView(this); } - if (listener) { - listener->panelChanged(EvlocallabshowmaskMethod, ""); + if(exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } } } @@ -747,10 +763,10 @@ void LocallabTone::enatmMaskChanged() if (listener) { if (enatmMask->get_active()) { listener->panelChanged(EvLocallabEnatmMask, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabEnatmMask, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -762,10 +778,10 @@ void LocallabTone::enatmMaskaftChanged() if (listener) { if (enatmMaskaft->get_active()) { listener->panelChanged(EvLocallabEnatmMaskaft, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabEnatmMaskaft, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -967,6 +983,7 @@ LocallabRetinex::LocallabRetinex(): inversretConn = inversret->signal_toggled().connect(sigc::mem_fun(*this, &LocallabRetinex::inversretChanged)); // Add Retinex specific widgets to GUI + pack_start(*sensih); ToolParamBlock* const auxBox = Gtk::manage(new ToolParamBlock()); // Gtk::Frame* const dehaFrame = Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_DEHAFRA"))); dehaFrame->set_label_align(0.025, 0.5); @@ -981,9 +998,9 @@ LocallabRetinex::LocallabRetinex(): deharetiBox->pack_start(*loglin); retiFrame->add(*deharetiBox); auxBox->add(*retiFrame); - ToolParamBlock* const scopeBox = Gtk::manage(new ToolParamBlock()); - scopeBox->pack_start(*sensih); - auxBox->add(*scopeBox); + // ToolParamBlock* const scopeBox = Gtk::manage(new ToolParamBlock()); + // scopeBox->pack_start(*sensih); + // auxBox->add(*scopeBox); pack_start(*auxBox); ToolParamBlock* const retiBox = Gtk::manage(new ToolParamBlock()); retiBox->pack_start(*retinexMethod); @@ -1086,7 +1103,7 @@ void LocallabRetinex::resetMaskView() showmaskretiMethodConn.block(false); } -void LocallabRetinex::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) +void LocallabRetinex::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) { retiMask = showmaskretiMethod->get_active_row_number(); } @@ -1223,8 +1240,6 @@ void LocallabRetinex::read(const rtengine::procparams::ProcParams* pp, const Par if (index < (int)pp->locallab.spots.size()) { const LocallabParams::LocallabSpot& spot = pp->locallab.spots.at(index); - spotName = spot.name; // Update spot name according to selected spot - exp->set_visible(spot.visireti); exp->setEnabled(spot.expreti); complexity->set_active(spot.complexreti); @@ -1412,105 +1427,105 @@ void LocallabRetinex::adjusterChanged(Adjuster* a, double newval) if (a == dehaz) { if (listener) { listener->panelChanged(Evlocallabdehaz, - dehaz->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + dehaz->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == dehazeSaturation) { if (listener) { listener->panelChanged(EvlocallabdehazeSaturation, - dehazeSaturation->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + dehazeSaturation->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == depth) { if (listener) { listener->panelChanged(Evlocallabdepth, - depth->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + depth->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == str) { if (listener) { listener->panelChanged(Evlocallabstr, - str->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + str->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sensih) { if (listener) { listener->panelChanged(Evlocallabsensih, - sensih->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sensih->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == neigh) { if (listener) { listener->panelChanged(Evlocallabneigh, - neigh->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + neigh->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == vart) { if (listener) { listener->panelChanged(Evlocallabvart, - vart->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + vart->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == scalereti) { if (listener) { listener->panelChanged(Evlocallabscalereti, - scalereti->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + scalereti->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == limd) { if (listener) { listener->panelChanged(Evlocallablimd, - limd->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + limd->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == offs) { if (listener) { listener->panelChanged(Evlocallaboffs, - offs->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + offs->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == chrrt) { if (listener) { listener->panelChanged(Evlocallabchrrt, - chrrt->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + chrrt->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == darkness) { if (listener) { listener->panelChanged(Evlocallabdarkness, - darkness->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + darkness->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lightnessreti) { if (listener) { listener->panelChanged(Evlocallablightnessreti, - lightnessreti->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lightnessreti->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == cliptm) { if (listener) { listener->panelChanged(Evlocallabcliptm, - cliptm->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + cliptm->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == softradiusret) { if (listener) { listener->panelChanged(Evlocallabsoftradiusret, - softradiusret->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + softradiusret->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -1518,70 +1533,70 @@ void LocallabRetinex::adjusterChanged(Adjuster* a, double newval) if (listener) { listener->panelChanged(Evlocallabrecothresr, - recothresr->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + recothresr->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lowthresr) { if (listener) { listener->panelChanged(Evlocallablowthresr, - lowthresr->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lowthresr->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == higthresr) { if (listener) { listener->panelChanged(Evlocallabhigthresr, - higthresr->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + higthresr->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == decayr) { if (listener) { listener->panelChanged(Evlocallabdecayr, - decayr->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + decayr->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blendmaskreti) { if (listener) { listener->panelChanged(Evlocallabblendmaskreti, - blendmaskreti->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blendmaskreti->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == radmaskreti) { if (listener) { listener->panelChanged(Evlocallabradmaskreti, - radmaskreti->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + radmaskreti->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lapmaskreti) { if (listener) { listener->panelChanged(Evlocallablapmaskreti, - lapmaskreti->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lapmaskreti->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == chromaskreti) { if (listener) { listener->panelChanged(Evlocallabchromaskreti, - chromaskreti->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + chromaskreti->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == gammaskreti) { if (listener) { listener->panelChanged(Evlocallabgammaskreti, - gammaskreti->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + gammaskreti->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == slomaskreti) { if (listener) { listener->panelChanged(Evlocallabslomaskreti, - slomaskreti->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + slomaskreti->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -1593,42 +1608,42 @@ void LocallabRetinex::curveChanged(CurveEditor* ce) if (ce == cTtransshape) { if (listener) { listener->panelChanged(EvlocallabCTtransCurve, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == cTgainshape) { if (listener) { listener->panelChanged(EvlocallabCTgainCurve, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == CCmaskretishape) { if (listener) { listener->panelChanged(EvlocallabCCmaskretishape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == LLmaskretishape) { if (listener) { listener->panelChanged(EvlocallabLLmaskretishape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == HHmaskretishape) { if (listener) { listener->panelChanged(EvlocallabHHmaskretishape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == Lmaskretishape) { if (listener) { listener->panelChanged(EvlocallabLmaskretishape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -1640,10 +1655,10 @@ void LocallabRetinex::enabledChanged() if (listener) { if (exp->getEnabled()) { listener->panelChanged(EvLocenareti, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocenareti, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -1771,7 +1786,7 @@ void LocallabRetinex::updateGUIToMode(const modeType new_type) } } -void LocallabRetinex::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) +void LocallabRetinex::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) { idle_register.add( [this, normHuer, normLumar, normChromar]() -> bool { @@ -1794,10 +1809,10 @@ void LocallabRetinex::loglinChanged() if (listener) { if (loglin->get_active()) { listener->panelChanged(Evlocallabloglin, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabloglin, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -1808,7 +1823,7 @@ void LocallabRetinex::retinexMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallabretinexMethod, - retinexMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + retinexMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -1819,10 +1834,10 @@ void LocallabRetinex::fftwretiChanged() if (listener) { if (fftwreti->get_active()) { listener->panelChanged(Evlocallabfftwreti, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabfftwreti, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -1834,10 +1849,10 @@ void LocallabRetinex::equilretChanged() if (listener) { if (inversret->get_active()) { listener->panelChanged(Evlocallabequilret, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabequilret, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -1850,8 +1865,10 @@ void LocallabRetinex::showmaskretiMethodChanged() locToolListener->resetOtherMaskView(this); } - if (listener) { - listener->panelChanged(EvlocallabshowmaskMethod, ""); + if(exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } } } @@ -1870,10 +1887,10 @@ void LocallabRetinex::enaretiMaskChanged() if (listener) { if (enaretiMask->get_active()) { listener->panelChanged(EvLocallabEnaretiMask, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabEnaretiMask, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -1885,10 +1902,10 @@ void LocallabRetinex::enaretiMasktmapChanged() if (listener) { if (enaretiMasktmap->get_active()) { listener->panelChanged(EvLocallabEnaretiMasktmap, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabEnaretiMasktmap, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -1912,10 +1929,10 @@ void LocallabRetinex::inversretChanged() if (listener) { if (inversret->get_active()) { listener->panelChanged(Evlocallabinversret, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabinversret, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -1966,6 +1983,7 @@ LocallabSharp::LocallabSharp(): // Sharpening specific widgets sharcontrast(Gtk::manage(new Adjuster(M("TP_SHARPENING_CONTRAST"), 0, 200, 1, 20))), sharblur(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHARBLUR"), 0.2, 2.0, 0.05, 0.2))), + shargam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_GAMC"), 0.5, 3.0, 0.05, 1.))), sharamount(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHARAMOUNT"), 0, 100, 1, 100))), shardamping(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHARDAMPING"), 0, 100, 1, 0))), shariter(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SHARITER"), 5, 100, 1, 30))), @@ -1990,6 +2008,8 @@ LocallabSharp::LocallabSharp(): sharblur->setAdjusterListener(this); + shargam->setAdjusterListener(this); + sensisha->setAdjusterListener(this); inversshaConn = inverssha->signal_toggled().connect(sigc::mem_fun(*this, &LocallabSharp::inversshaChanged)); @@ -2005,6 +2025,7 @@ LocallabSharp::LocallabSharp(): pack_start(*sensisha); pack_start(*sharcontrast); pack_start(*sharblur); + pack_start(*shargam); pack_start(*sharradius); pack_start(*sharamount); pack_start(*shardamping); @@ -2030,7 +2051,7 @@ void LocallabSharp::resetMaskView() showmasksharMethodConn.block(false); } -void LocallabSharp::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) +void LocallabSharp::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) { sharMask = showmasksharMethod->get_active_row_number(); } @@ -2040,9 +2061,12 @@ void LocallabSharp::updateAdviceTooltips(const bool showTooltips) if (showTooltips) { exp->set_tooltip_text(M("TP_LOCALLAB_EXPSHARP_TOOLTIP")); sensisha->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP")); + shargam->set_tooltip_text(M("TP_LOCALLAB_GAMCOL_TOOLTIP")); + } else { exp->set_tooltip_text(""); sensisha->set_tooltip_text(""); + shargam->set_tooltip_text(""); } } @@ -2073,8 +2097,6 @@ void LocallabSharp::read(const rtengine::procparams::ProcParams* pp, const Param if (index < (int)pp->locallab.spots.size()) { const LocallabParams::LocallabSpot& spot = pp->locallab.spots.at(index); - spotName = spot.name; // Update spot name according to selected spot - exp->set_visible(spot.visisharp); exp->setEnabled(spot.expsharp); complexity->set_active(spot.complexsharp); @@ -2085,6 +2107,7 @@ void LocallabSharp::read(const rtengine::procparams::ProcParams* pp, const Param shardamping->setValue((double)spot.shardamping); shariter->setValue((double)spot.shariter); sharblur->setValue(spot.sharblur); + shargam->setValue(spot.shargam); sensisha->setValue((double)spot.sensisha); inverssha->set_active(spot.inverssha); } @@ -2115,6 +2138,7 @@ void LocallabSharp::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pe spot.shardamping = shardamping->getIntValue(); spot.shariter = shariter->getIntValue(); spot.sharblur = sharblur->getValue(); + spot.shargam = shargam->getValue(); spot.sensisha = sensisha->getIntValue(); spot.inverssha = inverssha->get_active(); } @@ -2136,6 +2160,7 @@ void LocallabSharp::setDefaults(const rtengine::procparams::ProcParams* defParam shardamping->setDefault((double)defSpot.shardamping); shariter->setDefault((double)defSpot.shariter); sharblur->setDefault(defSpot.sharblur); + shargam->setDefault(defSpot.shargam); sensisha->setDefault((double)defSpot.sensisha); } @@ -2148,49 +2173,56 @@ void LocallabSharp::adjusterChanged(Adjuster* a, double newval) if (a == sharcontrast) { if (listener) { listener->panelChanged(Evlocallabsharcontrast, - sharcontrast->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sharcontrast->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sharradius) { if (listener) { listener->panelChanged(Evlocallabsharradius, - sharradius->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sharradius->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sharamount) { if (listener) { listener->panelChanged(Evlocallabsharamount, - sharamount->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sharamount->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == shardamping) { if (listener) { listener->panelChanged(Evlocallabshardamping, - shardamping->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + shardamping->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == shariter) { if (listener) { listener->panelChanged(Evlocallabshariter, - shariter->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + shariter->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sharblur) { if (listener) { listener->panelChanged(Evlocallabsharblur, - sharblur->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sharblur->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == shargam) { + if (listener) { + listener->panelChanged(Evlocallabshargam, + shargam->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sensisha) { if (listener) { listener->panelChanged(Evlocallabsensis, - sensisha->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sensisha->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -2202,10 +2234,10 @@ void LocallabSharp::enabledChanged() if (listener) { if (exp->getEnabled()) { listener->panelChanged(EvLocenasharp, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocenasharp, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -2224,6 +2256,7 @@ void LocallabSharp::convertParamToNormal() sharamount->setValue(defSpot.sharamount); shardamping->setValue((double)defSpot.shardamping); shariter->setValue((double)defSpot.shariter); + shargam->setValue(defSpot.shargam); // Enable all listeners enableListener(); @@ -2256,6 +2289,7 @@ void LocallabSharp::updateGUIToMode(const modeType new_type) shardamping->hide(); shariter->hide(); sharFrame->hide(); + shargam->hide(); break; @@ -2263,6 +2297,7 @@ void LocallabSharp::updateGUIToMode(const modeType new_type) // Expert mode widgets are hidden in Normal mode sharcontrast->hide(); sharblur->hide(); + shargam->hide(); sharamount->hide(); shardamping->hide(); shariter->hide(); @@ -2275,6 +2310,7 @@ void LocallabSharp::updateGUIToMode(const modeType new_type) // Show widgets hidden in Normal and Simple mode sharcontrast->show(); sharblur->show(); + shargam->show(); sharamount->show(); shardamping->show(); shariter->show(); @@ -2288,10 +2324,10 @@ void LocallabSharp::inversshaChanged() if (listener) { if (inverssha->get_active()) { listener->panelChanged(Evlocallabinverssha, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabinverssha, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -2304,8 +2340,10 @@ void LocallabSharp::showmasksharMethodChanged() locToolListener->resetOtherMaskView(this); } - if (listener) { - listener->panelChanged(EvlocallabshowmaskMethod, ""); + if(exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } } } @@ -2332,7 +2370,11 @@ LocallabContrast::LocallabContrast(): residshathr(Gtk::manage(new Adjuster(M("TP_LOCALLAB_RESIDSHATHR"), 0., 100., 1., 30.))), residhi(Gtk::manage(new Adjuster(M("TP_LOCALLAB_RESIDHI"), -100., 100., 1., 0.))), residhithr(Gtk::manage(new Adjuster(M("TP_LOCALLAB_RESIDHITHR"), 0., 100., 1., 70.))), + gamlc(Gtk::manage(new Adjuster(M("TP_LOCALLAB_GAMW"), 0.5, 3., 0.01, 1.))), + residgam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_GAMSH"), 0.25, 15.0, 0.01, 2.4))), + residslop(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SLOSH"), 0.0, 500.0, 0.01, 12.92))), sensilc(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 60))), + reparw(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGREPART"), 1.0, 100.0, 1., 100.0))), clariFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CLARIFRA")))), clarilres(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CLARILRES"), -20., 100., 0.5, 0.))), claricres(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CLARICRES"), -20., 100., 0.5, 0.))), @@ -2385,12 +2427,12 @@ LocallabContrast::LocallabContrast(): deltad(Gtk::manage(new Adjuster(M("TP_LOCALLAB_DELTAD"), -3., 3., 0.1, 0.))),//, Gtk::manage(new RTImage("circle-black-small.png")), Gtk::manage(new RTImage("circle-white-small.png"))))), LocalcurveEditorwavcomp(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_WAVCOMP"))), wavshapecomp(static_cast(LocalcurveEditorwavcomp->addCurve(CT_Flat, "", nullptr, false, false))), - fatres(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATRES"), 0., 100., 1., 0.))), + //fatres(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATRES"), 0., 100., 1., 0.))), fftwlc(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_FFTW")))), exprecovw(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_DENOI2_EXP")))), maskusablew(Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_MASKUSABLE")))), maskunusablew(Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_MASKUNUSABLE")))), - recothresw(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKRECOTHRES"), 1., 2., 0.01, 1.))), + recothresw(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKRECOTHRES"), 0., 2., 0.01, 1.))), lowthresw(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKLCTHRLOW"), 1., 80., 0.5, 12.))), higthresw(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKLCTHR"), 20., 99., 0.5, 85.))), decayw(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKDDECAY"), 0.5, 4., 0.1, 2.))), @@ -2463,8 +2505,18 @@ LocallabContrast::LocallabContrast(): residhithr->setAdjusterListener(this); + gamlc->setAdjusterListener(this); + + + residgam->setAdjusterListener(this); + + residslop->setAdjusterListener(this); + residslop->setLogScale(16, 0); + sensilc->setAdjusterListener(this); + reparw->setAdjusterListener(this); + clariFrame->set_label_align(0.025, 0.5); clarilres->setAdjusterListener(this); @@ -2632,7 +2684,7 @@ LocallabContrast::LocallabContrast(): LocalcurveEditorwavcomp->curveListComplete(); - fatres->setAdjusterListener(this); + //fatres->setAdjusterListener(this); fftwlcConn = fftwlc->signal_toggled().connect(sigc::mem_fun(*this, &LocallabContrast::fftwlcChanged)); @@ -2689,6 +2741,7 @@ LocallabContrast::LocallabContrast(): // Add Local contrast specific widgets to GUI pack_start(*sensilc); + pack_start(*reparw); pack_start(*localcontMethod); pack_start(*lcradius); pack_start(*lcamount); @@ -2708,10 +2761,14 @@ LocallabContrast::LocallabContrast(): Gtk::Frame* const shresFrame = Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_SHRESFRA"))); shresFrame->set_label_align(0.025, 0.5); ToolParamBlock* const shresBox = Gtk::manage(new ToolParamBlock()); + Gtk::Separator* const separatorsh = Gtk::manage(new Gtk::Separator(Gtk::ORIENTATION_HORIZONTAL)); shresBox->pack_start(*residsha); shresBox->pack_start(*residshathr); shresBox->pack_start(*residhi); shresBox->pack_start(*residhithr); + shresBox->pack_start(*separatorsh); + shresBox->pack_start(*residgam); + shresBox->pack_start(*residslop); shresFrame->add(*shresBox); resiBox->pack_start(*shresFrame); expresidpyr->add(*resiBox, false); @@ -2727,7 +2784,7 @@ LocallabContrast::LocallabContrast(): clariFrame->add(*clariBox); pack_start(*clariFrame); ToolParamBlock* const blurcontBox = Gtk::manage(new ToolParamBlock()); - Gtk::Frame* const gradwavFrame = Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_GRADWAVFRA"))); + Gtk::Frame* const gradwavFrame = Gtk::manage(new Gtk::Frame()); gradwavFrame->set_label_align(0.025, 0.5); gradwavFrame->set_label_widget(*wavgradl); ToolParamBlock* const gradwavBox = Gtk::manage(new ToolParamBlock()); @@ -2736,7 +2793,7 @@ LocallabContrast::LocallabContrast(): gradwavBox->pack_start(*angwav); gradwavFrame->add(*gradwavBox); blurcontBox->pack_start(*gradwavFrame); - Gtk::Frame* const edgFrame = Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_EDGSHARPFRA"))); + Gtk::Frame* const edgFrame = Gtk::manage(new Gtk::Frame()); edgFrame->set_label_align(0.025, 0.5); edgFrame->set_label_widget(*wavedg); ToolParamBlock* const edgsBox = Gtk::manage(new ToolParamBlock()); @@ -2784,6 +2841,7 @@ LocallabContrast::LocallabContrast(): blurlevelFrame->add(*blurlevcontBox); blurcontBox->pack_start(*blurlevelFrame); expcontrastpyr->add(*blurcontBox, false); + pack_start(*gamlc); pack_start(*expcontrastpyr); ToolParamBlock* const blurcontBox2 = Gtk::manage(new ToolParamBlock()); Gtk::Frame* const contFrame2 = Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CONTFRA"))); @@ -2871,7 +2929,7 @@ void LocallabContrast::resetMaskView() showmasklcMethodConn.block(false); } -void LocallabContrast::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) +void LocallabContrast::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) { lcMask = showmasklcMethod->get_active_row_number(); } @@ -2880,13 +2938,14 @@ void LocallabContrast::updateAdviceTooltips(const bool showTooltips) { if (showTooltips) { contFrame->set_tooltip_text(M("TP_LOCALLAB_EXPCONTRAST_TOOLTIP")); + recothresw->set_tooltip_text(M("TP_LOCALLAB_RECOTHRES02_TOOLTIP")); LocalcurveEditorwav->set_tooltip_markup(M("TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP")); csThreshold->set_tooltip_markup(M("TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP")); levelwav->set_tooltip_markup(M("TP_LOCALLAB_LEVELWAV_TOOLTIP")); clariFrame->set_tooltip_markup(M("TP_LOCALLAB_CLARI_TOOLTIP")); clarisoft->set_tooltip_markup(M("TP_LOCALLAB_CLARISOFT_TOOLTIP")); exprecovw->set_tooltip_markup(M("TP_LOCALLAB_MASKRESWAV_TOOLTIP")); - + gamlc->set_tooltip_text(M("TP_LOCALLAB_GAMC_TOOLTIP")); wavshape->setTooltip(M("TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP")); clarilres->set_tooltip_text(M("TP_LOCALLAB_WAT_CLARIL_TOOLTIP")); claricres->set_tooltip_text(M("TP_LOCALLAB_WAT_CLARIC_TOOLTIP")); @@ -2945,11 +3004,13 @@ void LocallabContrast::updateAdviceTooltips(const bool showTooltips) masklcCurveEditorG->set_tooltip_markup(M("TP_LOCALLAB_MASKCURVE_TOOLTIP")); chromasklc->set_tooltip_text(M("TP_LOCALLAB_CHROMASK_TOOLTIP")); sensilc->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP")); + reparw->set_tooltip_text(M("TP_LOCALLAB_REPARW_TOOLTIP")); decayw->set_tooltip_text(M("TP_LOCALLAB_MASKDECAY_TOOLTIP")); lowthresw->set_tooltip_text(M("TP_LOCALLAB_MASKLOWTHRESWAV_TOOLTIP")); higthresw->set_tooltip_text(M("TP_LOCALLAB_MASKHIGTHRESWAV_TOOLTIP")); } else { contFrame->set_tooltip_text(""); + recothresw->set_tooltip_text(""); LocalcurveEditorwav->set_tooltip_markup(""); csThreshold->set_tooltip_markup(""); expresidpyr->set_tooltip_text(""); @@ -2977,6 +3038,8 @@ void LocallabContrast::updateAdviceTooltips(const bool showTooltips) masklcCurveEditorG->set_tooltip_markup(""); chromasklc->set_tooltip_text(""); sensilc->set_tooltip_text(""); + reparw->set_tooltip_text(""); + gamlc->set_tooltip_text(""); wavshape->setTooltip(""); clarilres->set_tooltip_text(""); @@ -3082,8 +3145,6 @@ void LocallabContrast::read(const rtengine::procparams::ProcParams* pp, const Pa if (index < (int)pp->locallab.spots.size()) { const LocallabParams::LocallabSpot& spot = pp->locallab.spots.at(index); - spotName = spot.name; // Update spot name according to selected spot - exp->set_visible(spot.visicontrast); exp->setEnabled(spot.expcontrast); complexity->set_active(spot.complexcontrast); @@ -3112,7 +3173,11 @@ void LocallabContrast::read(const rtengine::procparams::ProcParams* pp, const Pa residshathr->setValue(spot.residshathr); residhi->setValue(spot.residhi); residhithr->setValue(spot.residhithr); + gamlc->setValue((double)spot.gamlc); + residgam->setValue(spot.residgam); + residslop->setValue(spot.residslop); sensilc->setValue((double)spot.sensilc); + reparw->setValue(spot.reparw); clarilres->setValue(spot.clarilres); claricres->setValue(spot.claricres); clarisoft->setValue(spot.clarisoft); @@ -3172,7 +3237,7 @@ void LocallabContrast::read(const rtengine::procparams::ProcParams* pp, const Pa sigmadc->setValue(spot.sigmadc); deltad->setValue(spot.deltad); wavshapecomp->setCurve(spot.loccompwavcurve); - fatres->setValue(spot.fatres); + //fatres->setValue(spot.fatres); enalcMask->set_active(spot.enalcMask); CCmasklcshape->setCurve(spot.CCmasklccurve); LLmasklcshape->setCurve(spot.LLmasklccurve); @@ -3233,7 +3298,11 @@ void LocallabContrast::write(rtengine::procparams::ProcParams* pp, ParamsEdited* spot.residshathr = residshathr->getValue(); spot.residhi = residhi->getValue(); spot.residhithr = residhithr->getValue(); + spot.gamlc = gamlc->getValue(); + spot.residgam = residgam->getValue(); + spot.residslop = residslop->getValue(); spot.sensilc = sensilc->getIntValue(); + spot.reparw = reparw->getValue(); spot.clarilres = clarilres->getValue(); spot.claricres = claricres->getValue(); spot.clarisoft = clarisoft->getValue(); @@ -3293,7 +3362,7 @@ void LocallabContrast::write(rtengine::procparams::ProcParams* pp, ParamsEdited* spot.sigmadc = sigmadc->getValue(); spot.deltad = deltad->getValue(); spot.loccompwavcurve = wavshapecomp->getCurve(); - spot.fatres = fatres->getValue(); + //spot.fatres = fatres->getValue(); spot.fftwlc = fftwlc->get_active(); spot.enalcMask = enalcMask->get_active(); spot.CCmasklccurve = CCmasklcshape->getCurve(); @@ -3333,7 +3402,11 @@ void LocallabContrast::setDefaults(const rtengine::procparams::ProcParams* defPa residshathr->setDefault(defSpot.residshathr); residhi->setDefault(defSpot.residhi); residhithr->setDefault(defSpot.residhithr); + gamlc->setDefault((double)defSpot.gamlc); + residgam->setDefault(defSpot.residgam); + residslop->setDefault(defSpot.residslop); sensilc->setDefault((double)defSpot.sensilc); + reparw->setDefault(defSpot.reparw); clarilres->setDefault(defSpot.clarilres); claricres->setDefault(defSpot.claricres); clarisoft->setDefault(defSpot.clarisoft); @@ -3361,7 +3434,7 @@ void LocallabContrast::setDefaults(const rtengine::procparams::ProcParams* defPa residcomp->setDefault(defSpot.residcomp); sigmadc->setDefault(defSpot.sigmadc); deltad->setDefault(defSpot.deltad); - fatres->setDefault(defSpot.fatres); + //fatres->setDefault(defSpot.fatres); blendmasklc->setDefault((double)defSpot.blendmasklc); radmasklc->setDefault(defSpot.radmasklc); chromasklc->setDefault(defSpot.chromasklc); @@ -3380,252 +3453,280 @@ void LocallabContrast::adjusterChanged(Adjuster* a, double newval) if (a == lcradius) { if (listener) { listener->panelChanged(Evlocallablcradius, - lcradius->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lcradius->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lcamount) { if (listener) { listener->panelChanged(Evlocallablcamount, - lcamount->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lcamount->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lcdarkness) { if (listener) { listener->panelChanged(Evlocallablcdarkness, - lcdarkness->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lcdarkness->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lclightness) { if (listener) { listener->panelChanged(Evlocallablclightness, - lclightness->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lclightness->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sigmalc) { if (listener) { listener->panelChanged(Evlocallabsigmalc, - sigmalc->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sigmalc->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == levelwav) { if (listener) { listener->panelChanged(Evlocallablevelwav, - levelwav->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + levelwav->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == residcont) { if (listener) { listener->panelChanged(Evlocallabresidcont, - residcont->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + residcont->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == residchro) { if (listener) { listener->panelChanged(Evlocallabresidchro, - residchro->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + residchro->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == residsha) { if (listener) { listener->panelChanged(Evlocallabresidsha, - residsha->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + residsha->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == residshathr) { if (listener) { listener->panelChanged(Evlocallabresidshathr, - residshathr->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + residshathr->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == residhi) { if (listener) { listener->panelChanged(Evlocallabresidhi, - residhi->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + residhi->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == residhithr) { if (listener) { listener->panelChanged(Evlocallabresidhithr, - residhithr->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + residhithr->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == gamlc) { + if (listener) { + listener->panelChanged(Evlocallabgamlc, + gamlc->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == residgam) { + if (listener) { + listener->panelChanged(Evlocallabresidgam, + residgam->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == residslop) { + if (listener) { + listener->panelChanged(Evlocallabresidslop, + residslop->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sensilc) { if (listener) { listener->panelChanged(Evlocallabsensilc, - sensilc->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sensilc->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == reparw) { + if (listener) { + listener->panelChanged(Evlocallabreparw, + reparw->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == clarilres) { if (listener) { listener->panelChanged(Evlocallabclarilres, - clarilres->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + clarilres->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == claricres) { if (listener) { listener->panelChanged(Evlocallabclaricres, - claricres->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + claricres->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == clarisoft) { if (listener) { listener->panelChanged(Evlocallabclarisoft, - clarisoft->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + clarisoft->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sigmalc2) { if (listener) { listener->panelChanged(Evlocallabsigmalc2, - sigmalc2->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sigmalc2->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strwav) { if (listener) { listener->panelChanged(Evlocallabstrwav, - strwav->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strwav->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == angwav) { if (listener) { listener->panelChanged(Evlocallabangwav, - angwav->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + angwav->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strengthw) { if (listener) { listener->panelChanged(Evlocallabstrengthw, - strengthw->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strengthw->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sigmaed) { if (listener) { listener->panelChanged(Evlocallabsigmaed, - sigmaed->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sigmaed->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == gradw) { if (listener) { listener->panelChanged(Evlocallabgradw, - gradw->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + gradw->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == radiusw) { if (listener) { listener->panelChanged(Evlocallabradiusw, - radiusw->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + radiusw->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == detailw) { if (listener) { listener->panelChanged(Evlocallabdetailw, - detailw->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + detailw->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == tloww) { if (listener) { listener->panelChanged(Evlocallabtloww, - tloww->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + tloww->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == thigw) { if (listener) { listener->panelChanged(Evlocallabthigw, - thigw->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + thigw->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == edgw) { if (listener) { listener->panelChanged(Evlocallabedgw, - edgw->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + edgw->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == basew) { if (listener) { listener->panelChanged(Evlocallabbasew, - basew->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + basew->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == levelblur) { if (listener) { listener->panelChanged(Evlocallablevelblur, - levelblur->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + levelblur->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sigmabl) { if (listener) { listener->panelChanged(Evlocallabsigmabl, - sigmabl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sigmabl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == chromablu) { if (listener) { listener->panelChanged(Evlocallabchromablu, - chromablu->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + chromablu->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == residblur) { if (listener) { listener->panelChanged(Evlocallabresidblur, - residblur->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + residblur->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sigma) { if (listener) { listener->panelChanged(Evlocallabsigma, - sigma->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sigma->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == offset) { if (listener) { listener->panelChanged(Evlocallaboffset, - offset->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + offset->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == chromalev) { if (listener) { listener->panelChanged(Evlocallabchromalev, - chromalev->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + chromalev->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sigmadr) { if (listener) { listener->panelChanged(Evlocallabsigmadr, - sigmadr->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sigmadr->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -3633,85 +3734,85 @@ void LocallabContrast::adjusterChanged(Adjuster* a, double newval) if (a == threswav) { if (listener) { listener->panelChanged(Evlocallabthreswav, - threswav->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + threswav->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == residcomp) { if (listener) { listener->panelChanged(Evlocallabresidcomp, - residcomp->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + residcomp->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sigmadc) { if (listener) { listener->panelChanged(Evlocallabsigmadc, - sigmadc->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sigmadc->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == deltad) { if (listener) { listener->panelChanged(Evlocallabdeltad, - deltad->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + deltad->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } - if (a == fatres) { - if (listener) { - listener->panelChanged(Evlocallabfatres, - fatres->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); - } - } + //if (a == fatres) { + // if (listener) { + // listener->panelChanged(Evlocallabfatres, + // fatres->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + // } + //} if (a == recothresw) { if (listener) { listener->panelChanged(Evlocallabrecothresw, - recothresw->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + recothresw->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lowthresw) { if (listener) { listener->panelChanged(Evlocallablowthresw, - lowthresw->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lowthresw->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == higthresw) { if (listener) { listener->panelChanged(Evlocallabhigthresw, - higthresw->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + higthresw->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == decayw) { if (listener) { listener->panelChanged(Evlocallabdecayw, - decayw->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + decayw->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blendmasklc) { if (listener) { listener->panelChanged(Evlocallabblendmasklc, - blendmasklc->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blendmasklc->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == radmasklc) { if (listener) { listener->panelChanged(Evlocallabradmasklc, - radmasklc->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + radmasklc->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == chromasklc) { if (listener) { listener->panelChanged(Evlocallabchromasklc, - chromasklc->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + chromasklc->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -3722,7 +3823,7 @@ void LocallabContrast::adjusterChanged2(ThresholdAdjuster* a, int newBottomL, in if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallabcsThreshold, - csThreshold->getHistoryString() + " (" + escapeHtmlChars(spotName) + ")"); + csThreshold->getHistoryString() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -3733,70 +3834,70 @@ void LocallabContrast::curveChanged(CurveEditor* ce) if (ce == wavshape) { if (listener) { listener->panelChanged(EvlocallabwavCurve, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == wavshapeedg) { if (listener) { listener->panelChanged(EvlocallabwavCurveedg, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == wavshapelev) { if (listener) { listener->panelChanged(EvlocallabwavCurvelev, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == wavshapecon) { if (listener) { listener->panelChanged(EvlocallabwavCurvecon, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == wavshapecompre) { if (listener) { listener->panelChanged(EvlocallabwavCurvecompre, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == wavshapecomp) { if (listener) { listener->panelChanged(EvlocallabwavCurvecomp, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == CCmasklcshape) { if (listener) { listener->panelChanged(EvlocallabCCmasklcshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == LLmasklcshape) { if (listener) { listener->panelChanged(EvlocallabLLmasklcshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == HHmasklcshape) { if (listener) { listener->panelChanged(EvlocallabHHmasklcshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == Lmasklcshape) { if (listener) { listener->panelChanged(EvlocallabLmasklcshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -3808,10 +3909,10 @@ void LocallabContrast::enabledChanged() if (listener) { if (exp->getEnabled()) { listener->panelChanged(EvLocenacontrast, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocenacontrast, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -3823,6 +3924,7 @@ void LocallabContrast::convertParamToNormal() // Disable all listeners disableListener(); + gamlc->setValue(defSpot.gamlc); // Set hidden GUI widgets in Normal mode to default spot values origlc->set_active(defSpot.origlc); @@ -3881,7 +3983,7 @@ void LocallabContrast::convertParamToNormal() sigmadc->setValue(defSpot.sigmadc); deltad->setValue(defSpot.deltad); wavshapecomp->setCurve(defSpot.loccompwavcurve); - fatres->setValue(defSpot.fatres); + //fatres->setValue(defSpot.fatres); fftwlc->set_active(defSpot.fftwlc); decayw->setValue(defSpot.decayw); @@ -3899,6 +4001,7 @@ void LocallabContrast::convertParamToSimple() // Disable all listeners disableListener(); + gamlc->setValue(defSpot.gamlc); // Set hidden specific GUI widgets in Simple mode to default spot values if (defSpot.localcontMethod == "loc") { @@ -3945,6 +4048,7 @@ void LocallabContrast::updateGUIToMode(const modeType new_type) decayw->hide(); maskusablew->hide(); maskunusablew->hide(); + gamlc->hide(); break; @@ -3967,6 +4071,7 @@ void LocallabContrast::updateGUIToMode(const modeType new_type) maskusablew->hide(); maskunusablew->show(); } + gamlc->hide(); break; @@ -3978,6 +4083,7 @@ void LocallabContrast::updateGUIToMode(const modeType new_type) if (localcontMethod->get_active_row_number() != 0) { // Keep widgets hidden when localcontMethod is equal to 0 expcontrastpyr->show(); expcontrastpyr2->show(); + gamlc->show(); } if (localcontMethod->get_active_row_number() != 1) { // Keep widget hidden when localcontMethod is equal to 1 @@ -3999,7 +4105,7 @@ void LocallabContrast::updateGUIToMode(const modeType new_type) } } -void LocallabContrast::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) +void LocallabContrast::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) { idle_register.add( [this, normHuer, normLumar, normChromar]() -> bool { @@ -4024,7 +4130,7 @@ void LocallabContrast::localcontMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallablocalcontMethod, - localcontMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + localcontMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4035,10 +4141,10 @@ void LocallabContrast::origlcChanged() if (listener) { if (origlc->get_active()) { listener->panelChanged(Evlocallaboriglc, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallaboriglc, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4050,10 +4156,10 @@ void LocallabContrast::wavgradlChanged() if (listener) { if (wavgradl->get_active()) { listener->panelChanged(Evlocallabwavgradl, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabwavgradl, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4065,10 +4171,10 @@ void LocallabContrast::wavedgChanged() if (listener) { if (wavedg->get_active()) { listener->panelChanged(Evlocallabwavedg, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabwavedg, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4079,7 +4185,7 @@ void LocallabContrast::localedgMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallablocaledgMethod, - localedgMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + localedgMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4093,10 +4199,10 @@ void LocallabContrast::waveshowChanged() if (listener) { if (waveshow->get_active()) { listener->panelChanged(Evlocallabwaveshow, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabwaveshow, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4107,7 +4213,7 @@ void LocallabContrast::localneiMethodChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(EvlocallablocalneiMethod, - localneiMethod->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + localneiMethod->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4118,10 +4224,10 @@ void LocallabContrast::wavblurChanged() if (listener) { if (wavblur->get_active()) { listener->panelChanged(Evlocallabwavblur, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabwavblur, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4133,10 +4239,10 @@ void LocallabContrast::blurlcChanged() if (listener) { if (blurlc->get_active()) { listener->panelChanged(Evlocallabblurlc, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabblurlc, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4148,10 +4254,10 @@ void LocallabContrast::wavcontChanged() if (listener) { if (wavcont->get_active()) { listener->panelChanged(Evlocallabwavcont, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabwavcont, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4163,10 +4269,10 @@ void LocallabContrast::wavcompreChanged() if (listener) { if (wavcompre->get_active()) { listener->panelChanged(Evlocallabwavcompre, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabwavcompre, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4178,10 +4284,10 @@ void LocallabContrast::wavcompChanged() if (listener) { if (wavcomp->get_active()) { listener->panelChanged(Evlocallabwavcomp, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabwavcomp, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4196,10 +4302,10 @@ void LocallabContrast::fftwlcChanged() if (listener) { if (fftwlc->get_active()) { listener->panelChanged(Evlocallabfftwlc, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabfftwlc, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4212,8 +4318,10 @@ void LocallabContrast::showmasklcMethodChanged() locToolListener->resetOtherMaskView(this); } - if (listener) { - listener->panelChanged(EvlocallabshowmaskMethod, ""); + if(exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } } } @@ -4232,10 +4340,10 @@ void LocallabContrast::enalcMaskChanged() if (listener) { if (enalcMask->get_active()) { listener->panelChanged(EvLocallabEnalcMask, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabEnalcMask, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4258,7 +4366,7 @@ void LocallabContrast::updateContrastGUI1() clariFrame->hide(); expcontrastpyr->hide(); expcontrastpyr2->hide(); - + gamlc->hide(); if (mode == Expert) { // Keep widget hidden in Normal and Simple mode fftwlc->show(); } @@ -4276,6 +4384,7 @@ void LocallabContrast::updateContrastGUI1() if (mode == Expert) { // Keep widget hidden in Normal and Simple mode expcontrastpyr->show(); expcontrastpyr2->show(); + gamlc->show(); } fftwlc->hide(); @@ -4521,7 +4630,7 @@ void LocallabCBDL::resetMaskView() showmaskcbMethodConn.block(false); } -void LocallabCBDL::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) +void LocallabCBDL::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) { cbMask = showmaskcbMethod->get_active_row_number(); } @@ -4628,8 +4737,6 @@ void LocallabCBDL::read(const rtengine::procparams::ProcParams* pp, const Params if (index < (int)pp->locallab.spots.size()) { const LocallabParams::LocallabSpot& spot = pp->locallab.spots.at(index); - spotName = spot.name; // Update spot name according to selected spot - exp->set_visible(spot.visicbdl); exp->setEnabled(spot.expcbdl); complexity->set_active(spot.complexcbdl); @@ -4757,49 +4864,49 @@ void LocallabCBDL::adjusterChanged(Adjuster* a, double newval) Glib::ustring::format(std::fixed, std::setprecision(2), multiplier[3]->getValue()), Glib::ustring::format(std::fixed, std::setprecision(2), multiplier[4]->getValue()), Glib::ustring::format(std::fixed, std::setprecision(2), multiplier[5]->getValue())) - + " (" + escapeHtmlChars(spotName) + ")"); + + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == chromacbdl) { if (listener) { listener->panelChanged(Evlocallabchromacbdl, - chromacbdl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + chromacbdl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == threshold) { if (listener) { listener->panelChanged(EvlocallabThresho, - threshold->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + threshold->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == clarityml) { if (listener) { listener->panelChanged(EvLocallabclarityml, - clarityml->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + clarityml->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == contresid) { if (listener) { listener->panelChanged(EvLocallabcontresid, - contresid->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + contresid->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == softradiuscb) { if (listener) { listener->panelChanged(Evlocallabsoftradiuscb, - softradiuscb->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + softradiuscb->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sensicb) { if (listener) { listener->panelChanged(Evlocallabsensicb, - sensicb->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sensicb->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -4807,70 +4914,70 @@ void LocallabCBDL::adjusterChanged(Adjuster* a, double newval) if (listener) { listener->panelChanged(Evlocallabrecothrescb, - recothrescb->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + recothrescb->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lowthrescb) { if (listener) { listener->panelChanged(Evlocallablowthrescb, - lowthrescb->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lowthrescb->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == higthrescb) { if (listener) { listener->panelChanged(Evlocallabhigthrescb, - higthrescb->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + higthrescb->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == decaycb) { if (listener) { listener->panelChanged(Evlocallabdecaycb, - decaycb->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + decaycb->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blendmaskcb) { if (listener) { listener->panelChanged(Evlocallabblendmaskcb, - blendmaskcb->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blendmaskcb->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == radmaskcb) { if (listener) { listener->panelChanged(Evlocallabradmaskcb, - radmaskcb->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + radmaskcb->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lapmaskcb) { if (listener) { listener->panelChanged(Evlocallablapmaskcb, - lapmaskcb->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lapmaskcb->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == chromaskcb) { if (listener) { listener->panelChanged(Evlocallabchromaskcb, - chromaskcb->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + chromaskcb->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == gammaskcb) { if (listener) { listener->panelChanged(Evlocallabgammaskcb, - gammaskcb->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + gammaskcb->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == slomaskcb) { if (listener) { listener->panelChanged(Evlocallabslomaskcb, - slomaskcb->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + slomaskcb->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4882,28 +4989,28 @@ void LocallabCBDL::curveChanged(CurveEditor* ce) if (ce == CCmaskcbshape) { if (listener) { listener->panelChanged(EvlocallabCCmaskcbshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == LLmaskcbshape) { if (listener) { listener->panelChanged(EvlocallabLLmaskcbshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == HHmaskcbshape) { if (listener) { listener->panelChanged(EvlocallabHHmaskcbshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == Lmaskcbshape) { if (listener) { listener->panelChanged(EvlocallabLmaskcbshape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -4915,10 +5022,10 @@ void LocallabCBDL::enabledChanged() if (listener) { if (exp->getEnabled()) { listener->panelChanged(EvLocenacbdl, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocenacbdl, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -5019,7 +5126,7 @@ void LocallabCBDL::updateGUIToMode(const modeType new_type) } } -void LocallabCBDL::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) +void LocallabCBDL::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) { idle_register.add( [this, normHuer, normLumar, normChromar]() -> bool { @@ -5043,8 +5150,10 @@ void LocallabCBDL::showmaskcbMethodChanged() locToolListener->resetOtherMaskView(this); } - if (listener) { - listener->panelChanged(EvlocallabshowmaskMethod, ""); + if(exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } } } @@ -5062,10 +5171,10 @@ void LocallabCBDL::enacbMaskChanged() if (listener) { if (enacbMask->get_active()) { listener->panelChanged(EvLocallabEnacbMask, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabEnacbMask, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -5123,7 +5232,7 @@ LocallabLog::LocallabLog(): surHBox(Gtk::manage(new Gtk::Box())), log1Frame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_LOG1FRA")))), log2Frame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_LOG2FRA")))), - targetGray(Gtk::manage(new Adjuster(M("TP_LOCALLAB_TARGET_GRAY"), 5.0, 80.0, 0.1, 18.0))), + targetGray(Gtk::manage(new Adjuster(M("TP_LOCALLAB_TARGET_GRAY"), 4.0, 80.0, 0.1, 18.0))), detail(Gtk::manage(new Adjuster(M("TP_LOCALLAB_DETAIL"), 0., 1., 0.01, 0.6))), catad(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CATAD"), -100., 100., 0.5, 0., Gtk::manage(new RTImage("circle-blue-small.png")), Gtk::manage(new RTImage("circle-orange-small.png"))))), lightl(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGLIGHTL"), -100., 100., 0.5, 0.))), @@ -5133,9 +5242,10 @@ LocallabLog::LocallabLog(): contthres(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGCONTHRES"), -1., 1., 0.01, 0.))), colorfl(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGCOLORFL"), -100., 100., 0.5, 0.))), saturl(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SATURV"), -100., 100., 0.5, 0.))), + chroml(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CHROML"), -100., 100., 0.5, 0.))), expL(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_LOGEXP")))), - CurveEditorL(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_LOGCONTQ"))), - LshapeL(static_cast(CurveEditorL->addCurve(CT_Diagonal, "Q(Q)"))), + //CurveEditorL(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_LOGCONTQ"))), + //LshapeL(static_cast(CurveEditorL->addCurve(CT_Diagonal, "Q(Q)"))), targabs(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SOURCE_ABS"), 0.01, 16384.0, 0.01, 16.0))), surround(Gtk::manage (new MyComboBoxText ())), surrHBox(Gtk::manage(new Gtk::Box())), @@ -5143,7 +5253,7 @@ LocallabLog::LocallabLog(): exprecovl(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_DENOI2_EXP")))), maskusablel(Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_MASKUSABLE")))), maskunusablel(Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_MASKUNUSABLE")))), - recothresl(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKRECOTHRES"), 1., 2., 0.01, 1.))), + recothresl(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKRECOTHRES"), 0., 2., 0.01, 1.))), lowthresl(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKLCTHRLOW"), 1., 80., 0.5, 12.))), higthresl(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKLCTHR"), 20., 99., 0.5, 85.))), decayl(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKDDECAY"), 0.5, 4., 0.1, 2.))), @@ -5187,12 +5297,14 @@ LocallabLog::LocallabLog(): AutograyConn = Autogray->signal_toggled().connect(sigc::mem_fun(*this, &LocallabLog::AutograyChanged)); sourceGray->setAdjusterListener(this); + sourceGray->setLogScale(10, 18, true); sourceabs->setLogScale(500, 0); sourceabs->setAdjusterListener(this); targetGray->setAdjusterListener(this); + targetGray->setLogScale(10, 18, true); detail->setAdjusterListener(this); @@ -5202,6 +5314,8 @@ LocallabLog::LocallabLog(): saturl->setAdjusterListener(this); + chroml->setAdjusterListener(this); + lightl->setAdjusterListener(this); lightq->setAdjusterListener(this); @@ -5211,13 +5325,13 @@ LocallabLog::LocallabLog(): contq->setAdjusterListener(this); colorfl->setAdjusterListener(this); - CurveEditorL->setCurveListener(this); + //CurveEditorL->setCurveListener(this); - LshapeL->setResetCurve(DiagonalCurveType(defSpot.LcurveL.at(0)), defSpot.LcurveL); - LshapeL->setBottomBarBgGradient({{0., 0., 0., 0.}, {1., 1., 1., 1.}}); - LshapeL->setLeftBarBgGradient({{0., 0., 0., 0.}, {1., 1., 1., 1.}}); + //LshapeL->setResetCurve(DiagonalCurveType(defSpot.LcurveL.at(0)), defSpot.LcurveL); + //LshapeL->setBottomBarBgGradient({{0., 0., 0., 0.}, {1., 1., 1., 1.}}); + //LshapeL->setLeftBarBgGradient({{0., 0., 0., 0.}, {1., 1., 1., 1.}}); - CurveEditorL->curveListComplete(); + //CurveEditorL->curveListComplete(); targabs->setLogScale(500, 0); @@ -5243,7 +5357,7 @@ LocallabLog::LocallabLog(): surHBox->pack_start (*surLabel, Gtk::PACK_SHRINK); sursour->append (M ("TP_COLORAPP_SURROUND_AVER")); sursour->append (M ("TP_COLORAPP_SURROUND_DIM")); -// sursour->append (M ("TP_COLORAPP_SURROUND_DARK")); + sursour->append (M ("TP_COLORAPP_SURROUND_DARK")); sursour->set_active (0); surHBox->pack_start (*sursour); sursourconn = sursour->signal_changed().connect ( sigc::mem_fun (*this, &LocallabLog::sursourChanged) ); @@ -5333,10 +5447,13 @@ LocallabLog::LocallabLog(): logP1Box->pack_start(*contl); logP1Box->pack_start(*contthres); logP1Box->pack_start(*saturl); + Gtk::Separator* const separatorchro = Gtk::manage(new Gtk::Separator(Gtk::ORIENTATION_HORIZONTAL)); ToolParamBlock* const logP11Box = Gtk::manage(new ToolParamBlock()); logP11Box->pack_start(*lightl); logP11Box->pack_start(*lightq); logP11Box->pack_start(*contq); + logP11Box->pack_start(*separatorchro); + logP11Box->pack_start(*chroml); logP11Box->pack_start(*colorfl); expL->add(*logP11Box, false); logP1Box->pack_start(*expL, false, false); @@ -5392,7 +5509,7 @@ LocallabLog::~LocallabLog() { delete maskCurveEditorL; delete mask2CurveEditorL; - delete CurveEditorL; + //delete CurveEditorL; } @@ -5409,6 +5526,7 @@ void LocallabLog::updateAdviceTooltips(const bool showTooltips) if (showTooltips) { exp->set_tooltip_text(M("TP_LOCALLAB_LOGENCOD_TOOLTIP")); repar->set_tooltip_text(M("TP_LOCALLAB_LOGREPART_TOOLTIP")); + recothresl->set_tooltip_text(M("TP_LOCALLAB_RECOTHRES02_TOOLTIP")); logPFrame->set_tooltip_text(M("TP_LOCALLAB_LOGFRAME_TOOLTIP")); logFrame->set_tooltip_text(M("TP_LOCALLAB_LOGSCENE_TOOLTIP")); log1Frame->set_tooltip_text(M("TP_LOCALLAB_LOGIMAGE_TOOLTIP")); @@ -5420,7 +5538,7 @@ void LocallabLog::updateAdviceTooltips(const bool showTooltips) exprecovl->set_tooltip_markup(M("TP_LOCALLAB_MASKRELOG_TOOLTIP")); blackEv->set_tooltip_text(""); whiteEv->set_tooltip_text(""); - sourceGray->set_tooltip_text(""); + sourceGray->set_tooltip_text(M("TP_LOCALLAB_JZLOGYBOUT_TOOLTIP")); sourceabs->set_tooltip_text(M("TP_COLORAPP_ADAPSCEN_TOOLTIP")); targabs->set_tooltip_text(M("TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP")); targetGray->set_tooltip_text(M("TP_COLORAPP_YBOUT_TOOLTIP")); @@ -5434,6 +5552,7 @@ void LocallabLog::updateAdviceTooltips(const bool showTooltips) lightl->set_tooltip_text(M("TP_LOCALLAB_LOGLIGHTL_TOOLTIP")); lightq->set_tooltip_text(M("TP_LOCALLAB_LOGLIGHTQ_TOOLTIP")); saturl->set_tooltip_text(M("TP_LOCALLAB_LOGSATURL_TOOLTIP")); + chroml->set_tooltip_text(M("TP_COLORAPP_CHROMA_TOOLTIP")); detail->set_tooltip_text(M("TP_LOCALLAB_LOGDETAIL_TOOLTIP")); catad->set_tooltip_text(M("TP_LOCALLAB_LOGCATAD_TOOLTIP")); sensilog->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP")); @@ -5456,6 +5575,7 @@ void LocallabLog::updateAdviceTooltips(const bool showTooltips) } else { exp->set_tooltip_text(""); repar->set_tooltip_text(""); + recothresl->set_tooltip_text(""); logPFrame->set_tooltip_text(""); logFrame->set_tooltip_text(""); log1Frame->set_tooltip_text(""); @@ -5483,6 +5603,7 @@ void LocallabLog::updateAdviceTooltips(const bool showTooltips) contthres->set_tooltip_text(""); colorfl->set_tooltip_text(""); saturl->set_tooltip_text(""); + chroml->set_tooltip_text(""); catad->set_tooltip_text(""); expmaskL->set_tooltip_markup(""); CCmaskshapeL->setTooltip(""); @@ -5542,7 +5663,7 @@ void LocallabLog::resetMaskView() showmaskLMethodConn.block(false); } -void LocallabLog::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) +void LocallabLog::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) { logMask = showmaskLMethod->get_active_row_number(); } @@ -5559,8 +5680,6 @@ void LocallabLog::read(const rtengine::procparams::ProcParams* pp, const ParamsE if (index < (int)pp->locallab.spots.size()) { const LocallabParams::LocallabSpot& spot = pp->locallab.spots.at(index); - spotName = spot.name; // Update spot name according to selected spot - exp->set_visible(spot.visilog); exp->setEnabled(spot.explog); complexity->set_active(spot.complexlog); @@ -5578,6 +5697,8 @@ void LocallabLog::read(const rtengine::procparams::ProcParams* pp, const ParamsE sursour->set_active (0); } else if (spot.sursour == "Dim") { sursour->set_active (1); + } else if (spot.sursour == "Dark") { + sursour->set_active (2); } @@ -5602,13 +5723,14 @@ void LocallabLog::read(const rtengine::procparams::ProcParams* pp, const ParamsE sourceabs->setValue(spot.sourceabs); catad->setValue(spot.catad); saturl->setValue(spot.saturl); + chroml->setValue(spot.chroml); lightl->setValue(spot.lightl); lightq->setValue(spot.lightq); contl->setValue(spot.contl); contthres->setValue(spot.contthres); contq->setValue(spot.contq); colorfl->setValue(spot.colorfl); - LshapeL->setCurve(spot.LcurveL); + //LshapeL->setCurve(spot.LcurveL); targabs->setValue(spot.targabs); targetGray->setValue(spot.targetGray); detail->setValue(spot.detail); @@ -5665,13 +5787,14 @@ void LocallabLog::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedi spot.targetGray = targetGray->getValue(); spot.catad = catad->getValue(); spot.saturl = saturl->getValue(); + spot.chroml = chroml->getValue(); spot.lightl = lightl->getValue(); spot.lightq = lightq->getValue(); spot.contl = contl->getValue(); spot.contthres = contthres->getValue(); spot.contq = contq->getValue(); spot.colorfl = colorfl->getValue(); - spot.LcurveL = LshapeL->getCurve(); + //spot.LcurveL = LshapeL->getCurve(); spot.detail = detail->getValue(); spot.baselog = baselog->getValue(); spot.sensilog = sensilog->getIntValue(); @@ -5695,6 +5818,8 @@ void LocallabLog::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedi spot.sursour = "Average"; } else if (sursour->get_active_row_number() == 1) { spot.sursour = "Dim"; + } else if (sursour->get_active_row_number() == 2) { + spot.sursour = "Dark"; } if (surround->get_active_row_number() == 0) { @@ -5727,10 +5852,10 @@ void LocallabLog::enaLMaskChanged() if (listener) { if (enaLMask->get_active()) { listener->panelChanged(EvLocallabEnaLMask, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabEnaLMask, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -5749,6 +5874,7 @@ void LocallabLog::updateGUIToMode(const modeType new_type) sourceabs->hide(); targabs->hide(); saturl->hide(); + chroml->hide(); contl->hide(); contthres->hide(); lightl->hide(); @@ -5776,6 +5902,7 @@ void LocallabLog::updateGUIToMode(const modeType new_type) targabs->show(); catad->show(); saturl->show(); + chroml->show(); lightl->show(); lightq->show(); contl->show(); @@ -5809,6 +5936,7 @@ void LocallabLog::updateGUIToMode(const modeType new_type) targabs->show(); catad->show(); saturl->show(); + chroml->show(); lightl->show(); lightq->show(); contl->show(); @@ -5891,8 +6019,10 @@ void LocallabLog::showmaskLMethodChanged() locToolListener->resetOtherMaskView(this); } - if (listener) { - listener->panelChanged(EvlocallabshowmaskMethod, ""); + if(exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } } } @@ -5902,37 +6032,37 @@ void LocallabLog::curveChanged(CurveEditor* ce) if (ce == HHmaskshapeL) { if (listener) { listener->panelChanged(EvlocallabHHmaskshapeL, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == LLmaskshapeL) { if (listener) { listener->panelChanged(EvlocallabLLmaskshapeL, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == CCmaskshapeL) { if (listener) { listener->panelChanged(EvlocallabCCmaskshapeL, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == LmaskshapeL) { if (listener) { listener->panelChanged(EvlocallabLmaskshapeL, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } - if (ce == LshapeL) { - if (listener) { - listener->panelChanged(EvlocallabLshapeL, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); - } - } + //if (ce == LshapeL) { + // if (listener) { + // listener->panelChanged(EvlocallabLshapeL, + // M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); + // } + //} } } @@ -5955,6 +6085,7 @@ void LocallabLog::setDefaults(const rtengine::procparams::ProcParams* defParams, targetGray->setDefault(defSpot.targetGray); catad->setDefault(defSpot.catad); saturl->setDefault(defSpot.saturl); + chroml->setDefault(defSpot.chroml); lightl->setDefault(defSpot.lightl); lightq->setDefault(defSpot.lightq); contl->setDefault(defSpot.contl); @@ -5986,77 +6117,84 @@ void LocallabLog::adjusterChanged(Adjuster* a, double newval) if (a == repar) { if (listener) { listener->panelChanged(Evlocallabrepar, - repar->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + repar->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blackEv) { if (listener) { listener->panelChanged(EvlocallabblackEv, - blackEv->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blackEv->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == whiteEv) { if (listener) { listener->panelChanged(EvlocallabwhiteEv, - whiteEv->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + whiteEv->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sourceGray) { if (listener) { listener->panelChanged(EvlocallabsourceGray, - sourceGray->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sourceGray->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == sourceabs) { if (listener) { listener->panelChanged(Evlocallabsourceabs, - sourceabs->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sourceabs->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == targabs) { if (listener) { listener->panelChanged(Evlocallabtargabs, - targabs->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + targabs->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == targetGray) { if (listener) { listener->panelChanged(EvlocallabtargetGray, - targetGray->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + targetGray->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == catad) { if (listener) { listener->panelChanged(Evlocallabcatad, - catad->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + catad->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == saturl) { if (listener) { listener->panelChanged(Evlocallabsaturl, - saturl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + saturl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == chroml) { + if (listener) { + listener->panelChanged(Evlocallabchroml, + chroml->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lightl) { if (listener) { listener->panelChanged(Evlocallablightl, - lightl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lightl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lightq) { if (listener) { listener->panelChanged(Evlocallablightq, - lightq->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lightq->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -6064,42 +6202,42 @@ void LocallabLog::adjusterChanged(Adjuster* a, double newval) if (a == contl) { if (listener) { listener->panelChanged(Evlocallabcontl, - contl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + contl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == contthres) { if (listener) { listener->panelChanged(Evlocallabcontthres, - contthres->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + contthres->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == contq) { if (listener) { listener->panelChanged(Evlocallabcontq, - contq->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + contq->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == colorfl) { if (listener) { listener->panelChanged(Evlocallabcolorfl, - colorfl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + colorfl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == detail) { if (listener) { listener->panelChanged(Evlocallabdetail, - detail->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + detail->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == baselog) { if (listener) { listener->panelChanged(Evlocallabbaselog, - baselog->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + baselog->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -6107,28 +6245,28 @@ void LocallabLog::adjusterChanged(Adjuster* a, double newval) if (listener) { listener->panelChanged(Evlocallabrecothresl, - recothresl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + recothresl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lowthresl) { if (listener) { listener->panelChanged(Evlocallablowthresl, - lowthresl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lowthresl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == higthresl) { if (listener) { listener->panelChanged(Evlocallabhigthresl, - higthresl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + higthresl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == decayl) { if (listener) { listener->panelChanged(Evlocallabdecayl, - decayl->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + decayl->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -6136,42 +6274,42 @@ void LocallabLog::adjusterChanged(Adjuster* a, double newval) if (a == sensilog) { if (listener) { listener->panelChanged(Evlocallabsensilog, - sensilog->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sensilog->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strlog) { if (listener) { listener->panelChanged(Evlocallabstrlog, - strlog->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strlog->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == anglog) { if (listener) { listener->panelChanged(Evlocallabanglog, - anglog->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + anglog->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blendmaskL) { if (listener) { listener->panelChanged(EvLocallabblendmaskL, - blendmaskL->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blendmaskL->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == radmaskL) { if (listener) { listener->panelChanged(EvLocallabradmaskL, - radmaskL->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + radmaskL->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == chromaskL) { if (listener) { listener->panelChanged(EvLocallabchromaskL, - chromaskL->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + chromaskL->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -6179,26 +6317,28 @@ void LocallabLog::adjusterChanged(Adjuster* a, double newval) } } -void LocallabLog::updateAutocompute(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg) +void LocallabLog::updateAutocompute(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg, const float jz1) { - idle_register.add( - [this, blackev, whiteev, sourceg, sourceab, targetg]() -> bool { - GThreadLock lock; // All GUI access from idle_add callbacks or separate thread HAVE to be protected + if (autocompute->get_active()) { + idle_register.add( + [this, blackev, whiteev, sourceg, sourceab, targetg]() -> bool { + GThreadLock lock; // All GUI access from idle_add callbacks or separate thread HAVE to be protected - // Update adjuster values according to autocomputed ones - disableListener(); + // Update adjuster values according to autocomputed ones + disableListener(); - blackEv->setValue(blackev); - whiteEv->setValue(whiteev); - sourceGray->setValue(sourceg); - sourceabs->setValue(sourceab); - targetGray->setValue(targetg); + blackEv->setValue(blackev); + whiteEv->setValue(whiteev); + sourceGray->setValue(sourceg); + sourceabs->setValue(sourceab); + targetGray->setValue(targetg); - enableListener(); + enableListener(); return false; + } + ); } - ); } void LocallabLog::enabledChanged() @@ -6207,10 +6347,10 @@ void LocallabLog::enabledChanged() if (listener) { if (exp->getEnabled()) { listener->panelChanged(EvLocenalog, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocenalog, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -6221,7 +6361,7 @@ void LocallabLog::sursourChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(Evlocallabsursour, - sursour->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + sursour->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -6232,7 +6372,7 @@ void LocallabLog::surroundChanged() if (isLocActivated && exp->getEnabled()) { if (listener) { listener->panelChanged(Evlocallabsurround, - surround->get_active_text() + " (" + escapeHtmlChars(spotName) + ")"); + surround->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -6246,10 +6386,10 @@ void LocallabLog::autocomputeToggled() if (listener) { if (autocompute->get_active()) { listener->panelChanged(EvLocallabAuto, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabAuto, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -6287,10 +6427,10 @@ void LocallabLog::ciecamChanged() if (listener) { if (ciecam->get_active()) { listener->panelChanged(Evlocallabciecam, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabciecam, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -6303,16 +6443,16 @@ void LocallabLog::fullimageChanged() if (listener) { if (fullimage->get_active()) { listener->panelChanged(Evlocallabfullimage, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(Evlocallabfullimage, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } } -void LocallabLog::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) +void LocallabLog::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) { idle_register.add( [this, normHuer, normLumar, normChromar]() -> bool { @@ -6337,10 +6477,10 @@ void LocallabLog::AutograyChanged() if (listener) { if (Autogray->get_active()) { listener->panelChanged(EvlocallabAutogray, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvlocallabAutogray, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -6607,7 +6747,7 @@ void LocallabMask::resetMaskView() showmask_MethodConn.block(false); } -void LocallabMask::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask) +void LocallabMask::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) { maskMask = showmask_Method->get_active_row_number(); } @@ -6706,8 +6846,6 @@ void LocallabMask::read(const rtengine::procparams::ProcParams* pp, const Params if (index < (int)pp->locallab.spots.size()) { const LocallabParams::LocallabSpot& spot = pp->locallab.spots.at(index); - spotName = spot.name; // Update spot name according to selected spot - exp->set_visible(spot.visimask); exp->setEnabled(spot.expmask); complexity->set_active(spot.complexmask); @@ -6828,105 +6966,105 @@ void LocallabMask::adjusterChanged(Adjuster* a, double newval) if (a == sensimask) { if (listener) { listener->panelChanged(Evlocallabsensimask, - sensimask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + sensimask->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blendmask) { if (listener) { listener->panelChanged(Evlocallabblendmask, - blendmask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blendmask->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blendmaskab) { if (listener) { listener->panelChanged(Evlocallabblendmaskab, - blendmaskab->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blendmaskab->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == softradiusmask) { if (listener) { listener->panelChanged(Evlocallabsoftradiusmask, - softradiusmask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + softradiusmask->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == strumaskmask) { if (listener) { listener->panelChanged(Evlocallabstrumaskmask, - strumaskmask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + strumaskmask->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == contmask) { if (listener) { listener->panelChanged(Evlocallabcontmask, - contmask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + contmask->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == blurmask) { if (listener) { listener->panelChanged(Evlocallabblurmask, - blurmask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + blurmask->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == radmask) { if (listener) { listener->panelChanged(Evlocallabradmask, - radmask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + radmask->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == lapmask) { if (listener) { listener->panelChanged(Evlocallablapmask, - lapmask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + lapmask->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == chromask) { if (listener) { listener->panelChanged(Evlocallabchromask, - chromask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + chromask->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == gammask) { if (listener) { listener->panelChanged(Evlocallabgammask, - gammask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + gammask->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == slopmask) { if (listener) { listener->panelChanged(Evlocallabslopmask, - slopmask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + slopmask->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == shadmask) { if (listener) { listener->panelChanged(Evlocallabshadmask, - shadmask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + shadmask->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == str_mask) { if (listener) { listener->panelChanged(Evlocallabstr_mask, - str_mask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + str_mask->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (a == ang_mask) { if (listener) { listener->panelChanged(Evlocallabang_mask, - ang_mask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")"); + ang_mask->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -6939,7 +7077,7 @@ void LocallabMask::adjusterChanged2(ThresholdAdjuster* a, int newBottomL, int ne if (a == csThresholdmask) { if (listener) { listener->panelChanged(EvlocallabcsThresholdmask, - csThresholdmask->getHistoryString() + " (" + escapeHtmlChars(spotName) + ")"); + csThresholdmask->getHistoryString() + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -6951,42 +7089,42 @@ void LocallabMask::curveChanged(CurveEditor* ce) if (ce == CCmask_shape) { if (listener) { listener->panelChanged(EvlocallabCCmask_shape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == LLmask_shape) { if (listener) { listener->panelChanged(EvlocallabLLmask_shape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == HHmask_shape) { if (listener) { listener->panelChanged(EvlocallabHHmask_shape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == HHhmask_shape) { if (listener) { listener->panelChanged(EvlocallabHHhmask_shape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == Lmask_shape) { if (listener) { listener->panelChanged(EvlocallabLmask_shape, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } if (ce == LLmask_shapewav) { if (listener) { listener->panelChanged(EvlocallabLLmask_shapewav, - M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(spotName) + ")"); + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } @@ -7004,7 +7142,7 @@ void LocallabMask::complexityModeChanged() if (listener && isLocActivated) { listener->panelChanged(EvlocallabcomplexityWithRefresh, - M("TP_LOCALLAB_MODE_SIMPLE") + " (" + escapeHtmlChars(spotName) + ")"); + M("TP_LOCALLAB_MODE_SIMPLE") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } else if (complexity->get_active_row_number() == Normal) { // New selected mode is Normal one // Convert tool widget parameters @@ -7014,7 +7152,7 @@ void LocallabMask::complexityModeChanged() if (listener && isLocActivated) { listener->panelChanged(EvlocallabcomplexityWithRefresh, - M("TP_LOCALLAB_MODE_NORMAL") + " (" + escapeHtmlChars(spotName) + ")"); + M("TP_LOCALLAB_MODE_NORMAL") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } else if (complexity->get_active_row_number() == Expert) { // New selected mode is Expert one // Update GUI based on new mode @@ -7022,7 +7160,7 @@ void LocallabMask::complexityModeChanged() if (listener && isLocActivated) { listener->panelChanged(EvlocallabcomplexityWithRefresh, - M("TP_LOCALLAB_MODE_EXPERT") + " (" + escapeHtmlChars(spotName) + ")"); + M("TP_LOCALLAB_MODE_EXPERT") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -7033,10 +7171,10 @@ void LocallabMask::enabledChanged() if (listener) { if (exp->getEnabled()) { listener->panelChanged(EvLocena_mask, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocena_mask, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -7146,7 +7284,7 @@ void LocallabMask::updateGUIToMode(const modeType new_type) } -void LocallabMask::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer) +void LocallabMask::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) { idle_register.add( [this, normHuer, normLumar, normChromar]() -> bool { @@ -7171,8 +7309,10 @@ void LocallabMask::showmask_MethodChanged() locToolListener->resetOtherMaskView(this); } - if (listener) { - listener->panelChanged(EvlocallabshowmaskMethod, ""); + if(exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } } } @@ -7182,10 +7322,10 @@ void LocallabMask::enamaskChanged() if (listener) { if (enamask->get_active()) { listener->panelChanged(EvLocallabEnaMask, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabEnaMask, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -7197,10 +7337,10 @@ void LocallabMask::toolmaskChanged() if (listener) { if (toolmask->get_active()) { listener->panelChanged(EvLocallabtoolmask, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabtoolmask, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -7215,10 +7355,10 @@ void LocallabMask::fftmaskChanged() if (listener) { if (fftmask->get_active()) { listener->panelChanged(EvLocallabfftmask, - M("GENERAL_ENABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } else { listener->panelChanged(EvLocallabfftmask, - M("GENERAL_DISABLED") + " (" + escapeHtmlChars(spotName) + ")"); + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); } } } @@ -7236,3 +7376,3077 @@ void LocallabMask::updateMaskGUI() blurmask->setValue(temp); } + +/*==== Locallabcie ====*/ +Locallabcie::Locallabcie(): + LocallabTool(this, M("TP_LOCALLAB_CIE_TOOLNAME"), M("TP_LOCALLAB_CIE"), false), + // ciecam specific widgets + sensicie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SENSI"), 0, 100, 1, 60))), + reparcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGREPART"), 1.0, 100.0, 1., 100.0))), + jabcie(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_JAB")))), + modecam(Gtk::manage (new MyComboBoxText ())), + modecie(Gtk::manage (new MyComboBoxText ())), + jzFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_JZFRA")))), + modeHBoxcam(Gtk::manage(new Gtk::Box())), + modeHBoxcie(Gtk::manage(new Gtk::Box())), + cieFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_LOGFRA")))), + Autograycie(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_AUTOGRAYCIE")))), + sourceGraycie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SOURCE_GRAY"), 1.0, 100.0, 0.1, 18.0))), + sourceabscie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SOURCE_ABS"), 0.01, 16384.0, 0.01, 2000.0))), + sursourcie(Gtk::manage (new MyComboBoxText ())), + surHBoxcie(Gtk::manage(new Gtk::Box())), + cie1Frame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_LOG1FRA")))), + cie1lightFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CIELIGHTFRA")))), + cie1contFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CIECONTFRA")))), + cie1colorFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CIECOLORFRA")))), + czlightFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CIELIGHTCONTFRA")))), + czcolorFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CIECOLORFRA")))), + PQFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_JZPQFRA")))), + qtoj(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_JZQTOJ")))), + lightlcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGLIGHTL"), -100., 100., 0.01, 0.))), + lightjzcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_JZLIGHT"), -100., 100., 0.01, 0.))), + contjzcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_JZCONT"), -100., 100., 0.5, 0.))), + adapjzcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_JZADAP"), 1., 10., 0.05, 4.))), + jz100(Gtk::manage(new Adjuster(M("TP_LOCALLAB_JZ100"), 0.10, 0.90, 0.01, 0.25))), + pqremap(Gtk::manage(new Adjuster(M("TP_LOCALLAB_JZPQREMAP"), 100., 10000., 0.1, 120.))), + pqremapcam16(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CAM16PQREMAP"), 100., 10000., 0.1, 100.))), + forcejz(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_JZFORCE")))), + expjz(Gtk::manage(new MyExpander(false, Gtk::manage(new Gtk::Box())))), + jzshFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_JZSHFRA")))), + hljzcie(Gtk::manage(new Adjuster(M("TP_SHADOWSHLIGHTS_HIGHLIGHTS"), 0., 100., 1., 0.))), + hlthjzcie(Gtk::manage(new Adjuster(M("TP_SHADOWSHLIGHTS_HLTONALW"), 20., 100., 1., 70.))), + shjzcie(Gtk::manage(new Adjuster(M("TP_SHADOWSHLIGHTS_SHADOWS"), 0., 100., 1., 0.))), + shthjzcie(Gtk::manage(new Adjuster(M("TP_SHADOWSHLIGHTS_SHTONALW"), 20., 100., 1., 40.))), + radjzcie(Gtk::manage(new Adjuster(M("TP_SHADOWSHLIGHTS_RADIUS"), 0., 100., 1., 40.))), + expwavjz(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_JZWAVEXP")))), + contFramejz(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CONTWFRA")))), + sigmalcjz(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SIGMAWAV"), 0.2, 2.5, 0.01, 1.))), + LocalcurveEditorwavjz(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_WAV"))), + wavshapejz(static_cast(LocalcurveEditorwavjz->addCurve(CT_Flat, "", nullptr, false, false))), + csThresholdjz(Gtk::manage(new ThresholdAdjuster(M("TP_LOCALLAB_CSTHRESHOLD"), 0, 9, 0, 0, 7, 4, 0, false))), + clariFramejz(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CLARIFRA")))), + clarilresjz(Gtk::manage(new Adjuster(M("TP_LOCALLAB_JZCLARILRES"), -20., 100., 0.5, 0.))), + claricresjz(Gtk::manage(new Adjuster(M("TP_LOCALLAB_JZCLARICRES"), -20., 100., 0.5, 0.))), + clarisoftjz(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SOFTRADIUSCOL"), 0.0, 100.0, 0.5, 0.))), + + expcam16(Gtk::manage(new MyExpander(false, Gtk::manage(new Gtk::Box())))), + lightqcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGLIGHTQ"), -100., 100., 0.05, 0.))), + contlcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGCONTL"), -100., 100., 0.5, 0.))), + contqcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGCONQL"), -100., 100., 0.5, 0.))), + contthrescie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGCONTHRES"), -1., 1., 0.01, 0.))), + + logjzFrame(Gtk::manage(new Gtk::Frame())), + logjz(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_JZLOG")))), + blackEvjz(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BLACK_EV"), -16.0, 0.0, 0.1, -5.0))), + whiteEvjz(Gtk::manage(new Adjuster(M("TP_LOCALLAB_WHITE_EV"), 0., 32.0, 0.1, 10.0))), + targetjz(Gtk::manage(new Adjuster(M("TP_LOCALLAB_JZTARGET_EV"), 4., 80.0, 0.1, 18.0))), + bevwevFrame(Gtk::manage(new Gtk::Frame())), + forcebw(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_BWFORCE")))), + + sigmoidFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_SIGFRA")))), + sigq(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_SIGFRA")))), + sigmoidldacie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SIGMOIDLAMBDA"), 0.0, 1., 0.01, 0.5))), + sigmoidthcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SIGMOIDTH"), 0.1, 4., 0.01, 1., Gtk::manage(new RTImage("circle-black-small.png")), Gtk::manage(new RTImage("circle-white-small.png"))))), + sigmoidblcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SIGMOIDBL"), 0.5, 1.5, 0.01, 1.))), + sigmoidqjcie(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_SIGMOIDQJ")))), + logcie(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_LOGCIE")))), + sigmoidjzFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_SIGJZFRA")))), + sigjz(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_SIGJZFRA")))), + sigmoidldajzcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SIGMOIDLAMBDA"), 0., 1.0, 0.01, 0.5))), + sigmoidthjzcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SIGMOIDTH"), 0.1, 4., 0.01, 1., Gtk::manage(new RTImage("circle-black-small.png")), Gtk::manage(new RTImage("circle-white-small.png"))))), + sigmoidbljzcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SIGMOIDBL"), 0.5, 1.5, 0.01, 1.))), + colorflcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGCOLORFL"), -100., 100., 0.5, 0.))), + saturlcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SATURV"), -100., 100., 0.5, 0.))), + rstprotectcie(Gtk::manage(new Adjuster(M("TP_COLORAPP_RSTPRO"), 0., 100., 0.1, 0.))), + chromlcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CHROML"), -100., 100., 0.5, 0.))), + huecie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_HUECIE"), -100., 100., 0.1, 0.))), + cieCurveEditorG(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_CURVES_CIE"))), + toneMethodcie(Gtk::manage(new MyComboBoxText())), + shapecie(static_cast(cieCurveEditorG->addCurve(CT_Diagonal, "", toneMethodcie))), + cieCurveEditorG2(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_COLOR_CIE"))), + toneMethodcie2(Gtk::manage(new MyComboBoxText())), + shapecie2(static_cast(cieCurveEditorG2->addCurve(CT_Diagonal, "", toneMethodcie2))), + + chromjzcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_JZCHROM"), -100., 100., 0.5, 0.))), + saturjzcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_JZSAT"), -100., 100., 0.5, 0.))), + huejzcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_JZHUECIE"), -100., 100., 0.1, 0.))), + jz1CurveEditorG(new CurveEditorGroup(options.lastlocalCurvesDir, "", 1)), + shapejz(static_cast(jz1CurveEditorG->addCurve(CT_Diagonal, "Jz(J)"))), + shapecz(static_cast(jz1CurveEditorG->addCurve(CT_Diagonal, "Cz(C)"))), + + HFramejz(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_JZHFRA")))), + JzHFramejz(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_JZHJZFRA")))), + jz2CurveEditorG(new CurveEditorGroup(options.lastlocalCurvesDir, "", 1)), + jz3CurveEditorG(new CurveEditorGroup(options.lastlocalCurvesDir, "", 1)), + shapeczjz(static_cast(jz1CurveEditorG->addCurve(CT_Diagonal, "Cz(J)"))), + HHshapejz(static_cast(jz3CurveEditorG->addCurve(CT_Flat, "Hz(Hz)", nullptr, false, true))), + CHshapejz(static_cast(jz3CurveEditorG->addCurve(CT_Flat, "Cz(Hz)", nullptr, false, true))), + LHshapejz(static_cast(jz2CurveEditorG->addCurve(CT_Flat, "Jz(Hz)", nullptr, false, true))), + softjzcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_JZSOFTCIE"), 0., 100., 0.1, 0.))), + thrhjzcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_JZTHRHCIE"), 40., 150., 0.5, 60.))), + chjzcie(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_JZCH")))), + strsoftjzcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_JZSTRSOFTCIE"), 0, 100., 0.5, 100.))), + +/* + ciezFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_ZCAMFRA")))), + + lightlzcam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGLIGHTL"), -100., 100., 0.5, 0.))), + lightqzcam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGLIGHTQ"), -100., 100., 0.05, 0.))), + contlzcam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGCONTL"), -100., 100., 0.5, 0.))), + contqzcam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGCONQL"), -100., 100., 0.5, 0.))), + contthreszcam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_ZCAMTHRES"), 0., 1., 0.01, 0.))), + colorflzcam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LOGCOLORFL"), -100., 100., 0.5, 0.))), + saturzcam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SATURV"), -100., 100., 0.5, 0.))), + chromzcam(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CHROML"), -100., 100., 0.5, 0.))), +*/ + expLcie(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_CIETOOLEXP")))), + cie2Frame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_LOG2FRA")))), + targetGraycie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_TARGET_GRAY"), 5.0, 80.0, 0.1, 18.0))), + targabscie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SOURCE_ABS"), 0.01, 16384.0, 0.01, 16.0))), + detailcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_DETAIL"), 0., 100., 0.1, 0.))), + catadcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CATAD"), -100., 100., 0.5, 0., Gtk::manage(new RTImage("circle-blue-small.png")), Gtk::manage(new RTImage("circle-orange-small.png"))))), + surroundcie(Gtk::manage (new MyComboBoxText ())), + surrHBoxcie(Gtk::manage(new Gtk::Box())), + exprecovcie(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_DENOI2_EXP")))), + maskusablecie(Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_MASKUSABLE")))), + maskunusablecie(Gtk::manage(new Gtk::Label(M("TP_LOCALLAB_MASKUNUSABLE")))), + recothrescie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKRECOTHRES"), 0., 2., 0.01, 1.))), + lowthrescie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKLCTHRLOW"), 1., 80., 0.5, 12.))), + higthrescie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKLCTHR"), 20., 99., 0.5, 85.))), + decaycie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_MASKDDECAY"), 0.5, 4., 0.1, 2.))), + expmaskcie(Gtk::manage(new MyExpander(false, M("TP_LOCALLAB_SHOWS")))), + showmaskcieMethod(Gtk::manage(new MyComboBoxText())), + enacieMask(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_ENABLE_MASK")))), +// maskSHCurveEditorG(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_MASK"))), + maskcieCurveEditorG(new CurveEditorGroup(options.lastlocalCurvesDir, "", 1)), + CCmaskcieshape(static_cast(maskcieCurveEditorG->addCurve(CT_Flat, "C", nullptr, false, false))), + LLmaskcieshape(static_cast(maskcieCurveEditorG->addCurve(CT_Flat, "L", nullptr, false, false))), + HHmaskcieshape(static_cast(maskcieCurveEditorG->addCurve(CT_Flat, "LC(h)", nullptr, false, true))), + blendmaskcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_BLENDMASKCOL"), -100, 100, 1, 0))), + radmaskcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_RADMASKCOL"), 0.0, 100.0, 0.1, 0.))), + lapmaskcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LAPMASKCOL"), 0.0, 100.0, 0.1, 0.))), + chromaskcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CHROMASKCOL"), -100.0, 100.0, 0.1, 0.))), + gammaskcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_GAMMASKCOL"), 0.25, 4.0, 0.01, 1.))), + slomaskcie(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SLOMASKCOL"), 0.0, 15.0, 0.1, 0.))), + mask2cieCurveEditorG(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_MASK2"))), + Lmaskcieshape(static_cast(mask2cieCurveEditorG->addCurve(CT_Diagonal, "L(L)"))) + + + { + set_orientation(Gtk::ORIENTATION_VERTICAL); + + // Parameter Ciecam specific widgets + const LocallabParams::LocallabSpot defSpot; + reparcie->setAdjusterListener(this); + sensicie->setAdjusterListener(this); + + + pack_start(*sensicie); + pack_start(*reparcie); + modeHBoxcam->set_spacing (2); + //modeHBoxcam->set_tooltip_markup (M ("TP_LOCALLAB_CAMMODE_TOOLTIP")); + Gtk::Label* modeLabelcam = Gtk::manage (new Gtk::Label (M ("TP_LOCALLAB_CAMMODE") + ":")); + modeHBoxcam->pack_start (*modeLabelcam, Gtk::PACK_SHRINK); + modecam->append (M ("TP_LOCALLAB_CAMMODE_CAM16")); + modecam->append (M ("TP_LOCALLAB_CAMMODE_JZ")); + // modecam->append (M ("TP_LOCALLAB_CAMMODE_ALL")); +// modecam->append (M ("TP_LOCALLAB_CAMMODE_ZCAM")); + modecam->set_active (0); + modeHBoxcam->pack_start (*modecam); + modecamconn = modecam->signal_changed().connect ( sigc::mem_fun (*this, &Locallabcie::modecamChanged) ); + pack_start(*modeHBoxcam); + + modeHBoxcie->set_spacing (2); + modeHBoxcie->set_tooltip_markup (M ("TP_LOCALLAB_CIEMODE_TOOLTIP")); + Gtk::Label* modeLabel = Gtk::manage (new Gtk::Label (M ("TP_LOCALLAB_CIEMODE") + ":")); + modeHBoxcie->pack_start (*modeLabel, Gtk::PACK_SHRINK); + modecie->append (M ("TP_LOCALLAB_CIEMODE_COM")); + modecie->append (M ("TP_LOCALLAB_CIEMODE_TM")); + modecie->append (M ("TP_LOCALLAB_CIEMODE_WAV")); + modecie->append (M ("TP_LOCALLAB_CIEMODE_DR")); +// modecie->append (M ("TP_LOCALLAB_CIEMODE_LOG")); + modecie->set_active (0); + modeHBoxcie->pack_start (*modecie); + modecieconn = modecie->signal_changed().connect ( sigc::mem_fun (*this, &Locallabcie::modecieChanged) ); + pack_start(*modeHBoxcie); + + surHBoxcie->set_spacing (2); + surHBoxcie->set_tooltip_markup (M ("TP_LOCALLAB_LOGSURSOUR_TOOLTIP")); + Gtk::Label* surLabel = Gtk::manage (new Gtk::Label (M ("TP_COLORAPP_SURROUND") + ":")); + surHBoxcie->pack_start (*surLabel, Gtk::PACK_SHRINK); + sursourcie->append (M ("TP_COLORAPP_SURROUND_AVER")); + sursourcie->append (M ("TP_COLORAPP_SURROUND_DIM")); + sursourcie->append (M ("TP_COLORAPP_SURROUND_DARK")); + sursourcie->set_active (0); + surHBoxcie->pack_start (*sursourcie); + sursourcieconn = sursourcie->signal_changed().connect ( sigc::mem_fun (*this, &Locallabcie::sursourcieChanged) ); + + cieFrame->set_label_align(0.025, 0.5); + ToolParamBlock* const cieFBox = Gtk::manage(new ToolParamBlock()); + cieFBox->pack_start(*Autograycie); + cieFBox->pack_start(*sourceGraycie); + cieFBox->pack_start(*sourceabscie); + cieFBox->pack_start(*pqremapcam16); + PQFrame->set_label_align(0.025, 0.5); + ToolParamBlock* const PQFBox = Gtk::manage(new ToolParamBlock()); + PQFBox->pack_start(*adapjzcie); + PQFBox->pack_start(*jz100); + PQFBox->pack_start(*pqremap); +// PQFBox->pack_start(*forcejz); +// PQFBox->pack_start(*contthreszcam); + PQFrame->add(*PQFBox); + cieFBox->pack_start (*PQFrame); + logjzFrame->set_label_align(0.025, 0.5); + logjzFrame->set_label_widget(*logjz); + // Gtk::Separator* const separatorjz = Gtk::manage(new Gtk::Separator(Gtk::ORIENTATION_HORIZONTAL)); + ToolParamBlock* const logjzBox = Gtk::manage(new ToolParamBlock()); + //logjzBox->pack_start(*blackEvjz); + // logjzBox->pack_start(*whiteEvjz); + // logjzBox->pack_start(*separatorjz); + logjzBox->pack_start(*targetjz); + logjzFrame->add(*logjzBox); + cieFBox->pack_start (*logjzFrame); + bevwevFrame->set_label_align(0.025, 0.5); + ToolParamBlock* const bevwevBox = Gtk::manage(new ToolParamBlock()); + bevwevBox->pack_start(*blackEvjz); + bevwevBox->pack_start(*whiteEvjz); + bevwevFrame->add(*bevwevBox); + cieFBox->pack_start (*bevwevFrame); + + sigmoidFrame->set_label_align(0.025, 0.5); + sigmoidFrame->set_label_widget(*sigq); + ToolParamBlock* const sigBox = Gtk::manage(new ToolParamBlock()); + Gtk::Separator* const separatorsig = Gtk::manage(new Gtk::Separator(Gtk::ORIENTATION_HORIZONTAL)); + + sigBox->pack_start(*sigmoidldacie); + sigBox->pack_start(*sigmoidthcie); + sigBox->pack_start(*sigmoidblcie); + sigBox->pack_start(*sigmoidqjcie); + sigBox->pack_start(*separatorsig); + sigBox->pack_start(*logcie); + sigmoidFrame->add(*sigBox); + cieFBox->pack_start(*sigmoidFrame); + + + sigmoidjzFrame->set_label_align(0.025, 0.5); + sigmoidjzFrame->set_label_widget(*sigjz); + ToolParamBlock* const sigjzBox = Gtk::manage(new ToolParamBlock()); + sigjzBox->pack_start(*sigmoidldajzcie); + sigjzBox->pack_start(*sigmoidthjzcie); + sigjzBox->pack_start(*sigmoidbljzcie); + sigjzBox->pack_start(*forcebw); + sigmoidjzFrame->add(*sigjzBox); + + // jzBox->pack_start(*sigmoidjzFrame); + cieFBox->pack_start(*sigmoidjzFrame); + + cieFBox->pack_start (*surHBoxcie); + cieFrame->add(*cieFBox); + pack_start(*cieFrame); + + ToolParamBlock* const jzallBox = Gtk::manage(new ToolParamBlock()); + Gtk::Box *TittleVBoxjz; + TittleVBoxjz = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL)); + TittleVBoxjz->set_spacing(2); + Gtk::Box* const LCTitleHBoxjz = Gtk::manage(new Gtk::Box()); + Gtk::Label* const LCLabeljz = Gtk::manage(new Gtk::Label()); + LCLabeljz->set_markup(Glib::ustring("") + (M("TP_LOCALLAB_JZFRA")) + Glib::ustring("")); + LCTitleHBoxjz->pack_start(*LCLabeljz, Gtk::PACK_SHRINK); + TittleVBoxjz->pack_start(*LCTitleHBoxjz, Gtk::PACK_SHRINK); + expjz->setLabel(TittleVBoxjz); + + setExpandAlignProperties(expjz, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START); + + float R, G, B; + std::vector six_shape; + for (int i = 0; i < 6; i++) { + const float x = static_cast(i) * (1.f / 6.f); + Color::hsv2rgb01(x, 0.5f, 0.5f, R, G, B); + six_shape.emplace_back(x, R, G, B); + } + std::vector milestone; + milestone.push_back ( GradientMilestone (0., 0., 0., 0.) ); + milestone.push_back ( GradientMilestone (1., 1., 1., 1.) ); + + jz1CurveEditorG->setCurveListener(this); + shapejz->setResetCurve(DiagonalCurveType(defSpot.jzcurve.at(0)), defSpot.jzcurve); + shapejz->setBottomBarBgGradient (milestone); + shapejz->setLeftBarBgGradient (milestone); + + shapecz->setResetCurve(DiagonalCurveType(defSpot.czcurve.at(0)), defSpot.czcurve); + + std::vector shapeczMilestones; +// float R, G, B; + shapecz->setBottomBarColorProvider (this, 1); + shapecz->setLeftBarColorProvider (this, 1); + shapecz->setRangeDefaultMilestones (0.05, 0.2, 0.58); + + for (int i = 0; i < 7; i++) { + float x = float (i) * (1.0f / 6.f); + Color::hsv2rgb01 (x, 0.5f, 0.5f, R, G, B); + shapeczMilestones.push_back ( GradientMilestone (double (x), double (R), double (G), double (B)) ); + } + + shapecz->setBottomBarBgGradient (shapeczMilestones); + shapecz->setLeftBarBgGradient (shapeczMilestones); + shapecz->setRangeDefaultMilestones (0.05, 0.2, 0.58); + + shapeczjz->setLeftBarColorProvider (this, 1); + shapeczjz->setRangeDefaultMilestones (0.05, 0.2, 0.58); + shapeczjz->setResetCurve(DiagonalCurveType(defSpot.czjzcurve.at(0)), defSpot.czjzcurve); + shapeczjz->setBottomBarBgGradient (milestone); + shapeczjz->setLeftBarBgGradient (shapeczMilestones); + shapeczjz->setRangeDefaultMilestones (0.05, 0.2, 0.58); + + + jz1CurveEditorG->curveListComplete(); +/* + jz2CurveEditorG->setCurveListener(this); + shapeczjz->setLeftBarColorProvider (this, 1); + shapeczjz->setRangeDefaultMilestones (0.05, 0.2, 0.58); + shapeczjz->setResetCurve(DiagonalCurveType(defSpot.czjzcurve.at(0)), defSpot.czjzcurve); + shapeczjz->setBottomBarBgGradient (milestone); + shapeczjz->setLeftBarBgGradient (shapeczMilestones); + shapeczjz->setRangeDefaultMilestones (0.05, 0.2, 0.58); + jz2CurveEditorG->curveListComplete(); +*/ + jz2CurveEditorG->setCurveListener(this); + LHshapejz->setIdentityValue(0.); + LHshapejz->setResetCurve(FlatCurveType(defSpot.LHcurvejz.at(0)), defSpot.LHcurvejz); + // LHshapejz->setTooltip(M("TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP")); + LHshapejz->setCurveColorProvider(this, 3); + LHshapejz->setBottomBarBgGradient(six_shape); + jz2CurveEditorG->curveListComplete(); + + jz3CurveEditorG->setCurveListener(this); + + CHshapejz->setIdentityValue(0.); + CHshapejz->setResetCurve(FlatCurveType(defSpot.CHcurvejz.at(0)), defSpot.CHcurvejz); + // CHshapejz->setTooltip(M("TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP")); + CHshapejz->setCurveColorProvider(this, 3); + CHshapejz->setBottomBarBgGradient(six_shape); + + HHshapejz->setIdentityValue(0.); + HHshapejz->setResetCurve(FlatCurveType(defSpot.HHcurvejz.at(0)), defSpot.HHcurvejz); + // HHshapejz->setTooltip(M("TP_LOCALLAB_CURVEEDITOR_LL_TOOLTIP")); + HHshapejz->setCurveColorProvider(this, 3); + HHshapejz->setBottomBarBgGradient(six_shape); + + + jz3CurveEditorG->curveListComplete(); + + jzFrame->set_label_align(0.025, 0.5); + ToolParamBlock* const jzBox = Gtk::manage(new ToolParamBlock()); + jzBox->pack_start(*qtoj); + czlightFrame->set_label_align(0.025, 0.5); + czcolorFrame->set_label_align(0.025, 0.5); + ToolParamBlock* const ciePzlightBox = Gtk::manage(new ToolParamBlock()); + ciePzlightBox->pack_start(*lightjzcie); + ciePzlightBox->pack_start(*contjzcie); + czlightFrame->add(*ciePzlightBox); + jzBox->pack_start(*czlightFrame); + + ToolParamBlock* const ciePzcolorBox = Gtk::manage(new ToolParamBlock()); + ciePzcolorBox->pack_start(*chromjzcie); + ciePzcolorBox->pack_start(*saturjzcie); + ciePzcolorBox->pack_start(*huejzcie); + czcolorFrame->add(*ciePzcolorBox); + jzBox->pack_start(*czcolorFrame); + + jzBox->pack_start(*jz1CurveEditorG, Gtk::PACK_SHRINK, 4); + HFramejz->set_label_align(0.025, 0.5); + ToolParamBlock* const jzHHBox = Gtk::manage(new ToolParamBlock()); + JzHFramejz->set_label_align(0.025, 0.5); + ToolParamBlock* const jzHBox = Gtk::manage(new ToolParamBlock()); + + jzHBox->pack_start(*jz2CurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor + jzHBox->pack_start(*thrhjzcie); + JzHFramejz->add(*jzHBox); + jzHHBox->pack_start(*JzHFramejz); + + jzHHBox->pack_start(*jz3CurveEditorG, Gtk::PACK_SHRINK, 4); // jzBox->pack_start(*adapjzcie); + jzHHBox->pack_start(*softjzcie); + HFramejz->add(*jzHHBox); + jzBox->pack_start(*HFramejz); + /* + sigmoidjzFrame->set_label_align(0.025, 0.5); + ToolParamBlock* const sigjzBox = Gtk::manage(new ToolParamBlock()); + sigjzBox->pack_start(*sigmoidldajzcie); + sigjzBox->pack_start(*sigmoidthjzcie); + sigjzBox->pack_start(*sigmoidbljzcie); + sigjzBox->pack_start(*jabcie); + sigmoidjzFrame->add(*sigjzBox); + + // jzBox->pack_start(*sigmoidjzFrame); + */ + jzshFrame->set_label_align(0.025, 0.5); + ToolParamBlock* const jzshBox = Gtk::manage(new ToolParamBlock()); + jzshBox->pack_start(*hljzcie); + jzshBox->pack_start(*hlthjzcie); + jzshBox->pack_start(*shjzcie); + jzshBox->pack_start(*shthjzcie); + jzshBox->pack_start(*radjzcie); + jzshFrame->add(*jzshBox); + jzBox->pack_start(*jzshFrame); + + setExpandAlignProperties(expwavjz, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START); + + contFramejz->set_label_align(0.025, 0.5); + + sigmalcjz->setAdjusterListener(this); + + LocalcurveEditorwavjz->setCurveListener(this); + wavshapejz->setIdentityValue(0.); + wavshapejz->setResetCurve(FlatCurveType(defSpot.locwavcurvejz.at(0)), defSpot.locwavcurvejz); + LocalcurveEditorwavjz->curveListComplete(); + csThresholdjz->setAdjusterListener(this); + + ToolParamBlock* const coBox2jz = Gtk::manage(new ToolParamBlock()); + coBox2jz->pack_start(*csThresholdjz); + ToolParamBlock* const coBoxjz = Gtk::manage(new ToolParamBlock()); + coBoxjz->pack_start(*sigmalcjz); + coBoxjz->pack_start(*LocalcurveEditorwavjz, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor + contFramejz->add(*coBoxjz); + coBox2jz->pack_start(*contFramejz); + + clarilresjz->setAdjusterListener(this); + claricresjz->setAdjusterListener(this); + clarisoftjz->setAdjusterListener(this); + + clariFramejz->set_label_align(0.025, 0.5); + ToolParamBlock* const coBox3jz = Gtk::manage(new ToolParamBlock()); + coBox3jz->pack_start(*clarilresjz); + coBox3jz->pack_start(*claricresjz); + coBox3jz->pack_start(*clarisoftjz); + clariFramejz->add(*coBox3jz); + coBox2jz->pack_start(*clariFramejz); + expwavjz->add(*coBox2jz, false); + + jzBox->pack_start(*expwavjz, false, false); + + jzallBox->add(*jzBox); + + expjz->add(*jzallBox, false); + + jabcieConn = jabcie->signal_toggled().connect(sigc::mem_fun(*this, &Locallabcie::jabcieChanged)); + AutograycieConn = Autograycie->signal_toggled().connect(sigc::mem_fun(*this, &Locallabcie::AutograycieChanged)); + sigmoidqjcieconn = sigmoidqjcie->signal_toggled().connect(sigc::mem_fun(*this, &Locallabcie::sigmoidqjcieChanged)); + logcieconn = logcie->signal_toggled().connect(sigc::mem_fun(*this, &Locallabcie::logcieChanged)); + logjzconn = logjz->signal_toggled().connect(sigc::mem_fun(*this, &Locallabcie::logjzChanged)); + sigjzconn = sigjz->signal_toggled().connect(sigc::mem_fun(*this, &Locallabcie::sigjzChanged)); + sigqconn = sigq->signal_toggled().connect(sigc::mem_fun(*this, &Locallabcie::sigqChanged)); + forcejzConn = forcejz->signal_toggled().connect(sigc::mem_fun(*this, &Locallabcie::forcejzChanged)); + qtojConn = qtoj->signal_toggled().connect(sigc::mem_fun(*this, &Locallabcie::qtojChanged)); + chjzcieconn = chjzcie->signal_toggled().connect(sigc::mem_fun(*this, &Locallabcie::chjzcieChanged)); + forcebwConn = forcebw->signal_toggled().connect(sigc::mem_fun(*this, &Locallabcie::forcebwChanged)); + + sourceGraycie->setAdjusterListener(this); + sourceGraycie->setLogScale(10, 18, true); + + sourceabscie->setLogScale(500, 0); + + sourceabscie->setAdjusterListener(this); + setExpandAlignProperties(expLcie, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START); + + saturlcie->setAdjusterListener(this); + + rstprotectcie->setAdjusterListener(this); + + chromlcie->setAdjusterListener(this); + huecie->setAdjusterListener(this); + + + cieCurveEditorG->setCurveListener(this); + toneMethodcie->append (M ("TP_COLORAPP_TCMODE_LIGHTNESS")); + toneMethodcie->append (M ("TP_COLORAPP_TCMODE_BRIGHTNESS")); + toneMethodcie->set_active (0); + toneMethodcieConn = toneMethodcie->signal_changed().connect(sigc::mem_fun(*this, &Locallabcie::toneMethodcieChanged)); + shapecie->setResetCurve(DiagonalCurveType(defSpot.ciecurve.at(0)), defSpot.ciecurve); + shapecie->setBottomBarBgGradient (milestone); + shapecie->setLeftBarBgGradient (milestone); + cieCurveEditorG->curveListComplete(); + + cieCurveEditorG2->setCurveListener(this); + toneMethodcie2->append (M ("TP_COLORAPP_TCMODE_CHROMA")); + toneMethodcie2->append (M ("TP_COLORAPP_TCMODE_SATUR")); + toneMethodcie2->append (M ("TP_COLORAPP_TCMODE_COLORF")); + toneMethodcie2->set_active (0); + toneMethodcieConn2 = toneMethodcie2->signal_changed().connect(sigc::mem_fun(*this, &Locallabcie::toneMethodcie2Changed)); + shapecie2->setResetCurve(DiagonalCurveType(defSpot.ciecurve2.at(0)), defSpot.ciecurve2); + shapecie2->setBottomBarColorProvider (this, 1); + shapecie2->setLeftBarColorProvider (this, 1); + shapecie2->setRangeDefaultMilestones (0.05, 0.2, 0.58); + + std::vector shape2Milestones; +// float R, G, B; + + for (int i = 0; i < 7; i++) { + float x = float (i) * (1.0f / 6.f); + Color::hsv2rgb01 (x, 0.5f, 0.5f, R, G, B); + shape2Milestones.push_back ( GradientMilestone (double (x), double (R), double (G), double (B)) ); + } + + shapecie2->setBottomBarBgGradient (shape2Milestones); + shapecie2->setLeftBarBgGradient (shape2Milestones); + + shapecie2->setRangeDefaultMilestones (0.05, 0.2, 0.58); + + cieCurveEditorG2->curveListComplete(); + + + chromjzcie->setAdjusterListener(this); + saturjzcie->setAdjusterListener(this); + huejzcie->setAdjusterListener(this); + softjzcie->setAdjusterListener(this); + thrhjzcie->setAdjusterListener(this); + strsoftjzcie->setAdjusterListener(this); + + lightlcie->setAdjusterListener(this); + lightjzcie->setAdjusterListener(this); + + lightqcie->setAdjusterListener(this); + contlcie->setAdjusterListener(this); + contjzcie->setAdjusterListener(this); + adapjzcie->setAdjusterListener(this); + jz100->setAdjusterListener(this); + pqremap->setAdjusterListener(this); + pqremapcam16->setAdjusterListener(this); + hljzcie->setAdjusterListener(this); + hlthjzcie->setAdjusterListener(this); + shjzcie->setAdjusterListener(this); + shthjzcie->setAdjusterListener(this); + radjzcie->setAdjusterListener(this); + contthrescie->setAdjusterListener(this); + blackEvjz->setLogScale(2, -8); + blackEvjz->setAdjusterListener(this); + whiteEvjz->setLogScale(16, 0); + whiteEvjz->setAdjusterListener(this); + targetjz->setAdjusterListener(this); + targetjz->setLogScale(10, 18, true); + sigmoidldacie->setAdjusterListener(this); + sigmoidthcie->setAdjusterListener(this); + sigmoidblcie->setAdjusterListener(this); + sigmoidldajzcie->setAdjusterListener(this); + sigmoidthjzcie->setAdjusterListener(this); + sigmoidbljzcie->setAdjusterListener(this); + + contqcie->setAdjusterListener(this); + colorflcie->setAdjusterListener(this); +/* + lightlzcam->setAdjusterListener(this); + lightqzcam->setAdjusterListener(this); + contlzcam->setAdjusterListener(this); + contqzcam->setAdjusterListener(this); + contthreszcam->setAdjusterListener(this); + colorflzcam->setAdjusterListener(this); + saturzcam->setAdjusterListener(this); + chromzcam->setAdjusterListener(this); +*/ + targetGraycie->setAdjusterListener(this); + targetGraycie->setLogScale(10, 18, true); + targabscie->setLogScale(500, 0); + + targabscie->setAdjusterListener(this); + + detailcie->setAdjusterListener(this); + + catadcie->setAdjusterListener(this); + + Gtk::Box *TittleVBoxcam16; + TittleVBoxcam16 = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL)); + TittleVBoxcam16->set_spacing(2); + Gtk::Box* const LCTitleHBoxcam16 = Gtk::manage(new Gtk::Box()); + Gtk::Label* const LCLabelcam16 = Gtk::manage(new Gtk::Label()); + LCLabelcam16->set_markup(Glib::ustring("") + (M("TP_LOCALLAB_CAM16_FRA")) + Glib::ustring("")); + LCTitleHBoxcam16->pack_start(*LCLabelcam16, Gtk::PACK_SHRINK); + TittleVBoxcam16->pack_start(*LCTitleHBoxcam16, Gtk::PACK_SHRINK); + expcam16->setLabel(TittleVBoxcam16); + + setExpandAlignProperties(expcam16, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START); + + surrHBoxcie->set_spacing (2); + surrHBoxcie->set_tooltip_markup (M ("TP_COLORAPP_SURROUND_TOOLTIP")); + Gtk::Label* surrLabelcie = Gtk::manage (new Gtk::Label (M ("TP_COLORAPP_SURROUND") + ":")); + surrHBoxcie->pack_start (*surrLabelcie, Gtk::PACK_SHRINK); + surroundcie->append (M ("TP_COLORAPP_SURROUND_AVER")); + surroundcie->append (M ("TP_COLORAPP_SURROUND_DIM")); + surroundcie->append (M ("TP_COLORAPP_SURROUND_DARK")); +// surroundcie->append (M ("TP_COLORAPP_SURROUND_EXDARK")); + surroundcie->set_active (0); + surrHBoxcie->pack_start (*surroundcie); + surroundcieconn = surroundcie->signal_changed().connect ( sigc::mem_fun (*this, &Locallabcie::surroundcieChanged) ); + + cie1Frame->set_label_align(0.025, 0.5); + cie1lightFrame->set_label_align(0.025, 0.5); + cie1contFrame->set_label_align(0.025, 0.5); + cie1colorFrame->set_label_align(0.025, 0.5); + ToolParamBlock* const cieP1Box = Gtk::manage(new ToolParamBlock()); + ToolParamBlock* const cieP1lightBox = Gtk::manage(new ToolParamBlock()); + cieP1lightBox->pack_start(*lightlcie); + cieP1lightBox->pack_start(*lightqcie); + cie1lightFrame->add(*cieP1lightBox); + cieP1Box->pack_start(*cie1lightFrame); + ToolParamBlock* const cieP1contBox = Gtk::manage(new ToolParamBlock()); + cieP1contBox->pack_start(*detailcie); + cieP1contBox->pack_start(*contlcie); + cieP1contBox->pack_start(*contqcie); + cieP1contBox->pack_start(*contthrescie); + cie1contFrame->add(*cieP1contBox); + cieP1Box->pack_start(*cie1contFrame); + ToolParamBlock* const cieP1colorBox = Gtk::manage(new ToolParamBlock()); + cieP1colorBox->pack_start(*chromlcie); + cieP1colorBox->pack_start(*saturlcie); + cieP1colorBox->pack_start(*colorflcie); + cieP1colorBox->pack_start(*huecie); + cieP1colorBox->pack_start(*rstprotectcie); + cie1colorFrame->add(*cieP1colorBox); + cieP1Box->pack_start(*cie1colorFrame); + // pack_start(*blackEvjz); + // pack_start(*whiteEvjz); +/* + sigmoidFrame->set_label_align(0.025, 0.5); + ToolParamBlock* const sigBox = Gtk::manage(new ToolParamBlock()); + + sigBox->pack_start(*sigmoidldacie); + sigBox->pack_start(*sigmoidthcie); + sigBox->pack_start(*sigmoidblcie); + sigBox->pack_start(*sigmoidqjcie); + sigmoidFrame->add(*sigBox); + cieP1Box->pack_start(*sigmoidFrame); + */ + ToolParamBlock* const cieP11Box = Gtk::manage(new ToolParamBlock()); + cieP11Box->pack_start(*cieCurveEditorG); + cieP11Box->pack_start(*cieCurveEditorG2); + expLcie->add(*cieP11Box, false); + cieP1Box->pack_start(*expLcie, false, false); + // cie1Frame->add(*cieP1Box); + // expcam16->pack_start(*cie1Frame); + expcam16->add(*cieP1Box, false); + + pack_start(*expcam16, false, false); + + pack_start(*expjz, false, false); +/* + ciezFrame->set_label_align(0.025, 0.5); + ToolParamBlock* const ciePzBox = Gtk::manage(new ToolParamBlock()); + ciePzBox->pack_start(*lightlzcam); + ciePzBox->pack_start(*lightqzcam); + ciePzBox->pack_start(*contlzcam); + ciePzBox->pack_start(*contqzcam); +// ciePzBox->pack_start(*contthreszcam); + ciePzBox->pack_start(*colorflzcam); + ciePzBox->pack_start(*saturzcam); + ciePzBox->pack_start(*chromzcam); + ciezFrame->add(*ciePzBox); + pack_start(*ciezFrame); +*/ + + cie2Frame->set_label_align(0.025, 0.5); + ToolParamBlock* const cieP2Box = Gtk::manage(new ToolParamBlock()); + cieP2Box->pack_start(*targetGraycie); + cieP2Box->pack_start(*targabscie); + cieP2Box->pack_start(*catadcie); + cieP2Box->pack_start(*surrHBoxcie); +// cieP2Box->pack_start(*detailcie); +// cieP2Box->pack_start(*jabcie); + + cie2Frame->add(*cieP2Box); + pack_start(*cie2Frame); + + recothrescie->setAdjusterListener(this); + lowthrescie->setAdjusterListener(this); + higthrescie->setAdjusterListener(this); + decaycie->setAdjusterListener(this); + setExpandAlignProperties(exprecovcie, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START); + + + setExpandAlignProperties(expmaskcie, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START); + + showmaskcieMethod->append(M("TP_LOCALLAB_SHOWMNONE")); + showmaskcieMethod->append(M("TP_LOCALLAB_SHOWMODIF")); + showmaskcieMethod->append(M("TP_LOCALLAB_SHOWMODIFMASK")); + showmaskcieMethod->append(M("TP_LOCALLAB_SHOWMASK")); + showmaskcieMethod->append(M("TP_LOCALLAB_SHOWREF")); + showmaskcieMethod->set_active(0); + showmaskcieMethod->set_tooltip_markup(M("TP_LOCALLAB_SHOWMASKCOL_TOOLTIP")); + showmaskcieMethodConn = showmaskcieMethod->signal_changed().connect(sigc::mem_fun(*this, &Locallabcie::showmaskcieMethodChanged)); + + enacieMaskConn = enacieMask->signal_toggled().connect(sigc::mem_fun(*this, &Locallabcie::enacieMaskChanged)); + + maskcieCurveEditorG->setCurveListener(this); + CCmaskcieshape->setIdentityValue(0.); + CCmaskcieshape->setResetCurve(FlatCurveType(defSpot.CCmaskciecurve.at(0)), defSpot.CCmaskciecurve); + CCmaskcieshape->setBottomBarColorProvider(this, 1); + + LLmaskcieshape->setIdentityValue(0.); + LLmaskcieshape->setResetCurve(FlatCurveType(defSpot.LLmaskciecurve.at(0)), defSpot.LLmaskciecurve); + LLmaskcieshape->setBottomBarBgGradient({{0., 0., 0., 0.}, {1., 1., 1., 1.}}); + + HHmaskcieshape->setIdentityValue(0.); + HHmaskcieshape->setResetCurve(FlatCurveType(defSpot.HHmaskciecurve.at(0)), defSpot.HHmaskciecurve); + HHmaskcieshape->setCurveColorProvider(this, 2); + HHmaskcieshape->setBottomBarColorProvider(this, 2); + + maskcieCurveEditorG->curveListComplete(); + blendmaskcie->setAdjusterListener(this); + + radmaskcie->setAdjusterListener(this); + lapmaskcie->setAdjusterListener(this); + gammaskcie->setAdjusterListener(this); + slomaskcie->setAdjusterListener(this); + + chromaskcie->setAdjusterListener(this); + mask2cieCurveEditorG->setCurveListener(this); + + Lmaskcieshape->setResetCurve(DiagonalCurveType(defSpot.Lmaskciecurve.at(0)), defSpot.Lmaskciecurve); + Lmaskcieshape->setBottomBarBgGradient({{0., 0., 0., 0.}, {1., 1., 1., 1.}}); + Lmaskcieshape->setLeftBarBgGradient({{0., 0., 0., 0.}, {1., 1., 1., 1.}}); + + mask2cieCurveEditorG->curveListComplete(); + + ToolParamBlock* const cieBox3 = Gtk::manage(new ToolParamBlock()); + cieBox3->pack_start(*maskusablecie, Gtk::PACK_SHRINK, 0); + cieBox3->pack_start(*maskunusablecie, Gtk::PACK_SHRINK, 0); + cieBox3->pack_start(*recothrescie); + cieBox3->pack_start(*lowthrescie); + cieBox3->pack_start(*higthrescie); + cieBox3->pack_start(*decaycie); + exprecovcie->add(*cieBox3, false); + pack_start(*exprecovcie, false, false); + + ToolParamBlock* const maskcieBox = Gtk::manage(new ToolParamBlock()); + maskcieBox->pack_start(*showmaskcieMethod, Gtk::PACK_SHRINK, 4); + maskcieBox->pack_start(*enacieMask, Gtk::PACK_SHRINK, 0); + maskcieBox->pack_start(*maskcieCurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor + maskcieBox->pack_start(*blendmaskcie, Gtk::PACK_SHRINK, 0); + maskcieBox->pack_start(*radmaskcie, Gtk::PACK_SHRINK, 0); + maskcieBox->pack_start(*lapmaskcie, Gtk::PACK_SHRINK, 0); + maskcieBox->pack_start(*chromaskcie, Gtk::PACK_SHRINK, 0); + maskcieBox->pack_start(*gammaskcie, Gtk::PACK_SHRINK, 0); + maskcieBox->pack_start(*slomaskcie, Gtk::PACK_SHRINK, 0); + maskcieBox->pack_start(*mask2cieCurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor + expmaskcie->add(*maskcieBox, false); + pack_start(*expmaskcie, false, false); + + + + } +Locallabcie::~Locallabcie() +{ + delete jz1CurveEditorG; + delete jz2CurveEditorG; + delete jz3CurveEditorG; + delete cieCurveEditorG; + delete cieCurveEditorG2; + delete maskcieCurveEditorG; + delete mask2cieCurveEditorG; + delete LocalcurveEditorwavjz; + +} + +bool Locallabcie::isMaskViewActive() +{ + return ((showmaskcieMethod->get_active_row_number() != 0)); +} + +void Locallabcie::resetMaskView() +{ + showmaskcieMethodConn.block(true); + + showmaskcieMethod->set_active(0); + + showmaskcieMethodConn.block(false); +} + +void Locallabcie::getMaskView(int &colorMask, int &colorMaskinv, int &expMask, int &expMaskinv, int &shMask, int &shMaskinv, int &vibMask, int &softMask, int &blMask, int &tmMask, int &retiMask, int &sharMask, int &lcMask, int &cbMask, int &logMask, int &maskMask, int &cieMask) +{ + cieMask = showmaskcieMethod->get_active_row_number(); +} + +void Locallabcie::setDefaultExpanderVisibility() +{ + expLcie->set_expanded(false); + expjz->set_expanded(false); + expwavjz->set_expanded(false); + expcam16->set_expanded(false); + expmaskcie->set_expanded(false); + exprecovcie->set_expanded(false); +} +void Locallabcie::updateAdviceTooltips(const bool showTooltips) +{ + if (showTooltips) { + recothrescie->set_tooltip_text(M("TP_LOCALLAB_RECOTHRES02_TOOLTIP")); + reparcie->set_tooltip_text(M("TP_LOCALLAB_LOGREPART_TOOLTIP")); + cieFrame->set_tooltip_text(M("TP_LOCALLAB_LOGSCENE_TOOLTIP")); + PQFrame->set_tooltip_text(M("TP_LOCALLAB_JZPQFRA_TOOLTIP")); + qtoj->set_tooltip_text(M("TP_LOCALLAB_JZQTOJ_TOOLTIP")); + logcie->set_tooltip_text(M("TP_LOCALLAB_LOGCIE_TOOLTIP")); + modecam->set_tooltip_text(M("TP_LOCALLAB_JZMODECAM_TOOLTIP")); + adapjzcie->set_tooltip_text(M("TP_LOCALLAB_JABADAP_TOOLTIP")); + jz100->set_tooltip_text(M("TP_LOCALLAB_JZ100_TOOLTIP")); + pqremap->set_tooltip_text(M("TP_LOCALLAB_JZPQREMAP_TOOLTIP")); + pqremapcam16->set_tooltip_text(M("TP_LOCALLAB_CAM16PQREMAP_TOOLTIP")); + Autograycie->set_tooltip_text(M("TP_LOCALLAB_LOGAUTOGRAYJZ_TOOLTIP")); + sigmalcjz->set_tooltip_text(M("TP_LOCALLAB_WAT_SIGMALC_TOOLTIP")); + logjzFrame->set_tooltip_text(M("TP_LOCALLAB_JZLOGWB_TOOLTIP")); + blackEvjz->set_tooltip_text(M("TP_LOCALLAB_JZLOGWBS_TOOLTIP")); + whiteEvjz->set_tooltip_text(M("TP_LOCALLAB_JZLOGWBS_TOOLTIP")); + clariFramejz->set_tooltip_markup(M("TP_LOCALLAB_CLARIJZ_TOOLTIP")); + clarilresjz->set_tooltip_text(M("TP_LOCALLAB_WAT_CLARIL_TOOLTIP")); + claricresjz->set_tooltip_text(M("TP_LOCALLAB_WAT_CLARIC_TOOLTIP")); + clarisoftjz->set_tooltip_markup(M("TP_LOCALLAB_CLARISOFTJZ_TOOLTIP")); + wavshapejz->setTooltip(M("TP_LOCALLAB_WAT_WAVSHAPE_TOOLTIP")); + LocalcurveEditorwavjz->set_tooltip_markup(M("TP_LOCALLAB_WAT_LEVELLOCCONTRAST_TOOLTIP")); + csThresholdjz->set_tooltip_markup(M("TP_LOCALLAB_WAT_THRESHOLDWAV_TOOLTIP")); + forcejz->set_tooltip_text(M("TP_LOCALLAB_JZFORCE_TOOLTIP")); + sourceGraycie->set_tooltip_text(M("TP_LOCALLAB_JZLOGYBOUT_TOOLTIP")); + sourceabscie->set_tooltip_text(M("TP_COLORAPP_ADAPSCEN_TOOLTIP")); + cie1Frame->set_tooltip_text(M("TP_LOCALLAB_LOGIMAGE_TOOLTIP")); + sigmoidFrame->set_tooltip_text(M("TP_LOCALLAB_SIGMOID_TOOLTIP")); + sigmoidjzFrame->set_tooltip_text(M("TP_LOCALLAB_SIGMOID_TOOLTIP")); + contlcie->set_tooltip_text(M("TP_LOCALLAB_LOGCONTL_TOOLTIP")); + contqcie->set_tooltip_text(M("TP_LOCALLAB_LOGCONTQ_TOOLTIP")); + contthrescie->set_tooltip_text(M("TP_LOCALLAB_LOGCONTTHRES_TOOLTIP")); + colorflcie->set_tooltip_text(M("TP_LOCALLAB_LOGCOLORF_TOOLTIP")); + lightlcie->set_tooltip_text(M("TP_LOCALLAB_LOGLIGHTL_TOOLTIP")); + lightqcie->set_tooltip_text(M("TP_LOCALLAB_LOGLIGHTQ_TOOLTIP")); + saturlcie->set_tooltip_text(M("TP_LOCALLAB_LOGSATURL_TOOLTIP")); + rstprotectcie->set_tooltip_text(M("TP_LOCALLAB_RSTPROTECT_TOOLTIP")); + chromlcie->set_tooltip_text(M("TP_COLORAPP_CHROMA_TOOLTIP")); + targabscie->set_tooltip_text(M("TP_COLORAPP_VIEWING_ABSOLUTELUMINANCE_TOOLTIP")); + targetGraycie->set_tooltip_text(M("TP_COLORAPP_YBOUT_TOOLTIP")); + detailcie->set_tooltip_text(M("TP_LOCALLAB_LOGDETAIL_TOOLTIP")); + catadcie->set_tooltip_text(M("TP_LOCALLAB_LOGCATAD_TOOLTIP")); + cie2Frame->set_tooltip_text(M("TP_LOCALLAB_LOGVIEWING_TOOLTIP")); + sensicie->set_tooltip_text(M("TP_LOCALLAB_SENSI_TOOLTIP")); + CCmaskcieshape->setTooltip(M("TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP")); + LLmaskcieshape->setTooltip(M("TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP")); + HHmaskcieshape->setTooltip(M("TP_LOCALLAB_CURVEEDITOR_CC_TOOLTIP")); + expmaskcie->set_tooltip_markup(M("TP_LOCALLAB_MASK_TOOLTIP")); + blendmaskcie->set_tooltip_text(M("TP_LOCALLAB_BLENDMASK_TOOLTIP")); + radmaskcie->set_tooltip_text(M("TP_LOCALLAB_LAPRAD_TOOLTIP")); + mask2cieCurveEditorG->set_tooltip_text(M("TP_LOCALLAB_CONTRASTCURVMASK_TOOLTIP")); + Lmaskcieshape->setTooltip(M("TP_LOCALLAB_LMASK_LL_TOOLTIP")); + exprecovcie->set_tooltip_markup(M("TP_LOCALLAB_MASKRESH_TOOLTIP")); + + + } else { + reparcie->set_tooltip_text(""); + recothrescie->set_tooltip_text(""); + cieFrame->set_tooltip_text(""); + PQFrame->set_tooltip_text(""); + modecam->set_tooltip_text(""); + qtoj->set_tooltip_text(""); + logcie->set_tooltip_text(""); + jabcie->set_tooltip_text(""); + adapjzcie->set_tooltip_text(""); + jz100->set_tooltip_text(""); + logjzFrame->set_tooltip_text(""); + blackEvjz->set_tooltip_text(""); + whiteEvjz->set_tooltip_text(""); + pqremap->set_tooltip_text(""); + pqremapcam16->set_tooltip_text(""); + Autograycie->set_tooltip_text(""); + forcejz->set_tooltip_text(""); + sourceGraycie->set_tooltip_text(""); + sourceabscie->set_tooltip_text(""); + cie1Frame->set_tooltip_text(""); + sigmoidFrame->set_tooltip_text(""); + sigmoidjzFrame->set_tooltip_text(""); + contlcie->set_tooltip_text(""); + contqcie->set_tooltip_text(""); + contthrescie->set_tooltip_text(""); + colorflcie->set_tooltip_text(""); + lightlcie->set_tooltip_text(""); + lightqcie->set_tooltip_text(""); + saturlcie->set_tooltip_text(""); + rstprotectcie->set_tooltip_text(""); + chromlcie->set_tooltip_text(""); + targabscie->set_tooltip_text(""); + targetGraycie->set_tooltip_text(""); + detailcie->set_tooltip_text(""); + catadcie->set_tooltip_text(""); + cie2Frame->set_tooltip_text(""); + sensicie->set_tooltip_text(""); + CCmaskcieshape->setTooltip(""); + LLmaskcieshape->setTooltip(""); + HHmaskcieshape->setTooltip(""); + expmaskcie->set_tooltip_markup(""); + blendmaskcie->set_tooltip_text(""); + radmaskcie->set_tooltip_text(""); + mask2cieCurveEditorG->set_tooltip_text(""); + Lmaskcieshape->setTooltip(""); + exprecovcie->set_tooltip_markup(""); + sigmalcjz->set_tooltip_text(""); + clarilresjz->set_tooltip_text(""); + claricresjz->set_tooltip_text(""); + clarisoftjz->set_tooltip_markup(""); + clariFramejz->set_tooltip_markup(""); + wavshapejz->setTooltip(""); + LocalcurveEditorwavjz->set_tooltip_markup(""); + csThresholdjz->set_tooltip_markup(""); + + } +} +void Locallabcie::disableListener() +{ + LocallabTool::disableListener(); + AutograycieConn.block(true); + forcejzConn.block(true); + forcebwConn.block(true); + qtojConn.block(true); + jabcieConn.block(true); + sigmoidqjcieconn.block(true); + logcieconn.block(true); + logjzconn.block(true); + sigjzconn.block(true); + sigqconn.block(true); + chjzcieconn.block(true); + sursourcieconn.block (true); + surroundcieconn.block (true); + modecieconn.block (true); + modecamconn.block (true); + toneMethodcieConn.block(true); + toneMethodcieConn2.block(true); + showmaskcieMethodConn.block(true); + enacieMaskConn.block(true); +} + +void Locallabcie::enableListener() +{ + LocallabTool::enableListener(); + AutograycieConn.block(false); + forcejzConn.block(false); + forcebwConn.block(false); + qtojConn.block(false); + jabcieConn.block(false); + sigmoidqjcieconn.block(false); + logcieconn.block(false); + logjzconn.block(false); + sigjzconn.block(false); + sigqconn.block(false); + chjzcieconn.block(false); + sursourcieconn.block (false); + surroundcieconn.block (false); + modecieconn.block (false); + modecamconn.block (false); + toneMethodcieConn.block(false); + toneMethodcieConn2.block(false); + showmaskcieMethodConn.block(false); + enacieMaskConn.block(false); +} + +void Locallabcie::showmaskcieMethodChanged() +{ + // If mask preview is activated, deactivate other Shadow highlight mask preview + + // If mask preview is activated, deactivate all other tool mask preview + if (locToolListener) { + locToolListener->resetOtherMaskView(this); + } + + if(exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabshowmaskMethod, ""); + } + } +} + + + +void Locallabcie::enacieMaskChanged() +{ + if (enacieMask->get_active()) { + maskusablecie->show(); + maskunusablecie->hide(); + + } else { + maskusablecie->hide(); + maskunusablecie->show(); + } + + if (isLocActivated && exp->getEnabled()) { + if (listener) { + if (enacieMask->get_active()) { + listener->panelChanged(EvLocallabEnacieMask, + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } else { + listener->panelChanged(EvLocallabEnacieMask, + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + } +} + +void Locallabcie::read(const rtengine::procparams::ProcParams* pp, const ParamsEdited* pedited) +{ + disableListener(); + + // Update GUI to selected spot value + const int index = pp->locallab.selspot; + + if (index < (int)pp->locallab.spots.size()) { + const LocallabParams::LocallabSpot& spot = pp->locallab.spots.at(index); + + exp->set_visible(spot.visicie); + exp->setEnabled(spot.expcie); + complexity->set_active(spot.complexcie); + + reparcie->setValue(spot.reparcie); + sensicie->setValue(spot.sensicie); + + if (spot.modecam == "cam16") { + modecam->set_active (0); + } else if (spot.modecam == "jz") { + modecam->set_active (1); +// } else if (spot.modecam == "all") { +// modecam->set_active (2); +// } else if (spot.modecam == "zcam") { +// modecam->set_active (3); + } + + if (spot.modecie == "com") { + modecie->set_active (0); + } else if (spot.modecie == "tm") { + modecie->set_active (1); + } else if (spot.modecie == "wav") { + modecie->set_active (2); + } else if (spot.modecie == "dr") { + modecie->set_active (3); +// } else if (spot.modecie == "log") { +// modecie->set_active (4); + } + + if (spot.toneMethodcie == "one") { + toneMethodcie->set_active(0); + } else if (spot.toneMethodcie == "two") { + toneMethodcie->set_active(1); + } + + if (spot.toneMethodcie2 == "onec") { + toneMethodcie2->set_active(0); + } else if (spot.toneMethodcie2 == "twoc") { + toneMethodcie2->set_active(1); + } else if (spot.toneMethodcie2 == "thrc") { + toneMethodcie2->set_active(2); + } + + Autograycie->set_active(spot.Autograycie); + forcejz->set_active(spot.forcejz); + forcebw->set_active(spot.forcebw); + qtoj->set_active(spot.qtoj); + sourceGraycie->setValue(spot.sourceGraycie); + sigmoidqjcie->set_active(spot.sigmoidqjcie); + logcie->set_active(spot.logcie); + logjz->set_active(spot.logjz); + sigjz->set_active(spot.sigjz); + sigq->set_active(spot.sigq); + // chjzcie->set_active(spot.chjzcie); + chjzcie->set_active(true);//force to true to avoid other mode + sourceabscie->setValue(spot.sourceabscie); + jabcie->set_active(spot.jabcie); + jabcieChanged(); + modecamChanged(); + + if(logcie->get_active()) { + sigmoidldacie->set_sensitive(false); + sigmoidthcie->set_sensitive(false); + sigmoidblcie->set_sensitive(false); + sigmoidqjcie->set_sensitive(false); + } else { + sigmoidldacie->set_sensitive(true); + sigmoidthcie->set_sensitive(true); + sigmoidblcie->set_sensitive(true); + sigmoidqjcie->set_sensitive(true); + } + + if (spot.sursourcie == "Average") { + sursourcie->set_active (0); + } else if (spot.sursourcie == "Dim") { + sursourcie->set_active (1); + } else if (spot.sursourcie == "Dark") { + sursourcie->set_active (2); + } + + if (spot.surroundcie == "Average") { + surroundcie->set_active (0); + } else if (spot.surroundcie == "Dim") { + surroundcie->set_active (1); + } else if (spot.surroundcie == "Dark") { + surroundcie->set_active (2); +// } else if (spot.surroundcie == "ExtremelyDark") { +// surroundcie->set_active (3); + } + shapecie->setCurve(spot.ciecurve); + shapecie2->setCurve(spot.ciecurve2); + + shapejz->setCurve(spot.jzcurve); + shapecz->setCurve(spot.czcurve); + shapeczjz->setCurve(spot.czjzcurve); + HHshapejz->setCurve(spot.HHcurvejz); + CHshapejz->setCurve(spot.CHcurvejz); + LHshapejz->setCurve(spot.LHcurvejz); + + saturlcie->setValue(spot.saturlcie); + rstprotectcie->setValue(spot.rstprotectcie); + chromlcie->setValue(spot.chromlcie); + huecie->setValue(spot.huecie); + chromjzcie->setValue(spot.chromjzcie); + saturjzcie->setValue(spot.saturjzcie); + huejzcie->setValue(spot.huejzcie); + softjzcie->setValue(spot.softjzcie); + strsoftjzcie->setValue(spot.strsoftjzcie); + thrhjzcie->setValue(spot.thrhjzcie); + lightlcie->setValue(spot.lightlcie); + lightjzcie->setValue(spot.lightjzcie); + lightqcie->setValue(spot.lightqcie); + contlcie->setValue(spot.contlcie); + contjzcie->setValue(spot.contjzcie); + adapjzcie->setValue(spot.adapjzcie); + jz100->setValue(spot.jz100); + pqremap->setValue(spot.pqremap); + pqremapcam16->setValue(spot.pqremapcam16); + hljzcie->setValue(spot.hljzcie); + hlthjzcie->setValue(spot.hlthjzcie); + shjzcie->setValue(spot.shjzcie); + shthjzcie->setValue(spot.shthjzcie); + radjzcie->setValue(spot.radjzcie); + sigmalcjz->setValue(spot.sigmalcjz); + wavshapejz->setCurve(spot.locwavcurvejz); + csThresholdjz->setValue(spot.csthresholdjz); + clarilresjz->setValue(spot.clarilresjz); + claricresjz->setValue(spot.claricresjz); + clarisoftjz->setValue(spot.clarisoftjz); + contthrescie->setValue(spot.contthrescie); + blackEvjz->setValue(spot.blackEvjz); + whiteEvjz->setValue(spot.whiteEvjz); + targetjz->setValue(spot.targetjz); + sigmoidldacie->setValue(spot.sigmoidldacie); + sigmoidthcie->setValue(spot.sigmoidthcie); + sigmoidblcie->setValue(spot.sigmoidblcie); + sigmoidldajzcie->setValue(spot.sigmoidldajzcie); + sigmoidthjzcie->setValue(spot.sigmoidthjzcie); + sigmoidbljzcie->setValue(spot.sigmoidbljzcie); + contqcie->setValue(spot.contqcie); + colorflcie->setValue(spot.colorflcie); + targabscie->setValue(spot.targabscie); + targetGraycie->setValue(spot.targetGraycie); + detailcie->setValue(spot.detailcie); + catadcie->setValue(spot.catadcie); +/* + lightlzcam->setValue(spot.lightlzcam); + lightqzcam->setValue(spot.lightqzcam); + contlzcam->setValue(spot.contlzcam); + contqzcam->setValue(spot.contqzcam); + contthreszcam->setValue(spot.contthreszcam); + colorflzcam->setValue(spot.colorflzcam); + saturzcam->setValue(spot.saturzcam); + chromzcam->setValue(spot.chromzcam); +*/ + enacieMask->set_active(spot.enacieMask); + CCmaskcieshape->setCurve(spot.CCmaskciecurve); + LLmaskcieshape->setCurve(spot.LLmaskciecurve); + HHmaskcieshape->setCurve(spot.HHmaskciecurve); + blendmaskcie->setValue((double)spot.blendmaskcie); + radmaskcie->setValue(spot.radmaskcie); + chromaskcie->setValue(spot.chromaskcie); + lapmaskcie->setValue(spot.lapmaskcie); + gammaskcie->setValue(spot.gammaskcie); + slomaskcie->setValue(spot.slomaskcie); + Lmaskcieshape->setCurve(spot.Lmaskciecurve); + recothrescie->setValue((double)spot.recothrescie); + lowthrescie->setValue((double)spot.lowthrescie); + higthrescie->setValue((double)spot.higthrescie); + decaycie->setValue((double)spot.decaycie); + + + } + enableListener(); + // Update GUI according to complexity mode + updateGUIToMode(static_cast(complexity->get_active_row_number())); + // Update Ciecam GUI + updatecieGUI(); +} + +void Locallabcie::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited) +{ + const int index = pp->locallab.selspot; + + if (index < (int)pp->locallab.spots.size()) { + LocallabParams::LocallabSpot& spot = pp->locallab.spots.at(index); + spot.expcie = exp->getEnabled(); + spot.visicie = exp->get_visible(); + spot.complexcie = complexity->get_active_row_number(); + + spot.reparcie = reparcie->getValue(); + spot.sensicie = sensicie->getIntValue(); + + if (modecam->get_active_row_number() == 0) { + spot.modecam = "cam16"; + } else if (modecam->get_active_row_number() == 1) { + spot.modecam = "jz"; +// } else if (modecam->get_active_row_number() == 2) { +// spot.modecam = "all"; +// } else if (modecam->get_active_row_number() == 3) { +// spot.modecam = "zcam"; + } + + if (modecie->get_active_row_number() == 0) { + spot.modecie = "com"; + } else if (modecie->get_active_row_number() == 1) { + spot.modecie = "tm"; + } else if (modecie->get_active_row_number() == 2) { + spot.modecie = "wav"; + } else if (modecie->get_active_row_number() == 3) { + spot.modecie = "dr"; +// } else if (modecie->get_active_row_number() == 4) { +// spot.modecie = "log"; + } + + if (toneMethodcie->get_active_row_number() == 0) { + spot.toneMethodcie = "one"; + } else if (toneMethodcie->get_active_row_number() == 1) { + spot.toneMethodcie = "two"; + } + + if (toneMethodcie2->get_active_row_number() == 0) { + spot.toneMethodcie2 = "onec"; + } else if (toneMethodcie2->get_active_row_number() == 1) { + spot.toneMethodcie2 = "twoc"; + } else if (toneMethodcie2->get_active_row_number() == 2) { + spot.toneMethodcie2 = "thrc"; + } + + spot.Autograycie = Autograycie->get_active(); + spot.forcejz = forcejz->get_active(); + spot.forcebw = forcebw->get_active(); + spot.qtoj = qtoj->get_active(); + spot.jabcie = jabcie->get_active(); + spot.sourceGraycie = sourceGraycie->getValue(); + spot.sourceabscie = sourceabscie->getValue(); + spot.sigmoidqjcie = sigmoidqjcie->get_active(); + spot.logcie = logcie->get_active(); + spot.logjz = logjz->get_active(); + spot.sigjz = sigjz->get_active(); + spot.chjzcie = chjzcie->get_active(); + spot.sigq = sigq->get_active(); + + if(sursourcie->get_active_row_number() == 0) { + spot.sursourcie = "Average"; + } else if (sursourcie->get_active_row_number() == 1) { + spot.sursourcie = "Dim"; + } else if (sursourcie->get_active_row_number() == 2) { + spot.sursourcie = "Dark"; + } + + if (surroundcie->get_active_row_number() == 0) { + spot.surroundcie = "Average"; + } else if (surroundcie->get_active_row_number() == 1) { + spot.surroundcie = "Dim"; + } else if (surroundcie->get_active_row_number() == 2) { + spot.surroundcie = "Dark"; +// } else if (surroundcie->get_active_row_number() == 3) { +// spot.surroundcie = "ExtremelyDark"; + } + spot.jzcurve = shapejz->getCurve(); + spot.czcurve = shapecz->getCurve(); + spot.czjzcurve = shapeczjz->getCurve(); + spot.HHcurvejz = HHshapejz->getCurve(); + spot.CHcurvejz = CHshapejz->getCurve(); + spot.LHcurvejz = LHshapejz->getCurve(); + spot.ciecurve = shapecie->getCurve(); + spot.ciecurve2 = shapecie2->getCurve(); + + spot.saturlcie = saturlcie->getValue(); + spot.rstprotectcie = rstprotectcie->getValue(); + spot.chromlcie = chromlcie->getValue(); + spot.huejzcie = huejzcie->getValue(); + spot.softjzcie = softjzcie->getValue(); + spot.strsoftjzcie = strsoftjzcie->getValue(); + spot.thrhjzcie = thrhjzcie->getValue(); + spot.chromjzcie = chromjzcie->getValue(); + spot.saturjzcie = saturjzcie->getValue(); + spot.huecie = huecie->getValue(); + spot.lightlcie = lightlcie->getValue(); + spot.lightjzcie = lightjzcie->getValue(); + spot.lightqcie = lightqcie->getValue(); + spot.contlcie = contlcie->getValue(); + spot.contjzcie = contjzcie->getValue(); + spot.adapjzcie = adapjzcie->getValue(); + spot.jz100 = jz100->getValue(); + spot.pqremap = pqremap->getValue(); + spot.pqremapcam16 = pqremapcam16->getValue(); + spot.hljzcie = hljzcie->getValue(); + spot.hlthjzcie = hlthjzcie->getValue(); + spot.shjzcie = shjzcie->getValue(); + spot.shthjzcie = shthjzcie->getValue(); + spot.radjzcie = radjzcie->getValue(); + spot.sigmalcjz = sigmalcjz->getValue(); + spot.locwavcurvejz = wavshapejz->getCurve(); + spot.csthresholdjz = csThresholdjz->getValue(); + spot.clarilresjz = clarilresjz->getValue(); + spot.claricresjz = claricresjz->getValue(); + spot.clarisoftjz = clarisoftjz->getValue(); + spot.contthrescie = contthrescie->getValue(); + spot.blackEvjz = blackEvjz->getValue(); + spot.whiteEvjz = whiteEvjz->getValue(); + spot.targetjz = targetjz->getValue(); + spot.sigmoidldacie = sigmoidldacie->getValue(); + spot.sigmoidthcie = sigmoidthcie->getValue(); + spot.sigmoidblcie = sigmoidblcie->getValue(); + spot.sigmoidldajzcie = sigmoidldajzcie->getValue(); + spot.sigmoidthjzcie = sigmoidthjzcie->getValue(); + spot.sigmoidbljzcie = sigmoidbljzcie->getValue(); + spot.contqcie = contqcie->getValue(); + spot.colorflcie = colorflcie->getValue(); + spot.targabscie = targabscie->getValue(); + spot.targetGraycie = targetGraycie->getValue(); + spot.catadcie = catadcie->getValue(); + spot.detailcie = detailcie->getValue(); +/* + spot.lightlzcam = lightlzcam->getValue(); + spot.lightqzcam = lightqzcam->getValue(); + spot.contlzcam = contlzcam->getValue(); + spot.contqzcam = contqzcam->getValue(); + spot.contthreszcam = contthreszcam->getValue(); + spot.colorflzcam = colorflzcam->getValue(); + spot.saturzcam = saturzcam->getValue(); + spot.chromzcam = chromzcam->getValue(); +*/ + spot.enacieMask = enacieMask->get_active(); + spot.LLmaskciecurve = LLmaskcieshape->getCurve(); + spot.CCmaskciecurve = CCmaskcieshape->getCurve(); + spot.HHmaskciecurve = HHmaskcieshape->getCurve(); + spot.blendmaskcie = blendmaskcie->getIntValue(); + spot.radmaskcie = radmaskcie->getValue(); + spot.chromaskcie = chromaskcie->getValue(); + spot.lapmaskcie = lapmaskcie->getValue(); + spot.gammaskcie = gammaskcie->getValue(); + spot.slomaskcie = slomaskcie->getValue(); + spot.Lmaskciecurve = Lmaskcieshape->getCurve(); + spot.recothrescie = recothrescie->getValue(); + spot.lowthrescie = lowthrescie->getValue(); + spot.higthrescie = higthrescie->getValue(); + spot.decaycie = decaycie->getValue(); + + } +} + +void Locallabcie::toneMethodcieChanged() +{ + if (isLocActivated && exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvLocallabtoneMethodcie, + toneMethodcie->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } +} + +void Locallabcie::toneMethodcie2Changed() +{ + if (isLocActivated && exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvLocallabtoneMethodcie2, + toneMethodcie2->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } +} + + +void Locallabcie::updateMaskBackground(const double normChromar, const double normLumar, const double normHuer, const double normHuerjz) +{ + idle_register.add( + [this, normHuerjz, normHuer, normLumar, normChromar]() -> bool { + GThreadLock lock; // All GUI access from idle_add callbacks or separate thread HAVE to be protected + + // Update mask background + HHshapejz->updateLocallabBackground(normHuerjz); + CHshapejz->updateLocallabBackground(normHuerjz); + LHshapejz->updateLocallabBackground(normHuerjz); + shapejz->updateLocallabBackground(normLumar); + shapecz->updateLocallabBackground(normChromar); + shapeczjz->updateLocallabBackground(normLumar); + shapecie->updateLocallabBackground(normLumar); + shapecie2->updateLocallabBackground(normChromar); + CCmaskcieshape->updateLocallabBackground(normChromar); + LLmaskcieshape->updateLocallabBackground(normLumar); + HHmaskcieshape->updateLocallabBackground(normHuer); + Lmaskcieshape->updateLocallabBackground(normLumar); + + return false; + } + ); +} + + +void Locallabcie::updateAutocompute(const float blackev, const float whiteev, const float sourceg, const float sourceab, const float targetg, const float jz1) +{ + + if (Autograycie->get_active()) { + idle_register.add( + [this, blackev, whiteev, sourceg, sourceab, jz1]() -> bool { + GThreadLock lock; // All GUI access from idle_add callbacks or separate thread HAVE to be protected + + // Update adjuster values according to autocomputed ones + disableListener(); + blackEvjz->setValue(blackev); + whiteEvjz->setValue(whiteev); + sourceGraycie->setValue(sourceg); + sourceabscie->setValue(sourceab); + float sour = std::min((double) sourceab, 10000.) / 10000.f; + float pal = std::max(10. * (double) sqrt(sour), 1.5); + adapjzcie->setValue(pal);//max = 10 and min 1.5 + jz100->setValue(jz1); + enableListener(); + + return false; + } + ); + } +} + + + +void Locallabcie::AutograycieChanged() +{ + + if (Autograycie->get_active()) { + sourceGraycie->set_sensitive(false); + sourceabscie->set_sensitive(false); + adapjzcie->set_sensitive(false); + jz100->set_sensitive(false); + blackEvjz->set_sensitive(false); + whiteEvjz->set_sensitive(false); + } else { + sourceGraycie->set_sensitive(true); + sourceabscie->set_sensitive(true); + adapjzcie->set_sensitive(true); + jz100->set_sensitive(true); + blackEvjz->set_sensitive(true); + whiteEvjz->set_sensitive(true); + // adapjzcie->set_sensitive(false); + // jz100->set_sensitive(false); + } + if (isLocActivated && exp->getEnabled()) { + if (listener) { + if (Autograycie->get_active()) { + listener->panelChanged(EvlocallabAutograycie, + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } else { + listener->panelChanged(EvlocallabAutograycie, + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + } +} + +void Locallabcie::forcejzChanged() +{ + + if (isLocActivated && exp->getEnabled()) { + if (listener) { + if (forcejz->get_active()) { + listener->panelChanged(Evlocallabforcejz, + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } else { + listener->panelChanged(Evlocallabforcejz, + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + } +} + +void Locallabcie::forcebwChanged() +{ + + if (isLocActivated && exp->getEnabled()) { + if (listener) { + if (forcebw->get_active()) { + listener->panelChanged(Evlocallabforcebw, + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } else { + listener->panelChanged(Evlocallabforcebw, + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + } +} + +void Locallabcie::qtojChanged() +{ + + if (isLocActivated && exp->getEnabled()) { + if (listener) { + if (qtoj->get_active()) { + listener->panelChanged(Evlocallabqtoj, + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } else { + listener->panelChanged(Evlocallabqtoj, + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + } +} + +void Locallabcie::jabcieChanged() +{ + if (isLocActivated && exp->getEnabled()) { + if (listener) { + if (jabcie->get_active()) { + listener->panelChanged(Evlocallabjabcie, + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } else { + listener->panelChanged(Evlocallabjabcie, + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + } +} + +void Locallabcie::sigmoidqjcieChanged() +{ + if (isLocActivated && exp->getEnabled()) { + if (listener) { + if (sigmoidqjcie->get_active()) { + listener->panelChanged(Evlocallabsigmoidqjcie, + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } else { + listener->panelChanged(Evlocallabsigmoidqjcie, + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + } +} + +void Locallabcie::logcieChanged() +{ + + if(logcie->get_active()) { + sigmoidldacie->set_sensitive(false); + sigmoidthcie->set_sensitive(false); + sigmoidblcie->set_sensitive(false); + sigmoidqjcie->set_sensitive(false); + } else { + sigmoidldacie->set_sensitive(true); + sigmoidthcie->set_sensitive(true); + sigmoidblcie->set_sensitive(true); + sigmoidqjcie->set_sensitive(true); + } + + if (isLocActivated && exp->getEnabled()) { + if (listener) { + if (logcie->get_active()) { + listener->panelChanged(Evlocallablogcie, + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } else { + listener->panelChanged(Evlocallablogcie, + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + } +} + +void Locallabcie::logjzChanged() +{ + if (isLocActivated && exp->getEnabled()) { + if (listener) { + if (logjz->get_active()) { + listener->panelChanged(Evlocallablogjz, + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } else { + listener->panelChanged(Evlocallablogjz, + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + } +} + +void Locallabcie::sigjzChanged() +{ + if (isLocActivated && exp->getEnabled()) { + if (listener) { + if (sigjz->get_active()) { + listener->panelChanged(Evlocallabsigjz, + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } else { + listener->panelChanged(Evlocallabsigjz, + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + } +} + +void Locallabcie::sigqChanged() +{ + if (isLocActivated && exp->getEnabled()) { + if (listener) { + if (sigq->get_active()) { + listener->panelChanged(Evlocallabsigq, + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } else { + listener->panelChanged(Evlocallabsigq, + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + } +} + +void Locallabcie::chjzcieChanged() +{ + if (chjzcie->get_active()) { + thrhjzcie->set_sensitive(true); + } else { + thrhjzcie->set_sensitive(false); + } + if (isLocActivated && exp->getEnabled()) { + if (listener) { + if (chjzcie->get_active()) { + listener->panelChanged(Evlocallabchjzcie, + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } else { + listener->panelChanged(Evlocallabchjzcie, + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + } +} + +void Locallabcie::modecamChanged() +{ + const int mode = complexity->get_active_row_number(); + + if (modecam->get_active_row_number() == 1 || modecam->get_active_row_number() == 2) { + expjz->show(); + jzFrame->show(); + adapjzcie->show(); + jz100->show(); + pqremap->show(); + jabcie->show(); + PQFrame->show(); + logjzFrame->show(); + bevwevFrame->show(); + sigmoidjzFrame->show(); + sigmoidFrame->hide(); + forcejz->hide(); + + } else { + expjz->hide(); + jzFrame->hide(); + adapjzcie->hide(); + jz100->hide(); + pqremap->hide(); + pqremapcam16->show(); + jabcie->hide(); + PQFrame->hide(); + logjzFrame->hide(); + if (modecam->get_active_row_number() == 0){ + bevwevFrame->show(); + sigmoidFrame->show(); + } + sigmoidjzFrame->hide(); + forcejz->hide(); + catadcie->show(); + } + surHBoxcie->show(); + cie1Frame->show(); + expcam16->show(); + cie2Frame->show(); + sourceGraycie->show(); + cieFrame->show(); + + if (modecam->get_active_row_number() == 1) { + surHBoxcie->show(); + cie1Frame->hide(); + expcam16->hide(); + targetGraycie->hide(); + targabscie->hide(); + surrHBoxcie->hide(); + forcejz->hide(); + pqremapcam16->hide(); + catadcie->hide(); + cie2Frame->hide(); + exprecovcie->hide(); + expmaskcie->hide(); + if(mode == Expert) { + exprecovcie->show(); + expmaskcie->show(); + } + + } + if (modecam->get_active_row_number() == 3) { + if(mode == Expert) { + cieFrame->show(); + cie1Frame->hide(); + expcam16->hide(); + cie2Frame->show(); + targetGraycie->show(); + targabscie->show(); + surrHBoxcie->show(); + PQFrame->show(); + logjzFrame->show(); + adapjzcie->hide(); + jz100->hide(); + forcejz->hide(); + pqremap->show(); + pqremapcam16->hide(); + catadcie->hide(); + cie2Frame->hide(); + + } else { + cieFrame->hide(); + cie1Frame->hide(); + expcam16->hide(); + cie2Frame->hide(); + catadcie->hide(); + cie2Frame->hide(); + + } + } + + if(mode != Expert) { + expjz->hide(); + jzFrame->hide(); + adapjzcie->hide(); + jz100->hide(); + pqremap->show(); + jabcie->hide(); + PQFrame->hide(); + logjzFrame->hide(); + sigmoidjzFrame->hide(); + sigmoidFrame->hide(); + bevwevFrame->hide(); + if (modecam->get_active_row_number() == 0){ + bevwevFrame->show(); + sigmoidFrame->show(); + } + + forcejz->hide(); + pqremapcam16->show(); + catadcie->show(); + sourceGraycie->show(); + + if (modecam->get_active_row_number() == 1 || modecam->get_active_row_number() == 3) { + pqremapcam16->hide(); + cieFrame->hide(); + cie1Frame->hide(); + expcam16->hide(); + cie2Frame->hide(); + catadcie->hide(); + cie2Frame->hide(); + } + } else { + cieFrame->show(); + cie2Frame->show(); + if (modecam->get_active_row_number() == 0){ + bevwevFrame->show(); + sigmoidjzFrame->hide(); + + } + if (modecam->get_active_row_number() == 1) { + targetGraycie->hide(); + targabscie->hide(); + surrHBoxcie->hide(); + forcejz->hide(); + pqremapcam16->hide(); + PQFrame->show(); + logjzFrame->show(); + sigmoidjzFrame->show(); + sigmoidFrame->hide(); + bevwevFrame->show(); + catadcie->hide(); + cie2Frame->hide(); + if (chjzcie->get_active()) { + thrhjzcie->set_sensitive(true); + } else { + thrhjzcie->set_sensitive(false); + } + + + } + if (modecam->get_active_row_number() == 3) { + cieFrame->show(); + cie2Frame->show(); + targetGraycie->show(); + targabscie->show(); + surrHBoxcie->show(); + PQFrame->show(); + logjzFrame->show(); + adapjzcie->hide(); + jz100->hide(); + forcejz->hide(); + pqremap->show(); + pqremapcam16->hide(); + catadcie->hide(); + cie2Frame->hide(); + } + + } + if (modecam->get_active_row_number() == 0 || modecam->get_active_row_number() == 2) { + targetGraycie->show(); + targabscie->show(); + surrHBoxcie->show(); + cie2Frame->show(); + pqremapcam16->show(); + } + + + + if (isLocActivated && exp->getEnabled()) { + + if (listener) { + listener->panelChanged(Evlocallabmodecam, + modecam->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } +} + + +void Locallabcie::modecieChanged() +{ + if (isLocActivated && exp->getEnabled()) { + + const int mode = complexity->get_active_row_number(); + exprecovcie->show(); + expmaskcie->show(); + + if (modecie->get_active_row_number() > 0) { + sensicie->hide(); + reparcie->hide(); + exprecovcie->hide(); + expmaskcie->hide(); + + } else { + sensicie->show(); + reparcie->show(); + if(mode == Expert) { + exprecovcie->show(); + expmaskcie->show(); + } + } + if (mode == Simple || mode == Normal) { // Keep widget hidden in Normal and Simple mode + + modecie->set_active (0); + sensicie->show(); + reparcie->show(); + + } + + if (listener) { + listener->panelChanged(Evlocallabmodecie, + modecie->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } +} + + + +void Locallabcie::sursourcieChanged() +{ + if (isLocActivated && exp->getEnabled()) { + if (listener) { + listener->panelChanged(Evlocallabsursourcie, + sursourcie->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } +} + +void Locallabcie::surroundcieChanged() +{ + if (isLocActivated && exp->getEnabled()) { + if (listener) { + listener->panelChanged(Evlocallabsurroundcie, + surroundcie->get_active_text() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } +} + +void Locallabcie::updateGUIToMode(const modeType new_type) +{ + switch (new_type) { + case Simple: + catadcie->show(); + saturlcie->show(); + rstprotectcie->show(); + chromlcie->hide(); + huecie->hide(); + lightlcie->show(); + lightqcie->hide(); + contlcie->show(); + contthrescie->show(); + contqcie->hide(); + colorflcie->hide(); + surrHBoxcie->show(); + expLcie->hide(); + surHBoxcie->show(); + sourceabscie->show(); + targabscie->show(); + detailcie->hide(); + jabcie->hide(); + modeHBoxcie->hide(); + sensicie->show(); + reparcie->show(); + sigmoidblcie->hide(); + + expjz->hide(); + jzFrame->hide(); + adapjzcie->hide(); + jz100->hide(); + pqremap->show(); + pqremapcam16->show(); + jabcie->hide(); + targetGraycie->show(); + targabscie->show(); + surrHBoxcie->show(); + forcejz->hide(); + sourceGraycie->show(); + cieFrame->show(); + exprecovcie->hide(); + maskusablecie->hide(); + maskunusablecie->hide(); + decaycie->hide(); + expmaskcie->hide(); + expmaskcie->hide(); + + if (modecam->get_active_row_number() == 2) { + PQFrame->hide(); + logjzFrame->hide(); + sigmoidjzFrame->hide(); + bevwevFrame->hide(); + sigmoidFrame->hide(); + } + if (modecam->get_active_row_number() == 0){ + bevwevFrame->show(); + sigmoidFrame->show(); + } + + if (modecam->get_active_row_number() == 1) { + cieFrame->hide(); + cie1Frame->hide(); + expcam16->hide(); + forcejz->hide(); + pqremapcam16->hide(); + PQFrame->hide(); + logjzFrame->hide(); + bevwevFrame->hide(); + sigmoidjzFrame->hide(); + sigmoidFrame->hide(); + catadcie->hide(); + cie2Frame->hide(); + maskusablecie->hide(); + maskunusablecie->hide(); + decaycie->hide(); + expmaskcie->hide(); + } + if (modecam->get_active_row_number() == 3) { + cieFrame->hide(); + cie1Frame->hide(); + expcam16->hide(); + cie2Frame->hide(); + pqremapcam16->hide(); + PQFrame->hide(); + logjzFrame->hide(); + catadcie->hide(); + } + + break; + case Normal: + // Expert mode widgets are hidden in Normal mode + + catadcie->show(); + saturlcie->show(); + rstprotectcie->show(); + chromlcie->hide(); + huecie->hide(); + lightlcie->show(); + lightqcie->hide(); + contlcie->show(); + contthrescie->show(); + contqcie->hide(); + colorflcie->hide(); + surrHBoxcie->show(); + expLcie->hide(); + surHBoxcie->show(); + sourceabscie->show(); + targabscie->show(); + detailcie->hide(); + jabcie->hide(); + modeHBoxcie->hide(); + sensicie->show(); + reparcie->show(); + sigmoidblcie->show(); + expjz->hide(); + forcejz->hide(); + + jzFrame->hide(); + adapjzcie->hide(); + jz100->hide(); + pqremap->show(); + jabcie->hide(); + targetGraycie->show(); + targabscie->show(); + surrHBoxcie->show(); + pqremapcam16->show(); + sourceGraycie->show(); + cieFrame->show(); + exprecovcie->show(); + expmaskcie->show(); + decaycie->hide(); + lapmaskcie->hide(); + gammaskcie->hide(); + slomaskcie->hide(); + if (enacieMask->get_active()) { + maskusablecie->show(); + maskunusablecie->hide(); + + } else { + maskusablecie->hide(); + maskunusablecie->show(); + } + if (modecam->get_active_row_number() == 0){ + bevwevFrame->show(); + sigmoidFrame->show(); + } + + if (modecam->get_active_row_number() == 2) { + PQFrame->hide(); + logjzFrame->hide(); + sigmoidjzFrame->hide(); + bevwevFrame->hide(); + } + + if (modecam->get_active_row_number() == 1) { + cieFrame->hide(); + cie1Frame->hide(); + expcam16->hide(); + forcejz->hide(); + pqremapcam16->hide(); + PQFrame->hide(); + logjzFrame->hide(); + sigmoidjzFrame->hide(); + bevwevFrame->hide(); + sigmoidFrame->hide(); + catadcie->hide(); + cie2Frame->hide(); + exprecovcie->hide(); + expmaskcie->hide(); + maskusablecie->hide(); + maskunusablecie->hide(); + + } + if (modecam->get_active_row_number() == 3) { + cieFrame->hide(); + cie1Frame->hide(); + expcam16->hide(); + cie2Frame->hide(); + pqremapcam16->hide(); + PQFrame->hide(); + catadcie->hide(); + logjzFrame->hide(); + } + if (modecie->get_active_row_number() > 0) { + exprecovcie->hide(); + expmaskcie->hide(); + } + + break; + + case Expert: + // Show widgets hidden in Normal and Simple mode + catadcie->show(); + saturlcie->show(); + rstprotectcie->show(); + chromlcie->show(); + huecie->show(); + lightlcie->show(); + lightqcie->show(); + contlcie->show(); + contthrescie->show(); + contqcie->show(); + colorflcie->show(); + surrHBoxcie->show(); + expLcie->show(); + surHBoxcie->show(); + sourceabscie->show(); + targabscie->show(); + detailcie->show(); + modeHBoxcie->show(); + sigmoidblcie->show(); + targetGraycie->show(); + targabscie->show(); + surrHBoxcie->show(); + forcejz->hide(); + pqremapcam16->show(); + sourceGraycie->show(); + cieFrame->show(); + exprecovcie->show(); + decaycie->show(); + lapmaskcie->show(); + gammaskcie->show(); + slomaskcie->show(); + expmaskcie->show(); + exprecovcie->show(); + + if (enacieMask->get_active()) { + maskusablecie->show(); + maskunusablecie->hide(); + + } else { + maskusablecie->hide(); + maskunusablecie->show(); + } + if (modecam->get_active_row_number() == 0){ + bevwevFrame->show(); + } + + if (modecam->get_active_row_number() == 1 || modecam->get_active_row_number() == 2) { + jabcie->show(); + expjz->show(); + jzFrame->show(); + adapjzcie->show(); + jz100->show(); + pqremap->show(); + PQFrame->show(); + logjzFrame->show(); + bevwevFrame->show(); + sigmoidjzFrame->show(); + sigmoidFrame->hide(); + forcejz->hide(); + + } + cieFrame->show(); + cie2Frame->show(); + + if (modecam->get_active_row_number() == 0 || modecam->get_active_row_number() == 2) { + targetGraycie->show(); + targabscie->show(); + surrHBoxcie->show(); + pqremapcam16->show(); + PQFrame->hide(); + logjzFrame->hide(); + sigmoidjzFrame->hide(); + bevwevFrame->hide(); + if (modecam->get_active_row_number() == 0){ + bevwevFrame->show(); + sigmoidFrame->show(); + } + + } + if (modecam->get_active_row_number() == 2) { + PQFrame->show(); + logjzFrame->hide(); + sigmoidjzFrame->hide(); + bevwevFrame->hide(); + } + + if (modecam->get_active_row_number() == 1) { + surHBoxcie->show(); + targetGraycie->hide(); + targabscie->hide(); + surrHBoxcie->hide(); + pqremapcam16->hide(); + PQFrame->show(); + logjzFrame->show(); + sigmoidjzFrame->show(); + sigmoidFrame->hide(); + bevwevFrame->show(); + catadcie->hide(); + cie2Frame->hide(); + exprecovcie->show(); + expmaskcie->show(); + maskusablecie->show(); + maskunusablecie->show(); + if (chjzcie->get_active()) { + thrhjzcie->set_sensitive(true); + } else { + thrhjzcie->set_sensitive(false); + } + + } + + if (modecam->get_active_row_number() == 3) { + cieFrame->show(); + cie1Frame->hide(); + expcam16->hide(); + cie2Frame->show(); + targetGraycie->show(); + targabscie->show(); + surrHBoxcie->show(); + PQFrame->show(); + logjzFrame->show(); + adapjzcie->hide(); + jz100->hide(); + forcejz->hide(); + pqremap->show(); + pqremapcam16->hide(); + catadcie->hide(); + } + if (modecie->get_active_row_number() > 0) { + exprecovcie->hide(); + expmaskcie->hide(); + } + + } +} + +void Locallabcie::updatecieGUI() +{ + const int mode = complexity->get_active_row_number(); + expmaskcie->show(); + exprecovcie->show(); + if (modecie->get_active_row_number() > 0) { + sensicie->hide(); + reparcie->hide(); + exprecovcie->hide(); + expmaskcie->hide(); + } else { + sensicie->show(); + reparcie->show(); + exprecovcie->show(); + expmaskcie->show(); + } + surHBoxcie->show(); + cie1Frame->show(); + cie2Frame->show(); + expcam16->show(); + if (modecam->get_active_row_number() == 0){ + bevwevFrame->show(); + } + + if (modecam->get_active_row_number() == 2 && mode == Expert) { + PQFrame->show(); + logjzFrame->show(); + sigmoidjzFrame->show(); + bevwevFrame->show(); + } + sourceGraycie->show(); + cieFrame->show(); + + if (enacieMask->get_active() && mode != Simple) { + maskusablecie->show(); + maskunusablecie->hide(); + + } else { + maskusablecie->hide(); + maskunusablecie->show(); + } + + if (modecam->get_active_row_number() == 1) { + surHBoxcie->show(); + cie1Frame->hide(); + expcam16->hide(); + targetGraycie->hide(); + targabscie->hide(); + surrHBoxcie->hide(); + pqremapcam16->hide(); + PQFrame->show(); + logjzFrame->show(); + sigmoidjzFrame->show(); + bevwevFrame->show(); + sigmoidFrame->hide(); + catadcie->hide(); + cie2Frame->hide(); + if(mode != Expert) { + cieFrame->hide(); + cie1Frame->hide(); + expcam16->hide(); + cie2Frame->hide(); + PQFrame->hide(); + logjzFrame->hide(); + sigmoidjzFrame->hide(); + sigmoidFrame->hide(); + bevwevFrame->hide(); + if (modecam->get_active_row_number() == 0){ + bevwevFrame->show(); + sigmoidFrame->show(); + } + exprecovcie->hide(); + expmaskcie->hide(); + maskusablecie->hide(); + maskunusablecie->hide(); + } + + } + if (modecam->get_active_row_number() == 3) { + if(mode == Expert) { + cie1Frame->hide(); + expcam16->hide(); + cie2Frame->show(); + targetGraycie->show(); + targabscie->show(); + surrHBoxcie->show(); + cieFrame->show(); + PQFrame->show(); + logjzFrame->show(); + adapjzcie->hide(); + jz100->hide(); + forcejz->hide(); + pqremap->show(); + pqremapcam16->hide(); + PQFrame->show(); + catadcie->hide(); + } else { + cie1Frame->hide(); + expcam16->hide(); + cie2Frame->hide(); + PQFrame->hide(); + logjzFrame->hide(); + } + } + + if (Autograycie->get_active()) { + sourceGraycie->set_sensitive(false); + sourceabscie->set_sensitive(false); + adapjzcie->set_sensitive(false); + jz100->set_sensitive(false); + blackEvjz->set_sensitive(false); + whiteEvjz->set_sensitive(false); + } else { + sourceGraycie->set_sensitive(true); + sourceabscie->set_sensitive(true); + adapjzcie->set_sensitive(true); + blackEvjz->set_sensitive(true); + whiteEvjz->set_sensitive(true); + jz100->set_sensitive(true); + } + + if (mode == Simple || mode == Normal) { // Keep widget hidden in Normal and Simple mode + modecie->set_active (0); + sensicie->show(); + reparcie->show(); + } + if (modecie->get_active_row_number() > 0) { + exprecovcie->hide(); + expmaskcie->hide(); + } + +} + + +void Locallabcie::convertParamToSimple() +{ + const LocallabParams::LocallabSpot defSpot; + + // Disable all listeners + disableListener(); + sigmoidblcie->setValue(defSpot.sigmoidblcie); + showmaskcieMethod->set_active(0); + enacieMask->set_active(defSpot.enacieMask); + modecie->set_active(0); + // Enable all listeners + enableListener(); +} + +void Locallabcie::convertParamToNormal() +{ + const LocallabParams::LocallabSpot defSpot; + + // Disable all listeners + disableListener(); + contqcie->setValue(defSpot.contqcie); + colorflcie->setValue(defSpot.colorflcie); + lightqcie->setValue(defSpot.lightqcie); + chromlcie->setValue(defSpot.chromlcie); + huecie->setValue(defSpot.huecie); + detailcie->setValue(defSpot.detailcie); + jabcie->set_active(defSpot.jabcie); + LHshapejz->setCurve(defSpot.LHcurvejz); + CHshapejz->setCurve(defSpot.CHcurvejz); + HHshapejz->setCurve(defSpot.HHcurvejz); + shapejz->setCurve(defSpot.jzcurve); + shapecz->setCurve(defSpot.czcurve); + shapeczjz->setCurve(defSpot.czjzcurve); + shapecie->setCurve(defSpot.ciecurve); + shapecie2->setCurve(defSpot.ciecurve2); + lightjzcie->setValue(defSpot.lightjzcie); + contjzcie->setValue(defSpot.contjzcie); + sigmoidldajzcie->setValue(defSpot.sigmoidldajzcie); + hljzcie->setValue(defSpot.hljzcie); + shjzcie->setValue(defSpot.shjzcie); + chromjzcie->setValue(defSpot.chromjzcie); + saturjzcie->setValue(defSpot.saturjzcie); + huejzcie->setValue(defSpot.huejzcie); + softjzcie->setValue(defSpot.softjzcie); + strsoftjzcie->setValue(defSpot.strsoftjzcie); + thrhjzcie->setValue(defSpot.thrhjzcie); + modecie->set_active(0); + if (modecam->get_active_row_number() == 1) { + showmaskcieMethod->set_active(0); + enacieMask->set_active(defSpot.enacieMask); + logjz->set_active(defSpot.logjz); + sigjz->set_active(defSpot.sigjz); + } + lapmaskcie->setValue(defSpot.lapmaskcie); + gammaskcie->setValue(defSpot.gammaskcie); + slomaskcie->setValue(defSpot.slomaskcie); + + // Enable all listeners + enableListener(); + +} + +void Locallabcie::setDefaults(const rtengine::procparams::ProcParams* defParams, const ParamsEdited* pedited) +{ + const int index = defParams->locallab.selspot; + + if (index < (int)defParams->locallab.spots.size()) { + const LocallabParams::LocallabSpot& defSpot = defParams->locallab.spots.at(index); + + reparcie->setDefault(defSpot.reparcie); + sensicie->setDefault(defSpot.sensicie); + sourceGraycie->setDefault(defSpot.sourceGraycie); + sourceabscie->setDefault(defSpot.sourceabscie); + saturlcie->setDefault(defSpot.saturlcie); + rstprotectcie->setDefault(defSpot.rstprotectcie); + chromlcie->setDefault(defSpot.chromlcie); + huecie->setDefault(defSpot.huecie); + chromjzcie->setDefault(defSpot.chromjzcie); + saturjzcie->setDefault(defSpot.saturjzcie); + huejzcie->setDefault(defSpot.huejzcie); + softjzcie->setDefault(defSpot.softjzcie); + strsoftjzcie->setDefault(defSpot.strsoftjzcie); + thrhjzcie->setDefault(defSpot.thrhjzcie); + lightlcie->setDefault(defSpot.lightlcie); + lightjzcie->setDefault(defSpot.lightjzcie); + lightqcie->setDefault(defSpot.lightqcie); + contlcie->setDefault(defSpot.contlcie); + contjzcie->setDefault(defSpot.contjzcie); + adapjzcie->setDefault(defSpot.adapjzcie); + jz100->setDefault(defSpot.jz100); + pqremap->setDefault(defSpot.pqremap); + pqremapcam16->setDefault(defSpot.pqremapcam16); + hljzcie->setDefault(defSpot.hljzcie); + hlthjzcie->setDefault(defSpot.hlthjzcie); + shjzcie->setDefault(defSpot.shjzcie); + shthjzcie->setDefault(defSpot.shthjzcie); + radjzcie->setDefault(defSpot.radjzcie); + sigmalcjz->setDefault(defSpot.sigmalcjz); + csThresholdjz->setDefault(defSpot.csthresholdjz); + clarilresjz->setDefault(defSpot.clarilresjz); + claricresjz->setDefault(defSpot.claricresjz); + clarisoftjz->setDefault(defSpot.clarisoftjz); + contthrescie->setDefault(defSpot.contthrescie); + blackEvjz->setDefault(defSpot.blackEvjz); + whiteEvjz->setDefault(defSpot.whiteEvjz); + targetjz->setDefault(defSpot.targetjz); + sigmoidldacie->setDefault(defSpot.sigmoidldacie); + sigmoidthcie->setDefault(defSpot.sigmoidthcie); + sigmoidblcie->setDefault(defSpot.sigmoidblcie); + sigmoidldajzcie->setDefault(defSpot.sigmoidldajzcie); + sigmoidthjzcie->setDefault(defSpot.sigmoidthjzcie); + sigmoidbljzcie->setDefault(defSpot.sigmoidbljzcie); + contqcie->setDefault(defSpot.contqcie); + colorflcie->setDefault(defSpot.colorflcie); + targabscie->setDefault(defSpot.targabscie); + targetGraycie->setDefault(defSpot.targetGraycie); + catadcie->setDefault(defSpot.catadcie); + detailcie->setDefault(defSpot.detailcie); + blendmaskcie->setDefault((double)defSpot.blendmaskcie); + radmaskcie->setDefault(defSpot.radmaskcie); + chromaskcie->setDefault(defSpot.chromaskcie); + lapmaskcie->setDefault(defSpot.lapmaskcie); + gammaskcie->setDefault(defSpot.gammaskcie); + slomaskcie->setDefault(defSpot.slomaskcie); + recothrescie->setDefault((double)defSpot.recothrescie); + lowthrescie->setDefault((double)defSpot.lowthrescie); + higthrescie->setDefault((double)defSpot.higthrescie); + decaycie->setDefault((double)defSpot.decaycie); + + } +} + +void Locallabcie::curveChanged(CurveEditor* ce) +{ + if (isLocActivated && exp->getEnabled()) { + const auto spName = M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"; + if (ce == shapejz) { + if (listener) { + listener->panelChanged(Evlocallabshapejz, spName); + } + } + + if (ce == shapecz) { + if (listener) { + listener->panelChanged(Evlocallabshapecz, spName); + } + } + + if (ce == shapeczjz) { + if (listener) { + listener->panelChanged(Evlocallabshapeczjz, spName); + } + } + + if (ce == HHshapejz) { + if (listener) { + listener->panelChanged(EvlocallabHHshapejz, spName); + } + } + + if (ce == CHshapejz) { + if (listener) { + listener->panelChanged(EvlocallabCHshapejz, spName); + } + } + + if (ce == LHshapejz) { + if (listener) { + listener->panelChanged(EvlocallabLHshapejz, spName); + } + } + + if (ce == shapecie) { + if (listener) { + listener->panelChanged(Evlocallabshapecie, spName); + } + } + + if (ce == shapecie2) { + if (listener) { + listener->panelChanged(Evlocallabshapecie2, spName); + } + } + + if (ce == CCmaskcieshape) { + if (listener) { + listener->panelChanged(EvlocallabCCmaskcieshape, + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (ce == LLmaskcieshape) { + if (listener) { + listener->panelChanged(EvlocallabLLmaskcieshape, + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (ce == HHmaskcieshape) { + if (listener) { + listener->panelChanged(EvlocallabHHmaskcieshape, + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (ce == Lmaskcieshape) { + if (listener) { + listener->panelChanged(EvlocallabLmaskcieshape, + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (ce == wavshapejz) { + if (listener) { + listener->panelChanged(EvlocallabwavCurvejz, + M("HISTORY_CUSTOMCURVE") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + + } +} + + +void Locallabcie::adjusterChanged2(ThresholdAdjuster* a, int newBottomL, int newTopL, int newBottomR, int newTopR) +{ + if (isLocActivated && exp->getEnabled()) { + if (listener) { + listener->panelChanged(EvlocallabcsThresholdjz, + csThresholdjz->getHistoryString() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } +} + + +void Locallabcie::adjusterChanged(Adjuster* a, double newval) +{ + const LocallabParams::LocallabSpot defSpot; + + if (isLocActivated && exp->getEnabled()) { + const auto spName = " (" + escapeHtmlChars(getSpotName()) + ")"; + if (a == reparcie) { + if (listener) { + listener->panelChanged(Evlocallabreparcie, + reparcie->getTextValue() + spName); + } + } + + if (a == sensicie) { + if (listener) { + listener->panelChanged(Evlocallabsensicie, + sensicie->getTextValue() + spName); + } + } + + if (a == sourceGraycie) { + if (listener) { + listener->panelChanged(EvlocallabsourceGraycie, + sourceGraycie->getTextValue() + spName); + } + } + + if (a == sourceabscie) { + float sour = std::min(sourceabscie->getValue(), 10000.) / 10000.f; + float pal = std::max(10. * (double) sqrt(sour), 1.5); + adapjzcie->setValue(pal);//max to 10 if La > 10000 and mini to 1.5 + jz100->setValue(defSpot.jz100); + + if (listener) { + listener->panelChanged(Evlocallabsourceabscie, + sourceabscie->getTextValue() + spName ); + } + } + + if (a == saturlcie) { + if (listener) { + listener->panelChanged(Evlocallabsaturlcie, + saturlcie->getTextValue() + spName); + } + } + + if (a == rstprotectcie) { + if (listener) { + listener->panelChanged(Evlocallabrstprotectcie, + rstprotectcie->getTextValue() + spName); + } + } + + if (a == chromlcie) { + if (listener) { + listener->panelChanged(Evlocallabchromlcie, + chromlcie->getTextValue() + spName); + } + } + + if (a == chromjzcie) { + if (listener) { + listener->panelChanged(Evlocallabchromjzcie, + chromjzcie->getTextValue() + spName); + } + } + + if (a == saturjzcie) { + if (listener) { + listener->panelChanged(Evlocallabsaturjzcie, + saturjzcie->getTextValue() + spName); + } + } + + if (a == huecie) { + if (listener) { + listener->panelChanged(Evlocallabhuecie, + huecie->getTextValue() + spName); + } + } + + if (a == huejzcie) { + if (listener) { + listener->panelChanged(Evlocallabhuejzcie, + huejzcie->getTextValue() + spName); + } + } + + if (a == softjzcie) { + if (listener) { + listener->panelChanged(Evlocallabsoftjzcie, + softjzcie->getTextValue() + spName); + } + } + + if (a == strsoftjzcie) { + if (listener) { + listener->panelChanged(Evlocallabstrsoftjzcie, + strsoftjzcie->getTextValue() + spName); + } + } + + if (a == thrhjzcie) { + if (listener) { + listener->panelChanged(Evlocallabthrhjzcie, + thrhjzcie->getTextValue() + spName); + } + } + + if (a == lightlcie) { + if (listener) { + listener->panelChanged(Evlocallablightlcie, + lightlcie->getTextValue() + spName); + } + } + + if (a == lightjzcie) { + if (listener) { + listener->panelChanged(Evlocallablightjzcie, + lightjzcie->getTextValue() + spName); + } + } + + if (a == lightqcie) { + if (listener) { + listener->panelChanged(Evlocallablightqcie, + lightqcie->getTextValue() + spName); + } + } + + + if (a == contlcie) { + if (listener) { + listener->panelChanged(Evlocallabcontlcie, + contlcie->getTextValue()+ spName); + } + } + + if (a == contjzcie) { + if (listener) { + listener->panelChanged(Evlocallabcontjzcie, + contjzcie->getTextValue() + spName); + } + } + + if (a == adapjzcie) { + if (listener) { + listener->panelChanged(Evlocallabadapjzcie, + adapjzcie->getTextValue() + spName); + } + } + + if (a == jz100) { + if (listener) { + listener->panelChanged(Evlocallabjz100, + jz100->getTextValue() + spName); + } + } + + if (a == pqremap) { + if (listener) { + listener->panelChanged(Evlocallabpqremap, + pqremap->getTextValue()+ spName ); + } + } + + if (a == pqremapcam16) { + if (listener) { + listener->panelChanged(Evlocallabpqremapcam16, + pqremapcam16->getTextValue()+ spName ); + } + } + + if (a == hljzcie) { + if (listener) { + listener->panelChanged(Evlocallabhljzcie, + hljzcie->getTextValue() + spName); + } + } + + if (a == hlthjzcie) { + if (listener) { + listener->panelChanged(Evlocallabhlthjzcie, + hlthjzcie->getTextValue() + spName); + } + } + + if (a == shjzcie) { + if (listener) { + listener->panelChanged(Evlocallabshjzcie, + shjzcie->getTextValue()+ spName ); + } + } + + if (a == shthjzcie) { + if (listener) { + listener->panelChanged(Evlocallabshthjzcie, + shthjzcie->getTextValue() + spName); + } + } + + if (a == radjzcie) { + if (listener) { + listener->panelChanged(Evlocallabradjzcie, + radjzcie->getTextValue() + spName); + } + } + + if (a == sigmalcjz) { + if (listener) { + listener->panelChanged(Evlocallabsigmalcjz, + sigmalcjz->getTextValue() + spName); + } + } + + if (a == clarilresjz) { + if (listener) { + listener->panelChanged(Evlocallabclarilresjz, + clarilresjz->getTextValue() + spName); + } + } + + if (a == claricresjz) { + if (listener) { + listener->panelChanged(Evlocallabclaricresjz, + claricresjz->getTextValue() + spName); + } + } + + if (a == clarisoftjz) { + if (listener) { + listener->panelChanged(Evlocallabclarisoftjz, + clarisoftjz->getTextValue() + spName); + } + } + + if (a == contthrescie) { + if (listener) { + listener->panelChanged(Evlocallabcontthrescie, + contthrescie->getTextValue() + spName); + } + } + + if (a == blackEvjz) { + if (listener) { + listener->panelChanged(EvlocallabblackEvjz, + blackEvjz->getTextValue() + spName); + } + } + + if (a == whiteEvjz) { + if (listener) { + listener->panelChanged(EvlocallabwhiteEvjz, + whiteEvjz->getTextValue() + spName); + } + } + + if (a == targetjz) { + if (listener) { + listener->panelChanged(Evlocallabtargetjz, + targetjz->getTextValue() + spName); + } + } + + if (a == sigmoidldacie) { + if (listener) { + listener->panelChanged(Evlocallabsigmoidldacie, + sigmoidldacie->getTextValue() + spName); + } + } + + if (a == sigmoidldajzcie) { + if (listener) { + listener->panelChanged(Evlocallabsigmoidldajzcie, + sigmoidldajzcie->getTextValue() + spName); + } + } + + if (a == sigmoidthcie) { + if (listener) { + listener->panelChanged(Evlocallabsigmoidthcie, + sigmoidthcie->getTextValue() + spName); + } + } + + if (a == sigmoidthjzcie) { + if (listener) { + listener->panelChanged(Evlocallabsigmoidthjzcie, + sigmoidthjzcie->getTextValue()+ spName ); + } + } + + if (a == sigmoidblcie) { + if (listener) { + listener->panelChanged(Evlocallabsigmoidblcie, + sigmoidblcie->getTextValue() + spName); + } + } + + if (a == sigmoidbljzcie) { + if (listener) { + listener->panelChanged(Evlocallabsigmoidbljzcie, + sigmoidbljzcie->getTextValue() + spName); + } + } + + if (a == contqcie) { + if (listener) { + listener->panelChanged(Evlocallabcontqcie, + contqcie->getTextValue() + spName); + } + } + + if (a == colorflcie) { + if (listener) { + listener->panelChanged(Evlocallabcolorflcie, + colorflcie->getTextValue()+ spName ); + } + } + +/* + if (a == lightlzcam) { + if (listener) { + listener->panelChanged(Evlocallablightlzcam, + lightlzcam->getTextValue()+ spName ); + } + } + + if (a == lightqzcam) { + if (listener) { + listener->panelChanged(Evlocallablightqzcam, + lightqzcam->getTextValue()+ spName ); + } + } + + if (a == contlzcam) { + if (listener) { + listener->panelChanged(Evlocallabcontlzcam, + contlzcam->getTextValue()+ spName ); + } + } + + if (a == contqzcam) { + if (listener) { + listener->panelChanged(Evlocallabcontqzcam, + contqzcam->getTextValue()+ spName ); + } + } + + if (a == contthreszcam) { + if (listener) { + listener->panelChanged(Evlocallabcontthreszcam, + contthreszcam->getTextValue()+ spName ); + } + } + + if (a == colorflzcam) { + if (listener) { + listener->panelChanged(Evlocallabcolorflzcam, + colorflzcam->getTextValue()+ spName ); + } + } + + if (a == saturzcam) { + if (listener) { + listener->panelChanged(Evlocallabsaturzcam, + saturzcam->getTextValue()+ spName ); + } + } + + if (a == chromzcam) { + if (listener) { + listener->panelChanged(Evlocallabchromzcam, + chromzcam->getTextValue()+ spName ); + } + } +*/ + if (a == targabscie) { + if (listener) { + listener->panelChanged(Evlocallabtargabscie, + targabscie->getTextValue() + spName); + } + } + + if (a == targetGraycie) { + if (listener) { + listener->panelChanged(EvlocallabtargetGraycie, + targetGraycie->getTextValue() + spName); + } + } + + if (a == catadcie) { + if (listener) { + listener->panelChanged(Evlocallabcatadcie, + catadcie->getTextValue() + spName); + } + } + + if (a == detailcie) { + if (listener) { + listener->panelChanged(Evlocallabdetailcie, + detailcie->getTextValue() + spName); + } + } + + if (a == blendmaskcie) { + if (listener) { + listener->panelChanged(Evlocallabblendmaskcie, + blendmaskcie->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == radmaskcie) { + if (listener) { + listener->panelChanged(Evlocallabradmaskcie, + radmaskcie->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == chromaskcie) { + if (listener) { + listener->panelChanged(Evlocallabchromaskcie, + chromaskcie->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == lapmaskcie) { + if (listener) { + listener->panelChanged(Evlocallablapmaskcie, + lapmaskcie->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == gammaskcie) { + if (listener) { + listener->panelChanged(Evlocallabgammaskcie, + gammaskcie->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == slomaskcie) { + if (listener) { + listener->panelChanged(Evlocallabslomaskcie, + slomaskcie->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == recothrescie) { + + if (listener) { + listener->panelChanged(Evlocallabrecothrescie, + recothrescie->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == lowthrescie) { + if (listener) { + listener->panelChanged(Evlocallablowthrescie, + lowthrescie->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == higthrescie) { + if (listener) { + listener->panelChanged(Evlocallabhigthrescie, + higthrescie->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + if (a == decaycie) { + if (listener) { + listener->panelChanged(Evlocallabdecaycie, + decaycie->getTextValue() + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + + } +} + +void Locallabcie::enabledChanged() +{ + if (isLocActivated) { + if (listener) { + if (exp->getEnabled()) { + listener->panelChanged(EvLocenacie, + M("GENERAL_ENABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } else { + listener->panelChanged(EvLocenacie, + M("GENERAL_DISABLED") + " (" + escapeHtmlChars(getSpotName()) + ")"); + } + } + } +} diff --git a/rtgui/main-cli.cc b/rtgui/main-cli.cc index 00272357e..703a590e5 100644 --- a/rtgui/main-cli.cc +++ b/rtgui/main-cli.cc @@ -129,12 +129,14 @@ int main (int argc, char **argv) } options.rtSettings.lensfunDbDirectory = LENSFUN_DB_PATH; + options.rtSettings.lensfunDbBundleDirectory = LENSFUN_DB_PATH; #else argv0 = DATA_SEARCH_PATH; creditsPath = CREDITS_SEARCH_PATH; licensePath = LICENCE_SEARCH_PATH; options.rtSettings.lensfunDbDirectory = LENSFUN_DB_PATH; + options.rtSettings.lensfunDbBundleDirectory = LENSFUN_DB_PATH; #endif bool quickstart = dontLoadCache (argc, argv); @@ -722,7 +724,7 @@ int processLineParams ( int argc, char **argv ) if (options.defProfRaw == DEFPROFILE_DYNAMIC) { rawParams->deleteInstance(); delete rawParams; - rawParams = ProfileStore::getInstance()->loadDynamicProfile (ii->getMetaData()); + rawParams = ProfileStore::getInstance()->loadDynamicProfile (ii->getMetaData(), inputFile); } std::cout << " Merging default raw processing profile." << std::endl; @@ -731,7 +733,7 @@ int processLineParams ( int argc, char **argv ) if (options.defProfImg == DEFPROFILE_DYNAMIC) { imgParams->deleteInstance(); delete imgParams; - imgParams = ProfileStore::getInstance()->loadDynamicProfile (ii->getMetaData()); + imgParams = ProfileStore::getInstance()->loadDynamicProfile (ii->getMetaData(), inputFile); } std::cout << " Merging default non-raw processing profile." << std::endl; diff --git a/rtgui/main.cc b/rtgui/main.cc index 08891ef46..0f1edbd4d 100644 --- a/rtgui/main.cc +++ b/rtgui/main.cc @@ -406,12 +406,14 @@ int main (int argc, char **argv) } options.rtSettings.lensfunDbDirectory = LENSFUN_DB_PATH; + options.rtSettings.lensfunDbBundleDirectory = LENSFUN_DB_PATH; #else argv0 = DATA_SEARCH_PATH; creditsPath = CREDITS_SEARCH_PATH; licensePath = LICENCE_SEARCH_PATH; options.rtSettings.lensfunDbDirectory = LENSFUN_DB_PATH; + options.rtSettings.lensfunDbBundleDirectory = LENSFUN_DB_PATH; #endif #ifdef WIN32 diff --git a/rtgui/multilangmgr.cc b/rtgui/multilangmgr.cc index ecf744519..13f2569c5 100644 --- a/rtgui/multilangmgr.cc +++ b/rtgui/multilangmgr.cc @@ -24,6 +24,9 @@ #include #include #endif +#ifdef __APPLE__ +#include +#endif namespace { @@ -41,33 +44,34 @@ struct LocaleToLang : private std::map, emplace (key ("ca", "ES"), "Catala"); emplace (key ("cs", "CZ"), "Czech"); emplace (key ("da", "DK"), "Dansk"); - emplace (key ("de", "DE"), "Deutsch"); + emplace (key ("de", "" ), "Deutsch"); #ifdef __APPLE__ emplace (key ("en", "UK"), "English (UK)"); #else emplace (key ("en", "GB"), "English (UK)"); #endif emplace (key ("en", "US"), "English (US)"); - emplace (key ("es", "ES"), "Espanol"); + emplace (key ("es", "" ), "Espanol (Latin America)"); + emplace (key ("es", "ES"), "Espanol (Castellano)"); emplace (key ("eu", "ES"), "Euskara"); - emplace (key ("fr", "FR"), "Francais"); + emplace (key ("fr", "" ), "Francais"); emplace (key ("el", "GR"), "Greek"); emplace (key ("he", "IL"), "Hebrew"); - emplace (key ("it", "IT"), "Italiano"); + emplace (key ("it", "" ), "Italiano"); emplace (key ("ja", "JP"), "Japanese"); - emplace (key ("lv", "LV"), "Latvian"); - emplace (key ("hu", "HU"), "Magyar"); - emplace (key ("nl", "NL"), "Nederlands"); + emplace (key ("lv", "" ), "Latvian"); + emplace (key ("hu", "" ), "Magyar"); + emplace (key ("nl", "" ), "Nederlands"); emplace (key ("nn", "NO"), "Norsk BM"); emplace (key ("nb", "NO"), "Norsk BM"); - emplace (key ("pl", "PL"), "Polish"); - emplace (key ("pt", "PT"), "Portugues (Brasil)"); - emplace (key ("ru", "RU"), "Russian"); + emplace (key ("pl", "" ), "Polish"); + emplace (key ("pt", "" ), "Portugues (Brasil)"); + emplace (key ("ru", "" ), "Russian"); emplace (key ("sr", "RS"), "Serbian (Cyrilic Characters)"); - emplace (key ("sk", "SK"), "Slovak"); - emplace (key ("fi", "FI"), "Suomi"); + emplace (key ("sk", "" ), "Slovak"); + emplace (key ("fi", "" ), "Suomi"); emplace (key ("sv", "SE"), "Swedish"); - emplace (key ("tr", "TR"), "Turkish"); + emplace (key ("tr", "" ), "Turkish"); emplace (key ("zh", "CN"), "Chinese (Simplified)"); emplace (key ("zh", "SG"), "Chinese (Traditional)"); } @@ -76,12 +80,15 @@ struct LocaleToLang : private std::map, { Glib::ustring major, minor; + // TODO: Support 3 character language code when needed. if (locale.length () >= 2) { major = locale.substr (0, 2).lowercase (); } if (locale.length () >= 5) { - minor = locale.substr (3, 2).uppercase (); + const Glib::ustring::size_type length = + locale.length() > 5 && g_unichar_isalnum(locale[5]) ? 3 : 2; + minor = locale.substr (3, length).uppercase (); } // Look for matching language and country. @@ -92,7 +99,7 @@ struct LocaleToLang : private std::map, } // Look for matching language only. - iterator = find (key (major, major.uppercase())); + iterator = find (key (major, "")); if (iterator != end ()) { return iterator->second; @@ -122,6 +129,20 @@ void setGtkLanguage(const Glib::ustring &language) { if(language != "default") { // nothing to change when using default std::string lang = localeToLang.getLocale(language); +#ifdef __APPLE__ + + // On MacOS, LANG environment variable is not defined when running app bundle + // So we should set all locale data + const Glib::ustring localeUTF8 = lang + ".UTF-8"; + + lang = lang + ".UTF-8"; // According to Apple documentation, UTF-8 is a built-in encoding on all platforms on which macOS runs + + g_setenv("LANG", lang.c_str(), true); + setlocale(LC_ALL, lang.c_str()); + setlocale (LC_NUMERIC, "C"); // Force decimal point to dot. + +#else + const gchar *env_langc = g_getenv("LANG"); if(env_langc) { const std::string env_lang(env_langc); @@ -134,6 +155,8 @@ void setGtkLanguage(const Glib::ustring &language) } g_setenv("LANG", lang.c_str(), true); + +#endif } } @@ -228,7 +251,7 @@ Glib::ustring MultiLangMgr::getOSUserLanguage () langName = localeToLang (localeName); -#elif defined (__linux__) || defined (__APPLE__) +#elif defined (__linux__) // Query the current locale and force decimal point to dot. const char *locale = getenv("LANG"); @@ -238,6 +261,51 @@ Glib::ustring MultiLangMgr::getOSUserLanguage () setlocale (LC_NUMERIC, "C"); +#elif defined (__APPLE__) + + // "LANG" environment variable is not defined. Retrieving it from CoreFundation API + // Get used Mac string encoding + CFStringEncoding strEncoding = CFStringGetSystemEncoding(); + // Get user locale data + CFLocaleRef cfLocale = CFLocaleCopyCurrent(); + // Get locale language code + CFStringRef langCodeStr = (CFStringRef)CFLocaleGetValue(cfLocale, kCFLocaleLanguageCode); + Glib::ustring langCode(""); + + if (langCodeStr != NULL) { + const auto langCodeStrLength = CFStringGetLength(langCodeStr) + 1; + char langCodeBuffer[langCodeStrLength]; + CFStringGetCString(langCodeStr, langCodeBuffer, langCodeStrLength, strEncoding); + langCode = Glib::ustring(langCodeBuffer); + } + + // Get locale country code + CFStringRef countryCodeStr = (CFStringRef)CFLocaleGetValue(cfLocale, kCFLocaleCountryCode); + Glib::ustring countryCode(""); + + if (countryCodeStr != NULL) { + const auto countryCodeStrLength = CFStringGetLength(countryCodeStr) + 1; + char countryCodeBuffer[countryCodeStrLength]; + CFStringGetCString(countryCodeStr, countryCodeBuffer, countryCodeStrLength, strEncoding); + countryCode = Glib::ustring(countryCodeBuffer); + } + + // Concatenate locale data + Glib::ustring locale = langCode + "_" + countryCode; + + // Release user locale data + CFRelease(cfLocale); + CFRelease(langCodeStr); + CFRelease(countryCodeStr); + + // Set locale environment data + locale = locale + ".UTF-8"; // According to Apple documentation, UTF-8 is a built-in encoding on all platforms on which macOS runs + g_setenv("LANG", locale.c_str(), true); + setlocale(LC_ALL, locale.c_str()); + setlocale (LC_NUMERIC, "C"); // Force decimal point to dot. + + langName = localeToLang(locale); + #endif return langName; diff --git a/rtgui/options.cc b/rtgui/options.cc index cf2cbaad3..a2b8694dd 100644 --- a/rtgui/options.cc +++ b/rtgui/options.cc @@ -298,7 +298,6 @@ void Options::setDefaults() windowMaximized = true; windowMonitor = 0; meowMonitor = -1; - meowFullScreen = false; meowMaximized = true; meowWidth = 1200; meowHeight = 680; @@ -413,8 +412,14 @@ void Options::setDefaults() gimpDir = ""; psDir = ""; customEditorProg = ""; + externalEditors.clear(); + externalEditorIndex = -1; CPBKeys = CPBKT_TID; editorToSendTo = 1; + editor_out_dir = EDITOR_OUT_DIR_TEMP; + editor_custom_out_dir = ""; + editor_float32 = false; + editor_bypass_output_profile = false; favoriteDirs.clear(); tpOpen.clear(); autoSaveTpOpen = true; @@ -484,7 +489,7 @@ void Options::setDefaults() menuGroupFileOperations = true; menuGroupProfileOperations = true; menuGroupExtProg = true; - showtooltip = true; + showtooltip = false; ICCPC_primariesPreset = "sRGB", ICCPC_redPrimaryX = 0.6400; @@ -535,6 +540,8 @@ void Options::setDefaults() fastexport_resize_dataspec = 3; fastexport_resize_width = 900; fastexport_resize_height = 900; + fastexport_resize_longedge = 900; + fastexport_resize_shortedge = 900; fastexport_use_fast_pipeline = true; clutsDir = "./cluts"; @@ -585,10 +592,12 @@ void Options::setDefaults() rtSettings.monitorProfile = Glib::ustring(); rtSettings.monitorIntent = rtengine::RI_RELATIVE; rtSettings.monitorBPC = true; + rtSettings.autocielab = false; rtSettings.autoMonitorProfile = false; rtSettings.adobe = "RTv2_Medium"; // put the name of yours profiles (here windows) rtSettings.prophoto = "RTv2_Large"; // these names appear in the menu "output profile" rtSettings.widegamut = "RTv2_Wide"; + rtSettings.DCIP3 = "RTv2_DCIP3"; rtSettings.srgb = "RTv4_sRGB"; rtSettings.bruce = "RTv2_Bruce"; rtSettings.beta = "RTv2_Beta"; @@ -600,6 +609,7 @@ void Options::setDefaults() rtSettings.gamutICC = true; rtSettings.gamutLch = true; rtSettings.amchroma = 40;//between 20 and 140 low values increase effect..and also artifacts, high values reduces + rtSettings.amchromajz = 40;//between 5 and 100 low values increase effect..and also artifacts, high values reduces rtSettings.level0_cbdl = 0; rtSettings.level123_cbdl = 30; //locallab @@ -631,7 +641,7 @@ void Options::setDefaults() rtSettings.protectred = 60; rtSettings.protectredh = 0.3; rtSettings.CRI_color = 0; - rtSettings.autocielab = true; + // rtSettings.autocielab = true; rtSettings.denoiselabgamma = 2; rtSettings.HistogramWorking = false; @@ -677,6 +687,8 @@ void Options::setDefaults() lastICCProfCreatorDir = ""; gimpPluginShowInfoDialog = true; maxRecentFolders = 15; + sortMethod = SORT_BY_NAME; + sortDescending = false; rtSettings.lensfunDbDirectory = ""; // set also in main.cc and main-cli.cc cropGuides = CROP_GUIDE_FULL; cropAutoFit = false; @@ -768,6 +780,9 @@ void Options::readFromFile(Glib::ustring fname) if (keyFile.has_key("General", "Language")) { language = keyFile.get_string("General", "Language"); + if (!language.compare("Espanol")) { + language = "Espanol (Latin America)"; + } } if (keyFile.has_key("General", "LanguageAutoDetect")) { @@ -811,6 +826,7 @@ void Options::readFromFile(Glib::ustring fname) } } + // TODO: Remove. if (keyFile.has_group("External Editor")) { if (keyFile.has_key("External Editor", "EditorKind")) { editorToSendTo = keyFile.get_integer("External Editor", "EditorKind"); @@ -827,6 +843,178 @@ void Options::readFromFile(Glib::ustring fname) if (keyFile.has_key("External Editor", "CustomEditor")) { customEditorProg = keyFile.get_string("External Editor", "CustomEditor"); } + + if (keyFile.has_key("External Editor", "OutputDir")) { + int v = keyFile.get_integer("External Editor", "OutputDir"); + if (v < int(EDITOR_OUT_DIR_TEMP) || v > int(EDITOR_OUT_DIR_CUSTOM)) { + editor_out_dir = EDITOR_OUT_DIR_TEMP; + } else { + editor_out_dir = EditorOutDir(v); + } + } + + if (keyFile.has_key("External Editor", "CustomOutputDir")) { + editor_custom_out_dir = keyFile.get_string("External Editor", "CustomOutputDir"); + } + + if (keyFile.has_key("External Editor", "Float32")) { + editor_float32 = keyFile.get_boolean("External Editor", "Float32"); + } + + if (keyFile.has_key("External Editor", "BypassOutputProfile")) { + editor_bypass_output_profile = keyFile.get_boolean("External Editor", "BypassOutputProfile"); + } + + } + + if (keyFile.has_group("External Editor")) { + if (keyFile.has_key("External Editor", "Names") + || keyFile.has_key("External Editor", "Commands") + || keyFile.has_key("External Editor", "IconsSerialized")) { + // Multiple external editors. + + const auto & names = + !keyFile.has_key("External Editor", "Names") ? + std::vector() : + static_cast>( + keyFile.get_string_list("External Editor", "Names")); + const auto & commands = + !keyFile.has_key("External Editor", "Commands") ? + std::vector() : + static_cast>( + keyFile.get_string_list("External Editor", "Commands")); + const auto & icons_serialized = + !keyFile.has_key("External Editor", "IconsSerialized") ? + std::vector() : + static_cast>( + keyFile.get_string_list("External Editor", "IconsSerialized")); + externalEditors = std::vector(std::max(std::max( + names.size(), commands.size()), icons_serialized.size())); + for (unsigned i = 0; i < names.size(); i++) { + externalEditors[i].name = names[i]; + } + for (unsigned i = 0; i < commands.size(); i++) { + externalEditors[i].command = commands[i]; + } + for (unsigned i = 0; i < icons_serialized.size(); i++) { + externalEditors[i].icon_serialized = icons_serialized[i]; + } + + if (keyFile.has_key("External Editor", "EditorIndex")) { + int index = keyFile.get_integer("External Editor", "EditorIndex"); + externalEditorIndex = std::min( + std::max(-1, index), + static_cast(externalEditors.size()) + ); + } + } else if (keyFile.has_key("External Editor", "EditorKind")) { + // Legacy fixed external editors. Convert to flexible. + + // GIMP == 1, Photoshop == 2, Custom == 3. + editorToSendTo = keyFile.get_integer("External Editor", "EditorKind"); + +#ifdef WIN32 + auto getIconSerialized = [](const Glib::ustring &executable) { + // Backslashes and quotes must be escaped in the text representation of GVariant strings. + // See https://www.freedesktop.org/software/gstreamer-sdk/data/docs/2012.5/glib/gvariant-text.html#gvariant-text-strings + Glib::ustring exec_escaped = ""; + for (const auto character : executable) { + if (character == '\\' || character == '\'') { + exec_escaped += '\\'; + } + exec_escaped += character; + } + return Glib::ustring::compose("('themed', <['%1,0', '%1,0-symbolic']>)", exec_escaped); + }; + Glib::ustring gimpDir = ""; + if (keyFile.has_key("External Editor", "GimpDir")) { + gimpDir = keyFile.get_string("External Editor", "GimpDir"); + } + auto executable = Glib::build_filename(options.gimpDir, "bin", "gimp-win-remote"); + if (Glib::file_test(executable, Glib::FILE_TEST_IS_EXECUTABLE)) { + if (editorToSendTo == 1) { + externalEditorIndex = externalEditors.size(); + } + externalEditors.push_back(ExternalEditor("GIMP", "\"" + executable + "\"", getIconSerialized(executable))); + } else { + for (auto ver = 12; ver >= 0; --ver) { + executable = Glib::build_filename(gimpDir, "bin", Glib::ustring::compose(Glib::ustring("gimp-2.%1.exe"), ver)); + if (Glib::file_test(executable, Glib::FILE_TEST_IS_EXECUTABLE)) { + if (editorToSendTo == 1) { + externalEditorIndex = externalEditors.size(); + } + externalEditors.push_back(ExternalEditor("GIMP", "\"" + executable + "\"", getIconSerialized(executable))); + break; + } + } + } + + Glib::ustring psDir = ""; + if (keyFile.has_key("External Editor", "PhotoshopDir")) { + psDir = keyFile.get_string("External Editor", "PhotoshopDir"); + } + executable = Glib::build_filename(psDir, "Photoshop.exe"); + if (Glib::file_test(executable, Glib::FILE_TEST_IS_EXECUTABLE)) { + if (editorToSendTo == 2) { + externalEditorIndex = externalEditors.size(); + } + externalEditors.push_back(ExternalEditor("Photoshop", "\"" + executable + "\"", getIconSerialized(executable))); + } + + if (keyFile.has_key("External Editor", "CustomEditor")) { + executable = keyFile.get_string("External Editor", "CustomEditor"); + if (!executable.empty()) { + if (editorToSendTo == 3) { + externalEditorIndex = externalEditors.size(); + } + externalEditors.push_back(ExternalEditor("-", "\"" + executable + "\"", "")); + } + } +#elif defined __APPLE__ + if (editorToSendTo == 1) { + externalEditorIndex = externalEditors.size(); + } + externalEditors.push_back(ExternalEditor("GIMP", "open -a GIMP", "gimp")); + externalEditors.push_back(ExternalEditor("GIMP-dev", "open -a GIMP-dev", "gimp")); + + if (editorToSendTo == 2) { + externalEditorIndex = externalEditors.size(); + } + externalEditors.push_back(ExternalEditor("Photoshop", "open -a Photoshop", "")); + + if (keyFile.has_key("External Editor", "CustomEditor")) { + auto executable = keyFile.get_string("External Editor", "CustomEditor"); + if (!executable.empty()) { + if (editorToSendTo == 3) { + externalEditorIndex = externalEditors.size(); + } + externalEditors.push_back(ExternalEditor("-", executable, "")); + } + } +#else + if (Glib::find_program_in_path("gimp").compare("")) { + if (editorToSendTo == 1) { + externalEditorIndex = externalEditors.size(); + } + externalEditors.push_back(ExternalEditor("GIMP", "gimp", "gimp")); + } else if (Glib::find_program_in_path("gimp-remote").compare("")) { + if (editorToSendTo == 1) { + externalEditorIndex = externalEditors.size(); + } + externalEditors.push_back(ExternalEditor("GIMP", "gimp-remote", "gimp")); + } + + if (keyFile.has_key("External Editor", "CustomEditor")) { + auto executable = keyFile.get_string("External Editor", "CustomEditor"); + if (!executable.empty()) { + if (editorToSendTo == 3) { + externalEditorIndex = externalEditors.size(); + } + externalEditors.push_back(ExternalEditor("-", executable, "")); + } + } +#endif + } } if (keyFile.has_group("Output")) { @@ -1120,6 +1308,19 @@ void Options::readFromFile(Glib::ustring fname) if (keyFile.has_key("File Browser", "RecentFolders")) { recentFolders = keyFile.get_string_list("File Browser", "RecentFolders"); } + + if (keyFile.has_key("File Browser", "SortMethod")) { + int v = keyFile.get_integer("File Browser", "SortMethod"); + if (v < int(0) || v >= int(SORT_METHOD_COUNT)) { + sortMethod = SORT_BY_NAME; + } else { + sortMethod = SortMethod(v); + } + } + + if (keyFile.has_key("File Browser", "SortDescending")) { + sortDescending = keyFile.get_boolean("File Browser", "SortDescending"); + } } if (keyFile.has_group("Clipping Indication")) { @@ -1219,10 +1420,6 @@ void Options::readFromFile(Glib::ustring fname) meowMonitor = keyFile.get_integer("GUI", "MeowMonitor"); } - if (keyFile.has_key("GUI", "MeowFullScreen")) { - meowFullScreen = keyFile.get_boolean("GUI", "MeowFullScreen"); - } - if (keyFile.has_key("GUI", "MeowMaximized")) { meowMaximized = keyFile.get_boolean("GUI", "MeowMaximized"); } @@ -1544,9 +1741,6 @@ void Options::readFromFile(Glib::ustring fname) rtSettings.autoMonitorProfile = keyFile.get_boolean("Color Management", "AutoMonitorProfile"); } - if (keyFile.has_key("Color Management", "Autocielab")) { - rtSettings.autocielab = keyFile.get_boolean("Color Management", "Autocielab"); - } if (keyFile.has_key("Color Management", "RGBcurvesLumamode_Gamut")) { rtSettings.rgbcurveslumamode_gamut = keyFile.get_boolean("Color Management", "RGBcurvesLumamode_Gamut"); @@ -1560,6 +1754,10 @@ void Options::readFromFile(Glib::ustring fname) rtSettings.monitorBPC = keyFile.get_boolean("Color Management", "MonitorBPC"); } + if (keyFile.has_key("Color Management", "Autocielab")) { + rtSettings.autocielab = keyFile.get_boolean("Color Management", "Autocielab"); + } + if (keyFile.has_key("Color Management", "CRI")) { rtSettings.CRI_color = keyFile.get_integer("Color Management", "CRI"); } @@ -1659,6 +1857,13 @@ void Options::readFromFile(Glib::ustring fname) } } + if (keyFile.has_key("Color Management", "DCIP3")) { + rtSettings.DCIP3 = keyFile.get_string("Color Management", "DCIP3"); + if (rtSettings.DCIP3 == "RTv4_DCIP3") { + rtSettings.DCIP3 = "RTv2_DCIP3"; + } + } + if (keyFile.has_key("Color Management", "sRGB")) { rtSettings.srgb = keyFile.get_string("Color Management", "sRGB"); if (rtSettings.srgb == "RT_sRGB" || rtSettings.srgb == "RTv2_sRGB") { @@ -1726,6 +1931,10 @@ void Options::readFromFile(Glib::ustring fname) rtSettings.amchroma = keyFile.get_integer("Color Management", "Amountchroma"); } + if (keyFile.has_key("Color Management", "JzAmountchroma")) { + rtSettings.amchromajz = keyFile.get_integer("Color Management", "JzAmountchroma"); + } + if (keyFile.has_key("Color Management", "ClutsDirectory")) { clutsDir = keyFile.get_string("Color Management", "ClutsDirectory"); } @@ -1995,6 +2204,14 @@ void Options::readFromFile(Glib::ustring fname) fastexport_resize_height = keyFile.get_integer("Fast Export", "fastexport_resize_height"); } + if (keyFile.has_key("Fast Export", "fastexport_resize_longedge")) { + fastexport_resize_longedge = keyFile.get_integer("Fast Export", "fastexport_resize_longedge"); + } + + if (keyFile.has_key("Fast Export", "fastexport_resize_shortedge")) { + fastexport_resize_shortedge = keyFile.get_integer("Fast Export", "fastexport_resize_shortedge"); + } + if (keyFile.has_key("Fast Export", "fastexport_use_fast_pipeline")) { fastexport_use_fast_pipeline = keyFile.get_integer("Fast Export", "fastexport_use_fast_pipeline"); } @@ -2135,10 +2352,33 @@ void Options::saveToFile(Glib::ustring fname) keyFile.set_boolean("General", "Detectshape", rtSettings.detectshape); keyFile.set_boolean("General", "Fftwsigma", rtSettings.fftwsigma); + // TODO: Remove. keyFile.set_integer("External Editor", "EditorKind", editorToSendTo); keyFile.set_string("External Editor", "GimpDir", gimpDir); keyFile.set_string("External Editor", "PhotoshopDir", psDir); keyFile.set_string("External Editor", "CustomEditor", customEditorProg); + keyFile.set_integer("External Editor", "OutputDir", int(editor_out_dir)); + keyFile.set_string("External Editor", "CustomOutputDir", editor_custom_out_dir); + keyFile.set_boolean("External Editor", "Float32", editor_float32); + keyFile.set_boolean("External Editor", "BypassOutputProfile", editor_bypass_output_profile); + + { + std::vector names; + std::vector commands; + std::vector icons_serialized; + + for (const auto & editor : externalEditors) { + names.push_back(editor.name); + commands.push_back(editor.command); + icons_serialized.push_back(editor.icon_serialized); + } + + keyFile.set_string_list("External Editor", "Names", names); + keyFile.set_string_list("External Editor", "Commands", commands); + keyFile.set_string_list("External Editor", "IconsSerialized", icons_serialized); + + keyFile.set_integer("External Editor", "EditorIndex", externalEditorIndex); + } keyFile.set_boolean("File Browser", "BrowseOnlyRaw", fbOnlyRaw); keyFile.set_boolean("File Browser", "BrowserShowsDate", fbShowDateTime); @@ -2188,6 +2428,8 @@ void Options::saveToFile(Glib::ustring fname) keyFile.set_string_list("File Browser", "RecentFolders", temp); } + keyFile.set_integer("File Browser", "SortMethod", sortMethod); + keyFile.set_boolean("File Browser", "SortDescending", sortDescending); keyFile.set_integer("Clipping Indication", "HighlightThreshold", highlightThreshold); keyFile.set_integer("Clipping Indication", "ShadowThreshold", shadowThreshold); keyFile.set_boolean("Clipping Indication", "BlinkClipped", blinkClipped); @@ -2254,7 +2496,6 @@ void Options::saveToFile(Glib::ustring fname) keyFile.set_integer("GUI", "WindowY", windowY); keyFile.set_integer("GUI", "WindowMonitor", windowMonitor); keyFile.set_integer("GUI", "MeowMonitor", meowMonitor); - keyFile.set_boolean("GUI", "MeowFullScreen", meowFullScreen); keyFile.set_boolean("GUI", "MeowMaximized", meowMaximized); keyFile.set_integer("GUI", "MeowWidth", meowWidth); keyFile.set_integer("GUI", "MeowHeight", meowHeight); @@ -2343,6 +2584,8 @@ void Options::saveToFile(Glib::ustring fname) keyFile.set_boolean("Color Management", "RGBcurvesLumamode_Gamut", rtSettings.rgbcurveslumamode_gamut); keyFile.set_integer("Color Management", "Intent", rtSettings.monitorIntent); keyFile.set_boolean("Color Management", "MonitorBPC", rtSettings.monitorBPC); + + //keyFile.set_integer ("Color Management", "view", rtSettings.viewingdevice); //keyFile.set_integer ("Color Management", "grey", rtSettings.viewingdevicegrey); // keyFile.set_integer ("Color Management", "greySc", rtSettings.viewinggreySc); @@ -2350,6 +2593,7 @@ void Options::saveToFile(Glib::ustring fname) keyFile.set_string("Color Management", "AdobeRGB", rtSettings.adobe); keyFile.set_string("Color Management", "ProPhoto", rtSettings.prophoto); keyFile.set_string("Color Management", "WideGamut", rtSettings.widegamut); + keyFile.set_string("Color Management", "DCIP3", rtSettings.DCIP3); keyFile.set_string("Color Management", "sRGB", rtSettings.srgb); keyFile.set_string("Color Management", "Beta", rtSettings.beta); keyFile.set_string("Color Management", "Best", rtSettings.best); @@ -2362,6 +2606,7 @@ void Options::saveToFile(Glib::ustring fname) keyFile.set_boolean("Color Management", "GamutLch", rtSettings.gamutLch); keyFile.set_integer("Color Management", "ProtectRed", rtSettings.protectred); keyFile.set_integer("Color Management", "Amountchroma", rtSettings.amchroma); + keyFile.set_integer("Color Management", "JzAmountchroma", rtSettings.amchromajz); keyFile.set_double("Color Management", "ProtectRedH", rtSettings.protectredh); keyFile.set_integer("Color Management", "CRI", rtSettings.CRI_color); keyFile.set_integer("Color Management", "DenoiseLabgamma", rtSettings.denoiselabgamma); @@ -2448,6 +2693,8 @@ void Options::saveToFile(Glib::ustring fname) keyFile.set_integer("Fast Export", "fastexport_resize_dataspec", fastexport_resize_dataspec); keyFile.set_integer("Fast Export", "fastexport_resize_width", fastexport_resize_width); keyFile.set_integer("Fast Export", "fastexport_resize_height", fastexport_resize_height); + keyFile.set_integer("Fast Export", "fastexport_resize_longedge", fastexport_resize_longedge); + keyFile.set_integer("Fast Export", "fastexport_resize_shortedge", fastexport_resize_shortedge); keyFile.set_integer("Fast Export", "fastexport_use_fast_pipeline", fastexport_use_fast_pipeline); keyFile.set_string("Dialogs", "LastIccDir", lastIccDir); @@ -2821,3 +3068,19 @@ Glib::ustring Options::getICCProfileCopyright() now.set_time_current(); return Glib::ustring::compose("Copyright RawTherapee %1, CC0", now.get_year()); } + +ExternalEditor::ExternalEditor() {} + +ExternalEditor::ExternalEditor( + const Glib::ustring &name, const Glib::ustring &command, const Glib::ustring &icon_serialized +): name(name), command(command), icon_serialized(icon_serialized) {} + +bool ExternalEditor::operator==(const ExternalEditor &other) const +{ + return this->name == other.name && this->command == other.command && this->icon_serialized == other.icon_serialized; +} + +bool ExternalEditor::operator!=(const ExternalEditor &other) const +{ + return !(*this == other); +} diff --git a/rtgui/options.h b/rtgui/options.h index 03b551efe..361f98b4a 100644 --- a/rtgui/options.h +++ b/rtgui/options.h @@ -52,6 +52,17 @@ // Special name for the Dynamic profile #define DEFPROFILE_DYNAMIC "Dynamic" +struct ExternalEditor { + ExternalEditor(); + ExternalEditor(const Glib::ustring &name, const Glib::ustring &command, const Glib::ustring &icon_serialized); + Glib::ustring name; + Glib::ustring command; + Glib::ustring icon_serialized; + + bool operator==(const ExternalEditor & other) const; + bool operator!=(const ExternalEditor & other) const; +}; + struct SaveFormat { SaveFormat( const Glib::ustring& _format, @@ -219,7 +230,6 @@ public: bool windowMaximized; int windowMonitor; int meowMonitor; - bool meowFullScreen; bool meowMaximized; int meowWidth; int meowHeight; @@ -277,9 +287,21 @@ public: Glib::ustring gimpDir; Glib::ustring psDir; Glib::ustring customEditorProg; + std::vector externalEditors; + int externalEditorIndex; Glib::ustring CPBPath; // Custom Profile Builder's path CPBKeyType CPBKeys; // Custom Profile Builder's key type int editorToSendTo; + enum EditorOutDir { + EDITOR_OUT_DIR_TEMP, + EDITOR_OUT_DIR_CURRENT, + EDITOR_OUT_DIR_CUSTOM + }; + EditorOutDir editor_out_dir; // output directory for "open in external editor" + Glib::ustring editor_custom_out_dir; + bool editor_float32; + bool editor_bypass_output_profile; + int maxThumbnailHeight; int maxThumbnailWidth; std::size_t maxCacheEntries; @@ -414,6 +436,8 @@ public: int fastexport_resize_dataspec; int fastexport_resize_width; int fastexport_resize_height; + int fastexport_resize_longedge; + int fastexport_resize_shortedge; bool fastexport_use_fast_pipeline; std::vector favorites; @@ -441,6 +465,17 @@ public: size_t maxRecentFolders; // max. number of recent folders stored in options file std::vector recentFolders; // List containing all recent folders + enum SortMethod { + SORT_BY_NAME, + SORT_BY_DATE, + SORT_BY_EXIF, + SORT_BY_RANK, + SORT_BY_LABEL, + SORT_METHOD_COUNT, + }; + SortMethod sortMethod; // remembers current state of file browser + bool sortDescending; + Options (); diff --git a/rtgui/paramsedited.cc b/rtgui/paramsedited.cc index 98abe2869..6223d734d 100644 --- a/rtgui/paramsedited.cc +++ b/rtgui/paramsedited.cc @@ -104,7 +104,7 @@ void ParamsEdited::set(bool v) labCurve.brightness = v; labCurve.contrast = v; labCurve.chromaticity = v; - labCurve.avoidcolorshift = v; + labCurve.gamutmunselmethod = v; labCurve.rstprotection = v; labCurve.lcredsk = v; localContrast.enabled = v; @@ -254,7 +254,6 @@ void ParamsEdited::set(bool v) colorappearance.ybout = v; colorappearance.tempsc = v; colorappearance.greensc = v; - colorappearance.presetcat02 = v; //colorBoost.amount = v; //colorBoost.avoidclip = v; @@ -425,7 +424,13 @@ void ParamsEdited::set(bool v) resize.dataspec = v; resize.width = v; resize.height = v; + resize.longedge = v; + resize.shortedge = v; resize.enabled = v; + + spot.enabled = v; + spot.entries = v; + resize.allowUpscaling = v; icm.inputProfile = v; icm.toneCurve = v; @@ -439,7 +444,27 @@ void ParamsEdited::set(bool v) icm.outputBPC = v; icm.workingTRCGamma = v; icm.workingTRCSlope = v; + icm.redx = v; + icm.redy = v; + icm.grex = v; + icm.grey = v; + icm.blux = v; + icm.bluy = v; + icm.preser = v; + icm.fbw = v; + icm.gamut = v; + icm.labgridcieALow = v; + icm.labgridcieBLow = v; + icm.labgridcieAHigh = v; + icm.labgridcieBHigh = v; + icm.labgridcieGx = v; + icm.labgridcieGy = v; + icm.labgridcieWx = v; + icm.labgridcieWy = v; + icm.aRendIntent = v; icm.workingTRC = v; + icm.will = v; + icm.wprim = v; raw.bayersensor.method = v; raw.bayersensor.border = v; raw.bayersensor.imageNum = v; @@ -462,6 +487,7 @@ void ParamsEdited::set(bool v) raw.bayersensor.pixelShiftShowMotionMaskOnly = v; raw.bayersensor.pixelShiftHoleFill = v; raw.bayersensor.pixelShiftMedian = v; + raw.bayersensor.pixelShiftAverage = v; raw.bayersensor.pixelShiftGreen = v; raw.bayersensor.pixelShiftBlur = v; raw.bayersensor.pixelShiftSmooth = v; @@ -493,6 +519,7 @@ void ParamsEdited::set(bool v) raw.df_autoselect = v; raw.ff_file = v; raw.ff_AutoSelect = v; + raw.ff_FromMetaData = v; raw.ff_BlurRadius = v; raw.ff_BlurType = v; raw.ff_AutoClipControl = v; @@ -545,7 +572,7 @@ void ParamsEdited::set(bool v) wavelet.Backmethod = v; wavelet.Tilesmethod = v; wavelet.complexmethod = v; - wavelet.denmethod = v; + //wavelet.denmethod = v; wavelet.mixmethod = v; wavelet.slimethod = v; wavelet.quamethod = v; @@ -606,7 +633,7 @@ void ParamsEdited::set(bool v) wavelet.levelsigm = v; wavelet.ccwcurve = v; wavelet.blcurve = v; - wavelet.opacityCurveSH = v; + //wavelet.opacityCurveSH = v; wavelet.opacityCurveRG = v; wavelet.opacityCurveBY = v; wavelet.wavdenoise = v; @@ -705,7 +732,7 @@ void ParamsEdited::initFrom(const std::vector& // Resize LocallabSpotEdited according to src[0] locallab.spots.clear(); - locallab.spots.resize(p.locallab.spots.size(), new LocallabParamsEdited::LocallabSpotEdited(true)); + locallab.spots.resize(p.locallab.spots.size(), LocallabParamsEdited::LocallabSpotEdited(true)); // Variable used to determined if Locallab spots number is equal and so spots can be combined bool isSpotNumberEqual = true; @@ -778,7 +805,7 @@ void ParamsEdited::initFrom(const std::vector& labCurve.brightness = labCurve.brightness && p.labCurve.brightness == other.labCurve.brightness; labCurve.contrast = labCurve.contrast && p.labCurve.contrast == other.labCurve.contrast; labCurve.chromaticity = labCurve.chromaticity && p.labCurve.chromaticity == other.labCurve.chromaticity; - labCurve.avoidcolorshift = labCurve.avoidcolorshift && p.labCurve.avoidcolorshift == other.labCurve.avoidcolorshift; + labCurve.gamutmunselmethod = labCurve.gamutmunselmethod && p.labCurve.gamutmunselmethod == other.labCurve.gamutmunselmethod; labCurve.rstprotection = labCurve.rstprotection && p.labCurve.rstprotection == other.labCurve.rstprotection; labCurve.lcredsk = labCurve.lcredsk && p.labCurve.lcredsk == other.labCurve.lcredsk; @@ -882,7 +909,6 @@ void ParamsEdited::initFrom(const std::vector& vibrance.avoidcolorshift = vibrance.avoidcolorshift && p.vibrance.avoidcolorshift == other.vibrance.avoidcolorshift; vibrance.pastsattog = vibrance.pastsattog && p.vibrance.pastsattog == other.vibrance.pastsattog; vibrance.skintonescurve = vibrance.skintonescurve && p.vibrance.skintonescurve == other.vibrance.skintonescurve; - colorappearance.enabled = colorappearance.enabled && p.colorappearance.enabled == other.colorappearance.enabled; colorappearance.degree = colorappearance.degree && p.colorappearance.degree == other.colorappearance.degree; colorappearance.autodegree = colorappearance.autodegree && p.colorappearance.autodegree == other.colorappearance.autodegree; @@ -929,7 +955,6 @@ void ParamsEdited::initFrom(const std::vector& colorappearance.ybout = colorappearance.ybout && p.colorappearance.ybout == other.colorappearance.ybout; colorappearance.tempsc = colorappearance.tempsc && p.colorappearance.tempsc == other.colorappearance.tempsc; colorappearance.greensc = colorappearance.greensc && p.colorappearance.greensc == other.colorappearance.greensc; - colorappearance.presetcat02 = colorappearance.presetcat02 && p.colorappearance.presetcat02 == other.colorappearance.presetcat02; //colorBoost.amount = colorBoost.amount && p.colorBoost.amount == other.colorBoost.amount; //colorBoost.avoidclip = colorBoost.avoidclip && p.colorBoost.avoidclip == other.colorBoost.avoidclip; @@ -1065,6 +1090,7 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).structexclu = locallab.spots.at(j).structexclu && pSpot.structexclu == otherSpot.structexclu; locallab.spots.at(j).struc = locallab.spots.at(j).struc && pSpot.struc == otherSpot.struc; locallab.spots.at(j).shapeMethod = locallab.spots.at(j).shapeMethod && pSpot.shapeMethod == otherSpot.shapeMethod; + locallab.spots.at(j).avoidgamutMethod = locallab.spots.at(j).avoidgamutMethod && pSpot.avoidgamutMethod == otherSpot.avoidgamutMethod; locallab.spots.at(j).loc = locallab.spots.at(j).loc && pSpot.loc == otherSpot.loc; locallab.spots.at(j).centerX = locallab.spots.at(j).centerX && pSpot.centerX == otherSpot.centerX; locallab.spots.at(j).centerY = locallab.spots.at(j).centerY && pSpot.centerY == otherSpot.centerY; @@ -1084,8 +1110,6 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).transitgrad = locallab.spots.at(j).transitgrad && pSpot.transitgrad == otherSpot.transitgrad; locallab.spots.at(j).hishow = locallab.spots.at(j).hishow && pSpot.hishow == otherSpot.hishow; locallab.spots.at(j).activ = locallab.spots.at(j).activ && pSpot.activ == otherSpot.activ; - locallab.spots.at(j).avoid = locallab.spots.at(j).avoid && pSpot.avoid == otherSpot.avoid; - locallab.spots.at(j).avoidmun = locallab.spots.at(j).avoidmun && pSpot.avoidmun == otherSpot.avoidmun; locallab.spots.at(j).blwh = locallab.spots.at(j).blwh && pSpot.blwh == otherSpot.blwh; locallab.spots.at(j).recurs = locallab.spots.at(j).recurs && pSpot.recurs == otherSpot.recurs; locallab.spots.at(j).laplac = locallab.spots.at(j).laplac && pSpot.laplac == otherSpot.laplac; @@ -1093,12 +1117,15 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).shortc = locallab.spots.at(j).shortc && pSpot.shortc == otherSpot.shortc; locallab.spots.at(j).savrest = locallab.spots.at(j).savrest && pSpot.savrest == otherSpot.savrest; locallab.spots.at(j).scopemask = locallab.spots.at(j).scopemask && pSpot.scopemask == otherSpot.scopemask; + locallab.spots.at(j).denoichmask = locallab.spots.at(j).denoichmask && pSpot.denoichmask == otherSpot.denoichmask; locallab.spots.at(j).lumask = locallab.spots.at(j).lumask && pSpot.lumask == otherSpot.lumask; // Color & Light locallab.spots.at(j).visicolor = locallab.spots.at(j).visicolor && pSpot.visicolor == otherSpot.visicolor; locallab.spots.at(j).expcolor = locallab.spots.at(j).expcolor && pSpot.expcolor == otherSpot.expcolor; locallab.spots.at(j).complexcolor = locallab.spots.at(j).complexcolor && pSpot.complexcolor == otherSpot.complexcolor; locallab.spots.at(j).curvactiv = locallab.spots.at(j).curvactiv && pSpot.curvactiv == otherSpot.curvactiv; + locallab.spots.at(j).reparcol = locallab.spots.at(j).reparcol && pSpot.reparcol == otherSpot.reparcol; + locallab.spots.at(j).gamc = locallab.spots.at(j).gamc && pSpot.gamc == otherSpot.gamc; locallab.spots.at(j).lightness = locallab.spots.at(j).lightness && pSpot.lightness == otherSpot.lightness; locallab.spots.at(j).contrast = locallab.spots.at(j).contrast && pSpot.contrast == otherSpot.contrast; locallab.spots.at(j).chroma = locallab.spots.at(j).chroma && pSpot.chroma == otherSpot.chroma; @@ -1175,6 +1202,7 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).expchroma = locallab.spots.at(j).expchroma && pSpot.expchroma == otherSpot.expchroma; locallab.spots.at(j).sensiex = locallab.spots.at(j).sensiex && pSpot.sensiex == otherSpot.sensiex; locallab.spots.at(j).structexp = locallab.spots.at(j).structexp && pSpot.structexp == otherSpot.structexp; + locallab.spots.at(j).gamex = locallab.spots.at(j).gamex && pSpot.gamex == otherSpot.gamex; locallab.spots.at(j).blurexpde = locallab.spots.at(j).blurexpde && pSpot.blurexpde == otherSpot.blurexpde; locallab.spots.at(j).strexp = locallab.spots.at(j).strexp && pSpot.strexp == otherSpot.strexp; locallab.spots.at(j).angexp = locallab.spots.at(j).angexp && pSpot.angexp == otherSpot.angexp; @@ -1199,6 +1227,7 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).expMethod = locallab.spots.at(j).expMethod && pSpot.expMethod == otherSpot.expMethod; locallab.spots.at(j).exnoiseMethod = locallab.spots.at(j).exnoiseMethod && pSpot.exnoiseMethod == otherSpot.exnoiseMethod; locallab.spots.at(j).laplacexp = locallab.spots.at(j).laplacexp && pSpot.laplacexp == otherSpot.laplacexp; + locallab.spots.at(j).reparexp = locallab.spots.at(j).reparexp && pSpot.reparexp == otherSpot.reparexp; locallab.spots.at(j).balanexp = locallab.spots.at(j).balanexp && pSpot.balanexp == otherSpot.balanexp; locallab.spots.at(j).linear = locallab.spots.at(j).linear && pSpot.linear == otherSpot.linear; locallab.spots.at(j).gamm = locallab.spots.at(j).gamm && pSpot.gamm == otherSpot.gamm; @@ -1241,6 +1270,7 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).slomaskSH = locallab.spots.at(j).slomaskSH && pSpot.slomaskSH == otherSpot.slomaskSH; locallab.spots.at(j).lapmaskSH = locallab.spots.at(j).lapmaskSH && pSpot.lapmaskSH == otherSpot.lapmaskSH; locallab.spots.at(j).detailSH = locallab.spots.at(j).detailSH && pSpot.detailSH == otherSpot.detailSH; + locallab.spots.at(j).reparsh = locallab.spots.at(j).reparsh && pSpot.reparsh == otherSpot.reparsh; locallab.spots.at(j).LmaskSHcurve = locallab.spots.at(j).LmaskSHcurve && pSpot.LmaskSHcurve == otherSpot.LmaskSHcurve; locallab.spots.at(j).fatamountSH = locallab.spots.at(j).fatamountSH && pSpot.fatamountSH == otherSpot.fatamountSH; locallab.spots.at(j).fatanchorSH = locallab.spots.at(j).fatanchorSH && pSpot.fatanchorSH == otherSpot.fatanchorSH; @@ -1256,6 +1286,7 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).complexvibrance = locallab.spots.at(j).complexvibrance && pSpot.complexvibrance == otherSpot.complexvibrance; locallab.spots.at(j).saturated = locallab.spots.at(j).saturated && pSpot.saturated == otherSpot.saturated; locallab.spots.at(j).pastels = locallab.spots.at(j).pastels && pSpot.pastels == otherSpot.pastels; + locallab.spots.at(j).vibgam = locallab.spots.at(j).vibgam && pSpot.vibgam == otherSpot.vibgam; locallab.spots.at(j).warm = locallab.spots.at(j).warm && pSpot.warm == otherSpot.warm; locallab.spots.at(j).psthreshold = locallab.spots.at(j).psthreshold && pSpot.psthreshold == otherSpot.psthreshold; locallab.spots.at(j).protectskins = locallab.spots.at(j).protectskins && pSpot.protectskins == otherSpot.protectskins; @@ -1332,6 +1363,7 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).noiselumc = locallab.spots.at(j).noiselumc && pSpot.noiselumc == otherSpot.noiselumc; locallab.spots.at(j).noiselumdetail = locallab.spots.at(j).noiselumdetail && pSpot.noiselumdetail == otherSpot.noiselumdetail; locallab.spots.at(j).noiselequal = locallab.spots.at(j).noiselequal && pSpot.noiselequal == otherSpot.noiselequal; + locallab.spots.at(j).noisegam = locallab.spots.at(j).noisegam && pSpot.noisegam == otherSpot.noisegam; locallab.spots.at(j).noisechrof = locallab.spots.at(j).noisechrof && pSpot.noisechrof == otherSpot.noisechrof; locallab.spots.at(j).noisechroc = locallab.spots.at(j).noisechroc && pSpot.noisechroc == otherSpot.noisechroc; locallab.spots.at(j).noisechrodetail = locallab.spots.at(j).noisechrodetail && pSpot.noisechrodetail == otherSpot.noisechrodetail; @@ -1343,6 +1375,7 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).nlrad = locallab.spots.at(j).nlrad && pSpot.nlrad == otherSpot.nlrad; locallab.spots.at(j).nlgam = locallab.spots.at(j).nlgam && pSpot.nlgam == otherSpot.nlgam; locallab.spots.at(j).sensiden = locallab.spots.at(j).sensiden && pSpot.sensiden == otherSpot.sensiden; + locallab.spots.at(j).reparden = locallab.spots.at(j).reparden && pSpot.reparden == otherSpot.reparden; locallab.spots.at(j).detailthr = locallab.spots.at(j).detailthr && pSpot.detailthr == otherSpot.detailthr; locallab.spots.at(j).locwavcurveden = locallab.spots.at(j).locwavcurveden && pSpot.locwavcurveden == otherSpot.locwavcurveden; locallab.spots.at(j).locwavcurvehue = locallab.spots.at(j).locwavcurvehue && pSpot.locwavcurvehue == otherSpot.locwavcurvehue; @@ -1374,6 +1407,7 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).gamma = locallab.spots.at(j).gamma && pSpot.gamma == otherSpot.gamma; locallab.spots.at(j).estop = locallab.spots.at(j).estop && pSpot.estop == otherSpot.estop; locallab.spots.at(j).scaltm = locallab.spots.at(j).scaltm && pSpot.scaltm == otherSpot.scaltm; + locallab.spots.at(j).repartm = locallab.spots.at(j).repartm && pSpot.repartm == otherSpot.repartm; locallab.spots.at(j).rewei = locallab.spots.at(j).rewei && pSpot.rewei == otherSpot.rewei; locallab.spots.at(j).satur = locallab.spots.at(j).satur && pSpot.satur == otherSpot.satur; locallab.spots.at(j).sensitm = locallab.spots.at(j).sensitm && pSpot.sensitm == otherSpot.sensitm; @@ -1448,6 +1482,7 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).shardamping = locallab.spots.at(j).shardamping && pSpot.shardamping == otherSpot.shardamping; locallab.spots.at(j).shariter = locallab.spots.at(j).shariter && pSpot.shariter == otherSpot.shariter; locallab.spots.at(j).sharblur = locallab.spots.at(j).sharblur && pSpot.sharblur == otherSpot.sharblur; + locallab.spots.at(j).shargam = locallab.spots.at(j).shargam && pSpot.shargam == otherSpot.shargam; locallab.spots.at(j).sensisha = locallab.spots.at(j).sensisha && pSpot.sensisha == otherSpot.sensisha; locallab.spots.at(j).inverssha = locallab.spots.at(j).inverssha && pSpot.inverssha == otherSpot.inverssha; // Local Contrast @@ -1465,6 +1500,9 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).residshathr = locallab.spots.at(j).residshathr && pSpot.residshathr == otherSpot.residshathr; locallab.spots.at(j).residhi = locallab.spots.at(j).residhi && pSpot.residhi == otherSpot.residhi; locallab.spots.at(j).residhithr = locallab.spots.at(j).residhithr && pSpot.residhithr == otherSpot.residhithr; + locallab.spots.at(j).gamlc = locallab.spots.at(j).gamlc && pSpot.gamlc == otherSpot.gamlc; + locallab.spots.at(j).residgam = locallab.spots.at(j).residgam && pSpot.residgam == otherSpot.residgam; + locallab.spots.at(j).residslop = locallab.spots.at(j).residslop && pSpot.residslop == otherSpot.residslop; locallab.spots.at(j).residblur = locallab.spots.at(j).residblur && pSpot.residblur == otherSpot.residblur; locallab.spots.at(j).levelblur = locallab.spots.at(j).levelblur && pSpot.levelblur == otherSpot.levelblur; locallab.spots.at(j).sigmabl = locallab.spots.at(j).sigmabl && pSpot.sigmabl == otherSpot.sigmabl; @@ -1495,6 +1533,7 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).edgw = locallab.spots.at(j).edgw && pSpot.edgw == otherSpot.edgw; locallab.spots.at(j).basew = locallab.spots.at(j).basew && pSpot.basew == otherSpot.basew; locallab.spots.at(j).sensilc = locallab.spots.at(j).sensilc && pSpot.sensilc == otherSpot.sensilc; + locallab.spots.at(j).reparw = locallab.spots.at(j).reparw && pSpot.reparw == otherSpot.reparw; locallab.spots.at(j).fftwlc = locallab.spots.at(j).fftwlc && pSpot.fftwlc == otherSpot.fftwlc; locallab.spots.at(j).blurlc = locallab.spots.at(j).blurlc && pSpot.blurlc == otherSpot.blurlc; locallab.spots.at(j).wavblur = locallab.spots.at(j).wavblur && pSpot.wavblur == otherSpot.wavblur; @@ -1568,6 +1607,7 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).targetGray = locallab.spots.at(j).targetGray && pSpot.targetGray == otherSpot.targetGray; locallab.spots.at(j).catad = locallab.spots.at(j).catad && pSpot.catad == otherSpot.catad; locallab.spots.at(j).saturl = locallab.spots.at(j).saturl && pSpot.saturl == otherSpot.saturl; + locallab.spots.at(j).chroml = locallab.spots.at(j).chroml && pSpot.chroml == otherSpot.chroml; locallab.spots.at(j).lightl = locallab.spots.at(j).lightl && pSpot.lightl == otherSpot.lightl; locallab.spots.at(j).lightq = locallab.spots.at(j).lightq && pSpot.lightq == otherSpot.lightq; locallab.spots.at(j).contl = locallab.spots.at(j).contl && pSpot.contl == otherSpot.contl; @@ -1631,13 +1671,120 @@ void ParamsEdited::initFrom(const std::vector& locallab.spots.at(j).Lmask_curve = locallab.spots.at(j).Lmask_curve && pSpot.Lmask_curve == otherSpot.Lmask_curve; locallab.spots.at(j).LLmask_curvewav = locallab.spots.at(j).LLmask_curvewav && pSpot.LLmask_curvewav == otherSpot.LLmask_curvewav; locallab.spots.at(j).csthresholdmask = locallab.spots.at(j).csthresholdmask && pSpot.csthresholdmask == otherSpot.csthresholdmask; + + //ciecam + locallab.spots.at(j).visicie = locallab.spots.at(j).visicie && pSpot.visicie == otherSpot.visicie; + locallab.spots.at(j).expcie = locallab.spots.at(j).expcie && pSpot.expcie == otherSpot.expcie; + locallab.spots.at(j).complexcie = locallab.spots.at(j).complexcie && pSpot.complexcie == otherSpot.complexcie; + locallab.spots.at(j).reparcie = locallab.spots.at(j).reparcie && pSpot.reparcie == otherSpot.reparcie; + locallab.spots.at(j).sensicie = locallab.spots.at(j).sensicie && pSpot.sensicie == otherSpot.sensicie; + locallab.spots.at(j).Autograycie = locallab.spots.at(j).Autograycie && pSpot.Autograycie == otherSpot.Autograycie; + locallab.spots.at(j).forcejz = locallab.spots.at(j).forcejz && pSpot.forcejz == otherSpot.forcejz; + locallab.spots.at(j).forcebw = locallab.spots.at(j).forcebw && pSpot.forcebw == otherSpot.forcebw; + locallab.spots.at(j).qtoj = locallab.spots.at(j).qtoj && pSpot.qtoj == otherSpot.qtoj; + locallab.spots.at(j).jabcie = locallab.spots.at(j).jabcie && pSpot.jabcie == otherSpot.jabcie; + locallab.spots.at(j).sigmoidqjcie = locallab.spots.at(j).sigmoidqjcie && pSpot.sigmoidqjcie == otherSpot.sigmoidqjcie; + locallab.spots.at(j).logcie = locallab.spots.at(j).logcie && pSpot.logcie == otherSpot.logcie; + locallab.spots.at(j).logjz = locallab.spots.at(j).logjz && pSpot.logjz == otherSpot.logjz; + locallab.spots.at(j).sigjz = locallab.spots.at(j).sigjz && pSpot.sigjz == otherSpot.sigjz; + locallab.spots.at(j).sigq = locallab.spots.at(j).sigq && pSpot.sigq == otherSpot.sigq; + locallab.spots.at(j).chjzcie = locallab.spots.at(j).chjzcie && pSpot.chjzcie == otherSpot.chjzcie; + locallab.spots.at(j).sourceGraycie = locallab.spots.at(j).sourceGraycie && pSpot.sourceGraycie == otherSpot.sourceGraycie; + locallab.spots.at(j).sourceabscie = locallab.spots.at(j).sourceabscie && pSpot.sourceabscie == otherSpot.sourceabscie; + locallab.spots.at(j).sursourcie = locallab.spots.at(j).sursourcie && pSpot.sursourcie == otherSpot.sursourcie; + locallab.spots.at(j).modecam = locallab.spots.at(j).modecam && pSpot.modecam == otherSpot.modecam; + locallab.spots.at(j).modecie = locallab.spots.at(j).modecie && pSpot.modecie == otherSpot.modecie; + locallab.spots.at(j).saturlcie = locallab.spots.at(j).saturlcie && pSpot.saturlcie == otherSpot.saturlcie; + locallab.spots.at(j).rstprotectcie = locallab.spots.at(j).rstprotectcie && pSpot.rstprotectcie == otherSpot.rstprotectcie; + locallab.spots.at(j).chromlcie = locallab.spots.at(j).chromlcie && pSpot.chromlcie == otherSpot.chromlcie; + locallab.spots.at(j).huecie = locallab.spots.at(j).huecie && pSpot.huecie == otherSpot.huecie; + locallab.spots.at(j).toneMethodcie = locallab.spots.at(j).toneMethodcie && pSpot.toneMethodcie == otherSpot.toneMethodcie; + locallab.spots.at(j).ciecurve = locallab.spots.at(j).ciecurve && pSpot.ciecurve == otherSpot.ciecurve; + locallab.spots.at(j).toneMethodcie2 = locallab.spots.at(j).toneMethodcie2 && pSpot.toneMethodcie2 == otherSpot.toneMethodcie2; + locallab.spots.at(j).ciecurve2 = locallab.spots.at(j).ciecurve2 && pSpot.ciecurve2 == otherSpot.ciecurve2; + locallab.spots.at(j).chromjzcie = locallab.spots.at(j).chromjzcie && pSpot.chromjzcie == otherSpot.chromjzcie; + locallab.spots.at(j).saturjzcie = locallab.spots.at(j).saturjzcie && pSpot.saturjzcie == otherSpot.saturjzcie; + locallab.spots.at(j).huejzcie = locallab.spots.at(j).huejzcie && pSpot.huejzcie == otherSpot.huejzcie; + locallab.spots.at(j).softjzcie = locallab.spots.at(j).softjzcie && pSpot.softjzcie == otherSpot.softjzcie; + locallab.spots.at(j).strsoftjzcie = locallab.spots.at(j).strsoftjzcie && pSpot.strsoftjzcie == otherSpot.strsoftjzcie; + locallab.spots.at(j).thrhjzcie = locallab.spots.at(j).thrhjzcie && pSpot.thrhjzcie == otherSpot.thrhjzcie; + locallab.spots.at(j).jzcurve = locallab.spots.at(j).jzcurve && pSpot.jzcurve == otherSpot.jzcurve; + locallab.spots.at(j).czcurve = locallab.spots.at(j).czcurve && pSpot.czcurve == otherSpot.czcurve; + locallab.spots.at(j).czjzcurve = locallab.spots.at(j).czjzcurve && pSpot.czjzcurve == otherSpot.czjzcurve; + locallab.spots.at(j).HHcurvejz = locallab.spots.at(j).HHcurvejz && pSpot.HHcurvejz == otherSpot.HHcurvejz; + locallab.spots.at(j).CHcurvejz = locallab.spots.at(j).CHcurvejz && pSpot.CHcurvejz == otherSpot.CHcurvejz; + locallab.spots.at(j).LHcurvejz = locallab.spots.at(j).LHcurvejz && pSpot.LHcurvejz == otherSpot.LHcurvejz; + locallab.spots.at(j).lightlcie = locallab.spots.at(j).lightlcie && pSpot.lightlcie == otherSpot.lightlcie; + locallab.spots.at(j).lightjzcie = locallab.spots.at(j).lightjzcie && pSpot.lightjzcie == otherSpot.lightjzcie; + locallab.spots.at(j).lightqcie = locallab.spots.at(j).lightqcie && pSpot.lightqcie == otherSpot.lightqcie; + locallab.spots.at(j).contlcie = locallab.spots.at(j).contlcie && pSpot.contlcie == otherSpot.contlcie; + locallab.spots.at(j).contjzcie = locallab.spots.at(j).contjzcie && pSpot.contjzcie == otherSpot.contjzcie; + locallab.spots.at(j).adapjzcie = locallab.spots.at(j).adapjzcie && pSpot.adapjzcie == otherSpot.adapjzcie; + locallab.spots.at(j).jz100 = locallab.spots.at(j).jz100 && pSpot.jz100 == otherSpot.jz100; + locallab.spots.at(j).pqremap = locallab.spots.at(j).pqremap && pSpot.pqremap == otherSpot.pqremap; + locallab.spots.at(j).pqremapcam16 = locallab.spots.at(j).pqremapcam16 && pSpot.pqremapcam16 == otherSpot.pqremapcam16; + locallab.spots.at(j).hljzcie = locallab.spots.at(j).hljzcie && pSpot.hljzcie == otherSpot.hljzcie; + locallab.spots.at(j).hlthjzcie = locallab.spots.at(j).hlthjzcie && pSpot.hlthjzcie == otherSpot.hlthjzcie; + locallab.spots.at(j).shjzcie = locallab.spots.at(j).shjzcie && pSpot.shjzcie == otherSpot.shjzcie; + locallab.spots.at(j).shthjzcie = locallab.spots.at(j).shthjzcie && pSpot.shthjzcie == otherSpot.shthjzcie; + locallab.spots.at(j).radjzcie = locallab.spots.at(j).radjzcie && pSpot.radjzcie == otherSpot.radjzcie; + locallab.spots.at(j).contthrescie = locallab.spots.at(j).contthrescie && pSpot.contthrescie == otherSpot.contthrescie; + locallab.spots.at(j).blackEvjz = locallab.spots.at(j).blackEvjz && pSpot.blackEvjz == otherSpot.blackEvjz; + locallab.spots.at(j).whiteEvjz = locallab.spots.at(j).whiteEvjz && pSpot.whiteEvjz == otherSpot.whiteEvjz; + locallab.spots.at(j).targetjz = locallab.spots.at(j).targetjz && pSpot.targetjz == otherSpot.targetjz; + locallab.spots.at(j).sigmoidldacie = locallab.spots.at(j).sigmoidldacie && pSpot.sigmoidldacie == otherSpot.sigmoidldacie; + locallab.spots.at(j).sigmoidthcie = locallab.spots.at(j).sigmoidthcie && pSpot.sigmoidthcie == otherSpot.sigmoidthcie; + locallab.spots.at(j).sigmoidblcie = locallab.spots.at(j).sigmoidblcie && pSpot.sigmoidblcie == otherSpot.sigmoidblcie; + locallab.spots.at(j).sigmoidldajzcie = locallab.spots.at(j).sigmoidldajzcie && pSpot.sigmoidldajzcie == otherSpot.sigmoidldajzcie; + locallab.spots.at(j).sigmoidthjzcie = locallab.spots.at(j).sigmoidthjzcie && pSpot.sigmoidthjzcie == otherSpot.sigmoidthjzcie; + locallab.spots.at(j).sigmoidbljzcie = locallab.spots.at(j).sigmoidbljzcie && pSpot.sigmoidbljzcie == otherSpot.sigmoidbljzcie; + locallab.spots.at(j).contqcie = locallab.spots.at(j).contqcie && pSpot.contqcie == otherSpot.contqcie; + locallab.spots.at(j).colorflcie = locallab.spots.at(j).colorflcie && pSpot.colorflcie == otherSpot.colorflcie; + locallab.spots.at(j).targabscie = locallab.spots.at(j).targabscie && pSpot.targabscie == otherSpot.targabscie; + locallab.spots.at(j).targetGraycie = locallab.spots.at(j).targetGraycie && pSpot.targetGraycie == otherSpot.targetGraycie; + locallab.spots.at(j).catadcie = locallab.spots.at(j).catadcie && pSpot.catadcie == otherSpot.catadcie; + locallab.spots.at(j).detailcie = locallab.spots.at(j).detailcie && pSpot.detailcie == otherSpot.detailcie; + locallab.spots.at(j).surroundcie = locallab.spots.at(j).surroundcie && pSpot.surroundcie == otherSpot.surroundcie; +/* + locallab.spots.at(j).lightlzcam = locallab.spots.at(j).lightlzcam && pSpot.lightlzcam == otherSpot.lightlzcam; + locallab.spots.at(j).lightqzcam = locallab.spots.at(j).lightqzcam && pSpot.lightqzcam == otherSpot.lightqzcam; + locallab.spots.at(j).contlzcam = locallab.spots.at(j).contlzcam && pSpot.contlzcam == otherSpot.contlzcam; + locallab.spots.at(j).contqzcam = locallab.spots.at(j).contqzcam && pSpot.contqzcam == otherSpot.contqzcam; + locallab.spots.at(j).contthreszcam = locallab.spots.at(j).contthreszcam && pSpot.contthreszcam == otherSpot.contthreszcam; + locallab.spots.at(j).colorflzcam = locallab.spots.at(j).colorflzcam && pSpot.colorflzcam == otherSpot.colorflzcam; + locallab.spots.at(j).saturzcam = locallab.spots.at(j).saturzcam && pSpot.saturzcam == otherSpot.saturzcam; + locallab.spots.at(j).chromzcam = locallab.spots.at(j).chromzcam && pSpot.chromzcam == otherSpot.chromzcam; +*/ + locallab.spots.at(j).enacieMask = locallab.spots.at(j).enaSHMask && pSpot.enaSHMask == otherSpot.enaSHMask; + locallab.spots.at(j).CCmaskciecurve = locallab.spots.at(j).CCmaskciecurve && pSpot.CCmaskciecurve == otherSpot.CCmaskciecurve; + locallab.spots.at(j).LLmaskciecurve = locallab.spots.at(j).LLmaskciecurve && pSpot.LLmaskciecurve == otherSpot.LLmaskciecurve; + locallab.spots.at(j).HHmaskciecurve = locallab.spots.at(j).HHmaskciecurve && pSpot.HHmaskciecurve == otherSpot.HHmaskciecurve; + locallab.spots.at(j).blendmaskcie = locallab.spots.at(j).blendmaskcie && pSpot.blendmaskcie == otherSpot.blendmaskcie; + locallab.spots.at(j).radmaskcie = locallab.spots.at(j).radmaskcie && pSpot.radmaskcie == otherSpot.radmaskcie; + locallab.spots.at(j).chromaskcie = locallab.spots.at(j).chromaskcie && pSpot.chromaskcie == otherSpot.chromaskcie; + locallab.spots.at(j).lapmaskcie = locallab.spots.at(j).lapmaskcie && pSpot.lapmaskcie == otherSpot.lapmaskcie; + locallab.spots.at(j).gammaskcie = locallab.spots.at(j).gammaskcie && pSpot.gammaskcie == otherSpot.gammaskcie; + locallab.spots.at(j).slomaskcie = locallab.spots.at(j).slomaskcie && pSpot.slomaskcie == otherSpot.slomaskcie; + locallab.spots.at(j).Lmaskciecurve = locallab.spots.at(j).Lmaskciecurve && pSpot.Lmaskciecurve == otherSpot.Lmaskciecurve; + locallab.spots.at(j).recothrescie = locallab.spots.at(j).recothrescie && pSpot.recothrescie == otherSpot.recothrescie; + locallab.spots.at(j).lowthrescie = locallab.spots.at(j).lowthrescie && pSpot.lowthrescie == otherSpot.lowthrescie; + locallab.spots.at(j).higthrescie = locallab.spots.at(j).higthrescie && pSpot.higthrescie == otherSpot.higthrescie; + locallab.spots.at(j).decaycie = locallab.spots.at(j).decaycie && pSpot.decaycie == otherSpot.decaycie; + locallab.spots.at(j).locwavcurvejz = locallab.spots.at(j).locwavcurvejz && pSpot.locwavcurvejz == otherSpot.locwavcurvejz; + locallab.spots.at(j).csthresholdjz = locallab.spots.at(j).csthresholdjz && pSpot.csthresholdjz == otherSpot.csthresholdjz; + locallab.spots.at(j).sigmalcjz = locallab.spots.at(j).sigmalcjz && pSpot.sigmalcjz == otherSpot.sigmalcjz; + locallab.spots.at(j).clarilresjz = locallab.spots.at(j).clarilresjz && pSpot.clarilresjz == otherSpot.clarilresjz; + locallab.spots.at(j).claricresjz = locallab.spots.at(j).claricresjz && pSpot.claricresjz == otherSpot.claricresjz; + locallab.spots.at(j).clarisoftjz = locallab.spots.at(j).clarisoftjz && pSpot.clarisoftjz == otherSpot.clarisoftjz; + + } } if (!isSpotNumberEqual) { // All LocallabSpotEdited are set to false because cannot be combined locallab.spots.clear(); - locallab.spots.resize(p.locallab.spots.size(), new LocallabParamsEdited::LocallabSpotEdited(false)); + locallab.spots.resize(p.locallab.spots.size(), LocallabParamsEdited::LocallabSpotEdited(false)); } pcvignette.enabled = pcvignette.enabled && p.pcvignette.enabled == other.pcvignette.enabled; @@ -1690,7 +1837,11 @@ void ParamsEdited::initFrom(const std::vector& resize.dataspec = resize.dataspec && p.resize.dataspec == other.resize.dataspec; resize.width = resize.width && p.resize.width == other.resize.width; resize.height = resize.height && p.resize.height == other.resize.height; + resize.longedge = resize.longedge && p.resize.longedge == other.resize.longedge; + resize.shortedge = resize.shortedge && p.resize.shortedge == other.resize.shortedge; resize.enabled = resize.enabled && p.resize.enabled == other.resize.enabled; + spot.enabled = spot.enabled && p.spot.enabled == other.spot.enabled; + spot.entries = spot.entries && p.spot.entries == other.spot.entries; resize.allowUpscaling = resize.allowUpscaling && p.resize.allowUpscaling == other.resize.allowUpscaling; icm.inputProfile = icm.inputProfile && p.icm.inputProfile == other.icm.inputProfile; icm.toneCurve = icm.toneCurve && p.icm.toneCurve == other.icm.toneCurve; @@ -1704,7 +1855,27 @@ void ParamsEdited::initFrom(const std::vector& icm.outputBPC = icm.outputBPC && p.icm.outputBPC == other.icm.outputBPC ; icm.workingTRCGamma = icm.workingTRCGamma && p.icm.workingTRCGamma == other.icm.workingTRCGamma; icm.workingTRCSlope = icm.workingTRCSlope && p.icm.workingTRCSlope == other.icm.workingTRCSlope; + icm.redx = icm.redx && p.icm.redx == other.icm.redx; + icm.redy = icm.redy && p.icm.redy == other.icm.redy; + icm.grex = icm.grex && p.icm.grex == other.icm.grex; + icm.grey = icm.grey && p.icm.grey == other.icm.grey; + icm.blux = icm.blux && p.icm.blux == other.icm.blux; + icm.bluy = icm.bluy && p.icm.bluy == other.icm.bluy; + icm.labgridcieALow = icm.labgridcieALow && p.icm.labgridcieALow == other.icm.labgridcieALow; + icm.labgridcieBLow = icm.labgridcieBLow && p.icm.labgridcieBLow == other.icm.labgridcieBLow; + icm.labgridcieAHigh = icm.labgridcieAHigh && p.icm.labgridcieAHigh == other.icm.labgridcieAHigh; + icm.labgridcieBHigh = icm.labgridcieBHigh && p.icm.labgridcieBHigh == other.icm.labgridcieBHigh; + icm.labgridcieGx = icm.labgridcieGx && p.icm.labgridcieGx == other.icm.labgridcieGx; + icm.labgridcieGy = icm.labgridcieGy && p.icm.labgridcieGy == other.icm.labgridcieGy; + icm.labgridcieWx = icm.labgridcieWx && p.icm.labgridcieWx == other.icm.labgridcieWx; + icm.labgridcieWy = icm.labgridcieWy && p.icm.labgridcieWy == other.icm.labgridcieWy; + icm.preser = icm.preser && p.icm.preser == other.icm.preser; + icm.fbw = icm.fbw && p.icm.fbw == other.icm.fbw; + icm.gamut = icm.gamut && p.icm.gamut == other.icm.gamut; + icm.aRendIntent = icm.aRendIntent && p.icm.aRendIntent == other.icm.aRendIntent; icm.workingTRC = icm.workingTRC && p.icm.workingTRC == other.icm.workingTRC; + icm.will = icm.will && p.icm.will == other.icm.will; + icm.wprim = icm.wprim && p.icm.wprim == other.icm.wprim; raw.bayersensor.method = raw.bayersensor.method && p.raw.bayersensor.method == other.raw.bayersensor.method; raw.bayersensor.border = raw.bayersensor.border && p.raw.bayersensor.border == other.raw.bayersensor.border; raw.bayersensor.imageNum = raw.bayersensor.imageNum && p.raw.bayersensor.imageNum == other.raw.bayersensor.imageNum; @@ -1727,6 +1898,7 @@ void ParamsEdited::initFrom(const std::vector& raw.bayersensor.pixelShiftShowMotionMaskOnly = raw.bayersensor.pixelShiftShowMotionMaskOnly && p.raw.bayersensor.pixelShiftShowMotionMaskOnly == other.raw.bayersensor.pixelShiftShowMotionMaskOnly; raw.bayersensor.pixelShiftHoleFill = raw.bayersensor.pixelShiftHoleFill && p.raw.bayersensor.pixelShiftHoleFill == other.raw.bayersensor.pixelShiftHoleFill; raw.bayersensor.pixelShiftMedian = raw.bayersensor.pixelShiftMedian && p.raw.bayersensor.pixelShiftMedian == other.raw.bayersensor.pixelShiftMedian; + raw.bayersensor.pixelShiftAverage = raw.bayersensor.pixelShiftAverage && p.raw.bayersensor.pixelShiftAverage == other.raw.bayersensor.pixelShiftAverage; raw.bayersensor.pixelShiftGreen = raw.bayersensor.pixelShiftGreen && p.raw.bayersensor.pixelShiftGreen == other.raw.bayersensor.pixelShiftGreen; raw.bayersensor.pixelShiftBlur = raw.bayersensor.pixelShiftBlur && p.raw.bayersensor.pixelShiftBlur == other.raw.bayersensor.pixelShiftBlur; raw.bayersensor.pixelShiftSmooth = raw.bayersensor.pixelShiftSmooth && p.raw.bayersensor.pixelShiftSmoothFactor == other.raw.bayersensor.pixelShiftSmoothFactor; @@ -1758,6 +1930,7 @@ void ParamsEdited::initFrom(const std::vector& raw.df_autoselect = raw.df_autoselect && p.raw.df_autoselect == other.raw.df_autoselect; raw.ff_file = raw.ff_file && p.raw.ff_file == other.raw.ff_file; raw.ff_AutoSelect = raw.ff_AutoSelect && p.raw.ff_AutoSelect == other.raw.ff_AutoSelect; + raw.ff_FromMetaData = raw.ff_FromMetaData && p.raw.ff_FromMetaData == other.raw.ff_FromMetaData; raw.ff_BlurRadius = raw.ff_BlurRadius && p.raw.ff_BlurRadius == other.raw.ff_BlurRadius; raw.ff_BlurType = raw.ff_BlurType && p.raw.ff_BlurType == other.raw.ff_BlurType; raw.ff_AutoClipControl = raw.ff_AutoClipControl && p.raw.ff_AutoClipControl == other.raw.ff_AutoClipControl; @@ -1810,7 +1983,7 @@ void ParamsEdited::initFrom(const std::vector& wavelet.Backmethod = wavelet.Backmethod && p.wavelet.Backmethod == other.wavelet.Backmethod; wavelet.Tilesmethod = wavelet.Tilesmethod && p.wavelet.Tilesmethod == other.wavelet.Tilesmethod; wavelet.complexmethod = wavelet.complexmethod && p.wavelet.complexmethod == other.wavelet.complexmethod; - wavelet.denmethod = wavelet.denmethod && p.wavelet.denmethod == other.wavelet.denmethod; + //wavelet.denmethod = wavelet.denmethod && p.wavelet.denmethod == other.wavelet.denmethod; wavelet.mixmethod = wavelet.mixmethod && p.wavelet.mixmethod == other.wavelet.mixmethod; wavelet.slimethod = wavelet.slimethod && p.wavelet.slimethod == other.wavelet.slimethod; wavelet.quamethod = wavelet.quamethod && p.wavelet.quamethod == other.wavelet.quamethod; @@ -1872,7 +2045,7 @@ void ParamsEdited::initFrom(const std::vector& wavelet.satlev = wavelet.satlev && p.wavelet.satlev == other.wavelet.satlev; wavelet.ccwcurve = wavelet.ccwcurve && p.wavelet.ccwcurve == other.wavelet.ccwcurve; wavelet.blcurve = wavelet.blcurve && p.wavelet.blcurve == other.wavelet.blcurve; - wavelet.opacityCurveSH = wavelet.opacityCurveSH && p.wavelet.opacityCurveSH == other.wavelet.opacityCurveSH; + //wavelet.opacityCurveSH = wavelet.opacityCurveSH && p.wavelet.opacityCurveSH == other.wavelet.opacityCurveSH; wavelet.opacityCurveRG = wavelet.opacityCurveRG && p.wavelet.opacityCurveRG == other.wavelet.opacityCurveRG; wavelet.opacityCurveBY = wavelet.opacityCurveBY && p.wavelet.opacityCurveBY == other.wavelet.opacityCurveBY; wavelet.wavdenoise = wavelet.wavdenoise && p.wavelet.wavdenoise == other.wavelet.wavdenoise; @@ -2219,8 +2392,8 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.labCurve.chromaticity = dontforceSet && options.baBehav[ADDSET_LC_CHROMATICITY] ? toEdit.labCurve.chromaticity + mods.labCurve.chromaticity : mods.labCurve.chromaticity; } - if (labCurve.avoidcolorshift) { - toEdit.labCurve.avoidcolorshift = mods.labCurve.avoidcolorshift; + if (labCurve.gamutmunselmethod) { + toEdit.labCurve.gamutmunselmethod = mods.labCurve.gamutmunselmethod; } if (labCurve.rstprotection) { @@ -2861,9 +3034,6 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.colorappearance.tonecie = mods.colorappearance.tonecie; } - if (colorappearance.presetcat02) { - toEdit.colorappearance.presetcat02 = mods.colorappearance.presetcat02; - } // if (colorappearance.sharpcie) toEdit.colorappearance.sharpcie = mods.colorappearance.sharpcie; if (impulseDenoise.enabled) { @@ -3211,15 +3381,16 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng if (locallab.enabled) { toEdit.locallab.enabled = mods.locallab.enabled; + + // In that case, locallab is impacted by the combine: + // Resizing locallab spots vector according to pedited + toEdit.locallab.spots.resize(locallab.spots.size()); } if (locallab.selspot) { toEdit.locallab.selspot = mods.locallab.selspot; } - // Resizing locallab spots vector according to pedited - toEdit.locallab.spots.resize(locallab.spots.size()); - // Updating each locallab spot according to pedited for (size_t i = 0; i < toEdit.locallab.spots.size() && i < mods.locallab.spots.size() && i < locallab.spots.size(); i++) { // Control spot settings @@ -3263,6 +3434,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).shapeMethod = mods.locallab.spots.at(i).shapeMethod; } + if (locallab.spots.at(i).avoidgamutMethod) { + toEdit.locallab.spots.at(i).avoidgamutMethod = mods.locallab.spots.at(i).avoidgamutMethod; + } + if (locallab.spots.at(i).loc) { toEdit.locallab.spots.at(i).loc = mods.locallab.spots.at(i).loc; } @@ -3339,14 +3514,6 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).activ = mods.locallab.spots.at(i).activ; } - if (locallab.spots.at(i).avoid) { - toEdit.locallab.spots.at(i).avoid = mods.locallab.spots.at(i).avoid; - } - - if (locallab.spots.at(i).avoidmun) { - toEdit.locallab.spots.at(i).avoidmun = mods.locallab.spots.at(i).avoidmun; - } - if (locallab.spots.at(i).blwh) { toEdit.locallab.spots.at(i).blwh = mods.locallab.spots.at(i).blwh; } @@ -3371,6 +3538,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).savrest = mods.locallab.spots.at(i).savrest; } + if (locallab.spots.at(i).denoichmask) { + toEdit.locallab.spots.at(i).denoichmask = mods.locallab.spots.at(i).denoichmask; + } + if (locallab.spots.at(i).scopemask) { toEdit.locallab.spots.at(i).scopemask = mods.locallab.spots.at(i).scopemask; } @@ -3400,6 +3571,14 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).lightness = mods.locallab.spots.at(i).lightness; } + if (locallab.spots.at(i).reparcol) { + toEdit.locallab.spots.at(i).reparcol = mods.locallab.spots.at(i).reparcol; + } + + if (locallab.spots.at(i).gamc) { + toEdit.locallab.spots.at(i).gamc = mods.locallab.spots.at(i).gamc; + } + if (locallab.spots.at(i).contrast) { toEdit.locallab.spots.at(i).contrast = mods.locallab.spots.at(i).contrast; } @@ -3697,10 +3876,18 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).structexp = mods.locallab.spots.at(i).structexp; } + if (locallab.spots.at(i).gamex) { + toEdit.locallab.spots.at(i).gamex = mods.locallab.spots.at(i).gamex; + } + if (locallab.spots.at(i).blurexpde) { toEdit.locallab.spots.at(i).blurexpde = mods.locallab.spots.at(i).blurexpde; } + if (locallab.spots.at(i).gamex) { + toEdit.locallab.spots.at(i).gamex = mods.locallab.spots.at(i).gamex; + } + if (locallab.spots.at(i).strexp) { toEdit.locallab.spots.at(i).strexp = mods.locallab.spots.at(i).strexp; } @@ -3793,8 +3980,12 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).laplacexp = mods.locallab.spots.at(i).laplacexp; } - if (locallab.spots.at(i).balanexp) { - toEdit.locallab.spots.at(i).balanexp = mods.locallab.spots.at(i).balanexp; + if (locallab.spots.at(i).laplacexp) { + toEdit.locallab.spots.at(i).laplacexp = mods.locallab.spots.at(i).laplacexp; + } + + if (locallab.spots.at(i).reparexp) { + toEdit.locallab.spots.at(i).reparexp = mods.locallab.spots.at(i).reparexp; } if (locallab.spots.at(i).linear) { @@ -3944,6 +4135,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).detailSH = mods.locallab.spots.at(i).detailSH; } + if (locallab.spots.at(i).reparsh) { + toEdit.locallab.spots.at(i).reparsh = mods.locallab.spots.at(i).reparsh; + } + if (locallab.spots.at(i).LmaskSHcurve) { toEdit.locallab.spots.at(i).LmaskSHcurve = mods.locallab.spots.at(i).LmaskSHcurve; } @@ -4001,6 +4196,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).pastels = mods.locallab.spots.at(i).pastels; } + if (locallab.spots.at(i).vibgam) { + toEdit.locallab.spots.at(i).vibgam = mods.locallab.spots.at(i).vibgam; + } + if (locallab.spots.at(i).warm) { toEdit.locallab.spots.at(i).warm = mods.locallab.spots.at(i).warm; } @@ -4299,6 +4498,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).noiselequal = mods.locallab.spots.at(i).noiselequal; } + if (locallab.spots.at(i).noisegam) { + toEdit.locallab.spots.at(i).noisegam = mods.locallab.spots.at(i).noisegam; + } + if (locallab.spots.at(i).noisechrof) { toEdit.locallab.spots.at(i).noisechrof = mods.locallab.spots.at(i).noisechrof; } @@ -4343,6 +4546,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).sensiden = mods.locallab.spots.at(i).sensiden; } + if (locallab.spots.at(i).reparden) { + toEdit.locallab.spots.at(i).reparden = mods.locallab.spots.at(i).reparden; + } + if (locallab.spots.at(i).detailthr) { toEdit.locallab.spots.at(i).detailthr = mods.locallab.spots.at(i).detailthr; } @@ -4465,6 +4672,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).scaltm = mods.locallab.spots.at(i).scaltm; } + if (locallab.spots.at(i).repartm) { + toEdit.locallab.spots.at(i).repartm = mods.locallab.spots.at(i).repartm; + } + if (locallab.spots.at(i).rewei) { toEdit.locallab.spots.at(i).rewei = mods.locallab.spots.at(i).rewei; } @@ -4755,6 +4966,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).sharblur = mods.locallab.spots.at(i).sharblur; } + if (locallab.spots.at(i).shargam) { + toEdit.locallab.spots.at(i).shargam = mods.locallab.spots.at(i).shargam; + } + if (locallab.spots.at(i).sensisha) { toEdit.locallab.spots.at(i).sensisha = mods.locallab.spots.at(i).sensisha; } @@ -4820,6 +5035,18 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).residhithr = mods.locallab.spots.at(i).residhithr; } + if (locallab.spots.at(i).gamlc) { + toEdit.locallab.spots.at(i).gamlc = mods.locallab.spots.at(i).gamlc; + } + + if (locallab.spots.at(i).residgam) { + toEdit.locallab.spots.at(i).residgam = mods.locallab.spots.at(i).residgam; + } + + if (locallab.spots.at(i).residslop) { + toEdit.locallab.spots.at(i).residslop = mods.locallab.spots.at(i).residslop; + } + if (locallab.spots.at(i).residblur) { toEdit.locallab.spots.at(i).residblur = mods.locallab.spots.at(i).residblur; } @@ -4941,6 +5168,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).sensilc = mods.locallab.spots.at(i).sensilc; } + if (locallab.spots.at(i).reparw) { + toEdit.locallab.spots.at(i).reparw = mods.locallab.spots.at(i).reparw; + } + if (locallab.spots.at(i).fftwlc) { toEdit.locallab.spots.at(i).fftwlc = mods.locallab.spots.at(i).fftwlc; } @@ -5213,6 +5444,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).saturl = mods.locallab.spots.at(i).saturl; } + if (locallab.spots.at(i).chroml) { + toEdit.locallab.spots.at(i).chroml = mods.locallab.spots.at(i).chroml; + } + if (locallab.spots.at(i).lightl) { toEdit.locallab.spots.at(i).lightl = mods.locallab.spots.at(i).lightl; } @@ -5454,6 +5689,416 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.locallab.spots.at(i).csthresholdmask = mods.locallab.spots.at(i).csthresholdmask; } + //ciecam + if (locallab.spots.at(i).visicie) { + toEdit.locallab.spots.at(i).visicie = mods.locallab.spots.at(i).visicie; + } + + if (locallab.spots.at(i).expcie) { + toEdit.locallab.spots.at(i).expcie = mods.locallab.spots.at(i).expcie; + } + + if (locallab.spots.at(i).complexcie) { + toEdit.locallab.spots.at(i).complexcie = mods.locallab.spots.at(i).complexcie; + } + + if (locallab.spots.at(i).reparcie) { + toEdit.locallab.spots.at(i).reparcie = mods.locallab.spots.at(i).reparcie; + } + + if (locallab.spots.at(i).sensicie) { + toEdit.locallab.spots.at(i).sensicie = mods.locallab.spots.at(i).sensicie; + } + + if (locallab.spots.at(i).Autograycie) { + toEdit.locallab.spots.at(i).Autograycie = mods.locallab.spots.at(i).Autograycie; + } + + if (locallab.spots.at(i).forcejz) { + toEdit.locallab.spots.at(i).forcejz = mods.locallab.spots.at(i).forcejz; + } + + if (locallab.spots.at(i).forcebw) { + toEdit.locallab.spots.at(i).forcebw = mods.locallab.spots.at(i).forcebw; + } + + if (locallab.spots.at(i).qtoj) { + toEdit.locallab.spots.at(i).qtoj = mods.locallab.spots.at(i).qtoj; + } + + if (locallab.spots.at(i).jabcie) { + toEdit.locallab.spots.at(i).jabcie = mods.locallab.spots.at(i).jabcie; + } + + if (locallab.spots.at(i).sigmoidqjcie) { + toEdit.locallab.spots.at(i).sigmoidqjcie = mods.locallab.spots.at(i).sigmoidqjcie; + } + + if (locallab.spots.at(i).logcie) { + toEdit.locallab.spots.at(i).logcie = mods.locallab.spots.at(i).logcie; + } + + if (locallab.spots.at(i).logjz) { + toEdit.locallab.spots.at(i).logjz = mods.locallab.spots.at(i).logjz; + } + + if (locallab.spots.at(i).sigjz) { + toEdit.locallab.spots.at(i).sigjz = mods.locallab.spots.at(i).sigjz; + } + + if (locallab.spots.at(i).sigq) { + toEdit.locallab.spots.at(i).sigq = mods.locallab.spots.at(i).sigq; + } + + if (locallab.spots.at(i).chjzcie) { + toEdit.locallab.spots.at(i).chjzcie = mods.locallab.spots.at(i).chjzcie; + } + + if (locallab.spots.at(i).sourceGraycie) { + toEdit.locallab.spots.at(i).sourceGraycie = mods.locallab.spots.at(i).sourceGraycie; + } + + if (locallab.spots.at(i).sourceabscie) { + toEdit.locallab.spots.at(i).sourceabscie = mods.locallab.spots.at(i).sourceabscie; + } + + if (locallab.spots.at(i).sursourcie) { + toEdit.locallab.spots.at(i).sursourcie = mods.locallab.spots.at(i).sursourcie; + } + + if (locallab.spots.at(i).modecam) { + toEdit.locallab.spots.at(i).modecam = mods.locallab.spots.at(i).modecam; + } + + if (locallab.spots.at(i).modecie) { + toEdit.locallab.spots.at(i).modecie = mods.locallab.spots.at(i).modecie; + } + + if (locallab.spots.at(i).saturlcie) { + toEdit.locallab.spots.at(i).saturlcie = mods.locallab.spots.at(i).saturlcie; + } + + if (locallab.spots.at(i).rstprotectcie) { + toEdit.locallab.spots.at(i).rstprotectcie = mods.locallab.spots.at(i).rstprotectcie; + } + + if (locallab.spots.at(i).chromlcie) { + toEdit.locallab.spots.at(i).chromlcie = mods.locallab.spots.at(i).chromlcie; + } + + if (locallab.spots.at(i).huecie) { + toEdit.locallab.spots.at(i).huecie = mods.locallab.spots.at(i).huecie; + } + + if (locallab.spots.at(i).toneMethodcie) { + toEdit.locallab.spots.at(i).toneMethodcie = mods.locallab.spots.at(i).toneMethodcie; + } + + if (locallab.spots.at(i).toneMethodcie2) { + toEdit.locallab.spots.at(i).toneMethodcie2 = mods.locallab.spots.at(i).toneMethodcie2; + } + + if (locallab.spots.at(i).chromjzcie) { + toEdit.locallab.spots.at(i).chromjzcie = mods.locallab.spots.at(i).chromjzcie; + } + + if (locallab.spots.at(i).saturjzcie) { + toEdit.locallab.spots.at(i).saturjzcie = mods.locallab.spots.at(i).saturjzcie; + } + + if (locallab.spots.at(i).huejzcie) { + toEdit.locallab.spots.at(i).huejzcie = mods.locallab.spots.at(i).huejzcie; + } + + if (locallab.spots.at(i).softjzcie) { + toEdit.locallab.spots.at(i).softjzcie = mods.locallab.spots.at(i).softjzcie; + } + + if (locallab.spots.at(i).strsoftjzcie) { + toEdit.locallab.spots.at(i).strsoftjzcie = mods.locallab.spots.at(i).strsoftjzcie; + } + + if (locallab.spots.at(i).thrhjzcie) { + toEdit.locallab.spots.at(i).thrhjzcie = mods.locallab.spots.at(i).thrhjzcie; + } + + if (locallab.spots.at(i).ciecurve) { + toEdit.locallab.spots.at(i).ciecurve = mods.locallab.spots.at(i).ciecurve; + } + + if (locallab.spots.at(i).ciecurve2) { + toEdit.locallab.spots.at(i).ciecurve2 = mods.locallab.spots.at(i).ciecurve2; + } + + if (locallab.spots.at(i).jzcurve) { + toEdit.locallab.spots.at(i).jzcurve = mods.locallab.spots.at(i).jzcurve; + } + + if (locallab.spots.at(i).czjzcurve) { + toEdit.locallab.spots.at(i).czjzcurve = mods.locallab.spots.at(i).czjzcurve; + } + + if (locallab.spots.at(i).HHcurvejz) { + toEdit.locallab.spots.at(i).HHcurvejz = mods.locallab.spots.at(i).HHcurvejz; + } + + if (locallab.spots.at(i).CHcurvejz) { + toEdit.locallab.spots.at(i).CHcurvejz = mods.locallab.spots.at(i).CHcurvejz; + } + + if (locallab.spots.at(i).LHcurvejz) { + toEdit.locallab.spots.at(i).LHcurvejz = mods.locallab.spots.at(i).LHcurvejz; + } + + if (locallab.spots.at(i).lightlcie) { + toEdit.locallab.spots.at(i).lightlcie = mods.locallab.spots.at(i).lightlcie; + } + + if (locallab.spots.at(i).lightjzcie) { + toEdit.locallab.spots.at(i).lightjzcie = mods.locallab.spots.at(i).lightjzcie; + } + + if (locallab.spots.at(i).lightqcie) { + toEdit.locallab.spots.at(i).lightqcie = mods.locallab.spots.at(i).lightqcie; + } + + if (locallab.spots.at(i).contlcie) { + toEdit.locallab.spots.at(i).contlcie = mods.locallab.spots.at(i).contlcie; + } + + if (locallab.spots.at(i).contjzcie) { + toEdit.locallab.spots.at(i).contjzcie = mods.locallab.spots.at(i).contjzcie; + } + + if (locallab.spots.at(i).adapjzcie) { + toEdit.locallab.spots.at(i).adapjzcie = mods.locallab.spots.at(i).adapjzcie; + } + + if (locallab.spots.at(i).jz100) { + toEdit.locallab.spots.at(i).jz100 = mods.locallab.spots.at(i).jz100; + } + + if (locallab.spots.at(i).pqremap) { + toEdit.locallab.spots.at(i).pqremap = mods.locallab.spots.at(i).pqremap; + } + + if (locallab.spots.at(i).pqremapcam16) { + toEdit.locallab.spots.at(i).pqremapcam16 = mods.locallab.spots.at(i).pqremapcam16; + } + + if (locallab.spots.at(i).hljzcie) { + toEdit.locallab.spots.at(i).hljzcie = mods.locallab.spots.at(i).hljzcie; + } + + if (locallab.spots.at(i).hlthjzcie) { + toEdit.locallab.spots.at(i).hlthjzcie = mods.locallab.spots.at(i).hlthjzcie; + } + + if (locallab.spots.at(i).shjzcie) { + toEdit.locallab.spots.at(i).shjzcie = mods.locallab.spots.at(i).shjzcie; + } + + if (locallab.spots.at(i).shthjzcie) { + toEdit.locallab.spots.at(i).shthjzcie = mods.locallab.spots.at(i).shthjzcie; + } + + if (locallab.spots.at(i).radjzcie) { + toEdit.locallab.spots.at(i).radjzcie = mods.locallab.spots.at(i).radjzcie; + } + + if (locallab.spots.at(i).contthrescie) { + toEdit.locallab.spots.at(i).contthrescie = mods.locallab.spots.at(i).contthrescie; + } + + if (locallab.spots.at(i).blackEvjz) { + toEdit.locallab.spots.at(i).blackEvjz = mods.locallab.spots.at(i).blackEvjz; + } + + if (locallab.spots.at(i).whiteEvjz) { + toEdit.locallab.spots.at(i).whiteEvjz = mods.locallab.spots.at(i).whiteEvjz; + } + + if (locallab.spots.at(i).targetjz) { + toEdit.locallab.spots.at(i).targetjz = mods.locallab.spots.at(i).targetjz; + } + + if (locallab.spots.at(i).sigmoidldacie) { + toEdit.locallab.spots.at(i).sigmoidldacie = mods.locallab.spots.at(i).sigmoidldacie; + } + + if (locallab.spots.at(i).sigmoidthcie) { + toEdit.locallab.spots.at(i).sigmoidthcie = mods.locallab.spots.at(i).sigmoidthcie; + } + + if (locallab.spots.at(i).sigmoidblcie) { + toEdit.locallab.spots.at(i).sigmoidblcie = mods.locallab.spots.at(i).sigmoidblcie; + } + + if (locallab.spots.at(i).sigmoidldajzcie) { + toEdit.locallab.spots.at(i).sigmoidldajzcie = mods.locallab.spots.at(i).sigmoidldajzcie; + } + + if (locallab.spots.at(i).sigmoidthjzcie) { + toEdit.locallab.spots.at(i).sigmoidthjzcie = mods.locallab.spots.at(i).sigmoidthjzcie; + } + + if (locallab.spots.at(i).sigmoidbljzcie) { + toEdit.locallab.spots.at(i).sigmoidbljzcie = mods.locallab.spots.at(i).sigmoidbljzcie; + } + + + if (locallab.spots.at(i).contqcie) { + toEdit.locallab.spots.at(i).contqcie = mods.locallab.spots.at(i).contqcie; + } + + if (locallab.spots.at(i).colorflcie) { + toEdit.locallab.spots.at(i).colorflcie = mods.locallab.spots.at(i).colorflcie; + } +/* + if (locallab.spots.at(i).lightlzcam) { + toEdit.locallab.spots.at(i).lightlzcam = mods.locallab.spots.at(i).lightlzcam; + } + + if (locallab.spots.at(i).lightqzcam) { + toEdit.locallab.spots.at(i).lightqzcam = mods.locallab.spots.at(i).lightqzcam; + } + + if (locallab.spots.at(i).contlzcam) { + toEdit.locallab.spots.at(i).contlzcam = mods.locallab.spots.at(i).contlzcam; + } + + if (locallab.spots.at(i).contqzcam) { + toEdit.locallab.spots.at(i).contqzcam = mods.locallab.spots.at(i).contqzcam; + } + + if (locallab.spots.at(i).contthreszcam) { + toEdit.locallab.spots.at(i).contthreszcam = mods.locallab.spots.at(i).contthreszcam; + } + + if (locallab.spots.at(i).colorflzcam) { + toEdit.locallab.spots.at(i).colorflzcam = mods.locallab.spots.at(i).colorflzcam; + } + + if (locallab.spots.at(i).saturzcam) { + toEdit.locallab.spots.at(i).saturzcam = mods.locallab.spots.at(i).saturzcam; + } + + if (locallab.spots.at(i).chromzcam) { + toEdit.locallab.spots.at(i).chromzcam = mods.locallab.spots.at(i).chromzcam; + } +*/ + if (locallab.spots.at(i).targabscie) { + toEdit.locallab.spots.at(i).targabscie = mods.locallab.spots.at(i).targabscie; + } + + if (locallab.spots.at(i).targetGraycie) { + toEdit.locallab.spots.at(i).targetGraycie = mods.locallab.spots.at(i).targetGraycie; + } + + if (locallab.spots.at(i).catadcie) { + toEdit.locallab.spots.at(i).catadcie = mods.locallab.spots.at(i).catadcie; + } + + if (locallab.spots.at(i).locwavcurvejz) { + toEdit.locallab.spots.at(i).locwavcurvejz = mods.locallab.spots.at(i).locwavcurvejz; + } + + if (locallab.spots.at(i).csthresholdjz) { + toEdit.locallab.spots.at(i).csthresholdjz = mods.locallab.spots.at(i).csthresholdjz; + } + + if (locallab.spots.at(i).sigmalcjz) { + toEdit.locallab.spots.at(i).sigmalcjz = mods.locallab.spots.at(i).sigmalcjz; + } + + if (locallab.spots.at(i).clarilresjz) { + toEdit.locallab.spots.at(i).clarilresjz = mods.locallab.spots.at(i).clarilresjz; + } + + if (locallab.spots.at(i).claricresjz) { + toEdit.locallab.spots.at(i).claricresjz = mods.locallab.spots.at(i).claricresjz; + } + + if (locallab.spots.at(i).clarisoftjz) { + toEdit.locallab.spots.at(i).clarisoftjz = mods.locallab.spots.at(i).clarisoftjz; + } + + if (locallab.spots.at(i).detailcie) { + toEdit.locallab.spots.at(i).detailcie = mods.locallab.spots.at(i).detailcie; + } + + if (locallab.spots.at(i).surroundcie) { + toEdit.locallab.spots.at(i).surroundcie = mods.locallab.spots.at(i).surroundcie; + } + + if (locallab.spots.at(i).enacieMask) { + toEdit.locallab.spots.at(i).enacieMask = mods.locallab.spots.at(i).enacieMask; + } + + if (locallab.spots.at(i).CCmaskciecurve) { + toEdit.locallab.spots.at(i).CCmaskciecurve = mods.locallab.spots.at(i).CCmaskciecurve; + } + + if (locallab.spots.at(i).LLmaskciecurve) { + toEdit.locallab.spots.at(i).LLmaskciecurve = mods.locallab.spots.at(i).LLmaskciecurve; + } + + if (locallab.spots.at(i).HHmaskciecurve) { + toEdit.locallab.spots.at(i).HHmaskciecurve = mods.locallab.spots.at(i).HHmaskciecurve; + } + + if (locallab.spots.at(i).blendmaskcie) { + toEdit.locallab.spots.at(i).blendmaskcie = mods.locallab.spots.at(i).blendmaskcie; + } + + if (locallab.spots.at(i).radmaskcie) { + toEdit.locallab.spots.at(i).radmaskcie = mods.locallab.spots.at(i).radmaskcie; + } + + if (locallab.spots.at(i).chromaskcie) { + toEdit.locallab.spots.at(i).chromaskcie = mods.locallab.spots.at(i).chromaskcie; + } + + if (locallab.spots.at(i).lapmaskcie) { + toEdit.locallab.spots.at(i).lapmaskcie = mods.locallab.spots.at(i).lapmaskcie; + } + + if (locallab.spots.at(i).gammaskcie) { + toEdit.locallab.spots.at(i).gammaskcie = mods.locallab.spots.at(i).gammaskcie; + } + + if (locallab.spots.at(i).slomaskcie) { + toEdit.locallab.spots.at(i).slomaskcie = mods.locallab.spots.at(i).slomaskcie; + } + + if (locallab.spots.at(i).Lmaskciecurve) { + toEdit.locallab.spots.at(i).Lmaskciecurve = mods.locallab.spots.at(i).Lmaskciecurve; + } + + if (locallab.spots.at(i).recothrescie) { + toEdit.locallab.spots.at(i).recothrescie = mods.locallab.spots.at(i).recothrescie; + } + + if (locallab.spots.at(i).lowthrescie) { + toEdit.locallab.spots.at(i).lowthrescie = mods.locallab.spots.at(i).lowthrescie; + } + + if (locallab.spots.at(i).higthrescie) { + toEdit.locallab.spots.at(i).higthrescie = mods.locallab.spots.at(i).higthrescie; + } + + if (locallab.spots.at(i).decaycie) { + toEdit.locallab.spots.at(i).decaycie = mods.locallab.spots.at(i).decaycie; + } + + } + + if (spot.enabled) { + toEdit.spot.enabled = mods.spot.enabled; + } + + if (spot.entries) { + toEdit.spot.entries = mods.spot.entries; } if (pcvignette.enabled) { @@ -5634,6 +6279,14 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.resize.height = mods.resize.height; } + if (resize.longedge) { + toEdit.resize.longedge = mods.resize.longedge; + } + + if (resize.shortedge) { + toEdit.resize.shortedge = mods.resize.shortedge; + } + if (resize.enabled) { toEdit.resize.enabled = mods.resize.enabled; } @@ -5690,10 +6343,90 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.icm.workingTRCSlope = mods.icm.workingTRCSlope; } + if (icm.redx) { + toEdit.icm.redx = mods.icm.redx; + } + + if (icm.redy) { + toEdit.icm.redy = mods.icm.redy; + } + + if (icm.grex) { + toEdit.icm.grex = mods.icm.grex; + } + + if (icm.grey) { + toEdit.icm.grey = mods.icm.grey; + } + + if (icm.blux) { + toEdit.icm.blux = mods.icm.blux; + } + + if (icm.bluy) { + toEdit.icm.bluy = mods.icm.bluy; + } + + if (icm.preser) { + toEdit.icm.preser = mods.icm.preser; + } + + if (icm.fbw) { + toEdit.icm.fbw = mods.icm.fbw; + } + + if (icm.gamut) { + toEdit.icm.gamut = mods.icm.gamut; + } + + if (icm.labgridcieALow) { + toEdit.icm.labgridcieALow = mods.icm.labgridcieALow; + } + + if (icm.labgridcieBLow) { + toEdit.icm.labgridcieBLow = mods.icm.labgridcieBLow; + } + + if (icm.labgridcieAHigh) { + toEdit.icm.labgridcieAHigh = mods.icm.labgridcieAHigh; + } + + if (icm.labgridcieBHigh) { + toEdit.icm.labgridcieBHigh = mods.icm.labgridcieBHigh; + } + + if (icm.labgridcieGx) { + toEdit.icm.labgridcieGx = mods.icm.labgridcieGx; + } + + if (icm.labgridcieGy) { + toEdit.icm.labgridcieGy = mods.icm.labgridcieGy; + } + + if (icm.labgridcieWx) { + toEdit.icm.labgridcieWx = mods.icm.labgridcieWx; + } + + if (icm.labgridcieWy) { + toEdit.icm.labgridcieWy = mods.icm.labgridcieWy; + } + + if (icm.aRendIntent) { + toEdit.icm.aRendIntent = mods.icm.aRendIntent; + } + if (icm.workingTRC) { toEdit.icm.workingTRC = mods.icm.workingTRC; } + if (icm.will) { + toEdit.icm.will = mods.icm.will; + } + + if (icm.wprim) { + toEdit.icm.wprim = mods.icm.wprim; + } + if (raw.bayersensor.method) { toEdit.raw.bayersensor.method = mods.raw.bayersensor.method; } @@ -5778,6 +6511,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.raw.bayersensor.pixelShiftMedian = mods.raw.bayersensor.pixelShiftMedian; } + if (raw.bayersensor.pixelShiftAverage) { + toEdit.raw.bayersensor.pixelShiftAverage = mods.raw.bayersensor.pixelShiftAverage; + } + if (raw.bayersensor.pixelShiftGreen) { toEdit.raw.bayersensor.pixelShiftGreen = mods.raw.bayersensor.pixelShiftGreen; } @@ -5906,6 +6643,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.raw.ff_AutoSelect = mods.raw.ff_AutoSelect; } + if (raw.ff_FromMetaData) { + toEdit.raw.ff_FromMetaData = mods.raw.ff_FromMetaData; + } + if (raw.ff_BlurRadius) { toEdit.raw.ff_BlurRadius = mods.raw.ff_BlurRadius; } @@ -6126,9 +6867,9 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.wavelet.complexmethod = mods.wavelet.complexmethod; } - if (wavelet.denmethod) { - toEdit.wavelet.denmethod = mods.wavelet.denmethod; - } + //if (wavelet.denmethod) { + // toEdit.wavelet.denmethod = mods.wavelet.denmethod; + //} if (wavelet.mixmethod) { toEdit.wavelet.mixmethod = mods.wavelet.mixmethod; @@ -6262,9 +7003,9 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng toEdit.wavelet.blcurve = mods.wavelet.blcurve; } - if (wavelet.opacityCurveSH) { - toEdit.wavelet.opacityCurveSH = mods.wavelet.opacityCurveSH; - } + //if (wavelet.opacityCurveSH) { + // toEdit.wavelet.opacityCurveSH = mods.wavelet.opacityCurveSH; + //} if (wavelet.opacityCurveRG) { toEdit.wavelet.opacityCurveRG = mods.wavelet.opacityCurveRG; @@ -6629,7 +7370,7 @@ bool RAWParamsEdited::BayerSensor::isUnchanged() const { return method && border && imageNum && dcbIterations && dcbEnhance && lmmseIterations && dualDemosaicAutoContrast && dualDemosaicContrast /*&& allEnhance*/ && greenEq && pixelShiftMotionCorrectionMethod && pixelShiftEperIso && pixelShiftSigma && pixelShiftShowMotion && pixelShiftShowMotionMaskOnly - && pixelShiftHoleFill && pixelShiftMedian && pixelShiftNonGreenCross && pixelShiftDemosaicMethod && pixelShiftGreen && pixelShiftBlur && pixelShiftSmooth && pixelShiftEqualBright && pixelShiftEqualBrightChannel + && pixelShiftHoleFill && pixelShiftMedian && pixelShiftAverage && pixelShiftNonGreenCross && pixelShiftDemosaicMethod && pixelShiftGreen && pixelShiftBlur && pixelShiftSmooth && pixelShiftEqualBright && pixelShiftEqualBrightChannel && linenoise && linenoiseDirection && pdafLinesFilter && exBlack0 && exBlack1 && exBlack2 && exBlack3 && exTwoGreen; } @@ -6641,7 +7382,7 @@ bool RAWParamsEdited::XTransSensor::isUnchanged() const bool RAWParamsEdited::isUnchanged() const { return bayersensor.isUnchanged() && xtranssensor.isUnchanged() && ca_autocorrect && ca_avoidcolourshift && caautoiterations && cared && cablue && hotPixelFilter && deadPixelFilter && hotdeadpix_thresh && darkFrame - && df_autoselect && ff_file && ff_AutoSelect && ff_BlurRadius && ff_BlurType && exPos && ff_AutoClipControl && ff_clipControl; + && df_autoselect && ff_file && ff_AutoSelect && ff_FromMetaData && ff_BlurRadius && ff_BlurType && exPos && ff_AutoClipControl && ff_clipControl; } bool LensProfParamsEdited::isUnchanged() const @@ -6671,6 +7412,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : structexclu(v), struc(v), shapeMethod(v), + avoidgamutMethod(v), loc(v), centerX(v), centerY(v), @@ -6690,8 +7432,6 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : transitgrad(v), hishow(v), activ(v), - avoid(v), - avoidmun(v), blwh(v), recurs(v), laplac(v), @@ -6699,6 +7439,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : shortc(v), savrest(v), scopemask(v), + denoichmask(v), lumask(v), // Color & Light visicolor(v), @@ -6706,6 +7447,8 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : complexcolor(v), curvactiv(v), lightness(v), + reparcol(v), + gamc(v), contrast(v), chroma(v), labgridALow(v), @@ -6781,6 +7524,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : expchroma(v), sensiex(v), structexp(v), + gamex(v), blurexpde(v), strexp(v), angexp(v), @@ -6805,6 +7549,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : expMethod(v), exnoiseMethod(v), laplacexp(v), + reparexp(v), balanexp(v), linear(v), gamm(v), @@ -6843,6 +7588,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : slomaskSH(v), lapmaskSH(v), detailSH(v), + reparsh(v), LmaskSHcurve(v), fatamountSH(v), fatanchorSH(v), @@ -6858,6 +7604,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : complexvibrance(v), saturated(v), pastels(v), + vibgam(v), warm(v), psthreshold(v), protectskins(v), @@ -6934,6 +7681,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : noiselumc(v), noiselumdetail(v), noiselequal(v), + noisegam(v), noisechrof(v), noisechroc(v), noisechrodetail(v), @@ -6945,6 +7693,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : nlrad(v), nlgam(v), sensiden(v), + reparden(v), detailthr(v), locwavcurveden(v), locwavcurvehue(v), @@ -6976,6 +7725,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : gamma(v), estop(v), scaltm(v), + repartm(v), rewei(v), satur(v), sensitm(v), @@ -7050,6 +7800,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : shardamping(v), shariter(v), sharblur(v), + shargam(v), sensisha(v), inverssha(v), // Local Contrast @@ -7067,6 +7818,9 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : residshathr(v), residhi(v), residhithr(v), + gamlc(v), + residgam(v), + residslop(v), residblur(v), levelblur(v), sigmabl(v), @@ -7097,6 +7851,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : edgw(v), basew(v), sensilc(v), + reparw(v), fftwlc(v), blurlc(v), wavblur(v), @@ -7166,6 +7921,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : targetGray(v), catad(v), saturl(v), + chroml(v), lightl(v), lightq(v), contl(v), @@ -7226,7 +7982,111 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) : HHhmask_curve(v), Lmask_curve(v), LLmask_curvewav(v), - csthresholdmask(v) + csthresholdmask(v), + //ciecam + visicie(v), + complexcie(v), + expcie(v), + reparcie(v), + sensicie(v), + Autograycie(v), + forcejz(v), + forcebw(v), + qtoj(v), + jabcie(v), + sigmoidqjcie(v), + logcie(v), + logjz(v), + sigjz(v), + sigq(v), + chjzcie(v), + sourceGraycie(v), + sourceabscie(v), + sursourcie(v), + modecam(v), + modecie(v), + saturlcie(v), + rstprotectcie(v), + chromlcie(v), + huecie(v), + toneMethodcie(v), + ciecurve(v), + toneMethodcie2(v), + ciecurve2(v), + chromjzcie(v), + saturjzcie(v), + huejzcie(v), + softjzcie(v), + strsoftjzcie(v), + thrhjzcie(v), + jzcurve(v), + czcurve(v), + czjzcurve(v), + HHcurvejz(v), + CHcurvejz(v), + LHcurvejz(v), + lightlcie(v), + lightjzcie(v), + lightqcie(v), + contlcie(v), + contjzcie(v), + adapjzcie(v), + jz100(v), + pqremap(v), + pqremapcam16(v), + hljzcie(v), + hlthjzcie(v), + shjzcie(v), + shthjzcie(v), + radjzcie(v), + contthrescie(v), + blackEvjz(v), + whiteEvjz(v), + targetjz(v), + sigmoidldacie(v), + sigmoidthcie(v), + sigmoidblcie(v), + sigmoidldajzcie(v), + sigmoidthjzcie(v), + sigmoidbljzcie(v), + contqcie(v), + colorflcie(v), +/* + lightlzcam(v), + lightqzcam(v), + contlzcam(v), + contqzcam(v), + contthreszcam(v), + colorflzcam(v), + saturzcam(v), + chromzcam(v), +*/ + targabscie(v), + targetGraycie(v), + catadcie(v), + detailcie(v), + surroundcie(v), + enacieMask(v), + CCmaskciecurve(v), + LLmaskciecurve(v), + HHmaskciecurve(v), + blendmaskcie(v), + radmaskcie(v), + sigmalcjz(v), + clarilresjz(v), + claricresjz(v), + clarisoftjz(v), + locwavcurvejz(v), + csthresholdjz(v), + chromaskcie(v), + lapmaskcie(v), + gammaskcie(v), + slomaskcie(v), + Lmaskciecurve(v), + recothrescie(v), + lowthrescie(v), + higthrescie(v), + decaycie(v) { } @@ -7243,6 +8103,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) structexclu = v; struc = v; shapeMethod = v; + avoidgamutMethod = v; loc = v; centerX = v; centerY = v; @@ -7262,8 +8123,6 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) transitgrad = v; hishow = v; activ = v; - avoid = v; - avoidmun = v; blwh = v; recurs = v; laplac = v; @@ -7271,6 +8130,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) shortc = v; savrest = v; scopemask = v; + denoichmask = v; lumask = v; // Color & Light visicolor = v; @@ -7278,6 +8138,8 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) complexcolor = v; curvactiv = v; lightness = v; + reparcol = v; + gamc = v; contrast = v; chroma = v; labgridALow = v; @@ -7353,6 +8215,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) expchroma = v; sensiex = v; structexp = v; + gamex = v; blurexpde = v; strexp = v; angexp = v; @@ -7377,6 +8240,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) expMethod = v; exnoiseMethod = v; laplacexp = v; + reparexp = v; balanexp = v; linear = v; gamm = v; @@ -7419,6 +8283,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) slomaskSH = v; lapmaskSH = v; detailSH = v; + reparsh = v; LmaskSHcurve = v; fatamountSH = v; fatanchorSH = v; @@ -7434,6 +8299,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) complexvibrance = v; saturated = v; pastels = v; + vibgam = v; warm = v; psthreshold = v; protectskins = v; @@ -7510,6 +8376,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) noiselumc = v; noiselumdetail = v; noiselequal = v; + noisegam = v; noisechrof = v; noisechroc = v; noisechrodetail = v; @@ -7521,6 +8388,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) nlrad = v; nlgam = v; sensiden = v; + reparden = v; detailthr = v; locwavcurveden = v; showmaskblMethodtyp = v; @@ -7551,6 +8419,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) gamma = v; estop = v; scaltm = v; + repartm = v; rewei = v; satur = v; sensitm = v; @@ -7625,6 +8494,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) shardamping = v; shariter = v; sharblur = v; + shargam = v; sensisha = v; inverssha = v; // Local Contrast @@ -7642,6 +8512,9 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) residshathr = v; residhi = v; residhithr = v; + gamlc = v; + residgam = v; + residslop = v; residblur = v; levelblur = v; sigmabl = v; @@ -7672,6 +8545,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) edgw = v; basew = v; sensilc = v; + reparw = v; fftwlc = v; blurlc = v; wavblur = v; @@ -7745,6 +8619,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) targetGray = v; catad = v; saturl = v; + chroml = v; lightl = v; lightq = v; contl = v; @@ -7802,10 +8677,115 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v) shadmask = v; str_mask = v; ang_mask = v; - HHhmask_curve =(v); - Lmask_curve =(v); - LLmask_curvewav =(v); + HHhmask_curve = v; + Lmask_curve = v; + LLmask_curvewav = v; csthresholdmask = v; + //ciecam + visicie= v; + complexcie= v; + expcie = v; + reparcie = v; + sensicie = v; + Autograycie = v; + forcejz = v; + forcebw = v; + qtoj = v; + jabcie = v; + sigmoidqjcie = v; + logcie = v; + logjz = v; + sigjz = v; + sigq = v; + chjzcie = v; + sourceGraycie = v; + sourceabscie = v; + sursourcie = v; + modecam = v; + modecie = v; + saturlcie = v; + rstprotectcie = v; + chromlcie = v; + huecie = v; + toneMethodcie = v; + ciecurve = v; + toneMethodcie2 = v; + ciecurve2 = v; + chromjzcie = v; + saturjzcie = v; + huejzcie = v; + softjzcie = v; + strsoftjzcie = v; + thrhjzcie = v; + jzcurve = v; + czcurve = v; + czjzcurve = v; + HHcurvejz = v; + CHcurvejz = v; + LHcurvejz = v; + lightlcie = v; + lightjzcie = v; + lightqcie = v; + contlcie = v; + contjzcie = v; + adapjzcie = v; + jz100 = v; + pqremap = v; + pqremapcam16 = v; + hljzcie = v; + hlthjzcie = v; + shjzcie = v; + shthjzcie = v; + radjzcie = v; + contthrescie = v; + blackEvjz = v; + whiteEvjz = v; + targetjz = v; + sigmoidldacie = v; + sigmoidthcie = v; + sigmoidblcie = v; + sigmoidldajzcie = v; + sigmoidthjzcie = v; + sigmoidbljzcie = v; + contqcie = v; + colorflcie = v; +/* + lightlzcam = v; + lightqzcam = v; + contlzcam = v; + contqzcam = v; + contthreszcam = v; + colorflzcam = v; + saturzcam = v; + chromzcam = v; +*/ + targabscie = v; + targetGraycie = v; + catadcie = v; + detailcie = v; + surroundcie = v; + enacieMask = v; + CCmaskciecurve = v; + LLmaskciecurve = v; + HHmaskciecurve = v; + blendmaskcie = v; + radmaskcie = v; + sigmalcjz = v; + clarilresjz = v; + claricresjz = v; + clarisoftjz = v; + locwavcurvejz = v; + csthresholdjz = v; + chromaskcie = v; + lapmaskcie = v; + gammaskcie = v; + slomaskcie = v; + Lmaskciecurve = v; + recothrescie = v; + lowthrescie = v; + higthrescie = v; + decaycie = v; + } bool CaptureSharpeningParamsEdited::isUnchanged() const diff --git a/rtgui/paramsedited.h b/rtgui/paramsedited.h index a7306ba68..9e36d803b 100644 --- a/rtgui/paramsedited.h +++ b/rtgui/paramsedited.h @@ -109,7 +109,7 @@ struct LCurveParamsEdited { bool brightness; bool contrast; bool chromaticity; - bool avoidcolorshift; + bool gamutmunselmethod; bool rstprotection; bool lcurve; bool acurve; @@ -305,7 +305,6 @@ struct ColorAppearanceParamsEdited { bool ybout; bool tempsc; bool greensc; - bool presetcat02; }; struct DirPyrDenoiseParamsEdited { @@ -403,6 +402,7 @@ public: bool structexclu; bool struc; bool shapeMethod; + bool avoidgamutMethod; bool loc; bool centerX; bool centerY; @@ -422,8 +422,6 @@ public: bool transitgrad; bool hishow; bool activ; - bool avoid; - bool avoidmun; bool blwh; bool recurs; bool laplac; @@ -431,6 +429,7 @@ public: bool shortc; bool savrest; bool scopemask; + bool denoichmask; bool lumask; // Color & Light bool visicolor; @@ -438,6 +437,8 @@ public: bool complexcolor; bool curvactiv; bool lightness; + bool reparcol; + bool gamc; bool contrast; bool chroma; bool labgridALow; @@ -513,6 +514,7 @@ public: bool expchroma; bool sensiex; bool structexp; + bool gamex; bool blurexpde; bool strexp; bool angexp; @@ -537,6 +539,7 @@ public: bool expMethod; bool exnoiseMethod; bool laplacexp; + bool reparexp; bool balanexp; bool linear; bool gamm; @@ -575,6 +578,7 @@ public: bool slomaskSH; bool lapmaskSH; bool detailSH; + bool reparsh; bool LmaskSHcurve; bool fatamountSH; bool fatanchorSH; @@ -590,6 +594,7 @@ public: bool complexvibrance; bool saturated; bool pastels; + bool vibgam; bool warm; bool psthreshold; bool protectskins; @@ -666,6 +671,7 @@ public: bool noiselumc; bool noiselumdetail; bool noiselequal; + bool noisegam; bool noisechrof; bool noisechroc; bool noisechrodetail; @@ -677,6 +683,7 @@ public: bool nlrad; bool nlgam; bool sensiden; + bool reparden; bool detailthr; bool locwavcurveden; bool locwavcurvehue; @@ -708,6 +715,7 @@ public: bool gamma; bool estop; bool scaltm; + bool repartm; bool rewei; bool satur; bool sensitm; @@ -782,6 +790,7 @@ public: bool shardamping; bool shariter; bool sharblur; + bool shargam; bool sensisha; bool inverssha; // Local Contrast @@ -799,6 +808,9 @@ public: bool residshathr; bool residhi; bool residhithr; + bool gamlc; + bool residgam; + bool residslop; bool residblur; bool levelblur; bool sigmabl; @@ -829,6 +841,7 @@ public: bool edgw; bool basew; bool sensilc; + bool reparw; bool fftwlc; bool blurlc; bool wavblur; @@ -898,6 +911,7 @@ public: bool targetGray; bool catad; bool saturl; + bool chroml; bool lightl; bool lightq; bool contl; @@ -959,6 +973,110 @@ public: bool Lmask_curve; bool LLmask_curvewav; bool csthresholdmask; + //locallabcie + bool visicie; + bool complexcie; + bool expcie; + bool reparcie; + bool sensicie; + bool Autograycie; + bool forcejz; + bool forcebw; + bool qtoj; + bool jabcie; + bool sigmoidqjcie; + bool logcie; + bool logjz; + bool sigjz; + bool sigq; + bool chjzcie; + bool sourceGraycie; + bool sourceabscie; + bool sursourcie; + bool modecam; + bool modecie; + bool saturlcie; + bool rstprotectcie; + bool chromlcie; + bool huecie; + bool toneMethodcie; + bool ciecurve; + bool toneMethodcie2; + bool ciecurve2; + bool chromjzcie; + bool saturjzcie; + bool huejzcie; + bool softjzcie; + bool strsoftjzcie; + bool thrhjzcie; + bool jzcurve; + bool czcurve; + bool czjzcurve; + bool HHcurvejz; + bool CHcurvejz; + bool LHcurvejz; + bool lightlcie; + bool lightjzcie; + bool lightqcie; + bool contlcie; + bool contjzcie; + bool adapjzcie; + bool jz100; + bool pqremap; + bool pqremapcam16; + bool hljzcie; + bool hlthjzcie; + bool shjzcie; + bool shthjzcie; + bool radjzcie; + bool contthrescie; + bool blackEvjz; + bool whiteEvjz; + bool targetjz; + bool sigmoidldacie; + bool sigmoidthcie; + bool sigmoidblcie; + bool sigmoidldajzcie; + bool sigmoidthjzcie; + bool sigmoidbljzcie; + bool contqcie; + bool colorflcie; +/* + bool lightlzcam; + bool lightqzcam; + bool contlzcam; + bool contqzcam; + bool contthreszcam; + bool colorflzcam; + bool saturzcam; + bool chromzcam; +*/ + bool targabscie; + bool targetGraycie; + bool catadcie; + bool detailcie; + bool surroundcie; + bool enacieMask; + bool CCmaskciecurve; + bool LLmaskciecurve; + bool HHmaskciecurve; + bool blendmaskcie; + bool radmaskcie; + bool sigmalcjz; + bool clarilresjz; + bool claricresjz; + bool clarisoftjz; + bool locwavcurvejz; + bool csthresholdjz; + bool chromaskcie; + bool lapmaskcie; + bool gammaskcie; + bool slomaskcie; + bool Lmaskciecurve; + bool recothrescie; + bool lowthrescie; + bool higthrescie; + bool decaycie; LocallabSpotEdited(bool v); @@ -1076,10 +1194,19 @@ struct ResizeParamsEdited { bool dataspec; bool width; bool height; + bool longedge; + bool shortedge; bool enabled; bool allowUpscaling; }; +class SpotParamsEdited +{ +public: + bool enabled; + bool entries; +}; + struct ColorManagementParamsEdited { bool inputProfile; bool toneCurve; @@ -1092,7 +1219,26 @@ struct ColorManagementParamsEdited { bool workingTRC; bool workingTRCGamma; bool workingTRCSlope; - + bool will; + bool wprim; + bool redx; + bool redy; + bool grex; + bool grey; + bool blux; + bool bluy; + bool preser; + bool fbw; + bool gamut; + bool labgridcieALow; + bool labgridcieBLow; + bool labgridcieAHigh; + bool labgridcieBHigh; + bool labgridcieGx; + bool labgridcieGy; + bool labgridcieWx; + bool labgridcieWy; + bool aRendIntent; bool outputProfile; bool outputIntent; bool outputBPC; @@ -1134,7 +1280,7 @@ struct WaveletParamsEdited { bool Backmethod; bool Tilesmethod; bool complexmethod; - bool denmethod; + //bool denmethod; bool mixmethod; bool slimethod; bool quamethod; @@ -1188,7 +1334,7 @@ struct WaveletParamsEdited { bool levelsigm; bool ccwcurve; bool blcurve; - bool opacityCurveSH; + //bool opacityCurveSH; bool opacityCurveBY; bool wavdenoise; bool wavdenoiseh; @@ -1297,6 +1443,7 @@ struct RAWParamsEdited { bool pixelShiftShowMotionMaskOnly; bool pixelShiftHoleFill; bool pixelShiftMedian; + bool pixelShiftAverage; bool pixelShiftGreen; bool pixelShiftBlur; bool pixelShiftSmooth; @@ -1341,6 +1488,7 @@ struct RAWParamsEdited { bool df_autoselect; bool ff_file; bool ff_AutoSelect; + bool ff_FromMetaData; bool ff_BlurRadius; bool ff_BlurType; bool ff_AutoClipControl; @@ -1413,6 +1561,7 @@ struct ParamsEdited { ChannelMixerParamsEdited chmixer; BlackWhiteParamsEdited blackwhite; ResizeParamsEdited resize; + SpotParamsEdited spot; ColorManagementParamsEdited icm; RAWParamsEdited raw; DirPyrEqualizerParamsEdited dirpyrequalizer; diff --git a/rtgui/partialpastedlg.cc b/rtgui/partialpastedlg.cc index c759bcd44..81847adc0 100644 --- a/rtgui/partialpastedlg.cc +++ b/rtgui/partialpastedlg.cc @@ -35,9 +35,9 @@ PartialSpotWidget::PartialSpotWidget(): // Widget listener selListener(nullptr) { - + set_orientation(Gtk::ORIENTATION_VERTICAL); - + // Configure tree view treeview->set_model(treemodel); treeview->set_enable_search(false); @@ -226,6 +226,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren labcurve = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_LABCURVE"))); // Detail Settings: + spot = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SPOT"))); sharpen = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SHARPENING"))); localcontrast = Gtk::manage(new Gtk::CheckButton(M("PARTIALPASTE_LOCALCONTRAST"))); sharpenedge = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_SHARPENEDGE"))); @@ -300,6 +301,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren //--- ff_file = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDFILE"))); ff_AutoSelect = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDAUTOSELECT"))); + ff_FromMetaData = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDFROMMETADATA"))); ff_BlurType = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDBLURTYPE"))); ff_BlurRadius = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDBLURRADIUS"))); ff_ClipControl = Gtk::manage (new Gtk::CheckButton (M("PARTIALPASTE_FLATFIELDCLIPCONTROL"))); @@ -339,8 +341,9 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren //DETAIL vboxes[1]->pack_start (*detail, Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*hseps[1], Gtk::PACK_SHRINK, 2); + vboxes[1]->pack_start (*spot, Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*sharpen, Gtk::PACK_SHRINK, 2); - vboxes[1]->pack_start (*localcontrast, Gtk::PACK_SHRINK, 2); + vboxes[1]->pack_start (*localcontrast, Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*sharpenedge, Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*sharpenmicro, Gtk::PACK_SHRINK, 2); vboxes[1]->pack_start (*impden, Gtk::PACK_SHRINK, 2); @@ -421,6 +424,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren vboxes[8]->pack_start (*Gtk::manage (new Gtk::Separator(Gtk::ORIENTATION_HORIZONTAL)), Gtk::PACK_SHRINK, 0); vboxes[8]->pack_start (*ff_file, Gtk::PACK_SHRINK, 2); vboxes[8]->pack_start (*ff_AutoSelect, Gtk::PACK_SHRINK, 2); + vboxes[8]->pack_start (*ff_FromMetaData, Gtk::PACK_SHRINK, 2); vboxes[8]->pack_start (*ff_BlurType, Gtk::PACK_SHRINK, 2); vboxes[8]->pack_start (*ff_BlurRadius, Gtk::PACK_SHRINK, 2); vboxes[8]->pack_start (*ff_ClipControl, Gtk::PACK_SHRINK, 2); @@ -501,6 +505,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren labcurveConn = labcurve->signal_toggled().connect (sigc::bind (sigc::mem_fun(*basic, &Gtk::CheckButton::set_inconsistent), true)); // Detail Settings: + spotConn = spot->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); sharpenConn = sharpen->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); localcontrastConn = localcontrast->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); gradsharpenConn = sharpenedge->signal_toggled().connect (sigc::bind (sigc::mem_fun(*detail, &Gtk::CheckButton::set_inconsistent), true)); @@ -571,6 +576,7 @@ PartialPasteDlg::PartialPasteDlg (const Glib::ustring &title, Gtk::Window* paren //--- ff_fileConn = ff_file->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); ff_AutoSelectConn = ff_AutoSelect->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); + ff_FromMetaDataConn = ff_FromMetaData->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); ff_BlurTypeConn = ff_BlurType->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); ff_BlurRadiusConn = ff_BlurRadius->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); ff_ClipControlConn = ff_ClipControl->signal_toggled().connect (sigc::bind (sigc::mem_fun(*raw, &Gtk::CheckButton::set_inconsistent), true)); @@ -652,6 +658,7 @@ void PartialPasteDlg::rawToggled () ConnectionBlocker df_AutoSelectBlocker(df_AutoSelectConn); ConnectionBlocker ff_fileBlocker(ff_fileConn); ConnectionBlocker ff_AutoSelectBlocker(ff_AutoSelectConn); + ConnectionBlocker ff_FromMetaDataBlocker(ff_FromMetaDataConn); ConnectionBlocker ff_BlurTypeBlocker(ff_BlurTypeConn); ConnectionBlocker ff_BlurRadiusBlocker(ff_BlurRadiusConn); ConnectionBlocker ff_ClipControlBlocker(ff_ClipControlConn); @@ -682,6 +689,7 @@ void PartialPasteDlg::rawToggled () df_AutoSelect->set_active (raw->get_active ()); ff_file->set_active (raw->get_active ()); ff_AutoSelect->set_active (raw->get_active ()); + ff_FromMetaData->set_active (raw->get_active ()); ff_BlurType->set_active (raw->get_active ()); ff_BlurRadius->set_active (raw->get_active ()); ff_ClipControl->set_active (raw->get_active ()); @@ -719,6 +727,7 @@ void PartialPasteDlg::basicToggled () void PartialPasteDlg::detailToggled () { + ConnectionBlocker spotBlocker(spotConn); ConnectionBlocker sharpenBlocker(sharpenConn); ConnectionBlocker localcontrastBlocker(localcontrastConn); ConnectionBlocker gradsharpenBlocker(gradsharpenConn); @@ -731,6 +740,7 @@ void PartialPasteDlg::detailToggled () detail->set_inconsistent (false); + spot->set_active (detail->get_active ()); sharpen->set_active (detail->get_active ()); localcontrast->set_active(detail->get_active()); sharpenedge->set_active (detail->get_active ()); @@ -912,6 +922,10 @@ void PartialPasteDlg::applyPaste (rtengine::procparams::ProcParams* dstPP, Param filterPE.colorappearance = falsePE.colorappearance; } + if (!spot->get_active ()) { + filterPE.spot = falsePE.spot; + } + if (!sharpen->get_active ()) { filterPE.sharpening = falsePE.sharpening; } @@ -975,7 +989,7 @@ void PartialPasteDlg::applyPaste (rtengine::procparams::ProcParams* dstPP, Param if (!dehaze->get_active ()) { filterPE.dehaze = falsePE.dehaze; } - + if (!rgbcurves->get_active ()) { filterPE.rgbCurves = falsePE.rgbCurves; } @@ -1096,6 +1110,7 @@ void PartialPasteDlg::applyPaste (rtengine::procparams::ProcParams* dstPP, Param filterPE.raw.bayersensor.pixelShiftHoleFill = falsePE.raw.bayersensor.pixelShiftHoleFill; filterPE.raw.bayersensor.pixelShiftDemosaicMethod = falsePE.raw.bayersensor.pixelShiftDemosaicMethod; filterPE.raw.bayersensor.pixelShiftMedian = falsePE.raw.bayersensor.pixelShiftMedian; + filterPE.raw.bayersensor.pixelShiftAverage = falsePE.raw.bayersensor.pixelShiftAverage; filterPE.raw.bayersensor.pixelShiftMotionCorrectionMethod = falsePE.raw.bayersensor.pixelShiftMotionCorrectionMethod; filterPE.raw.bayersensor.pixelShiftNonGreenCross = falsePE.raw.bayersensor.pixelShiftNonGreenCross; filterPE.raw.bayersensor.pixelShiftSigma = falsePE.raw.bayersensor.pixelShiftSigma; @@ -1163,6 +1178,10 @@ void PartialPasteDlg::applyPaste (rtengine::procparams::ProcParams* dstPP, Param filterPE.raw.ff_AutoSelect = falsePE.raw.ff_AutoSelect; } + if (!ff_FromMetaData->get_active ()) { + filterPE.raw.ff_FromMetaData = falsePE.raw.ff_FromMetaData; + } + if (!ff_BlurRadius->get_active ()) { filterPE.raw.ff_BlurRadius = falsePE.raw.ff_BlurRadius; } @@ -1224,6 +1243,9 @@ void PartialPasteDlg::applyPaste (rtengine::procparams::ProcParams* dstPP, Param if (!chosenSpots.at(i)) { tmpPP.locallab.spots.erase(tmpPP.locallab.spots.begin() + i); tmpPE.locallab.spots.erase(tmpPE.locallab.spots.begin() + i); + + // Locallab Selspot param shall be kept in vector size limit + tmpPP.locallab.selspot = std::max(0, std::min(tmpPP.locallab.selspot, (int)tmpPP.locallab.spots.size() - 1)); } } @@ -1250,16 +1272,23 @@ void PartialPasteDlg::updateSpotWidget(const rtengine::procparams::ProcParams* p void PartialPasteDlg::partialSpotUpdated(const UpdateStatus status) { + locallabConn.block(true); + switch (status) { case (AllSelection): locallab->set_active(true); + locallab->set_inconsistent(false); break; case (NoSelection): locallab->set_active(false); + locallab->set_inconsistent(false); break; case (PartialSelection): + locallab->set_active(false); locallab->set_inconsistent(true); } + + locallabConn.block(false); } diff --git a/rtgui/partialpastedlg.h b/rtgui/partialpastedlg.h index c61408df7..dcf44bb72 100644 --- a/rtgui/partialpastedlg.h +++ b/rtgui/partialpastedlg.h @@ -142,6 +142,7 @@ public: Gtk::CheckButton* colorappearance; // options in detail: + Gtk::CheckButton* spot; Gtk::CheckButton* sharpen; Gtk::CheckButton* sharpenedge; Gtk::CheckButton* sharpenmicro; @@ -213,6 +214,7 @@ public: Gtk::CheckButton* df_AutoSelect; Gtk::CheckButton* ff_file; Gtk::CheckButton* ff_AutoSelect; + Gtk::CheckButton* ff_FromMetaData; Gtk::CheckButton* ff_BlurRadius; Gtk::CheckButton* ff_BlurType; Gtk::CheckButton* ff_ClipControl; @@ -224,12 +226,12 @@ public: sigc::connection everythingConn, basicConn, detailConn, colorConn, lensConn, compositionConn, metaConn, rawConn, advancedConn; sigc::connection locallabConn; sigc::connection wbConn, exposureConn, localcontrastConn, shConn, pcvignetteConn, gradientConn, labcurveConn, colorappearanceConn; - sigc::connection sharpenConn, gradsharpenConn, microcontrastConn, impdenConn, dirpyrdenConn, defringeConn, epdConn, fattalConn, dirpyreqConn, waveletConn, retinexConn, dehazeConn; + sigc::connection spotConn, sharpenConn, gradsharpenConn, microcontrastConn, impdenConn, dirpyrdenConn, defringeConn, epdConn, fattalConn, dirpyreqConn, waveletConn, retinexConn, dehazeConn; sigc::connection vibranceConn, chmixerConn, hsveqConn, rgbcurvesConn, chmixerbwConn, colortoningConn, filmSimulationConn, softlightConn; sigc::connection distortionConn, cacorrConn, vignettingConn, lcpConn; sigc::connection coarserotConn, finerotConn, cropConn, resizeConn, prsharpeningConn, perspectiveConn, commonTransConn; sigc::connection metadataConn, exifchConn, iptcConn, icmConn; - sigc::connection df_fileConn, df_AutoSelectConn, ff_fileConn, ff_AutoSelectConn, ff_BlurRadiusConn, ff_BlurTypeConn, ff_ClipControlConn; + sigc::connection df_fileConn, df_AutoSelectConn, ff_fileConn, ff_AutoSelectConn, ff_FromMetaDataConn, ff_BlurRadiusConn, ff_BlurTypeConn, ff_ClipControlConn; sigc::connection raw_caredblueConn, raw_ca_autocorrectConn, raw_ca_avoid_colourshiftconn, raw_hotpix_filtConn, raw_deadpix_filtConn, raw_pdaf_lines_filterConn, raw_linenoiseConn, raw_greenthreshConn, raw_ccStepsConn, raw_methodConn, raw_borderConn, raw_imagenumConn, raw_dcb_iterationsConn, raw_lmmse_iterationsConn, raw_pixelshiftConn, raw_dcb_enhanceConn, raw_exposConn, raw_blackConn; sigc::connection filmNegativeConn; sigc::connection captureSharpeningConn; diff --git a/rtgui/perspective.cc b/rtgui/perspective.cc index b3fabd31a..fa0b24247 100644 --- a/rtgui/perspective.cc +++ b/rtgui/perspective.cc @@ -96,7 +96,7 @@ PerspCorrection::PerspCorrection () : FoldableToolPanel(this, "perspective", M(" EvPerspProjAngle = mapper->newEvent(TRANSFORM, "HISTORY_MSG_PERSP_PROJ_ANGLE"); EvPerspProjRotate = mapper->newEvent(TRANSFORM, "HISTORY_MSG_PERSP_PROJ_ROTATE"); EvPerspProjShift = mapper->newEvent(TRANSFORM, "HISTORY_MSG_PERSP_PROJ_SHIFT"); - EvPerspRender = mapper->newEvent(TRANSFORM); + EvPerspRender = mapper->newEvent(TRANSFORM, "GENERAL_NA"); // Void events. EvPerspCamAngleVoid = mapper->newEvent(M_VOID, "HISTORY_MSG_PERSP_CAM_ANGLE"); EvPerspCamFocalLengthVoid = mapper->newEvent(M_VOID, "HISTORY_MSG_PERSP_CAM_FL"); @@ -160,10 +160,10 @@ PerspCorrection::PerspCorrection () : FoldableToolPanel(this, "perspective", M(" Gtk::Box* camera_vbox = Gtk::manage (new Gtk::Box(Gtk::ORIENTATION_VERTICAL)); - camera_focal_length = Gtk::manage (new Adjuster (M("TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH"), 0.5, 2000, 0.01, 24)); + camera_focal_length = Gtk::manage (new Adjuster (M("TP_PERSPECTIVE_CAMERA_FOCAL_LENGTH"), 0.5, 2000, 0.01, PerspectiveParams::DEFAULT_CAMERA_FOCAL_LENGTH)); camera_focal_length->setAdjusterListener (this); - camera_crop_factor = Gtk::manage (new Adjuster (M("TP_PERSPECTIVE_CAMERA_CROP_FACTOR"), 0.1, 30, 0.01, 1)); + camera_crop_factor = Gtk::manage (new Adjuster (M("TP_PERSPECTIVE_CAMERA_CROP_FACTOR"), 0.1, 30, 0.01, PerspectiveParams::DEFAULT_CAMERA_CROP_FACTOR)); camera_crop_factor->setAdjusterListener (this); camera_shift_horiz = Gtk::manage (new Adjuster (M("TP_PERSPECTIVE_CAMERA_SHIFT_HORIZONTAL"), -50, 50, 0.01, 0)); @@ -351,18 +351,37 @@ void PerspCorrection::read (const ProcParams* pp, const ParamsEdited* pedited) method->set_active (1); } + updateApplyDeleteButtons(); + enableListener (); } void PerspCorrection::write (ProcParams* pp, ParamsEdited* pedited) { + // If any of these are non-zero, the focal length and crop factor must be + // updated to ensure they won't be auto-filled from metadata later. This + // prevents surprise changes to the perspective correction results. + const bool update_fl = camera_pitch->getValue() != 0 || + camera_yaw->getValue() != 0 || + projection_pitch->getValue() != 0 || + projection_yaw->getValue() != 0; pp->perspective.render = render; pp->perspective.horizontal = horiz->getValue (); pp->perspective.vertical = vert->getValue (); - pp->perspective.camera_crop_factor= camera_crop_factor->getValue (); - pp->perspective.camera_focal_length = camera_focal_length->getValue (); + if (update_fl || pp->perspective.camera_crop_factor > 0 || + std::abs(camera_crop_factor->getValue() - PerspectiveParams::DEFAULT_CAMERA_CROP_FACTOR) > 1e-5) { + // Update if update_fl is true or the crop factor has previously been + // set or if the adjuster has changed from the default value. + pp->perspective.camera_crop_factor = camera_crop_factor->getValue (); + } + if (update_fl || pp->perspective.camera_focal_length > 0 || + std::abs(camera_focal_length->getValue() - PerspectiveParams::DEFAULT_CAMERA_FOCAL_LENGTH) > 1e-4) { + // Update if update_fl is true or the focal length has previously been + // set or if the adjuster has changed from the default value. + pp->perspective.camera_focal_length = camera_focal_length->getValue (); + } pp->perspective.camera_pitch = camera_pitch->getValue (); pp->perspective.camera_roll = camera_roll->getValue (); pp->perspective.camera_shift_horiz = camera_shift_horiz->getValue (); @@ -410,8 +429,12 @@ void PerspCorrection::setDefaults (const ProcParams* defParams, const ParamsEdit horiz->setDefault (defParams->perspective.horizontal); vert->setDefault (defParams->perspective.vertical); - camera_crop_factor->setDefault (defParams->perspective.camera_crop_factor); - camera_focal_length->setDefault (defParams->perspective.camera_focal_length); + camera_crop_factor->setDefault(defParams->perspective.camera_crop_factor > 0 + ? defParams->perspective.camera_crop_factor + : PerspectiveParams::DEFAULT_CAMERA_CROP_FACTOR); + camera_focal_length->setDefault(defParams->perspective.camera_focal_length > 0 + ? defParams->perspective.camera_focal_length + : PerspectiveParams::DEFAULT_CAMERA_FOCAL_LENGTH); camera_pitch->setDefault (defParams->perspective.camera_pitch); camera_roll->setDefault (defParams->perspective.camera_roll); camera_shift_horiz->setDefault (defParams->perspective.camera_shift_horiz); @@ -517,22 +540,16 @@ void PerspCorrection::applyControlLines(void) } std::vector control_lines; - int h_count = 0, v_count = 0; double rot = camera_roll->getValue(); double pitch = camera_pitch->getValue(); double yaw = camera_yaw->getValue(); lines->toControlLines(control_lines); - for (unsigned int i = 0; i < lines->size(); i++) { - if (control_lines[i].type == rtengine::ControlLine::HORIZONTAL) { - h_count++; - } else if (control_lines[i].type == rtengine::ControlLine::VERTICAL) { - v_count++; - } - } - lens_geom_listener->autoPerspRequested(v_count > 1, h_count > 1, rot, pitch, - yaw, &control_lines); + lens_geom_listener->autoPerspRequested( + lines->getVerticalCount() >= MIN_VERT_LINES, + lines->getHorizontalCount() >= MIN_HORIZ_LINES, + rot, pitch, yaw, &control_lines); disableListener(); camera_pitch->setValue(pitch); @@ -543,6 +560,11 @@ void PerspCorrection::applyControlLines(void) adjusterChanged(camera_pitch, pitch); } +void PerspCorrection::tweakParams(rtengine::procparams::ProcParams &pparams) +{ + pparams.perspective.render = render; +} + void PerspCorrection::autoCorrectionPressed(Gtk::Button* b) { if (!lens_geom_listener) { @@ -635,8 +657,13 @@ void PerspCorrection::trimValues (rtengine::procparams::ProcParams* pp) horiz->trimValue(pp->perspective.horizontal); vert->trimValue(pp->perspective.vertical); - camera_crop_factor->trimValue(pp->perspective.camera_crop_factor); - camera_focal_length->trimValue(pp->perspective.camera_focal_length); + // Only update crop factor and focal length if they have been manually set. + if (pp->perspective.camera_crop_factor > 0) { + camera_crop_factor->trimValue(pp->perspective.camera_crop_factor); + } + if (pp->perspective.camera_focal_length > 0) { + camera_focal_length->trimValue(pp->perspective.camera_focal_length); + } camera_pitch->trimValue(pp->perspective.camera_pitch); camera_roll->trimValue(pp->perspective.camera_roll); camera_shift_horiz->trimValue(pp->perspective.camera_shift_horiz); @@ -678,10 +705,25 @@ void PerspCorrection::setBatchMode (bool batchMode) void PerspCorrection::setFocalLengthValue (const ProcParams* pparams, const FramesMetaData* metadata) { - const double pp_crop_factor = pparams->perspective.camera_crop_factor; - const double pp_focal_length = pparams->perspective.camera_focal_length; - double default_crop_factor = 1.0; - double default_focal_length = 24.0; + double pp_crop_factor = pparams->perspective.camera_crop_factor; + double pp_focal_length = pparams->perspective.camera_focal_length; + double default_crop_factor = PerspectiveParams::DEFAULT_CAMERA_CROP_FACTOR; + double default_focal_length = PerspectiveParams::DEFAULT_CAMERA_FOCAL_LENGTH; + + // If any of these values are non-zero, don't set the crop factor or focal + // length from metadata to avoid a surprise change in perspective correction + // results. + if (pparams->perspective.camera_pitch != 0 || + pparams->perspective.camera_yaw != 0 || + pparams->perspective.projection_pitch != 0 || + pparams->perspective.projection_yaw != 0) { + if (pp_crop_factor <= 0) { + pp_crop_factor = PerspectiveParams::DEFAULT_CAMERA_CROP_FACTOR; + } + if (pp_focal_length <= 0) { + pp_focal_length = PerspectiveParams::DEFAULT_CAMERA_FOCAL_LENGTH; + } + } // Defaults from metadata. if (metadata && (pp_crop_factor <= 0 || pp_focal_length <= 0)) { @@ -709,13 +751,13 @@ void PerspCorrection::setFocalLengthValue (const ProcParams* pparams, const Fram // Change value if those from the ProcParams are invalid. if (pp_crop_factor > 0) { - camera_crop_factor->setValue(pparams->perspective.camera_crop_factor); + camera_crop_factor->setValue(pp_crop_factor); } else { camera_crop_factor->setDefault(default_crop_factor); camera_crop_factor->setValue(default_crop_factor); } if (pp_focal_length > 0) { - camera_focal_length->setValue(pparams->perspective.camera_focal_length); + camera_focal_length->setValue(pp_focal_length); } else { camera_focal_length->setDefault(default_focal_length); camera_focal_length->setValue(default_focal_length); @@ -734,11 +776,29 @@ void PerspCorrection::setEditProvider(EditDataProvider* provider) void PerspCorrection::lineChanged(void) { + updateApplyDeleteButtons(); + if (listener) { listener->panelChanged(EvPerspControlLines, M("HISTORY_CHANGED")); } } +void PerspCorrection::updateApplyDeleteButtons() +{ + if (batchMode) { + return; + } + + bool edit_mode = lines_button_edit->get_active(); + bool enough_lines = lines->getHorizontalCount() >= MIN_HORIZ_LINES || lines->getVerticalCount() >= MIN_VERT_LINES; + const auto tooltip = M("GENERAL_APPLY") + + ((edit_mode && !enough_lines) ? "\n\n" + M("TP_PERSPECTIVE_CONTROL_LINE_APPLY_INVALID_TOOLTIP") : ""); + + lines_button_apply->set_sensitive(edit_mode && enough_lines); + lines_button_apply->set_tooltip_text(tooltip); + lines_button_erase->set_sensitive(edit_mode && lines->size() > 0); +} + void PerspCorrection::linesApplyButtonPressed(void) { if (method->get_active_row_number() == 1) { @@ -754,8 +814,9 @@ void PerspCorrection::linesEditButtonPressed(void) lines->setActive(true); lines->setDrawMode(true); render = false; - if (lens_geom_listener) { - lens_geom_listener->updateTransformPreviewRequested(EvPerspRender, false); + if (listener) { + listener->setTweakOperator(this); + listener->refreshPreview(EvPerspRender); } lines_button_apply->set_sensitive(true); lines_button_erase->set_sensitive(true); @@ -768,15 +829,18 @@ void PerspCorrection::linesEditButtonPressed(void) lines_button_apply->set_sensitive(false); lines_button_erase->set_sensitive(false); render = true; - if (lens_geom_listener) { - lens_geom_listener->updateTransformPreviewRequested(EvPerspRender, true); + if (listener) { + listener->unsetTweakOperator(this); + listener->refreshPreview(EvPerspRender); } + lines->releaseEdit(); lines->setDrawMode(false); lines->setActive(false); if (panel_listener) { panel_listener->controlLineEditModeChanged(false); } } + updateApplyDeleteButtons(); } void PerspCorrection::linesEraseButtonPressed(void) @@ -788,6 +852,8 @@ void PerspCorrection::requestApplyControlLines(void) { if (lines_button_apply->is_sensitive()) { linesApplyButtonPressed(); + } else if (lines_button_edit->get_active()) { + lines_button_edit->set_active(false); } } diff --git a/rtgui/perspective.h b/rtgui/perspective.h index 3c677ba6e..404b02010 100644 --- a/rtgui/perspective.h +++ b/rtgui/perspective.h @@ -24,6 +24,7 @@ #include "controllines.h" #include "lensgeomlistener.h" #include "toolpanel.h" +#include "../rtengine/tweakoperator.h" class PerspCorrectionPanelListener { @@ -34,6 +35,7 @@ public: }; class PerspCorrection final : + public rtengine::TweakOperator, public ToolParamBlock, public AdjusterListener, public FoldableToolPanel @@ -91,11 +93,18 @@ protected: const rtengine::FramesMetaData* metadata; void applyControlLines (void); + void tweakParams(rtengine::procparams::ProcParams &pparams) override; void setCamBasedEventsActive (bool active = true); void setFocalLengthValue (const rtengine::procparams::ProcParams* pparams, const rtengine::FramesMetaData* metadata); + void updateApplyDeleteButtons(); public: + /** Minimum number of horizontal lines for horizontal/full correction. */ + static constexpr std::size_t MIN_HORIZ_LINES = 2; + /** Minimum number of vertical lines for vertical/full correction. */ + static constexpr std::size_t MIN_VERT_LINES = 2; + PerspCorrection (); void read (const rtengine::procparams::ProcParams* pp, const ParamsEdited* pedited = nullptr) override; diff --git a/rtgui/popupcommon.cc b/rtgui/popupcommon.cc index 8c4c9dda1..a6d9b6046 100644 --- a/rtgui/popupcommon.cc +++ b/rtgui/popupcommon.cc @@ -27,7 +27,7 @@ PopUpCommon::PopUpCommon (Gtk::Button* thisButton, const Glib::ustring& label) : buttonImage (nullptr) - , menu (nullptr) + , menu(new Gtk::Menu()) , selected (-1) // -1 means that the button is invalid { button = thisButton; @@ -48,59 +48,153 @@ PopUpCommon::PopUpCommon (Gtk::Button* thisButton, const Glib::ustring& label) setExpandAlignProperties(buttonGroup, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); buttonGroup->attach(*button, 0, 0, 1, 1); buttonGroup->get_style_context()->add_class("image-combo"); + + // Create the image for the button + buttonImage = Gtk::manage(new RTImage()); + setExpandAlignProperties(buttonImage, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); + imageContainer->attach_next_to(*buttonImage, Gtk::POS_RIGHT, 1, 1); + buttonImage->set_no_show_all(); + + // Create the button for showing the pop-up. + arrowButton = Gtk::manage(new Gtk::Button()); + Gtk::Image *arrowImage = Gtk::manage(new Gtk::Image()); + arrowImage->set_from_icon_name("pan-down-symbolic", Gtk::ICON_SIZE_BUTTON); + setExpandAlignProperties(arrowButton, false, false, Gtk::ALIGN_CENTER, Gtk::ALIGN_FILL); + arrowButton->add(*arrowImage); //menuSymbol); + arrowImage->show(); + buttonGroup->attach_next_to(*arrowButton, *button, Gtk::POS_RIGHT, 1, 1); + arrowButton->signal_button_release_event().connect_notify(sigc::mem_fun(*this, &PopUpCommon::showMenu)); + arrowButton->get_style_context()->add_class("Right"); + arrowButton->get_style_context()->add_class("popupbutton-arrow"); + arrowButton->set_no_show_all(); } PopUpCommon::~PopUpCommon () { - delete menu; - delete buttonImage; } -bool PopUpCommon::addEntry (const Glib::ustring& fileName, const Glib::ustring& label) +bool PopUpCommon::addEntry (const Glib::ustring& fileName, const Glib::ustring& label, Gtk::RadioButtonGroup* radioGroup) { - if (label.empty ()) - return false; + return insertEntry(getEntryCount(), fileName, label, radioGroup); +} + +bool PopUpCommon::insertEntry(int position, const Glib::ustring& fileName, const Glib::ustring& label, Gtk::RadioButtonGroup *radioGroup) +{ + RTImage* image = nullptr; + if (!fileName.empty()) { + image = Gtk::manage(new RTImage(fileName)); + } + bool success = insertEntryImpl(position, fileName, Glib::RefPtr(), image, label, radioGroup); + if (!success && image) { + delete image; + } + return success; +} + +bool PopUpCommon::insertEntry(int position, const Glib::RefPtr& gIcon, const Glib::ustring& label, Gtk::RadioButtonGroup *radioGroup) +{ + RTImage* image = Gtk::manage(new RTImage(gIcon, Gtk::ICON_SIZE_BUTTON)); + bool success = insertEntryImpl(position, "", gIcon, image, label, radioGroup); + if (!success) { + delete image; + } + return success; +} + +bool PopUpCommon::insertEntryImpl(int position, const Glib::ustring& fileName, const Glib::RefPtr& gIcon, RTImage* image, const Glib::ustring& label, Gtk::RadioButtonGroup* radioGroup) +{ + if (label.empty() || position < 0 || position > getEntryCount()) + return false; // Create the menu item and image - MyImageMenuItem* newItem = Gtk::manage (new MyImageMenuItem (label, fileName)); - imageFilenames.push_back (fileName); - images.push_back (newItem->getImage ()); - - if (selected == -1) { - // Create the menu on the first item - menu = new Gtk::Menu (); - // Create the image for the button - buttonImage = new RTImage(fileName); - setExpandAlignProperties(buttonImage, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); - // Use the first image by default - imageContainer->attach_next_to(*buttonImage, Gtk::POS_RIGHT, 1, 1); - selected = 0; + Gtk::MenuItem *newItem; + if (radioGroup) { + newItem = Gtk::manage(new MyRadioImageMenuItem(label, image, *radioGroup)); } + else { + newItem = Gtk::manage(new MyImageMenuItem(label, image)); + } + imageIcons.insert(imageIcons.begin() + position, gIcon); + imageFilenames.insert(imageFilenames.begin() + position, fileName); + images.insert(images.begin() + position, image); // When there is at least 1 choice, we add the arrow button if (images.size() == 1) { - Gtk::Button* arrowButton = Gtk::manage( new Gtk::Button() ); - Gtk::Image *arrowImage = Gtk::manage(new Gtk::Image()); - arrowImage->set_from_icon_name("pan-down-symbolic", Gtk::ICON_SIZE_BUTTON); - setExpandAlignProperties(arrowButton, false, false, Gtk::ALIGN_CENTER, Gtk::ALIGN_FILL); - arrowButton->add(*arrowImage); //menuSymbol); - buttonGroup->attach_next_to(*arrowButton, *button, Gtk::POS_RIGHT, 1, 1); - arrowButton->signal_button_release_event().connect_notify( sigc::mem_fun(*this, &PopUpCommon::showMenu) ); + changeImage(fileName, gIcon); + buttonImage->show(); + selected = 0; button->get_style_context()->add_class("Left"); - arrowButton->get_style_context()->add_class("Right"); - arrowButton->get_style_context()->add_class("popupbutton-arrow"); + arrowButton->show(); hasMenu = true; + } else if (position <= selected) { + selected++; } - newItem->signal_activate ().connect (sigc::bind (sigc::mem_fun (*this, &PopUpCommon::entrySelected), images.size () - 1)); - menu->append (*newItem); - + void (PopUpCommon::*entrySelectedFunc)(Gtk::Widget *) = &PopUpCommon::entrySelected; + newItem->signal_activate ().connect (sigc::bind (sigc::mem_fun (*this, entrySelectedFunc), newItem)); + menu->insert(*newItem, position); return true; } -// TODO: 'PopUpCommon::removeEntry' method to be created... +void PopUpCommon::removeEntry(int position) +{ + if (position < 0 || position >= getEntryCount()) { + return; + } -void PopUpCommon::entrySelected (int i) + if (getEntryCount() == 1) { // Last of the entries. + // Hide the arrow button. + button->get_style_context()->remove_class("Left"); + arrowButton->hide(); + hasMenu = false; + // Remove the button image. + buttonImage->hide(); + selected = -1; + } + else if (position < selected) { + selected--; + } + else if (position == selected) { // Select a different entry before removing. + int nextSelection = position + (position == getEntryCount() - 1 ? -1 : 1); + changeImage(nextSelection); + setButtonHint(); + } + + std::unique_ptr menuItem(menu->get_children()[position]); + menu->remove(*menuItem); + imageIcons.erase(imageIcons.begin() + position); + imageFilenames.erase(imageFilenames.begin() + position); + images.erase(images.begin() + position); +} + +void PopUpCommon::changeImage(int position) +{ + changeImage(imageFilenames.at(position), imageIcons.at(position)); +} + +void PopUpCommon::changeImage(const Glib::ustring& fileName, const Glib::RefPtr& gIcon) +{ + if (!fileName.empty()) { + buttonImage->changeImage(fileName); + } else { + buttonImage->changeImage(gIcon, static_cast(Gtk::ICON_SIZE_BUTTON)); + } +} + +void PopUpCommon::entrySelected(Gtk::Widget* widget) +{ + int i = 0; + for (const auto & child : menu->get_children()) { + if (widget == child) { + break; + } + i++; + } + + entrySelected(i); +} + +void PopUpCommon::entrySelected(int i) { // Emit a signal if the selected item has changed if (setSelected (posToIndex(i))) @@ -130,9 +224,15 @@ bool PopUpCommon::setSelected (int entryNum) return false; } else { // Maybe we could do something better than loading the image file each time the selection is changed !? - buttonImage->changeImage(imageFilenames.at(entryNum)); + changeImage(entryNum); selected = entryNum; setButtonHint(); + + auto radioMenuItem = dynamic_cast(menu->get_children()[entryNum]); + if (radioMenuItem && menu->get_active() != radioMenuItem) { + radioMenuItem->set_active(); + } + return true; } } @@ -159,10 +259,10 @@ void PopUpCommon::setButtonHint() if (selected > -1) { auto widget = menu->get_children ()[selected]; - auto item = dynamic_cast(widget); + auto item = dynamic_cast(widget); if (item) { - hint += item->getLabel ()->get_text (); + hint += escapeHtmlChars(item->getLabel()->get_text()); } } diff --git a/rtgui/popupcommon.h b/rtgui/popupcommon.h index b4cf4d7e0..9ca6b2030 100644 --- a/rtgui/popupcommon.h +++ b/rtgui/popupcommon.h @@ -20,12 +20,19 @@ */ #pragma once +#include "glibmm/refptr.h" +#include #include #include #include +namespace Gio +{ +class Icon; +} + namespace Gtk { @@ -33,6 +40,8 @@ class Grid; class Menu; class Button; class ImageMenuItem; +class RadioButtonGroup; +class Widget; } @@ -52,10 +61,13 @@ public: explicit PopUpCommon (Gtk::Button* button, const Glib::ustring& label = ""); virtual ~PopUpCommon (); - bool addEntry (const Glib::ustring& fileName, const Glib::ustring& label); + bool addEntry (const Glib::ustring& fileName, const Glib::ustring& label, Gtk::RadioButtonGroup* radioGroup = nullptr); + bool insertEntry(int position, const Glib::ustring& fileName, const Glib::ustring& label, Gtk::RadioButtonGroup* radioGroup = nullptr); + bool insertEntry(int position, const Glib::RefPtr& gIcon, const Glib::ustring& label, Gtk::RadioButtonGroup* radioGroup = nullptr); int getEntryCount () const; bool setSelected (int entryNum); int getSelected () const; + void removeEntry(int position); void setButtonHint(); void show (); void set_tooltip_text (const Glib::ustring &text); @@ -65,16 +77,22 @@ private: type_signal_changed messageChanged; type_signal_item_selected messageItemSelected; + std::vector> imageIcons; std::vector imageFilenames; std::vector images; Glib::ustring buttonHint; RTImage* buttonImage; Gtk::Grid* imageContainer; - Gtk::Menu* menu; + std::unique_ptr menu; Gtk::Button* button; + Gtk::Button* arrowButton; int selected; bool hasMenu; + void changeImage(int position); + void changeImage(const Glib::ustring& fileName, const Glib::RefPtr& gIcon); + void entrySelected(Gtk::Widget* menuItem); + bool insertEntryImpl(int position, const Glib::ustring& fileName, const Glib::RefPtr& gIcon, RTImage* image, const Glib::ustring& label, Gtk::RadioButtonGroup* radioGroup); void showMenu(GdkEventButton* event); protected: diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc index 62c243802..998aa6036 100644 --- a/rtgui/preferences.cc +++ b/rtgui/preferences.cc @@ -17,6 +17,7 @@ * along with RawTherapee. If not, see . */ #include +#include "externaleditorpreferences.h" #include "preferences.h" #include "multilangmgr.h" #include "splash.h" @@ -806,6 +807,7 @@ Gtk::Widget* Preferences::getColorManPanel () vbColorMan->pack_start (*iccdgrid, Gtk::PACK_SHRINK); + //------------------------- MONITOR ---------------------- Gtk::Frame* fmonitor = Gtk::manage(new Gtk::Frame(M("PREFERENCES_MONITOR"))); @@ -924,6 +926,19 @@ Gtk::Widget* Preferences::getColorManPanel () fprinter->add(*gprinter); vbColorMan->pack_start (*fprinter, Gtk::PACK_SHRINK); + + //-------------CIECAM + Gtk::Frame* fcie = Gtk::manage(new Gtk::Frame(M("PREFERENCES_CIE"))); + Gtk::Grid* gcie = Gtk::manage(new Gtk::Grid()); + gcie->set_column_spacing(4); + mcie = Gtk::manage(new Gtk::CheckButton(M("PREFERENCES_CIEARTIF"))); + setExpandAlignProperties(mcie, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); + mcie->set_active(true); + int rowc = 0; + gcie->attach(*mcie, 0, rowc, 1, 1); + fcie->add(*gcie); + + vbColorMan->pack_start (*fcie, Gtk::PACK_SHRINK); swColorMan->add(*vbColorMan); return swColorMan; } @@ -1215,63 +1230,52 @@ Gtk::Widget* Preferences::getGeneralPanel() Gtk::Frame* fdg = Gtk::manage(new Gtk::Frame(M("PREFERENCES_EXTERNALEDITOR"))); setExpandAlignProperties(fdg, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_FILL); - Gtk::Grid* externaleditorGrid = Gtk::manage(new Gtk::Grid()); - externaleditorGrid->set_column_spacing(4); - externaleditorGrid->set_row_spacing(4); - setExpandAlignProperties(externaleditorGrid, false, false, Gtk::ALIGN_FILL, Gtk::ALIGN_FILL); - edOther = Gtk::manage(new Gtk::RadioButton(M("PREFERENCES_EDITORCMDLINE") + ":")); - setExpandAlignProperties(edOther, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - editorToSendTo = Gtk::manage(new Gtk::Entry()); - setExpandAlignProperties(editorToSendTo, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_BASELINE); - Gtk::RadioButton::Group ge = edOther->get_group(); + externalEditors = Gtk::manage(new ExternalEditorPreferences()); + externalEditors->set_size_request(-1, 200); -#ifdef __APPLE__ - edGimp = Gtk::manage(new Gtk::RadioButton("GIMP")); - setExpandAlignProperties(edGimp, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - edGimp->set_group(ge); - externaleditorGrid->attach_next_to(*edGimp, Gtk::POS_TOP, 2, 1); + // fdg->add(*externaleditorGrid); + editor_dir_temp = Gtk::manage(new Gtk::RadioButton(M("PREFERENCES_EXTEDITOR_DIR_TEMP"))); + editor_dir_current = Gtk::manage(new Gtk::RadioButton(M("PREFERENCES_EXTEDITOR_DIR_CURRENT"))); + editor_dir_custom = Gtk::manage(new Gtk::RadioButton(M("PREFERENCES_EXTEDITOR_DIR_CUSTOM") + ": ")); + editor_dir_custom_path = Gtk::manage(new MyFileChooserButton("", Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER)); + Gtk::RadioButton::Group ge; + ge = editor_dir_temp->get_group(); + editor_dir_current->set_group(ge); + editor_dir_custom->set_group(ge); - edPS = Gtk::manage(new Gtk::RadioButton(M("PREFERENCES_PSPATH") + ":")); - setExpandAlignProperties(edPS, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - psDir = Gtk::manage(new MyFileChooserButton(M("PREFERENCES_PSPATH"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER)); - setExpandAlignProperties(psDir, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); - externaleditorGrid->attach_next_to(*edPS, *edGimp, Gtk::POS_BOTTOM, 1, 1); - externaleditorGrid->attach_next_to(*psDir, *edPS, Gtk::POS_RIGHT, 1, 1); - edPS->set_group(ge); + editor_float32 = Gtk::manage(new Gtk::CheckButton(M("PREFERENCES_EXTEDITOR_FLOAT32"))); + editor_bypass_output_profile = Gtk::manage(new Gtk::CheckButton(M("PREFERENCES_EXTEDITOR_BYPASS_OUTPUT_PROFILE"))); + { + Gtk::Frame *f = Gtk::manage(new Gtk::Frame(M("PREFERENCES_EXTEDITOR_DIR"))); + setExpandAlignProperties(f, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START); + Gtk::Box *vb = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL)); + vb->pack_start(*editor_dir_temp); + vb->pack_start(*editor_dir_current); + Gtk::Box *hb = Gtk::manage(new Gtk::Box()); + hb->pack_start(*editor_dir_custom, Gtk::PACK_SHRINK); + hb->pack_start(*editor_dir_custom_path, Gtk::PACK_EXPAND_WIDGET, 2); + vb->pack_start(*hb); + f->add(*vb); + + hb = Gtk::manage(new Gtk::Box()); + hb->pack_start(*externalEditors); + hb->pack_start(*f, Gtk::PACK_EXPAND_WIDGET, 4); - externaleditorGrid->attach_next_to(*edOther, *edPS, Gtk::POS_BOTTOM, 1, 1); - externaleditorGrid->attach_next_to(*editorToSendTo, *edOther, Gtk::POS_RIGHT, 1, 1); -#elif defined WIN32 - edGimp = Gtk::manage(new Gtk::RadioButton(M("PREFERENCES_GIMPPATH") + ":")); - setExpandAlignProperties(edGimp, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - gimpDir = Gtk::manage(new MyFileChooserButton(M("PREFERENCES_GIMPPATH"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER)); - setExpandAlignProperties(gimpDir, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); - externaleditorGrid->attach_next_to(*edGimp, Gtk::POS_TOP, 1, 1); - externaleditorGrid->attach_next_to(*gimpDir, *edGimp, Gtk::POS_RIGHT, 1, 1); - edGimp->set_group(ge); + vb = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL)); + vb->pack_start(*hb); + hb = Gtk::manage(new Gtk::Box()); + //I disabled these 2 functionalities...easy to enable +// hb->pack_start(*editor_float32, Gtk::PACK_SHRINK); +// hb->pack_start(*editor_bypass_output_profile, Gtk::PACK_SHRINK, 4); + vb->pack_start(*hb, Gtk::PACK_SHRINK, 4); - edPS = Gtk::manage(new Gtk::RadioButton(M("PREFERENCES_PSPATH") + ":")); - setExpandAlignProperties(edPS, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - psDir = Gtk::manage(new MyFileChooserButton(M("PREFERENCES_PSPATH"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER)); - setExpandAlignProperties(psDir, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); - externaleditorGrid->attach_next_to(*edPS, *edGimp, Gtk::POS_BOTTOM, 1, 1); - externaleditorGrid->attach_next_to(*psDir, *edPS, Gtk::POS_RIGHT, 1, 1); - edPS->set_group(ge); - - externaleditorGrid->attach_next_to(*edOther, *edPS, Gtk::POS_BOTTOM, 1, 1); - externaleditorGrid->attach_next_to(*editorToSendTo, *edOther, Gtk::POS_RIGHT, 1, 1); -#else - edGimp = Gtk::manage(new Gtk::RadioButton("GIMP")); - setExpandAlignProperties(edGimp, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - externaleditorGrid->attach_next_to(*edGimp, Gtk::POS_TOP, 2, 1); - edGimp->set_group(ge); - - externaleditorGrid->attach_next_to(*edOther, *edGimp, Gtk::POS_BOTTOM, 1, 1); - externaleditorGrid->attach_next_to(*editorToSendTo, *edOther, Gtk::POS_RIGHT, 1, 1); -#endif - - fdg->add(*externaleditorGrid); + vb->show_all_children(); + vb->show(); + fdg->add(*vb); + } + + vbGeneral->attach_next_to (*fdg, *fclip, Gtk::POS_BOTTOM, 2, 1); langAutoDetectConn = ckbLangAutoDetect->signal_toggled().connect(sigc::mem_fun(*this, &Preferences::langAutoDetectToggled)); tconn = themeCBT->signal_changed().connect ( sigc::mem_fun (*this, &Preferences::themeChanged) ); @@ -1727,32 +1731,29 @@ void Preferences::storePreferences() moptions.pseudoHiDPISupport = pseudoHiDPI->get_active(); -#ifdef WIN32 - moptions.gimpDir = gimpDir->get_filename(); - moptions.psDir = psDir->get_filename(); -#elif defined __APPLE__ - moptions.psDir = psDir->get_filename(); -#endif - moptions.customEditorProg = editorToSendTo->get_text(); - - if (edGimp->get_active()) { - moptions.editorToSendTo = 1; + const std::vector &editors = externalEditors->getEditors(); + moptions.externalEditors.resize(editors.size()); + moptions.externalEditorIndex = -1; + for (unsigned i = 0; i < editors.size(); i++) { + moptions.externalEditors[i] = (ExternalEditor( + editors[i].name, editors[i].command, editors[i].icon_serialized)); + if (editors[i].other_data) { + // The current editor was marked before the list was edited. We + // found the mark, so this is the editor that was active. + moptions.externalEditorIndex = i; + } } -#ifdef WIN32 - else if (edPS->get_active()) { - moptions.editorToSendTo = 2; - } - -#elif defined __APPLE__ - else if (edPS->get_active()) { - moptions.editorToSendTo = 2; - } - -#endif - else if (edOther->get_active()) { - moptions.editorToSendTo = 3; + if (editor_dir_temp->get_active()) { + moptions.editor_out_dir = Options::EDITOR_OUT_DIR_TEMP; + } else if (editor_dir_current->get_active()) { + moptions.editor_out_dir = Options::EDITOR_OUT_DIR_CURRENT; + } else { + moptions.editor_out_dir = Options::EDITOR_OUT_DIR_CUSTOM; } + moptions.editor_custom_out_dir = editor_dir_custom_path->get_filename(); + moptions.editor_float32 = editor_float32->get_active(); + moptions.editor_bypass_output_profile = editor_bypass_output_profile->get_active(); moptions.CPBPath = txtCustProfBuilderPath->get_text(); moptions.CPBKeys = CPBKeyType(custProfBuilderLabelType->get_active_row_number()); @@ -1805,6 +1806,8 @@ void Preferences::storePreferences() moptions.rtSettings.monitorBPC = monBPC->get_active(); moptions.rtSettings.autoMonitorProfile = cbAutoMonProfile->get_active(); + moptions.rtSettings.autocielab = mcie->get_active(); + #endif moptions.rtSettings.iccDirectory = iccDir->get_filename(); @@ -1962,6 +1965,7 @@ void Preferences::fillPreferences() } monBPC->set_active(moptions.rtSettings.monitorBPC); + mcie->set_active(moptions.rtSettings.autocielab); cbAutoMonProfile->set_active(moptions.rtSettings.autoMonitorProfile); #endif @@ -2011,34 +2015,27 @@ void Preferences::fillPreferences() hlThresh->set_value(moptions.highlightThreshold); shThresh->set_value(moptions.shadowThreshold); - edGimp->set_active(moptions.editorToSendTo == 1); - edOther->set_active(moptions.editorToSendTo == 3); -#ifdef WIN32 - edPS->set_active(moptions.editorToSendTo == 2); - - if (Glib::file_test(moptions.gimpDir, Glib::FILE_TEST_IS_DIR)) { - gimpDir->set_current_folder(moptions.gimpDir); - } else { - gimpDir->set_current_folder(Glib::get_home_dir()); + std::vector editorInfos; + for (const auto &editor : moptions.externalEditors) { + editorInfos.push_back(ExternalEditorPreferences::EditorInfo( + editor.name, editor.command, editor.icon_serialized)); } - - if (Glib::file_test(moptions.psDir, Glib::FILE_TEST_IS_DIR)) { - psDir->set_current_folder(moptions.psDir); - } else { - psDir->set_current_folder(Glib::get_home_dir()); + if (moptions.externalEditorIndex >= 0) { + // Mark the current editor so we can track it. + editorInfos[moptions.externalEditorIndex].other_data = (void *)1; } + externalEditors->setEditors(editorInfos); -#elif defined __APPLE__ - edPS->set_active(moptions.editorToSendTo == 2); - - if (Glib::file_test(moptions.psDir, Glib::FILE_TEST_IS_DIR)) { - psDir->set_current_folder(moptions.psDir); + editor_dir_temp->set_active(moptions.editor_out_dir == Options::EDITOR_OUT_DIR_TEMP); + editor_dir_current->set_active(moptions.editor_out_dir == Options::EDITOR_OUT_DIR_CURRENT); + editor_dir_custom->set_active(moptions.editor_out_dir == Options::EDITOR_OUT_DIR_CUSTOM); + if (Glib::file_test(moptions.editor_custom_out_dir, Glib::FILE_TEST_IS_DIR)) { + editor_dir_custom_path->set_current_folder(moptions.editor_custom_out_dir); } else { - psDir->set_current_folder(Glib::get_home_dir()); + editor_dir_custom_path->set_current_folder(Glib::get_tmp_dir()); } - -#endif - editorToSendTo->set_text(moptions.customEditorProg); + editor_float32->set_active(moptions.editor_float32); + editor_bypass_output_profile->set_active(moptions.editor_bypass_output_profile); txtCustProfBuilderPath->set_text(moptions.CPBPath); custProfBuilderLabelType->set_active(moptions.CPBKeys); @@ -2507,6 +2504,23 @@ void Preferences::workflowUpdate() parent->updateProfiles (moptions.rtSettings.printerProfile, rtengine::RenderingIntent(moptions.rtSettings.printerIntent), moptions.rtSettings.printerBPC); } + bool changed = moptions.externalEditorIndex != options.externalEditorIndex + || moptions.externalEditors.size() != options.externalEditors.size(); + if (!changed) { + auto &editors = options.externalEditors; + auto &meditors = moptions.externalEditors; + for (unsigned i = 0; i < editors.size(); i++) { + if (editors[i] != meditors[i]) { + changed = true; + break; + } + } + } + if (changed) { + // Update the send to external editor widget. + parent->updateExternalEditorWidget(moptions.externalEditorIndex, moptions.externalEditors); + } + } void Preferences::addExtPressed() @@ -2594,8 +2608,8 @@ void Preferences::darkFrameChanged() { //Glib::ustring s(darkFrameDir->get_filename()); Glib::ustring s(darkFrameDir->get_current_folder()); - //if( s.compare( rtengine::dfm.getPathname()) !=0 ){ - rtengine::dfm.init(s); + //if( s.compare( rtengine::DFManager::getInstance().getPathname()) !=0 ){ + rtengine::DFManager::getInstance().init(s); updateDFinfos(); //} } @@ -2613,7 +2627,7 @@ void Preferences::flatFieldChanged() void Preferences::updateDFinfos() { int t1, t2; - rtengine::dfm.getStat(t1, t2); + rtengine::DFManager::getInstance().getStat(t1, t2); Glib::ustring s = Glib::ustring::compose("%1: %2 %3, %4 %5", M("PREFERENCES_DARKFRAMEFOUND"), t1, M("PREFERENCES_DARKFRAMESHOTS"), t2, M("PREFERENCES_DARKFRAMETEMPLATES")); dfLabel->set_text(s); } diff --git a/rtgui/preferences.h b/rtgui/preferences.h index 86e81424d..272888949 100644 --- a/rtgui/preferences.h +++ b/rtgui/preferences.h @@ -26,6 +26,7 @@ #include "options.h" #include "../rtengine/profilestore.h" +class ExternalEditorPreferences; class RTWindow; class Splash; @@ -101,6 +102,15 @@ class Preferences final : Gtk::RadioButton* edGimp; Gtk::RadioButton* edPS; Gtk::RadioButton* edOther; + ExternalEditorPreferences *externalEditors; + + Gtk::RadioButton *editor_dir_temp; + Gtk::RadioButton *editor_dir_current; + Gtk::RadioButton *editor_dir_custom; + MyFileChooserButton *editor_dir_custom_path; + Gtk::CheckButton *editor_float32; + Gtk::CheckButton *editor_bypass_output_profile; + MyFileChooserButton* darkFrameDir; MyFileChooserButton* flatFieldDir; MyFileChooserButton* clutsDir; @@ -117,6 +127,7 @@ class Preferences final : Gtk::CheckButton* prtBPC; Gtk::ComboBoxText* monProfile; Gtk::ComboBoxText* monIntent; + Gtk::CheckButton* mcie; Gtk::CheckButton* monBPC; Gtk::CheckButton* cbAutoMonProfile; //Gtk::CheckButton* cbAutocielab; diff --git a/rtgui/previewwindow.cc b/rtgui/previewwindow.cc index 67fa87e0c..90d0a7b4b 100644 --- a/rtgui/previewwindow.cc +++ b/rtgui/previewwindow.cc @@ -93,10 +93,10 @@ void PreviewWindow::updatePreviewImage () rtengine::procparams::CropParams cparams = previewHandler->getCropParams(); switch (options.cropGuides) { case Options::CROP_GUIDE_NONE: - cparams.guide = "None"; + cparams.guide = rtengine::procparams::CropParams::Guide::NONE; break; case Options::CROP_GUIDE_FRAME: - cparams.guide = "Frame"; + cparams.guide = rtengine::procparams::CropParams::Guide::FRAME; break; default: break; diff --git a/rtgui/profilepanel.cc b/rtgui/profilepanel.cc index a13c6421d..8ce9055d0 100644 --- a/rtgui/profilepanel.cc +++ b/rtgui/profilepanel.cc @@ -56,7 +56,7 @@ ProfilePanel::ProfilePanel () : storedPProfile(nullptr), lastSavedPSE(nullptr), fillMode->set_active(options.filledProfile); fillMode->add( options.filledProfile ? *profileFillModeOnImage : *profileFillModeOffImage ); fillMode->signal_toggled().connect ( sigc::mem_fun(*this, &ProfilePanel::profileFillModeToggled) ); - fillMode->set_tooltip_text(M("PROFILEPANEL_MODE_TIP")); + fillMode->set_tooltip_text(M("PROFILEPANEL_MODE_TOOLTIP")); //GTK318 #if GTK_MAJOR_VERSION == 3 && GTK_MINOR_VERSION < 20 fillMode->set_margin_right(2); @@ -359,7 +359,7 @@ void ProfilePanel::save_clicked (GdkEventButton* event) if (isPartial) { // Build partial profile PartialProfile ppTemp(true); - partialProfileDlg->applyPaste(ppTemp.pparams, ppTemp.pedited, toSave->pparams, toSave->pedited); + partialProfileDlg->applyPaste(ppTemp.pparams, ppTemp.pedited, toSave->pparams, nullptr); // Save partial profile retCode = ppTemp.pparams->save(fname, "", true, ppTemp.pedited); // Cleanup @@ -496,6 +496,12 @@ void ProfilePanel::load_clicked (GdkEventButton* event) custom->pedited->locallab.spots.clear(); } + // For each Locallab spot, loaded profile pp only contains activated tools params + // Missing tool params in pe shall be also set to true to avoid a "spot merge" issue + for (int i = 0; i < (int)pe.locallab.spots.size(); i++) { + pe.locallab.spots.at(i).set(true); + } + custom->set(true); bool prevState = changeconn.block(true); @@ -573,7 +579,7 @@ void ProfilePanel::paste_clicked (GdkEventButton* event) // Setting LocallabSpotEdited number coherent with spots number in lastsaved->pparams custom->pedited->locallab.spots.clear(); - custom->pedited->locallab.spots.resize(custom->pparams->locallab.spots.size(), new LocallabParamsEdited::LocallabSpotEdited(false)); + custom->pedited->locallab.spots.resize(custom->pparams->locallab.spots.size(), LocallabParamsEdited::LocallabSpotEdited(false)); } else { const ProfileStoreEntry* entry = profiles->getSelectedEntry(); @@ -583,7 +589,7 @@ void ProfilePanel::paste_clicked (GdkEventButton* event) // Setting LocallabSpotEdited number coherent with spots number in partProfile->pparams custom->pedited->locallab.spots.clear(); - custom->pedited->locallab.spots.resize(custom->pparams->locallab.spots.size(), new LocallabParamsEdited::LocallabSpotEdited(false)); + custom->pedited->locallab.spots.resize(custom->pparams->locallab.spots.size(), LocallabParamsEdited::LocallabSpotEdited(false)); } } @@ -601,7 +607,7 @@ void ProfilePanel::paste_clicked (GdkEventButton* event) // Setting LocallabSpotEdited number coherent with spots number in lastsaved->pparams custom->pedited->locallab.spots.clear(); - custom->pedited->locallab.spots.resize(custom->pparams->locallab.spots.size(), new LocallabParamsEdited::LocallabSpotEdited(true)); + custom->pedited->locallab.spots.resize(custom->pparams->locallab.spots.size(), LocallabParamsEdited::LocallabSpotEdited(true)); } else { const ProfileStoreEntry* entry = profiles->getSelectedEntry(); @@ -611,7 +617,7 @@ void ProfilePanel::paste_clicked (GdkEventButton* event) // Setting LocallabSpotEdited number coherent with spots number in partProfile->pparams custom->pedited->locallab.spots.clear(); - custom->pedited->locallab.spots.resize(custom->pparams->locallab.spots.size(), new LocallabParamsEdited::LocallabSpotEdited(true)); + custom->pedited->locallab.spots.resize(custom->pparams->locallab.spots.size(), LocallabParamsEdited::LocallabSpotEdited(true)); } } } @@ -658,7 +664,7 @@ void ProfilePanel::paste_clicked (GdkEventButton* event) } else { // Setting LocallabSpotEdited number coherent with spots number in custom->pparams custom->pedited->locallab.spots.clear(); - custom->pedited->locallab.spots.resize(custom->pparams->locallab.spots.size(), new LocallabParamsEdited::LocallabSpotEdited(true)); + custom->pedited->locallab.spots.resize(custom->pparams->locallab.spots.size(), LocallabParamsEdited::LocallabSpotEdited(true)); } } } else { @@ -682,14 +688,14 @@ void ProfilePanel::paste_clicked (GdkEventButton* event) // Setting LocallabSpotEdited number coherent with spots number in custom->pparams custom->pedited->locallab.spots.clear(); - custom->pedited->locallab.spots.resize(custom->pparams->locallab.spots.size(), new LocallabParamsEdited::LocallabSpotEdited(true)); + custom->pedited->locallab.spots.resize(custom->pparams->locallab.spots.size(), LocallabParamsEdited::LocallabSpotEdited(true)); } else { // custom.pparams = clipboard.pparams non filtered *custom->pparams = pp; // Setting LocallabSpotEdited number coherent with spots number in custom->pparams custom->pedited->locallab.spots.clear(); - custom->pedited->locallab.spots.resize(custom->pparams->locallab.spots.size(), new LocallabParamsEdited::LocallabSpotEdited(true)); + custom->pedited->locallab.spots.resize(custom->pparams->locallab.spots.size(), LocallabParamsEdited::LocallabSpotEdited(true)); } } @@ -739,7 +745,7 @@ void ProfilePanel::selection_changed () ParamsEdited pe(true); // Setting LocallabSpotEdited number coherent with spots number in s->pparams - pe.locallab.spots.resize(s->pparams->locallab.spots.size(), new LocallabParamsEdited::LocallabSpotEdited(true)); + pe.locallab.spots.resize(s->pparams->locallab.spots.size(), LocallabParamsEdited::LocallabSpotEdited(true)); PartialProfile s2(s->pparams, &pe, false); changeTo (&s2, pse->label + "+"); @@ -782,7 +788,7 @@ void ProfilePanel::procParamsChanged( // Setting LocallabSpotEdited number coherent with spots number in p custom->pedited->locallab.spots.clear(); - custom->pedited->locallab.spots.resize(p->locallab.spots.size(), new LocallabParamsEdited::LocallabSpotEdited(true)); + custom->pedited->locallab.spots.resize(p->locallab.spots.size(), LocallabParamsEdited::LocallabSpotEdited(true)); } void ProfilePanel::clearParamChanges() @@ -819,7 +825,7 @@ void ProfilePanel::initProfile (const Glib::ustring& profileFullPath, ProcParams if (lastSaved) { ParamsEdited* pe = new ParamsEdited(true); // Setting LocallabSpotEdited number coherent with lastSaved->locallab spots number (initialized at true such as pe) - pe->locallab.spots.resize(lastSaved->locallab.spots.size(), new LocallabParamsEdited::LocallabSpotEdited(true)); + pe->locallab.spots.resize(lastSaved->locallab.spots.size(), LocallabParamsEdited::LocallabSpotEdited(true)); // copying the provided last saved profile to ProfilePanel::lastsaved lastsaved = new PartialProfile(lastSaved, pe); } diff --git a/rtgui/resize.cc b/rtgui/resize.cc index 314377049..0bbb65845 100644 --- a/rtgui/resize.cc +++ b/rtgui/resize.cc @@ -33,6 +33,8 @@ Resize::Resize () : FoldableToolPanel(this, "resize", M("TP_RESIZE_LABEL"), fals { auto m = ProcEventMapper::getInstance(); EvResizeAllowUpscaling = m->newEvent(RESIZE, "HISTORY_MSG_RESIZE_ALLOWUPSCALING"); + EvResizeLongedge = m->newEvent (RESIZE, "HISTORY_MSG_RESIZE_LONGEDGE"); + EvResizeShortedge = m->newEvent (RESIZE, "HISTORY_MSG_RESIZE_SHORTEDGE"); cropw = 0; croph = 0; @@ -70,6 +72,8 @@ Resize::Resize () : FoldableToolPanel(this, "resize", M("TP_RESIZE_LABEL"), fals spec->append (M("TP_RESIZE_WIDTH")); spec->append (M("TP_RESIZE_HEIGHT")); spec->append (M("TP_RESIZE_FITBOX")); + spec->append (M("TP_RESIZE_LONG")); + spec->append (M("TP_RESIZE_SHORT")); spec->set_active (0); spec->set_hexpand(); spec->set_halign(Gtk::ALIGN_FILL); @@ -91,19 +95,46 @@ Resize::Resize () : FoldableToolPanel(this, "resize", M("TP_RESIZE_LABEL"), fals Gtk::Box* sbox = Gtk::manage (new Gtk::Box ()); Gtk::Box* wbox = Gtk::manage (new Gtk::Box ()); Gtk::Box* hbox = Gtk::manage (new Gtk::Box ()); + Gtk::Box* ebox = Gtk::manage (new Gtk::Box ()); + Gtk::Box* lebox = Gtk::manage (new Gtk::Box ()); + Gtk::Box* sebox = Gtk::manage (new Gtk::Box ()); + w = Gtk::manage (new MySpinButton ()); + w->set_width_chars(5); + setExpandAlignProperties(w, false, false, Gtk::ALIGN_END, Gtk::ALIGN_CENTER); h = Gtk::manage (new MySpinButton ()); - wbox->set_spacing(3); + h->set_width_chars(5); + setExpandAlignProperties(h, false, false, Gtk::ALIGN_END, Gtk::ALIGN_CENTER); + le = Gtk::manage (new MySpinButton ()); + le->set_width_chars(5); + setExpandAlignProperties(le, false, false, Gtk::ALIGN_END, Gtk::ALIGN_CENTER); + se = Gtk::manage (new MySpinButton ()); + se->set_width_chars(5); + setExpandAlignProperties(se, false, false, Gtk::ALIGN_END, Gtk::ALIGN_CENTER); + wbox->pack_start (*Gtk::manage (new Gtk::Label (M("TP_RESIZE_W"))), Gtk::PACK_SHRINK, 0); wbox->pack_start (*w); hbox->set_spacing(3); hbox->pack_start (*Gtk::manage (new Gtk::Label (M("TP_RESIZE_H"))), Gtk::PACK_SHRINK, 0); hbox->pack_start (*h); + lebox->set_spacing(3); + lebox->pack_start (*Gtk::manage (new Gtk::Label (M("TP_RESIZE_LE"))), Gtk::PACK_SHRINK, 0); + lebox->pack_start (*le); + sebox->set_spacing(3); + sebox->pack_start (*Gtk::manage (new Gtk::Label (M("TP_RESIZE_SE"))), Gtk::PACK_SHRINK, 0); + sebox->pack_start (*se); + sbox->set_spacing(4); sbox->pack_start (*wbox); sbox->pack_start (*hbox); - + sbox->set_homogeneous(); + ebox->set_spacing(4); + ebox->pack_start (*lebox); + ebox->pack_start (*sebox); + ebox->set_homogeneous(); + sizeBox->pack_start (*sbox, Gtk::PACK_SHRINK, 0); + sizeBox->pack_start (*ebox, Gtk::PACK_SHRINK, 0); sizeBox->show_all (); sizeBox->reference (); @@ -113,16 +144,28 @@ Resize::Resize () : FoldableToolPanel(this, "resize", M("TP_RESIZE_LABEL"), fals w->set_digits (0); w->set_increments (1, 100); - w->set_value (800); w->set_range (32, MAX_SCALE * maxw); + w->set_value (800); // Doesn't seem to have any effect (overwritten in Resize::read) h->set_digits (0); h->set_increments (1, 100); - h->set_value (600); h->set_range (32, MAX_SCALE * maxh); + h->set_value (600); // Doesn't seem to have any effect (overwritten in Resize::read) + + le->set_digits (0); + le->set_increments (1, 100); + le->set_range (32, MAX_SCALE * maxw); + le->set_value (900); + + se->set_digits (0); + se->set_increments (1, 100); + se->set_range (32, MAX_SCALE * maxh); + se->set_value (900); wconn = w->signal_value_changed().connect ( sigc::mem_fun(*this, &Resize::entryWChanged), true); hconn = h->signal_value_changed().connect ( sigc::mem_fun(*this, &Resize::entryHChanged), true); + leconn = le->signal_value_changed().connect ( sigc::mem_fun(*this, &Resize::entryLEChanged), true); + seconn = se->signal_value_changed().connect ( sigc::mem_fun(*this, &Resize::entrySEChanged), true); aconn = appliesTo->signal_changed().connect ( sigc::mem_fun(*this, &Resize::appliesToChanged) ); method->signal_changed().connect ( sigc::mem_fun(*this, &Resize::methodChanged) ); sconn = spec->signal_changed().connect ( sigc::mem_fun(*this, &Resize::specChanged) ); @@ -149,15 +192,20 @@ void Resize::read (const ProcParams* pp, const ParamsEdited* pedited) aconn.block (true); wconn.block (true); hconn.block (true); + leconn.block (true); + seconn.block (true); sconn.block (true); scale->block(true); scale->setValue (pp->resize.scale); w->set_value (pp->resize.width); h->set_value (pp->resize.height); + le->set_value (pp->resize.longedge); + se->set_value (pp->resize.shortedge); setEnabled (pp->resize.enabled); spec->set_active (pp->resize.dataspec); allowUpscaling->set_active(pp->resize.allowUpscaling); + setDimensions(); // Sets Width/Height in the GUI according to value of Specify after loading a .pp3 profile (same behavior as if changed manually) updateGUI(); appliesTo->set_active (0); @@ -178,10 +226,14 @@ void Resize::read (const ProcParams* pp, const ParamsEdited* pedited) wDirty = false; hDirty = false; + leDirty = false; + seDirty = false; if (pedited) { wDirty = pedited->resize.width; hDirty = pedited->resize.height; + leDirty = pedited->resize.longedge; + seDirty = pedited->resize.shortedge; scale->setEditedState (pedited->resize.scale ? Edited : UnEdited); if (!pedited->resize.appliesTo) { @@ -193,17 +245,21 @@ void Resize::read (const ProcParams* pp, const ParamsEdited* pedited) } if (!pedited->resize.dataspec) { - spec->set_active (4); + spec->set_active (6); } allowUpscaling->set_inconsistent(!pedited->resize.allowUpscaling); set_inconsistent (multiImage && !pedited->resize.enabled); } + setDimensions(); // fixes the issue that values in GUI are not recomputed when loading profile + scale->block(false); sconn.block (false); wconn.block (false); hconn.block (false); + leconn.block (false); + seconn.block (false); aconn.block (false); enableListener (); } @@ -211,7 +267,7 @@ void Resize::read (const ProcParams* pp, const ParamsEdited* pedited) void Resize::write (ProcParams* pp, ParamsEdited* pedited) { int dataSpec = spec->get_active_row_number(); - + pp->resize.scale = scale->getValue(); pp->resize.appliesTo = "Cropped area"; @@ -233,6 +289,8 @@ void Resize::write (ProcParams* pp, ParamsEdited* pedited) pp->resize.dataspec = dataSpec; pp->resize.width = w->get_value_as_int (); pp->resize.height = h->get_value_as_int (); + pp->resize.longedge = le->get_value_as_int (); + pp->resize.shortedge = se->get_value_as_int (); pp->resize.enabled = getEnabled (); //printf(" L:%d H:%d\n", pp->resize.width, pp->resize.height); @@ -240,7 +298,7 @@ void Resize::write (ProcParams* pp, ParamsEdited* pedited) if (pedited) { pedited->resize.enabled = !get_inconsistent(); - pedited->resize.dataspec = dataSpec != MAX_SCALE; + pedited->resize.dataspec = dataSpec != 6; pedited->resize.appliesTo = appliesTo->get_active_row_number() != 2; pedited->resize.method = method->get_active_row_number() != 3; @@ -248,10 +306,14 @@ void Resize::write (ProcParams* pp, ParamsEdited* pedited) pedited->resize.scale = scale->getEditedState (); pedited->resize.width = wDirty; pedited->resize.height = hDirty; + pedited->resize.longedge = leDirty; + pedited->resize.shortedge = seDirty; } else { pedited->resize.scale = false; pedited->resize.width = false; pedited->resize.height = false; + pedited->resize.longedge = false; + pedited->resize.shortedge = false; } pedited->resize.allowUpscaling = !allowUpscaling->get_inconsistent(); } @@ -285,31 +347,31 @@ void Resize::adjusterChanged(Adjuster* a, double newval) } } -int Resize::getComputedWidth() +int Resize::getComputedWidth(double height) { if (cropw && appliesTo->get_active_row_number() == 0) // we use the crop dimensions { - return (int)((double)(cropw) * (h->get_value() / (double)(croph)) + 0.5); + return (int)((double)(cropw) * (height / (double)(croph)) + 0.5); } else // we use the image dimensions { - return (int)((double)(maxw) * (h->get_value() / (double)(maxh)) + 0.5); + return (int)((double)(maxw) * (height / (double)(maxh)) + 0.5); } } -int Resize::getComputedHeight() +int Resize::getComputedHeight(double width) { if (croph && appliesTo->get_active_row_number() == 0) // we use the crop dimensions { - return (int)((double)(croph) * (w->get_value() / (double)(cropw)) + 0.5); + return (int)((double)(croph) * (width / (double)(cropw)) + 0.5); } else // we use the image dimensions { - return (int)((double)(maxh) * (w->get_value() / (double)(maxw)) + 0.5); + return (int)((double)(maxh) * (width / (double)(maxw)) + 0.5); } } @@ -379,8 +441,10 @@ void Resize::setDimensions () { wconn.block(true); hconn.block(true); + leconn.block(true); + seconn.block(true); scale->block(true); - + int refw, refh; if (appliesTo->get_active_row_number() == 0 && cropw) { @@ -431,6 +495,34 @@ void Resize::setDimensions () break; } + case 4: { + // Long edge mode + if (refw > refh) { + const double tmp_scale = le->get_value() / static_cast(refw); + scale->setValue(tmp_scale); + se->set_value(static_cast(static_cast(static_cast(refh) * tmp_scale + 0.5))); + } else { + const double tmp_scale = le->get_value() / static_cast(refh); + scale->setValue(tmp_scale); + se->set_value(static_cast(static_cast(static_cast(refw) * tmp_scale + 0.5))); + } + break; + } + + case 5: { + // Short edge mode + if (refw > refh) { + const double tmp_scale = se->get_value() / static_cast(refh); + scale->setValue(tmp_scale); + le->set_value(static_cast(static_cast(static_cast(refw) * tmp_scale + 0.5))); + } else { + const double tmp_scale = se->get_value() / static_cast(refw); + scale->setValue(tmp_scale); + le->set_value(static_cast(static_cast(static_cast(refh) * tmp_scale + 0.5))); + } + break; + } + default: { break; } @@ -439,6 +531,8 @@ void Resize::setDimensions () scale->block(false); wconn.block(false); hconn.block(false); + leconn.block(false); + seconn.block(false); return false; } @@ -489,7 +583,7 @@ void Resize::entryWChanged () hconn.block (true); scale->block (true); - h->set_value ((double)(getComputedHeight())); + h->set_value ((double)(getComputedHeight(w->get_value()))); scale->setValue (w->get_value () / (cropw && appliesTo->get_active_row_number() == 0 ? (double)cropw : (double)maxw)); scale->block (false); @@ -522,7 +616,7 @@ void Resize::entryHChanged () wconn.block (true); scale->block (true); - w->set_value ((double)(getComputedWidth())); + w->set_value ((double)(getComputedWidth(h->get_value()))); scale->setValue (h->get_value () / (croph && appliesTo->get_active_row_number() == 0 ? (double)croph : (double)maxh)); scale->block (false); @@ -541,25 +635,107 @@ void Resize::entryHChanged () } } +void Resize::entryLEChanged () +{ + + leDirty = true; + + // updating long edge + if (!batchMode && listener) { + int refw, refh; + + seconn.block (true); + scale->block (true); + + if (cropw && appliesTo->get_active_row_number() == 0) { + // we use the crop dimensions + refw = cropw; + refh = croph; + } else { + // we use the image dimensions + refw = maxw; + refh = maxh; + } + + if (refw > refh) { + se->set_value ((double) (getComputedHeight(le->get_value()))); + scale->setValue (le->get_value () / (cropw && appliesTo->get_active_row_number() == 0 ? (double)cropw : (double)maxw)); + } else { + se->set_value ((double)(getComputedWidth(le->get_value()))); + scale->setValue (le->get_value () / (croph && appliesTo->get_active_row_number() == 0 ? (double)croph : (double)maxh)); + } + + scale->block (false); + seconn.block (false); + } + + if (listener) { + if (getEnabled () || batchMode) { + listener->panelChanged (EvResizeLongedge, Glib::ustring::format (le->get_value_as_int())); + } + } +} + +void Resize::entrySEChanged () +{ + + seDirty = true; + + // updating short edge + if (!batchMode && listener) { + int refw, refh; + + leconn.block (true); + scale->block (true); + + if (cropw && appliesTo->get_active_row_number() == 0) { + // we use the crop dimensions + refw = cropw; + refh = croph; + } else { + // we use the image dimensions + refw = maxw; + refh = maxh; + } + + if (refw > refh) { + le->set_value ((double)(getComputedWidth(se->get_value()))); + scale->setValue (se->get_value () / (croph && appliesTo->get_active_row_number() == 0 ? (double)croph : (double)maxh)); + } else { + le->set_value ((double)(getComputedHeight(se->get_value()))); + scale->setValue (se->get_value () / (cropw && appliesTo->get_active_row_number() == 0 ? (double)cropw : (double)maxw)); + } + + scale->block (false); + leconn.block (false); + } + + if (listener) { + if (getEnabled () || batchMode) { + listener->panelChanged (EvResizeShortedge, Glib::ustring::format (se->get_value_as_int())); + } + } +} + void Resize::specChanged () { switch (spec->get_active_row_number()) { case (0): // Scale mode - scale->sliderChanged (); + scale->sliderChanged(); break; case (1): // Width mode - w->set_value((double)(getComputedWidth())); - entryWChanged (); + w->set_value((double)(getComputedWidth(h->get_value()))); + entryWChanged(); break; case (2): // Height mode - h->set_value((double)(getComputedHeight())); - entryHChanged (); + h->set_value((double)(getComputedHeight(w->get_value()))); + entryHChanged(); break; case (3): @@ -567,6 +743,16 @@ void Resize::specChanged () notifyBBox(); break; + case (4): + // Long edge mode + entryLEChanged(); + break; + + case (5): + // Short edge mode + entrySEChanged(); + break; + default: break; } @@ -593,6 +779,8 @@ void Resize::updateGUI () reorder_child(*allowUpscaling, 4); w->set_sensitive (true); h->set_sensitive (false); + w->get_parent()->get_parent()->show(); + le->get_parent()->get_parent()->hide(); break; case (2): @@ -601,6 +789,8 @@ void Resize::updateGUI () reorder_child(*allowUpscaling, 4); w->set_sensitive (false); h->set_sensitive (true); + w->get_parent()->get_parent()->show(); + le->get_parent()->get_parent()->hide(); break; case (3): @@ -609,6 +799,28 @@ void Resize::updateGUI () reorder_child(*allowUpscaling, 4); w->set_sensitive (true); h->set_sensitive (true); + w->get_parent()->get_parent()->show(); + le->get_parent()->get_parent()->hide(); + break; + + case (4): + // Long edge mode + pack_start (*sizeBox, Gtk::PACK_SHRINK, 4); + reorder_child(*allowUpscaling, 4); + le->set_sensitive (true); + se->set_sensitive (false); + w->get_parent()->get_parent()->hide(); + le->get_parent()->get_parent()->show(); + break; + + case (5): + // Short edge mode + pack_start (*sizeBox, Gtk::PACK_SHRINK, 4); + reorder_child(*allowUpscaling, 4); + le->set_sensitive (false); + se->set_sensitive (true); + w->get_parent()->get_parent()->hide(); + le->get_parent()->get_parent()->show(); break; default: diff --git a/rtgui/resize.h b/rtgui/resize.h index ec4907fd1..d13bf8aa4 100644 --- a/rtgui/resize.h +++ b/rtgui/resize.h @@ -48,6 +48,8 @@ public: void adjusterChanged (Adjuster* a, double newval) override; void entryWChanged (); void entryHChanged (); + void entryLEChanged (); + void entrySEChanged (); void appliesToChanged (); void methodChanged (); void specChanged (); @@ -62,25 +64,29 @@ public: private: void fitBoxScale (); - int getComputedWidth (); - int getComputedHeight (); + int getComputedWidth (double height); + int getComputedHeight (double width); void notifyBBox (); void updateGUI (); void allowUpscalingChanged(); rtengine::ProcEvent EvResizeAllowUpscaling; + rtengine::ProcEvent EvResizeLongedge; + rtengine::ProcEvent EvResizeShortedge; Adjuster* scale; - Gtk::Box* sizeBox; + Gtk::Box* sizeBox; MyComboBoxText* appliesTo; MyComboBoxText* method; MyComboBoxText* spec; MySpinButton* w; MySpinButton* h; + MySpinButton* le; + MySpinButton* se; Gtk::CheckButton *allowUpscaling; int maxw, maxh; int cropw, croph; - sigc::connection sconn, aconn, wconn, hconn; - bool wDirty, hDirty; + sigc::connection sconn, aconn, wconn, hconn, leconn, seconn; + bool wDirty, hDirty, leDirty, seDirty; ToolParamBlock* packBox; IdleRegister idle_register; diff --git a/rtgui/retinex.cc b/rtgui/retinex.cc index a9d7cc376..b5877d63f 100644 --- a/rtgui/retinex.cc +++ b/rtgui/retinex.cc @@ -494,7 +494,7 @@ Retinex::Retinex () : FoldableToolPanel (this, "retinex", M ("TP_RETINEX_LABEL") RTImage *resetImg = Gtk::manage (new RTImage ("undo-small.png", "redo-small.png")); setExpandAlignProperties (resetImg, false, false, Gtk::ALIGN_CENTER, Gtk::ALIGN_CENTER); neutral->set_image (*resetImg); - neutral->set_tooltip_text (M ("TP_RETINEX_NEUTRAL_TIP")); + neutral->set_tooltip_text (M ("TP_RETINEX_NEUTRAL_TOOLTIP")); neutralconn = neutral->signal_pressed().connect ( sigc::mem_fun (*this, &Retinex::neutral_pressed) ); neutral->show(); diff --git a/rtgui/rtappchooserdialog.cc b/rtgui/rtappchooserdialog.cc new file mode 100644 index 000000000..50a71ee38 --- /dev/null +++ b/rtgui/rtappchooserdialog.cc @@ -0,0 +1,77 @@ +/* + * This file is part of RawTherapee. + * + * Copyright (c) 2021 Lawrence Lee + * + * 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 . + */ +#include "rtappchooserdialog.h" + +#if !(defined WIN32 || defined __APPLE__) +#define GTKMM_APPCHOOSERDIALOG +#endif + +RTAppChooserDialog::~RTAppChooserDialog() {} + +#ifdef GTKMM_APPCHOOSERDIALOG // Use Gtk::AppChooserDialog directly. + +RTAppChooserDialog::RTAppChooserDialog(const Glib::ustring &content_type) : + Gtk::AppChooserDialog(content_type) +{ +} + +Glib::RefPtr RTAppChooserDialog::get_app_info() +{ + return Gtk::AppChooserDialog::get_app_info(); +} + +Glib::RefPtr RTAppChooserDialog::get_app_info() const +{ + return Gtk::AppChooserDialog::get_app_info(); +} + +#else // Work around bugs with GLib and glibmm. + +RTAppChooserDialog::RTAppChooserDialog(const Glib::ustring &content_type) : + Gtk::AppChooserDialog(content_type) +{ + // GTK calls a faulty GLib function to update the most recently selected + // application after an application is selected. This removes all signal + // handlers to prevent the function call. + auto signal_id = g_signal_lookup("response", GTK_TYPE_APP_CHOOSER_DIALOG); + while (true) { + auto handler_id = g_signal_handler_find(gobj(), G_SIGNAL_MATCH_ID, signal_id, GQuark(), nullptr, nullptr, nullptr); + if (!handler_id) { + break; + } + g_signal_handler_disconnect(gobj(), handler_id); + } +} + +Glib::RefPtr RTAppChooserDialog::get_app_info() +{ + // glibmm wrapping of GAppInfo does not work on some platforms. Manually + // wrap it here. + GAppInfo *gAppInfo = gtk_app_chooser_get_app_info(GTK_APP_CHOOSER(gobj())); + return Glib::wrap(gAppInfo, true); +} + +Glib::RefPtr RTAppChooserDialog::get_app_info() const +{ + GAppInfo *gAppInfo = gtk_app_chooser_get_app_info(GTK_APP_CHOOSER( + const_cast(gobj()))); + return Glib::wrap(gAppInfo, true); +} + +#endif diff --git a/rtgui/rtappchooserdialog.h b/rtgui/rtappchooserdialog.h new file mode 100644 index 000000000..9d0e3b041 --- /dev/null +++ b/rtgui/rtappchooserdialog.h @@ -0,0 +1,39 @@ +/* + * This file is part of RawTherapee. + * + * Copyright (c) 2021 Lawrence Lee + * + * 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 . + */ +#pragma once + +#include +#include +#include +#include + +/** + * Custom version of gtkmm's Gtk::AppChooserDialog to work around crashes + * (https://gitlab.gnome.org/GNOME/glib/-/issues/1104 and + * https://gitlab.gnome.org/GNOME/glibmm/-/issues/94). + */ +class RTAppChooserDialog : public Gtk::AppChooserDialog +{ +public: + RTAppChooserDialog(const Glib::ustring &content_type); + ~RTAppChooserDialog(); + + Glib::RefPtr get_app_info(); + Glib::RefPtr get_app_info() const; +}; diff --git a/rtgui/rtimage.cc b/rtgui/rtimage.cc index 44078ed3b..98e61b897 100644 --- a/rtgui/rtimage.cc +++ b/rtgui/rtimage.cc @@ -22,12 +22,40 @@ #include #include +#include +#include #include "../rtengine/settings.h" namespace { +struct GIconKey { + Glib::RefPtr icon; + /** + * Icon size in pixels. + */ + int icon_size; + + GIconKey() {} + GIconKey(const Glib::RefPtr &icon, int icon_size): icon(icon), icon_size(icon_size) {} + + bool operator==(const GIconKey &other) const + { + bool icons_match = (icon.get() == nullptr && other.icon.get() == nullptr) || (icon.get() != nullptr && icon->equal(Glib::RefPtr::cast_const(other.icon))); + return icons_match && icon_size == other.icon_size; + } +}; + +struct GIconKeyHash { + size_t operator()(const GIconKey &key) const + { + const size_t icon_hash = key.icon ? key.icon->hash() : 0; + return icon_hash ^ std::hash()(key.icon_size); + } +}; + +std::unordered_map, GIconKeyHash> gIconPixbufCache; std::map > pixbufCache; std::map > surfaceCache; @@ -44,6 +72,8 @@ RTImage::RTImage (RTImage &other) : surface(other.surface), pixbuf(other.pixbuf) set(pixbuf); } else if (surface) { set(surface); + } else if (other.gIcon) { + changeImage(other.gIcon, other.gIconSize); } } @@ -80,13 +110,27 @@ RTImage::RTImage (Glib::RefPtr &other) if (other->get_surface()) { surface = other->get_surface(); set(surface); - } else { + } else if (other->pixbuf) { pixbuf = other->get_pixbuf(); set(pixbuf); + } else if (other->gIcon) { + changeImage(other->gIcon, other->gIconSize); } } } +RTImage::RTImage(const Glib::RefPtr &gIcon, Gtk::IconSize size) +{ + changeImage(gIcon, size); +} + +int RTImage::iconSizeToPixels(Gtk::IconSize size) const +{ + int width, height; + Gtk::IconSize::lookup(size, width, height); + return std::round(getTweakedDPI() / baseDPI * std::max(width, height)); +} + void RTImage::setImage (const Glib::ustring& fileName, const Glib::ustring& rtlFileName) { Glib::ustring imageName; @@ -113,10 +157,41 @@ void RTImage::setDPInScale (const double newDPI, const int newScale) } } +void RTImage::changeImage(const Glib::RefPtr &gIcon, int size) +{ + clear(); + + pixbuf.reset(); + surface.clear(); + this->gIcon = gIcon; + + if (!gIcon) { + return; + } + + gIconSize = size; + GIconKey key(gIcon, gIconSize); + auto iterator = gIconPixbufCache.find(key); + + if (iterator == gIconPixbufCache.end()) { + auto icon_pixbuf = createPixbufFromGIcon(gIcon, gIconSize); + iterator = gIconPixbufCache.emplace(key, icon_pixbuf).first; + } + + set(iterator->second); +} + +void RTImage::changeImage(const Glib::RefPtr &gIcon, Gtk::IconSize size) +{ + changeImage(gIcon, iconSizeToPixels(size)); +} + void RTImage::changeImage (const Glib::ustring& imageName) { clear (); + gIcon.reset(); + if (imageName.empty()) { return; } @@ -150,6 +225,11 @@ int RTImage::get_width() if (pixbuf) { return pixbuf->get_width(); } + + if (gIcon) { + return this->get_pixbuf()->get_width(); + } + return -1; } @@ -161,6 +241,11 @@ int RTImage::get_height() if (pixbuf) { return pixbuf->get_height(); } + + if (gIcon) { + return this->get_pixbuf()->get_height(); + } + return -1; } @@ -178,6 +263,11 @@ void RTImage::cleanup(bool all) for (auto& entry : surfaceCache) { entry.second.clear(); } + + for (auto& entry : gIconPixbufCache) { + entry.second.reset(); + } + RTScalable::cleanup(all); } @@ -189,6 +279,10 @@ void RTImage::updateImages() for (auto& entry : surfaceCache) { entry.second = createImgSurfFromFile(entry.first); } + + for (auto& entry : gIconPixbufCache) { + entry.second = createPixbufFromGIcon(entry.first.icon, entry.first.icon_size); + } } Glib::RefPtr RTImage::createPixbufFromFile (const Glib::ustring& fileName) @@ -197,6 +291,17 @@ Glib::RefPtr RTImage::createPixbufFromFile (const Glib::ustring& fi return Gdk::Pixbuf::create(imgSurf, 0, 0, imgSurf->get_width(), imgSurf->get_height()); } +Glib::RefPtr RTImage::createPixbufFromGIcon(const Glib::RefPtr &icon, int size) +{ + // TODO: Listen for theme changes and update icon, remove from cache. + Gtk::IconInfo iconInfo = Gtk::IconTheme::get_default()->lookup_icon(icon, size, Gtk::ICON_LOOKUP_FORCE_SIZE); + try { + return iconInfo.load_icon(); + } catch (Glib::Exception &e) { + return Glib::RefPtr(); + } +} + Cairo::RefPtr RTImage::createImgSurfFromFile (const Glib::ustring& fileName) { Cairo::RefPtr surf; diff --git a/rtgui/rtimage.h b/rtgui/rtimage.h index eb1930d28..183a83a94 100644 --- a/rtgui/rtimage.h +++ b/rtgui/rtimage.h @@ -34,6 +34,11 @@ class RTImage final : public Gtk::Image, public RTScalable protected: Cairo::RefPtr surface; Glib::RefPtr pixbuf; + Glib::RefPtr gIcon; + int gIconSize; + + void changeImage(const Glib::RefPtr &gIcon, int size); + int iconSizeToPixels(Gtk::IconSize size) const; public: RTImage (); @@ -42,9 +47,11 @@ public: explicit RTImage (Cairo::RefPtr &surf); explicit RTImage(Cairo::RefPtr other); explicit RTImage (Glib::RefPtr &other); + explicit RTImage(const Glib::RefPtr &gIcon, Gtk::IconSize size); explicit RTImage (const Glib::ustring& fileName, const Glib::ustring& rtlFileName = Glib::ustring()); void setImage (const Glib::ustring& fileName, const Glib::ustring& rtlFileName = Glib::ustring()); + void changeImage(const Glib::RefPtr &gIcon, Gtk::IconSize size); void changeImage (const Glib::ustring& imageName); Cairo::RefPtr get_surface(); int get_width(); @@ -58,6 +65,7 @@ public: static void setScale (const int newScale); static Glib::RefPtr createPixbufFromFile (const Glib::ustring& fileName); + static Glib::RefPtr createPixbufFromGIcon(const Glib::RefPtr &icon, int size); static Cairo::RefPtr createImgSurfFromFile (const Glib::ustring& fileName); }; diff --git a/rtgui/rtwindow.cc b/rtgui/rtwindow.cc old mode 100644 new mode 100755 index c0042f949..a431df3b8 --- a/rtgui/rtwindow.cc +++ b/rtgui/rtwindow.cc @@ -282,9 +282,12 @@ RTWindow::RTWindow () on_delete_has_run = false; is_fullscreen = false; + is_minimized = false; property_destroy_with_parent().set_value (false); signal_window_state_event().connect ( sigc::mem_fun (*this, &RTWindow::on_window_state_event) ); + onConfEventConn = signal_configure_event().connect ( sigc::mem_fun (*this, &RTWindow::on_configure_event) ); signal_key_press_event().connect ( sigc::mem_fun (*this, &RTWindow::keyPressed) ); + signal_key_release_event().connect(sigc::mem_fun(*this, &RTWindow::keyReleased)); if (simpleEditor) { epanel = Gtk::manage ( new EditorPanel (nullptr) ); @@ -498,22 +501,22 @@ void RTWindow::showErrors() // alerting users if the default raw and image profiles are missing if (options.is_defProfRawMissing()) { options.defProfRaw = DEFPROFILE_RAW; - Gtk::MessageDialog msgd (*this, Glib::ustring::compose (M ("OPTIONS_DEFRAW_MISSING"), options.defProfRaw), true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); + Gtk::MessageDialog msgd (*this, Glib::ustring::compose (M ("OPTIONS_DEFRAW_MISSING"), escapeHtmlChars(options.defProfRaw)), true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); msgd.run (); } if (options.is_bundledDefProfRawMissing()) { - Gtk::MessageDialog msgd (*this, Glib::ustring::compose (M ("OPTIONS_BUNDLED_MISSING"), options.defProfRaw), true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); + Gtk::MessageDialog msgd (*this, Glib::ustring::compose (M ("OPTIONS_BUNDLED_MISSING"), escapeHtmlChars(options.defProfRaw)), true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); msgd.run (); options.defProfRaw = DEFPROFILE_INTERNAL; } if (options.is_defProfImgMissing()) { options.defProfImg = DEFPROFILE_IMG; - Gtk::MessageDialog msgd (*this, Glib::ustring::compose (M ("OPTIONS_DEFIMG_MISSING"), options.defProfImg), true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); + Gtk::MessageDialog msgd (*this, Glib::ustring::compose (M ("OPTIONS_DEFIMG_MISSING"), escapeHtmlChars(options.defProfImg)), true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); msgd.run (); } if (options.is_bundledDefProfImgMissing()) { - Gtk::MessageDialog msgd (*this, Glib::ustring::compose (M ("OPTIONS_BUNDLED_MISSING"), options.defProfImg), true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); + Gtk::MessageDialog msgd (*this, Glib::ustring::compose (M ("OPTIONS_BUNDLED_MISSING"), escapeHtmlChars(options.defProfImg)), true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); msgd.run (); options.defProfImg = DEFPROFILE_INTERNAL; } @@ -521,7 +524,7 @@ void RTWindow::showErrors() bool RTWindow::on_configure_event (GdkEventConfigure* event) { - if (!is_maximized() && is_visible()) { + if (!options.windowMaximized && !is_fullscreen && !is_minimized) { get_size (options.windowWidth, options.windowHeight); get_position (options.windowX, options.windowY); } @@ -534,10 +537,11 @@ bool RTWindow::on_configure_event (GdkEventConfigure* event) bool RTWindow::on_window_state_event (GdkEventWindowState* event) { - if (event->changed_mask & GDK_WINDOW_STATE_MAXIMIZED) { - options.windowMaximized = event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED; - } - + // Retrieve RT window states + options.windowMaximized = event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED; + is_minimized = event->new_window_state & GDK_WINDOW_STATE_ICONIFIED; + is_fullscreen = event->new_window_state & GDK_WINDOW_STATE_FULLSCREEN; + return Gtk::Widget::on_window_state_event (event); } @@ -576,8 +580,10 @@ void RTWindow::addEditorPanel (EditorPanel* ep, const std::string &name) { if (options.multiDisplayMode > 0) { EditWindow * wndEdit = EditWindow::getInstance (this); - wndEdit->show(); wndEdit->addEditorPanel (ep, name); + wndEdit->show_all(); + wndEdit->restoreWindow(); // Need to be called after RTWindow creation to work with all OS Windows Manager + ep->setAspect(); wndEdit->toFront(); } else { ep->setParent (this); @@ -756,6 +762,14 @@ bool RTWindow::keyPressed (GdkEventKey* event) return false; } +bool RTWindow::keyReleased(GdkEventKey *event) +{ + if (fpanel && mainNB->get_current_page() == mainNB->page_num(*fpanel)) { + return fpanel->handleShortcutKeyRelease(event); + } + return false; +} + void RTWindow::addBatchQueueJob (BatchQueueEntry* bqe, bool head) { @@ -786,7 +800,7 @@ bool RTWindow::on_delete_event (GdkEventAny* event) if (isSingleTabMode() || simpleEditor) { isProcessing = epanel->getIsProcessing(); } else if (options.multiDisplayMode > 0) { - editWindow = EditWindow::getInstance (this, false); + editWindow = EditWindow::getInstance (this); isProcessing = editWindow->isProcessing(); } else { int pageCount = mainNB->get_n_pages(); @@ -854,12 +868,22 @@ bool RTWindow::on_delete_event (GdkEventAny* event) FileBrowserEntry::hdr.reset(); FileBrowserEntry::ps.reset(); - if (!options.windowMaximized) { + if (!options.windowMaximized && !is_fullscreen && !is_minimized) { get_size (options.windowWidth, options.windowHeight); get_position (options.windowX, options.windowY); } - options.windowMonitor = get_screen()->get_monitor_at_window (get_window()); + // Retrieve window monitor ID + options.windowMonitor = 0; + const auto display = get_screen()->get_display(); + const int monitor_nb = display->get_n_monitors(); + + for (int id = 0; id < monitor_nb; id++) { + if (display->get_monitor_at_window(get_window()) == display->get_monitor(id)) { + options.windowMonitor = id; + break; + } + } try { Options::save (); @@ -972,25 +996,25 @@ void RTWindow::error(const Glib::ustring& descr) void RTWindow::toggle_fullscreen () { + onConfEventConn.block(true); // Avoid getting size and position while window is getting fullscreen + if (is_fullscreen) { unfullscreen(); - is_fullscreen = false; if (btn_fullscreen) { - //btn_fullscreen->set_label(M("MAIN_BUTTON_FULLSCREEN")); btn_fullscreen->set_tooltip_markup (M ("MAIN_BUTTON_FULLSCREEN")); btn_fullscreen->set_image (*iFullscreen); } } else { fullscreen(); - is_fullscreen = true; if (btn_fullscreen) { - //btn_fullscreen->set_label(M("MAIN_BUTTON_UNFULLSCREEN")); btn_fullscreen->set_tooltip_markup (M ("MAIN_BUTTON_UNFULLSCREEN")); btn_fullscreen->set_image (*iFullscreen_exit); } } + + onConfEventConn.block(false); } void RTWindow::SetEditorCurrent() @@ -1030,6 +1054,13 @@ void RTWindow::MoveFileBrowserToEditor() } } +void RTWindow::updateExternalEditorWidget(int selectedIndex, const std::vector & editors) +{ + if (epanel) { + epanel->updateExternalEditorWidget(selectedIndex, editors); + } +} + void RTWindow::updateProfiles (const Glib::ustring &printerProfile, rtengine::RenderingIntent printerIntent, bool printerBPC) { if (epanel) { @@ -1096,40 +1127,70 @@ bool RTWindow::splashClosed (GdkEventAny* event) void RTWindow::setWindowSize () { + onConfEventConn.block(true); // Avoid getting size and position while window is being moved, maximized, ... + Gdk::Rectangle lMonitorRect; - get_screen()->get_monitor_geometry (std::min (options.windowMonitor, Gdk::Screen::get_default()->get_n_monitors() - 1), lMonitorRect); + const auto display = get_screen()->get_display(); + display->get_monitor (std::min (options.windowMonitor, display->get_n_monitors() - 1))->get_geometry(lMonitorRect); #ifdef __APPLE__ // Get macOS menu bar height - const Gdk::Rectangle lWorkAreaRect = get_screen()->get_monitor_workarea (std::min (options.windowMonitor, Gdk::Screen::get_default()->get_n_monitors() - 1)); + Gdk::Rectangle lWorkAreaRect; + display->get_monitor (std::min (options.windowMonitor, display->get_n_monitors() - 1))->get_workarea(lWorkAreaRect); const int macMenuBarHeight = lWorkAreaRect.get_y(); + + // Place RT window to saved one in options file + if (options.windowX <= lMonitorRect.get_x() + lMonitorRect.get_width() + && options.windowX >= 0 + && options.windowY <= lMonitorRect.get_y() + lMonitorRect.get_height() - macMenuBarHeight + && options.windowY >= 0) { + move (options.windowX, options.windowY + macMenuBarHeight); + } else { + move (lMonitorRect.get_x(), lMonitorRect.get_y() + macMenuBarHeight); + } +#else + // Place RT window to saved one in options file + if (options.windowX <= lMonitorRect.get_x() + lMonitorRect.get_width() + && options.windowX >= 0 + && options.windowY <= lMonitorRect.get_y() + lMonitorRect.get_height() + && options.windowY >= 0) { + move (options.windowX, options.windowY); + } else { + move (lMonitorRect.get_x(), lMonitorRect.get_y()); + } #endif + // Maximize RT window according to options file if (options.windowMaximized) { -#ifdef __APPLE__ - move (lMonitorRect.get_x(), lMonitorRect.get_y() + macMenuBarHeight); -#else - move (lMonitorRect.get_x(), lMonitorRect.get_y()); -#endif maximize(); } else { unmaximize(); resize (options.windowWidth, options.windowHeight); - -#ifdef __APPLE__ - if (options.windowX <= lMonitorRect.get_x() + lMonitorRect.get_width() && options.windowY <= lMonitorRect.get_y() + lMonitorRect.get_height() - macMenuBarHeight) { - move (options.windowX, options.windowY + macMenuBarHeight); - } else { - move (lMonitorRect.get_x(), lMonitorRect.get_y() + macMenuBarHeight); - } -#else - if (options.windowX <= lMonitorRect.get_x() + lMonitorRect.get_width() && options.windowY <= lMonitorRect.get_y() + lMonitorRect.get_height()) { - move (options.windowX, options.windowY); - } else { - move (lMonitorRect.get_x(), lMonitorRect.get_y()); - } -#endif } + + onConfEventConn.block(false); +} + +void RTWindow::get_position(int& x, int& y) const +{ + // Call native function + Gtk::Window::get_position (x, y); + + // Retrieve display (concatenation of all monitors) size + int width = 0, height = 0; + const auto display = get_screen()->get_display(); + const int nbMonitors = display->get_n_monitors(); + + for (int i = 0; i < nbMonitors; i++) { + Gdk::Rectangle lMonitorRect; + display->get_monitor(i)->get_geometry(lMonitorRect); + width = std::max(width, lMonitorRect.get_x() + lMonitorRect.get_width()); + height = std::max(height, lMonitorRect.get_y() + lMonitorRect.get_height()); + } + + // Saturate position at monitor limits to avoid unexpected behavior (fixes #6233) + x = std::min(width, std::max(0, x)); + y = std::min(height, std::max(0, y)); } void RTWindow::set_title_decorated (Glib::ustring fname) diff --git a/rtgui/rtwindow.h b/rtgui/rtwindow.h old mode 100644 new mode 100755 index e5e180747..985cd3893 --- a/rtgui/rtwindow.h +++ b/rtgui/rtwindow.h @@ -33,6 +33,7 @@ class BatchQueueEntry; class BatchQueuePanel; class EditorPanel; +struct ExternalEditor; class FilePanel; class PLDBridge; class RTWindow final : @@ -51,6 +52,8 @@ private: Gtk::ProgressBar prProgBar; PLDBridge* pldBridge; bool is_fullscreen; + bool is_minimized; + sigc::connection onConfEventConn; bool on_delete_has_run; Gtk::Button * btn_fullscreen; @@ -85,6 +88,7 @@ public: void addBatchQueueJobs (const std::vector& entries); bool keyPressed (GdkEventKey* event); + bool keyReleased(GdkEventKey *event); bool on_configure_event (GdkEventConfigure* event) override; bool on_delete_event (GdkEventAny* event) override; bool on_window_state_event (GdkEventWindowState* event) override; @@ -95,6 +99,7 @@ public: void showPreferences (); void on_realize () override; void toggle_fullscreen (); + void get_position(int& x, int& y) const; void setProgress(double p) override; void setProgressStr(const Glib::ustring& str) override; @@ -114,6 +119,7 @@ public: void MoveFileBrowserToEditor(); void MoveFileBrowserToMain(); + void updateExternalEditorWidget(int selectedIndex, const std::vector &editors); void updateProfiles (const Glib::ustring &printerProfile, rtengine::RenderingIntent printerIntent, bool printerBPC); void updateTPVScrollbar (bool hide); void updateHistogramPosition (int oldPosition, int newPosition); diff --git a/rtgui/saveasdlg.cc b/rtgui/saveasdlg.cc index a4062d502..1e361411c 100644 --- a/rtgui/saveasdlg.cc +++ b/rtgui/saveasdlg.cc @@ -120,7 +120,7 @@ SaveAsDialog::SaveAsDialog (const Glib::ustring &initialDir, Gtk::Window* parent Gtk::Button* ok = Gtk::manage( new Gtk::Button (M("GENERAL_OK")) ); Gtk::Button* cancel = Gtk::manage( new Gtk::Button (M("GENERAL_CANCEL")) ); - ok->set_tooltip_markup (M("TP_SAVEDIALOG_OK_TIP")); + ok->set_tooltip_markup (M("TP_SAVEDIALOG_OK_TOOLTIP")); ok->signal_clicked().connect( sigc::mem_fun(*this, &SaveAsDialog::okPressed) ); cancel->signal_clicked().connect( sigc::mem_fun(*this, &SaveAsDialog::cancelPressed) ); @@ -281,9 +281,9 @@ void SaveAsDialog::okPressed () + ": " + M("SAVEDLG_WARNFILENAME") + " \"" - + Glib::path_get_basename (fname) + + escapeHtmlChars(Glib::path_get_basename (fname)) + '.' - + formatOpts->getFormat().format + + escapeHtmlChars(formatOpts->getFormat().format) + "\"", true, Gtk::MESSAGE_WARNING, diff --git a/rtgui/sharpenedge.cc b/rtgui/sharpenedge.cc index 552169fc1..e00d919c3 100644 --- a/rtgui/sharpenedge.cc +++ b/rtgui/sharpenedge.cc @@ -23,7 +23,6 @@ #include "guiutils.h" #include "options.h" - #include "../rtengine/procparams.h" using namespace rtengine; diff --git a/rtgui/splash.cc b/rtgui/splash.cc index 7ae5bf4d7..42b276a2e 100644 --- a/rtgui/splash.cc +++ b/rtgui/splash.cc @@ -178,7 +178,7 @@ Splash::Splash (Gtk::Window& parent) : Gtk::Dialog(M("GENERAL_ABOUT"), parent, t } // Tab 4: the license - std::string licenseFileName = Glib::build_filename (licensePath, "LICENSE.txt"); + std::string licenseFileName = Glib::build_filename (licensePath, "LICENSE"); if ( Glib::file_test(licenseFileName, (Glib::FILE_TEST_EXISTS)) ) { FILE *f = g_fopen (licenseFileName.c_str (), "rt"); diff --git a/rtgui/spot.cc b/rtgui/spot.cc new file mode 100644 index 000000000..2f9910b70 --- /dev/null +++ b/rtgui/spot.cc @@ -0,0 +1,894 @@ +/* + * This file is part of RawTherapee. + * + * Copyright (c) 2019 Jean-Christophe FRISCH + * + * 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 . + */ + +#include "editcallbacks.h" +#include "spot.h" +#include "rtimage.h" +#include +#include "../rtengine/rt_math.h" +#include "guiutils.h" +#include "eventmapper.h" +#include "../rtengine/refreshmap.h" + +using namespace rtengine; +using namespace rtengine::procparams; + +namespace +{ + +enum GeometryIndex { + MO_TARGET_DISK, + MO_SOURCE_DISC, + MO_TARGET_CIRCLE, + MO_SOURCE_CIRCLE, + MO_TARGET_FEATHER_CIRCLE, + MO_SOURCE_FEATHER_CIRCLE, + MO_OBJECT_COUNT, + + VISIBLE_SOURCE_ICON = 0, + VISIBLE_SOURCE_FEATHER_CIRCLE, + VISIBLE_LINK, + VISIBLE_SOURCE_CIRCLE, + VISIBLE_TARGET_FEATHER_CIRCLE, + VISIBLE_TARGET_CIRCLE, + VISIBLE_OBJECT_COUNT +}; + +} + +Spot::Spot() : + FoldableToolPanel(this, "spot", M ("TP_SPOT_LABEL"), true, true), + EditSubscriber(ET_OBJECTS), + draggedSide(DraggedSide::NONE), + lastObject(-1), + activeSpot(-1), + sourceIcon("spot-normal.png", "spot-active.png", "spot-prelight.png", "", "", Geometry::DP_CENTERCENTER), + editedCheckBox(nullptr) +{ + countLabel = Gtk::manage (new Gtk::Label (Glib::ustring::compose (M ("TP_SPOT_COUNTLABEL"), 0))); + + edit = Gtk::manage (new Gtk::ToggleButton()); + edit->add (*Gtk::manage (new RTImage ("edit-point.png"))); + editConn = edit->signal_toggled().connect ( sigc::mem_fun (*this, &Spot::editToggled) ); + edit->set_tooltip_text(M("TP_SPOT_HINT")); + + reset = Gtk::manage (new Gtk::Button ()); + reset->add (*Gtk::manage (new RTImage ("undo-small.png"))); + reset->set_relief (Gtk::RELIEF_NONE); + reset->set_border_width (0); + reset->signal_clicked().connect ( sigc::mem_fun (*this, &Spot::resetPressed) ); + + spotSize = Gtk::manage(new Adjuster(M("TP_SPOT_DEFAULT_SIZE"), SpotParams::minRadius, SpotParams::maxRadius, 1, 25)); + + labelBox = Gtk::manage (new Gtk::Box()); + labelBox->set_spacing (2); + labelBox->pack_start (*countLabel, false, false, 0); + labelBox->pack_end (*edit, false, false, 0); + labelBox->pack_end (*reset, false, false, 0); + labelBox->pack_end (*spotSize, false, false, 0); + pack_start (*labelBox); + + sourceIcon.datum = Geometry::IMAGE; + sourceIcon.setActive (false); + sourceIcon.state = Geometry::ACTIVE; + sourceCircle.datum = Geometry::IMAGE; + sourceCircle.setActive (false); + sourceCircle.radiusInImageSpace = true; + sourceCircle.setDashed(true); + sourceMODisc.datum = Geometry::IMAGE; + sourceMODisc.setActive (false); + sourceMODisc.radiusInImageSpace = true; + sourceMODisc.filled = true; + sourceMODisc.innerLineWidth = 0.; + targetCircle.datum = Geometry::IMAGE; + targetCircle.setActive (false); + targetCircle.radiusInImageSpace = true; + targetMODisc.datum = Geometry::IMAGE; + targetMODisc.setActive (false); + targetMODisc.radiusInImageSpace = true; + targetMODisc.filled = true; + targetMODisc.innerLineWidth = 0.; + sourceFeatherCircle.datum = Geometry::IMAGE; + sourceFeatherCircle.setActive (false); + sourceFeatherCircle.radiusInImageSpace = true; + sourceFeatherCircle.setDashed(true); + sourceFeatherCircle.innerLineWidth = 0.7; + targetFeatherCircle.datum = Geometry::IMAGE; + targetFeatherCircle.setActive (false); + targetFeatherCircle.radiusInImageSpace = true; + targetFeatherCircle.innerLineWidth = 0.7; + link.datum = Geometry::IMAGE; + link.setActive (false); + + auto m = ProcEventMapper::getInstance(); + EvSpotEnabled = m->newEvent(ALLNORAW, "HISTORY_MSG_SPOT"); + EvSpotEnabledOPA = m->newEvent(SPOTADJUST, "HISTORY_MSG_SPOT"); + EvSpotEntry = m->newEvent(SPOTADJUST, "HISTORY_MSG_SPOT_ENTRY"); + EvSpotEntryOPA = m->newEvent(SPOTADJUST, "HISTORY_MSG_SPOT_ENTRY"); + + show_all(); +} + +Spot::~Spot() +{ + // delete all dynamically allocated geometry + if (EditSubscriber::visibleGeometry.size()) { + for (size_t i = 0; i < EditSubscriber::visibleGeometry.size() - VISIBLE_OBJECT_COUNT; ++i) { // static visible geometry at the end of the list + delete EditSubscriber::visibleGeometry.at (i); + } + } + + // We do not delete the mouseOverGeometry, because the referenced objects are either + // shared with visibleGeometry or instantiated by the class's ctor +} + +void Spot::read (const ProcParams* pp, const ParamsEdited* pedited) +{ + disableListener (); + + size_t oldSize = spots.size(); + spots = pp->spot.entries; + + if (pedited) { + set_inconsistent (multiImage && !pedited->spot.enabled); + } + + setEnabled (pp->spot.enabled); + lastEnabled = pp->spot.enabled; + activeSpot = -1; + lastObject = -1; + + if (batchMode) { + editedCheckBox->set_label(Glib::ustring::compose (M ("TP_SPOT_COUNTLABEL"), spots.size())); + } + else { + if (spots.size() != oldSize) { + createGeometry(); + } + + updateGeometry(); + } + + enableListener (); +} + +void Spot::write (ProcParams* pp, ParamsEdited* pedited) +{ + pp->spot.enabled = getEnabled(); + pp->spot.entries = spots; + + if (pedited) { + pedited->spot.enabled = !get_inconsistent(); + pedited->spot.entries = editedCheckBox->get_active(); + } +} + +void Spot::resetPressed() +{ + if (batchMode) { + // no need to handle the Geometry in batch mode, since point editing is disabled + spots.clear(); + editedConn.block (true); + editedCheckBox->set_active (true); + editedConn.block (false); + + editedCheckBox->set_label(Glib::ustring::compose (M ("TP_SPOT_COUNTLABEL"), spots.size())); + + if (listener) { + listener->panelChanged (EvSpotEntry, Glib::ustring::compose (M ("TP_SPOT_COUNTLABEL"), 0)); + } + } else { + if (!spots.empty()) { + EditSubscriber::action = EditSubscriber::Action::NONE; + spots.clear(); + activeSpot = -1; + lastObject = -1; + createGeometry(); + updateGeometry(); + + if (listener) { + listener->panelChanged (edit->get_active() ? EvSpotEntryOPA : EvSpotEntry, Glib::ustring::compose (M ("TP_SPOT_COUNTLABEL"), 0)); + } + } + } +} + +/** + * Release anything that's currently being dragged. + */ +void Spot::releaseEdit() +{ + Geometry *loGeom = getVisibleGeometryFromMO (lastObject); + + EditSubscriber::action = EditSubscriber::Action::NONE; + + if (!loGeom) { + return; + } + + loGeom->state = Geometry::NORMAL; + sourceIcon.state = Geometry::NORMAL; + draggedSide = DraggedSide::NONE; + updateGeometry(); +} + +void Spot::setBatchMode (bool batchMode) +{ + ToolPanel::setBatchMode (batchMode); + + if (batchMode) { + removeIfThere (labelBox, edit, false); + + if (!editedCheckBox) { + removeIfThere (labelBox, countLabel, false); + countLabel = nullptr; + editedCheckBox = Gtk::manage (new Gtk::CheckButton (Glib::ustring::compose (M ("TP_SPOT_COUNTLABEL"), 0))); + labelBox->pack_start (*editedCheckBox, Gtk::PACK_SHRINK, 2); + labelBox->reorder_child (*editedCheckBox, 0); + editedConn = editedCheckBox->signal_toggled().connect ( sigc::mem_fun (*this, &Spot::editedToggled) ); + editedCheckBox->show(); + } + } +} + +void Spot::editedToggled () +{ + if (listener) { + listener->panelChanged (EvSpotEntry, !editedCheckBox->get_active() ? M ("GENERAL_UNCHANGED") : Glib::ustring::compose (M ("TP_SPOT_COUNTLABEL"), spots.size())); + } +} + +void Spot::enabledChanged () +{ + if (listener) { + if (get_inconsistent()) { + listener->panelChanged (edit->get_active() ? EvSpotEnabledOPA : EvSpotEnabled, M ("GENERAL_UNCHANGED")); + } else if (getEnabled()) { + listener->panelChanged (edit->get_active() ? EvSpotEnabledOPA : EvSpotEnabled, M ("GENERAL_ENABLED")); + } else { + listener->panelChanged (edit->get_active() ? EvSpotEnabledOPA : EvSpotEnabled, M ("GENERAL_DISABLED")); + } + } +} + +void Spot::setEditProvider (EditDataProvider* provider) +{ + EditSubscriber::setEditProvider (provider); +} + +void Spot::editToggled () +{ + if (listener) { + if (edit->get_active()) { + listener->setTweakOperator(this); + listener->refreshPreview(EvSpotEnabledOPA); // reprocess the preview w/o creating History entry + subscribe(); + } else { + releaseEdit(); + unsubscribe(); + listener->unsetTweakOperator(this); + listener->refreshPreview(EvSpotEnabled); // reprocess the preview w/o creating History entry + } + } +} + +Geometry* Spot::getVisibleGeometryFromMO (int MOID) +{ + if (MOID == -1) { + return nullptr; + } + + if (MOID == MO_TARGET_DISK) { + return getActiveSpotIcon(); + } + + if (MOID == MO_SOURCE_DISC) { + return &sourceIcon; + } + + if (MOID > MO_OBJECT_COUNT) { + return EditSubscriber::visibleGeometry.at(MOID - MO_OBJECT_COUNT); + } + + return EditSubscriber::mouseOverGeometry.at (MOID); +} + +void Spot::createGeometry () +{ + int nbrEntry = spots.size(); + + if (!batchMode) { + countLabel->set_text (Glib::ustring::compose (M ("TP_SPOT_COUNTLABEL"), nbrEntry)); + } + + //printf("CreateGeometry(%d)\n", nbrEntry); + // delete all dynamically allocated geometry + if (EditSubscriber::visibleGeometry.size() > VISIBLE_OBJECT_COUNT) + for (size_t i = 0; i < EditSubscriber::visibleGeometry.size() - VISIBLE_OBJECT_COUNT; ++i) { // static visible geometry at the end of the list + delete EditSubscriber::visibleGeometry.at (i); + } + + // mouse over geometry starts with the static geometry, then the spot's icon geometry + EditSubscriber::mouseOverGeometry.resize (MO_OBJECT_COUNT + nbrEntry); + // visible geometry starts with the spot's icon geometry, then the static geometry + EditSubscriber::visibleGeometry.resize (nbrEntry + VISIBLE_OBJECT_COUNT); + + size_t i = 0, j = 0; + assert(i == MO_TARGET_DISK); + EditSubscriber::mouseOverGeometry.at (i++) = &targetMODisc; // MO_OBJECT_COUNT + 0 + assert(i == MO_SOURCE_DISC); + EditSubscriber::mouseOverGeometry.at (i++) = &sourceMODisc; // MO_OBJECT_COUNT + 1 + assert(i == MO_TARGET_CIRCLE); + EditSubscriber::mouseOverGeometry.at (i++) = &targetCircle; // MO_OBJECT_COUNT + 2 + assert(i == MO_SOURCE_CIRCLE); + EditSubscriber::mouseOverGeometry.at (i++) = &sourceCircle; // MO_OBJECT_COUNT + 3 + assert(i == MO_TARGET_FEATHER_CIRCLE); + EditSubscriber::mouseOverGeometry.at (i++) = &targetFeatherCircle; // MO_OBJECT_COUNT + 4 + assert(i == MO_SOURCE_FEATHER_CIRCLE); + EditSubscriber::mouseOverGeometry.at (i++) = &sourceFeatherCircle; // MO_OBJECT_COUNT + 5 + + // recreate all spots geometry + Cairo::RefPtr normalImg = sourceIcon.getNormalImg(); + Cairo::RefPtr prelightImg = sourceIcon.getPrelightImg(); + Cairo::RefPtr activeImg = sourceIcon.getActiveImg(); + + for (; j < EditSubscriber::visibleGeometry.size() - VISIBLE_OBJECT_COUNT; ++i, ++j) { + EditSubscriber::mouseOverGeometry.at (i) = EditSubscriber::visibleGeometry.at (j) = new OPIcon (normalImg, activeImg, prelightImg, Cairo::RefPtr (nullptr), Cairo::RefPtr (nullptr), Geometry::DP_CENTERCENTER); + EditSubscriber::visibleGeometry.at (j)->setActive (true); + EditSubscriber::visibleGeometry.at (j)->datum = Geometry::IMAGE; + EditSubscriber::visibleGeometry.at (j)->state = Geometry::NORMAL; + //printf("mouseOverGeometry.at(%d) = %p\n", (unsigned int)i, (void*)EditSubscriber::mouseOverGeometry.at(i)); + } + + int visibleOffset = j; + assert(j - visibleOffset == VISIBLE_SOURCE_ICON); + EditSubscriber::visibleGeometry.at (j++) = &sourceIcon; // VISIBLE_OBJECT_COUNT + 0 + assert(j - visibleOffset == VISIBLE_SOURCE_FEATHER_CIRCLE); + EditSubscriber::visibleGeometry.at (j++) = &sourceFeatherCircle; // VISIBLE_OBJECT_COUNT + 1 + assert(j - visibleOffset == VISIBLE_LINK); + EditSubscriber::visibleGeometry.at (j++) = &link; // VISIBLE_OBJECT_COUNT + 2 + assert(j - visibleOffset == VISIBLE_SOURCE_CIRCLE); + EditSubscriber::visibleGeometry.at (j++) = &sourceCircle; // VISIBLE_OBJECT_COUNT + 3 + assert(j - visibleOffset == VISIBLE_TARGET_FEATHER_CIRCLE); + EditSubscriber::visibleGeometry.at (j++) = &targetFeatherCircle; // VISIBLE_OBJECT_COUNT + 4 + assert(j - visibleOffset == VISIBLE_TARGET_CIRCLE); + EditSubscriber::visibleGeometry.at (j++) = &targetCircle; // VISIBLE_OBJECT_COUNT + 5 + static_cast(visibleOffset); +} + +void Spot::updateGeometry() +{ + EditDataProvider* dataProvider = getEditProvider(); + + if (dataProvider) { + int imW, imH; + dataProvider->getImageSize (imW, imH); + + if (activeSpot > -1) { + // Target point circle + targetCircle.center = spots.at (activeSpot).targetPos; + targetCircle.radius = spots.at (activeSpot).radius; + targetCircle.setActive (true); + + // Target point Mouse Over disc + targetMODisc.center = targetCircle.center; + targetMODisc.radius = targetCircle.radius; + targetMODisc.setActive (true); + + // Source point Icon + sourceIcon.position = spots.at (activeSpot).sourcePos; + sourceIcon.setActive (true); + + // Source point circle + sourceCircle.center = spots.at (activeSpot).sourcePos; + sourceCircle.radius = spots.at (activeSpot).radius; + sourceCircle.setActive (true); + + // Source point Mouse Over disc + sourceMODisc.center = sourceCircle.center; + sourceMODisc.radius = sourceCircle.radius; + sourceMODisc.setActive (true); + + // Target point feather circle + targetFeatherCircle.center = spots.at (activeSpot).targetPos; + targetFeatherCircle.radius = float (spots.at (activeSpot).radius) * (1.f + spots.at (activeSpot).feather); + targetFeatherCircle.radiusInImageSpace = true; + targetFeatherCircle.setActive (true); + + // Source point feather circle + sourceFeatherCircle.center = spots.at (activeSpot).sourcePos; + sourceFeatherCircle.radius = targetFeatherCircle.radius; + sourceFeatherCircle.setActive (true); + + // Link line + PolarCoord p; + p = targetCircle.center - sourceCircle.center; + + if (p.radius > sourceCircle.radius + targetCircle.radius) { + PolarCoord p2 (sourceCircle.radius, p.angle); + Coord p3; + p3 = p2; + link.begin = sourceCircle.center + p3; + p2.set (targetCircle.radius, p.angle + 180); + p3 = p2; + link.end = targetCircle.center + p3; + link.setActive (draggedSide == DraggedSide::NONE); + } else { + link.setActive (false); + } + + sourceCircle.setVisible(draggedSide != DraggedSide::SOURCE); + targetCircle.setVisible(draggedSide != DraggedSide::TARGET); + } else { + targetCircle.state = Geometry::NORMAL; + sourceCircle.state = Geometry::NORMAL; + targetFeatherCircle.state = Geometry::NORMAL; + sourceFeatherCircle.state = Geometry::NORMAL; + + targetCircle.setActive (false); + targetMODisc.setActive (false); + sourceIcon.setActive (false); + sourceCircle.setActive (false); + sourceMODisc.setActive (false); + targetFeatherCircle.setActive (false); + sourceFeatherCircle.setActive (false); + link.setActive (false); + } + + for (size_t i = 0; i < spots.size(); ++i) { + // Target point icon + OPIcon* geom = static_cast (EditSubscriber::visibleGeometry.at (i)); + geom->position = spots.at (i).targetPos; + geom->setActive (true); + + if (int (i) == activeSpot) { + geom->setHoverable (false); + } + } + } +} + +OPIcon *Spot::getActiveSpotIcon() +{ + if (activeSpot > -1) { + return static_cast (EditSubscriber::visibleGeometry.at (activeSpot)); + } + + return nullptr; +} + +void Spot::addNewEntry() +{ + EditDataProvider* editProvider = getEditProvider(); + // we create a new entry + SpotEntry se; + se.radius = spotSize->getIntValue(); + se.targetPos = editProvider->posImage; + se.sourcePos = se.targetPos; + spots.push_back (se); // this make a copy of se ... + activeSpot = spots.size() - 1; + lastObject = MO_SOURCE_DISC; + + //printf("ActiveSpot = %d\n", activeSpot); + + createGeometry(); + updateGeometry(); + EditSubscriber::visibleGeometry.at (activeSpot)->state = Geometry::ACTIVE; + sourceIcon.state = Geometry::DRAGGED; + // TODO: find a way to disable the active spot's Mouse Over geometry but still displaying its location... + + if (listener) { + listener->panelChanged (EvSpotEntryOPA, M ("TP_SPOT_ENTRYCHANGED")); + } +} + +void Spot::deleteSelectedEntry() +{ + // delete the activeSpot + if (activeSpot > -1) { + std::vector::iterator i = spots.begin(); + + for (int j = 0; j < activeSpot; ++j) { + ++i; + } + + spots.erase (i); + } + + lastObject = -1; + activeSpot = -1; + + createGeometry(); + updateGeometry(); + + if (listener) { + listener->panelChanged (EvSpotEntry, M ("TP_SPOT_ENTRYCHANGED")); + } +} + +CursorShape Spot::getCursor (int objectID, int xPos, int yPos) const +{ + const EditDataProvider* editProvider = getEditProvider(); + if (editProvider && activeSpot > -1) { + if (draggedSide != DraggedSide::NONE) { + return CSEmpty; + } + + if (objectID == MO_TARGET_DISK || objectID == MO_SOURCE_DISC) { + return CSMove2D; + } + if (objectID >= MO_TARGET_CIRCLE && objectID <= MO_SOURCE_FEATHER_CIRCLE) { + Coord delta(Coord(xPos, yPos) - ((objectID == MO_SOURCE_CIRCLE || objectID == MO_SOURCE_FEATHER_CIRCLE) ? spots.at(activeSpot).sourcePos : spots.at(activeSpot).targetPos)); + PolarCoord polarPos(delta); + if (polarPos.angle < 0.) { + polarPos.angle += 180.; + } + if (polarPos.angle < 22.5 || polarPos.angle >= 157.5) { + return CSMove1DH; + } + if (polarPos.angle < 67.5) { + return CSResizeBottomRight; + } + if (polarPos.angle < 112.5) { + return CSMove1DV; + } + return CSResizeBottomLeft; + } + } + return CSCrosshair; +} + +bool Spot::mouseOver (int modifierKey) +{ + EditDataProvider* editProvider = getEditProvider(); + + if (editProvider && editProvider->getObject() != lastObject) { + if (lastObject > -1) { + if (EditSubscriber::mouseOverGeometry.at (lastObject) == &targetMODisc) { + getVisibleGeometryFromMO (lastObject)->state = Geometry::ACTIVE; + } else { + getVisibleGeometryFromMO (lastObject)->state = Geometry::NORMAL; + } + + sourceIcon.state = Geometry::ACTIVE; + } + + if (editProvider->getObject() > -1) { + getVisibleGeometryFromMO (editProvider->getObject())->state = Geometry::PRELIGHT; + + if (editProvider->getObject() >= MO_OBJECT_COUNT) { + // a Spot is being edited + int oldActiveSpot = activeSpot; + activeSpot = editProvider->getObject() - MO_OBJECT_COUNT; + + if (activeSpot != oldActiveSpot) { + if (oldActiveSpot > -1) { + EditSubscriber::visibleGeometry.at (oldActiveSpot)->state = Geometry::NORMAL; + EditSubscriber::mouseOverGeometry.at (oldActiveSpot + MO_OBJECT_COUNT)->state = Geometry::NORMAL; + } + + EditSubscriber::visibleGeometry.at (activeSpot)->state = Geometry::PRELIGHT; + EditSubscriber::mouseOverGeometry.at (activeSpot + MO_OBJECT_COUNT)->state = Geometry::PRELIGHT; + //printf("ActiveSpot = %d (was %d before)\n", activeSpot, oldActiveSpot); + } + } + } + + lastObject = editProvider->getObject(); + + if (lastObject > -1 && EditSubscriber::mouseOverGeometry.at (lastObject) == getActiveSpotIcon()) { + lastObject = MO_TARGET_DISK; + } + + updateGeometry(); + return true; + } + + return false; +} + +// Create a new Target and Source point or start the drag of a Target point under the cursor +bool Spot::button1Pressed (int modifierKey) +{ + EditDataProvider* editProvider = getEditProvider(); + + if (editProvider) { + if (lastObject == -1 && (modifierKey & GDK_CONTROL_MASK)) { + int imW, imH; + const auto startPos = editProvider->posImage; + editProvider->getImageSize(imW, imH); + if (startPos.x < 0 || startPos.y < 0 || startPos.x > imW || startPos.y > imH) { + return false; // Outside of image area. + } + draggedSide = DraggedSide::SOURCE; + addNewEntry(); + EditSubscriber::action = EditSubscriber::Action::DRAGGING; + return true; + } else if (lastObject > -1) { + draggedSide = lastObject == MO_TARGET_DISK ? DraggedSide::TARGET : lastObject == MO_SOURCE_DISC ? DraggedSide::SOURCE : DraggedSide::NONE; + getVisibleGeometryFromMO (lastObject)->state = Geometry::DRAGGED; + EditSubscriber::action = EditSubscriber::Action::DRAGGING; + return true; + } + } + + return false; +} + +// End the drag of a Target point +bool Spot::button1Released() +{ + Geometry *loGeom = getVisibleGeometryFromMO (lastObject); + + if (!loGeom) { + EditSubscriber::action = EditSubscriber::Action::NONE; + return false; + } + + loGeom->state = Geometry::PRELIGHT; + EditSubscriber::action = EditSubscriber::Action::NONE; + draggedSide = DraggedSide::NONE; + updateGeometry(); + return true; +} + +// Delete a point +bool Spot::button2Pressed (int modifierKey) +{ + EditDataProvider* editProvider = getEditProvider(); + + if (!editProvider || lastObject == -1 || activeSpot == -1) { + return false; + } + + if (! (modifierKey & (GDK_SHIFT_MASK | GDK_SHIFT_MASK))) { + EditSubscriber::action = EditSubscriber::Action::PICKING; + } + + return false; +} + +// Create a new Target and Source point or start the drag of a Target point under the cursor +bool Spot::button3Pressed (int modifierKey) +{ + EditDataProvider* editProvider = getEditProvider(); + + if (!editProvider || lastObject == -1 || activeSpot == -1) { + return false; + } + + if ((modifierKey & GDK_CONTROL_MASK) && (EditSubscriber::mouseOverGeometry.at (lastObject) == &targetMODisc || lastObject >= MO_OBJECT_COUNT)) { + lastObject = MO_SOURCE_DISC; + sourceIcon.state = Geometry::DRAGGED; + EditSubscriber::action = EditSubscriber::Action::DRAGGING; + draggedSide = DraggedSide::SOURCE; + return true; + } else if (! (modifierKey & (GDK_SHIFT_MASK | GDK_SHIFT_MASK))) { + EditSubscriber::action = EditSubscriber::Action::PICKING; + return true; + } + + return false; +} + +bool Spot::button3Released() +{ + Geometry *loGeom = getVisibleGeometryFromMO (lastObject); + + if (!loGeom) { + EditSubscriber::action = EditSubscriber::Action::NONE; + return false; + } + + lastObject = -1; + sourceIcon.state = Geometry::ACTIVE; + draggedSide = DraggedSide::NONE; + updateGeometry(); + EditSubscriber::action = EditSubscriber::Action::NONE; + return true; +} + +bool Spot::drag1 (int modifierKey) +{ + if (EditSubscriber::action != EditSubscriber::Action::DRAGGING) { + return false; + } + + EditDataProvider *editProvider = getEditProvider(); + int imW, imH; + editProvider->getImageSize (imW, imH); + bool modified = false; + + //printf("Drag1 / LastObject=%d\n", lastObject); + + Geometry *loGeom = EditSubscriber::mouseOverGeometry.at (lastObject); + + if (loGeom == &sourceMODisc) { + //printf("sourceMODisc / deltaPrevImage = %d / %d\n", editProvider->deltaPrevImage.x, editProvider->deltaPrevImage.y); + rtengine::Coord currPos = spots.at (activeSpot).sourcePos; + spots.at (activeSpot).sourcePos += editProvider->deltaPrevImage; + spots.at (activeSpot).sourcePos.clip (imW, imH); + + if (spots.at (activeSpot).sourcePos != currPos) { + modified = true; + } + + EditSubscriber::mouseOverGeometry.at (activeSpot + MO_OBJECT_COUNT)->state = Geometry::DRAGGED; + } else if (loGeom == &targetMODisc || lastObject >= MO_OBJECT_COUNT) { + //printf("targetMODisc / deltaPrevImage = %d / %d\n", editProvider->deltaPrevImage.x, editProvider->deltaPrevImage.y); + rtengine::Coord currPos = spots.at (activeSpot).targetPos; + spots.at (activeSpot).targetPos += editProvider->deltaPrevImage; + spots.at (activeSpot).targetPos.clip (imW, imH); + + if (spots.at (activeSpot).targetPos != currPos) { + modified = true; + } + } else if (loGeom == &sourceCircle) { + //printf("sourceCircle / deltaPrevImage = %d / %d\n", editProvider->deltaImage.x, editProvider->deltaImage.y); + int lastRadius = spots.at (activeSpot).radius; + rtengine::Coord currPos = editProvider->posImage + editProvider->deltaImage; + rtengine::PolarCoord currPolar (currPos - spots.at (activeSpot).sourcePos); + spots.at (activeSpot).radius = LIM (int (currPolar.radius), SpotParams::minRadius, SpotParams::maxRadius); + + if (spots.at (activeSpot).radius != lastRadius) { + modified = true; + } + } else if (loGeom == &targetCircle) { + //printf("targetCircle / deltaPrevImage = %d / %d\n", editProvider->deltaImage.x, editProvider->deltaImage.y); + int lastRadius = spots.at (activeSpot).radius; + rtengine::Coord currPos = editProvider->posImage + editProvider->deltaImage; + rtengine::PolarCoord currPolar (currPos - spots.at (activeSpot).targetPos); + spots.at (activeSpot).radius = LIM (int (currPolar.radius), SpotParams::minRadius, SpotParams::maxRadius); + + if (spots.at (activeSpot).radius != lastRadius) { + modified = true; + } + } else if (loGeom == &sourceFeatherCircle) { + //printf("sourceFeatherCircle / deltaPrevImage = %d / %d\n", editProvider->deltaImage.x, editProvider->deltaImage.y); + float currFeather = spots.at (activeSpot).feather; + rtengine::Coord currPos = editProvider->posImage + editProvider->deltaImage; + rtengine::PolarCoord currPolar (currPos - spots.at (activeSpot).sourcePos); + spots.at (activeSpot).feather = LIM01 ((currPolar.radius - double (spots.at (activeSpot).radius)) / double (spots.at (activeSpot).radius)); + + if (spots.at (activeSpot).feather != currFeather) { + modified = true; + } + } else if (loGeom == &targetFeatherCircle) { + //printf("targetFeatherCircle / deltaPrevImage = %d / %d\n", editProvider->deltaImage.x, editProvider->deltaImage.y); + float currFeather = spots.at (activeSpot).feather; + rtengine::Coord currPos = editProvider->posImage + editProvider->deltaImage; + rtengine::PolarCoord currPolar (currPos - spots.at (activeSpot).targetPos); + spots.at (activeSpot).feather = LIM01 ((currPolar.radius - double (spots.at (activeSpot).radius)) / double (spots.at (activeSpot).radius)); + + if (spots.at (activeSpot).feather != currFeather) { + modified = true; + } + } + + if (listener && modified) { + updateGeometry(); + listener->panelChanged (EvSpotEntry, M ("TP_SPOT_ENTRYCHANGED")); + } + + return modified; +} + +bool Spot::drag3 (int modifierKey) +{ + if (EditSubscriber::action != EditSubscriber::Action::DRAGGING) { + return false; + } + + EditDataProvider *editProvider = getEditProvider(); + int imW, imH; + editProvider->getImageSize (imW, imH); + bool modified = false; + + Geometry *loGeom = EditSubscriber::mouseOverGeometry.at (lastObject); + + if (loGeom == &sourceMODisc) { + rtengine::Coord currPos = spots.at (activeSpot).sourcePos; + spots.at (activeSpot).sourcePos += editProvider->deltaPrevImage; + spots.at (activeSpot).sourcePos.clip (imW, imH); + + if (spots.at (activeSpot).sourcePos != currPos) { + modified = true; + } + } + + if (listener) { + updateGeometry(); + listener->panelChanged (EvSpotEntry, M ("TP_SPOT_ENTRYCHANGED")); + } + + return modified; +} + +bool Spot::pick2 (bool picked) +{ + return pick3 (picked); +} + +bool Spot::pick3 (bool picked) +{ + EditDataProvider* editProvider = getEditProvider(); + + if (!picked) { + if (editProvider->getObject() != lastObject) { + return false; + } + } + + // Object is picked, we delete it + deleteSelectedEntry(); + EditSubscriber::action = EditSubscriber::Action::NONE; + updateGeometry(); + return true; +} + + +void Spot::switchOffEditMode () +{ + if (edit->get_active()) { + // switching off the toggle button + bool wasBlocked = editConn.block (true); + edit->set_active (false); + + if (!wasBlocked) { + editConn.block (false); + } + } + + EditSubscriber::switchOffEditMode(); // disconnect + listener->unsetTweakOperator(this); + listener->refreshPreview(EvSpotEnabled); // reprocess the preview w/o creating History entry +} + + +void Spot::tweakParams(procparams::ProcParams& pparams) +{ + //params->raw.bayersensor.method = RAWParams::BayerSensor::getMethodString(RAWParams::BayerSensor::Method::FAST); + //params->raw.xtranssensor.method = RAWParams::XTransSensor::getMethodString(RAWParams::XTransSensor::Method::FAST); + + // -> disabling all transform + //pparams.coarse = CoarseTransformParams(); + pparams.lensProf = LensProfParams(); + pparams.cacorrection = CACorrParams(); + pparams.distortion = DistortionParams(); + pparams.rotate = RotateParams(); + pparams.perspective = PerspectiveParams(); + pparams.vignetting = VignettingParams(); + + // -> disabling standard crop + pparams.crop.enabled = false; + + // -> disabling time consuming and unnecessary tool + pparams.sh.enabled = false; + pparams.blackwhite.enabled = false; + pparams.dehaze.enabled = false; + pparams.wavelet.enabled = false; + pparams.filmSimulation.enabled = false; + pparams.sharpenEdge.enabled = false; + pparams.sharpenMicro.enabled = false; + pparams.sharpening.enabled = false; + pparams.softlight.enabled = false; + pparams.gradient.enabled = false; + pparams.pcvignette.enabled = false; + pparams.colorappearance.enabled = false; +} diff --git a/rtgui/spot.h b/rtgui/spot.h new file mode 100644 index 000000000..7cdea35f7 --- /dev/null +++ b/rtgui/spot.h @@ -0,0 +1,138 @@ +/* + * This file is part of RawTherapee. + * + * Copyright (c) 2019 Jean-Christophe FRISCH + * + * 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 . + */ + +#ifndef _SPOT_H_ +#define _SPOT_H_ + +#include +#include "toolpanel.h" +#include "editwidgets.h" +#include "adjuster.h" +#include "../rtengine/procparams.h" +#include "../rtengine/tweakoperator.h" + +/** + * @brief Let the user create/edit/delete points for Spot Removal tool + * + * User Interface: + * + * For the rest of this documentation, T represent a "target" point (where the image is edited) and + * S represent the "source" location (where the edition takes its source data). + * + * When the edit button is active, all T points are shown by a small "dot". When the user + * move the cursor over one of them, a circle is displayed to show the radius of the brush, as well + * as a second circle representing the source data (S point). The user can then use the left mouse button + * over the icon to drag the T point. The left mouse button can be used over the S circle or the right + * mouse button can be used over the T point to move the S point. + * + * Using the left mouse button over the circle of the T point will let the user adjust its radius. + * + * Using the left mouse button over the feather circle will let the user adjust its radius by setting + * a coefficient (0.0 = same radius than the inner circle ; 1.0 = 2 times the inner radius). + * + * To create a new point, just move over a free area, and press the left mouse button while holding + * the CTRL key. This will create a new S and T pair of points. The CTRL key can be released, but keep + * the left mouse button pressed and move away to position the S point. + * + * To delete a point, move your mouse over any of its geometry press the middle or right mouse button + * (the point will be deleted on button release). + */ + +class Spot : public ToolParamBlock, public FoldableToolPanel, public rtengine::TweakOperator, public EditSubscriber +{ + +private: + enum class DraggedSide { + NONE, + SOURCE, + TARGET + }; + + DraggedSide draggedSide; // tells which of source or target is being dragged + int lastObject; // current object that is hovered + int activeSpot; // currently active spot, being edited + std::vector spots; // list of edited spots + OPIcon sourceIcon; // to show the source location + Circle sourceCircle; // to show and change the Source radius + Circle sourceMODisc; // to change the Source position + Circle targetCircle; // to show and change the Target radius + Circle targetMODisc; // to change the Target position + Circle sourceFeatherCircle; // to show the Feather radius at the Source position + Circle targetFeatherCircle; // to show the Feather radius at the Target position + Line link; // to show the link between the Source and Target position + + OPIcon *getActiveSpotIcon (); + void updateGeometry (); + void createGeometry (); + void addNewEntry (); + void deleteSelectedEntry (); + void resetPressed (); + void releaseEdit(); + +protected: + Gtk::Box* labelBox; + Gtk::CheckButton* editedCheckBox; + Gtk::Label* countLabel; + Gtk::ToggleButton* edit; + Gtk::Button* reset; + Adjuster* spotSize; + sigc::connection editConn, editedConn; + + void editToggled (); + void editedToggled (); + Geometry* getVisibleGeometryFromMO (int MOID); + +public: + + Spot (); + ~Spot (); + + void read (const rtengine::procparams::ProcParams* pp, const ParamsEdited* pedited = nullptr) override; + void write (rtengine::procparams::ProcParams* pp, ParamsEdited* pedited = nullptr) override; + + void enabledChanged () override; + + void setEditProvider (EditDataProvider* provider) override; + + void setBatchMode (bool batchMode) override; + + // EditSubscriber interface + CursorShape getCursor (int objectID, int xPos, int yPos) const override; + bool mouseOver (int modifierKey) override; + bool button1Pressed (int modifierKey) override; + bool button1Released () override; + bool button2Pressed (int modifierKey) override; + bool button3Pressed (int modifierKey) override; + bool button3Released () override; + bool drag1 (int modifierKey) override; + bool drag3 (int modifierKey) override; + bool pick2 (bool picked) override; + bool pick3 (bool picked) override; + void switchOffEditMode () override; + + //TweakOperator interface + void tweakParams(rtengine::procparams::ProcParams& pparams) override; + + rtengine::ProcEvent EvSpotEnabled; + rtengine::ProcEvent EvSpotEnabledOPA; // used to toggle-on the Spot 'On Preview Adjustment' mode + rtengine::ProcEvent EvSpotEntry; + rtengine::ProcEvent EvSpotEntryOPA; +}; + +#endif diff --git a/rtgui/thumbbrowserbase.cc b/rtgui/thumbbrowserbase.cc index 06c662e51..8f3499c2a 100644 --- a/rtgui/thumbbrowserbase.cc +++ b/rtgui/thumbbrowserbase.cc @@ -1091,6 +1091,25 @@ bool ThumbBrowserBase::Internal::on_scroll_event (GdkEventScroll* event) } +void ThumbBrowserBase::resort () +{ + { + MYWRITERLOCK(l, entryRW); + + std::sort( + fd.begin(), + fd.end(), + [](const ThumbBrowserEntryBase* a, const ThumbBrowserEntryBase* b) + { + bool lt = a->compare(*b, options.sortMethod); + return options.sortDescending ? !lt : lt; + } + ); + } + + redraw (); +} + void ThumbBrowserBase::redraw (ThumbBrowserEntryBase* entry) { @@ -1218,9 +1237,30 @@ void ThumbBrowserBase::enableTabMode(bool enable) } } -void ThumbBrowserBase::initEntry (ThumbBrowserEntryBase* entry) +void ThumbBrowserBase::insertEntry (ThumbBrowserEntryBase* entry) { - entry->setOffset ((int)(hscroll.get_value()), (int)(vscroll.get_value())); + // find place in sort order + { + MYWRITERLOCK(l, entryRW); + + fd.insert( + std::lower_bound( + fd.begin(), + fd.end(), + entry, + [](const ThumbBrowserEntryBase* a, const ThumbBrowserEntryBase* b) + { + bool lt = a->compare(*b, options.sortMethod); + return options.sortDescending ? !lt : lt; + } + ), + entry + ); + + entry->setOffset ((int)(hscroll.get_value()), (int)(vscroll.get_value())); + } + + redraw (); } void ThumbBrowserBase::getScrollPosition (double& h, double& v) diff --git a/rtgui/thumbbrowserbase.h b/rtgui/thumbbrowserbase.h index 2d41cdfab..8c1ec49c8 100644 --- a/rtgui/thumbbrowserbase.h +++ b/rtgui/thumbbrowserbase.h @@ -208,12 +208,13 @@ public: return fd; } void on_style_updated () override; + void resort (); // re-apply sort method void redraw (ThumbBrowserEntryBase* entry = nullptr); // arrange files and draw area void refreshThumbImages (); // refresh thumbnail sizes, re-generate thumbnail images, arrange and draw void refreshQuickThumbImages (); // refresh thumbnail sizes, re-generate thumbnail images, arrange and draw void refreshEditedState (const std::set& efiles); - void initEntry (ThumbBrowserEntryBase* entry); + void insertEntry (ThumbBrowserEntryBase* entry); void getScrollPosition (double& h, double& v); void setScrollPosition (double h, double v); diff --git a/rtgui/thumbbrowserentrybase.cc b/rtgui/thumbbrowserentrybase.cc index 0c71cea2c..3d1e6bdc4 100644 --- a/rtgui/thumbbrowserentrybase.cc +++ b/rtgui/thumbbrowserentrybase.cc @@ -119,7 +119,7 @@ Glib::ustring getPaddedName(const Glib::ustring& name) } -ThumbBrowserEntryBase::ThumbBrowserEntryBase (const Glib::ustring& fname) : +ThumbBrowserEntryBase::ThumbBrowserEntryBase (const Glib::ustring& fname, Thumbnail *thm) : fnlabw(0), fnlabh(0), dtlabw(0), @@ -153,7 +153,8 @@ ThumbBrowserEntryBase::ThumbBrowserEntryBase (const Glib::ustring& fname) : bbPreview(nullptr), cursor_type(CSUndefined), collate_name(getPaddedName(dispname).casefold_collate_key()), - thumbnail(nullptr), + collate_exif(getPaddedName(thm->getExifString()).casefold_collate_key()), + thumbnail(thm), filename(fname), selected(false), drawable(false), @@ -446,7 +447,7 @@ void ThumbBrowserEntryBase::getTextSizes (int& infow, int& infoh) Glib::RefPtr fn = w->create_pango_layout(dispname); fn->get_pixel_size (fnlabw, fnlabh); - // calculate cummulated height of all info fields + // calculate cumulated height of all info fields infoh = fnlabh; infow = 0; diff --git a/rtgui/thumbbrowserentrybase.h b/rtgui/thumbbrowserentrybase.h index 764f806fd..3db03a96e 100644 --- a/rtgui/thumbbrowserentrybase.h +++ b/rtgui/thumbbrowserentrybase.h @@ -26,6 +26,8 @@ #include "guiutils.h" #include "lwbuttonset.h" #include "threadutils.h" +#include "options.h" +#include "thumbnail.h" #include "../rtengine/coord2d.h" @@ -95,6 +97,7 @@ protected: private: const std::string collate_name; + const std::string collate_exif; public: @@ -117,7 +120,7 @@ public: bool updatepriority; eWithFilename withFilename; - explicit ThumbBrowserEntryBase (const Glib::ustring& fname); + explicit ThumbBrowserEntryBase (const Glib::ustring& fname, Thumbnail *thm); virtual ~ThumbBrowserEntryBase (); void setParent (ThumbBrowserBase* l) @@ -174,9 +177,32 @@ public: void setPosition (int x, int y, int w, int h); void setOffset (int x, int y); - bool operator <(const ThumbBrowserEntryBase& other) const + bool compare (const ThumbBrowserEntryBase& other, Options::SortMethod method) const { - return collate_name < other.collate_name; + int cmp = 0; + switch (method){ + case Options::SORT_BY_NAME: + return collate_name < other.collate_name; + case Options::SORT_BY_DATE: + cmp = thumbnail->getDateTime().compare(other.thumbnail->getDateTime()); + break; + case Options::SORT_BY_EXIF: + cmp = collate_exif.compare(other.collate_exif); + break; + case Options::SORT_BY_RANK: + cmp = thumbnail->getRank() - other.thumbnail->getRank(); + break; + case Options::SORT_BY_LABEL: + cmp = thumbnail->getColorLabel() - other.thumbnail->getColorLabel(); + break; + case Options::SORT_METHOD_COUNT: abort(); + } + + // Always fall back to sorting by name + if (!cmp) + cmp = collate_name.compare(other.collate_name); + + return cmp < 0; } virtual void refreshThumbnailImage () = 0; diff --git a/rtgui/thumbimageupdater.cc b/rtgui/thumbimageupdater.cc index 03606bb3d..540ad625e 100644 --- a/rtgui/thumbimageupdater.cc +++ b/rtgui/thumbimageupdater.cc @@ -47,8 +47,8 @@ public: Job(ThumbBrowserEntryBase* tbe, bool* priority, bool upgrade, ThumbImageUpdateListener* listener): tbe_(tbe), - /*pparams_(pparams), - height_(height), */ + /*pparams_(pparams), + height_(height), */ priority_(priority), upgrade_(upgrade), listener_(listener) diff --git a/rtgui/thumbnail.cc b/rtgui/thumbnail.cc index 2ee17ba27..a2e21eb7a 100644 --- a/rtgui/thumbnail.cc +++ b/rtgui/thumbnail.cc @@ -31,6 +31,7 @@ #include "../rtengine/procparams.h" #include "../rtengine/rtthumbnail.h" #include +#include #include "../rtengine/dynamicprofile.h" #include "../rtengine/metadata.h" @@ -259,7 +260,7 @@ void Thumbnail::_generateThumbnailImage () } } -bool Thumbnail::isSupported () +bool Thumbnail::isSupported () const { return cfs.supported; } @@ -331,7 +332,7 @@ rtengine::procparams::ProcParams* Thumbnail::createProcParamsForUpdate(bool retu const std::unique_ptr imageMetaData(rtengine::FramesMetaData::fromFile(fname)); const std::unique_ptr pp( imageMetaData - ? ProfileStore::getInstance()->loadDynamicProfile(imageMetaData.get()) + ? ProfileStore::getInstance()->loadDynamicProfile(imageMetaData.get(), fname) : nullptr, pp_deleter ); @@ -702,7 +703,7 @@ void Thumbnail::getFinalSize (const rtengine::procparams::ProcParams& pparams, i } } -void Thumbnail::getOriginalSize (int& w, int& h) +void Thumbnail::getOriginalSize (int& w, int& h) const { w = tw; h = th; @@ -765,11 +766,44 @@ rtengine::IImage8* Thumbnail::upgradeThumbImage (const rtengine::procparams::Pro void Thumbnail::generateExifDateTimeStrings () { + if (cfs.timeValid) { + std::string dateFormat = options.dateFormat; + std::ostringstream ostr; + bool spec = false; - exifString = ""; - dateTimeString = ""; + for (size_t i = 0; i < dateFormat.size(); i++) + if (spec && dateFormat[i] == 'y') { + ostr << cfs.year; + spec = false; + } else if (spec && dateFormat[i] == 'm') { + ostr << (int)cfs.month; + spec = false; + } else if (spec && dateFormat[i] == 'd') { + ostr << (int)cfs.day; + spec = false; + } else if (dateFormat[i] == '%') { + spec = true; + } else { + ostr << (char)dateFormat[i]; + spec = false; + } + + ostr << " " << (int)cfs.hour; + ostr << ":" << std::setw(2) << std::setfill('0') << (int)cfs.min; + ostr << ":" << std::setw(2) << std::setfill('0') << (int)cfs.sec; + + dateTimeString = ostr.str (); + dateTime = Glib::DateTime::create_local(cfs.year, cfs.month, cfs.day, + cfs.hour, cfs.min, cfs.sec); + } + + if (!dateTime.gobj() || !cfs.timeValid) { + dateTimeString = ""; + dateTime = Glib::DateTime::create_now_utc(0); + } if (!cfs.exifValid) { + exifString = ""; return; } @@ -778,33 +812,6 @@ void Thumbnail::generateExifDateTimeStrings () if (options.fbShowExpComp && cfs.expcomp != "0.00" && !cfs.expcomp.empty()) { // don't show exposure compensation if it is 0.00EV;old cache files do not have ExpComp, so value will not be displayed. exifString = Glib::ustring::compose ("%1 %2EV", exifString, cfs.expcomp); // append exposure compensation to exifString } - - std::string dateFormat = options.dateFormat; - std::ostringstream ostr; - bool spec = false; - - for (size_t i = 0; i < dateFormat.size(); i++) - if (spec && dateFormat[i] == 'y') { - ostr << cfs.year; - spec = false; - } else if (spec && dateFormat[i] == 'm') { - ostr << (int)cfs.month; - spec = false; - } else if (spec && dateFormat[i] == 'd') { - ostr << (int)cfs.day; - spec = false; - } else if (dateFormat[i] == '%') { - spec = true; - } else { - ostr << (char)dateFormat[i]; - spec = false; - } - - ostr << " " << (int)cfs.hour; - ostr << ":" << std::setw(2) << std::setfill('0') << (int)cfs.min; - ostr << ":" << std::setw(2) << std::setfill('0') << (int)cfs.sec; - - dateTimeString = ostr.str (); } const Glib::ustring& Thumbnail::getExifString () const @@ -819,6 +826,12 @@ const Glib::ustring& Thumbnail::getDateTimeString () const return dateTimeString; } +const Glib::DateTime& Thumbnail::getDateTime () const +{ + + return dateTime; +} + void Thumbnail::getAutoWB (double& temp, double& green, double equal, double tempBias) { if (cfs.redAWBMul != -1.0) { @@ -831,7 +844,7 @@ void Thumbnail::getAutoWB (double& temp, double& green, double equal, double tem } -ThFileType Thumbnail::getType () +ThFileType Thumbnail::getType () const { return (ThFileType) cfs.format; @@ -849,6 +862,16 @@ int Thumbnail::infoFromImage (const Glib::ustring& fname) cfs.timeValid = false; cfs.exifValid = false; + if (idata->getDateTimeAsTS() > 0) { + cfs.year = 1900 + idata->getDateTime().tm_year; + cfs.month = idata->getDateTime().tm_mon + 1; + cfs.day = idata->getDateTime().tm_mday; + cfs.hour = idata->getDateTime().tm_hour; + cfs.min = idata->getDateTime().tm_min; + cfs.sec = idata->getDateTime().tm_sec; + cfs.timeValid = true; + } + if (idata->hasExif()) { cfs.shutter = idata->getShutterSpeed (); cfs.fnumber = idata->getFNumber (); @@ -861,18 +884,11 @@ int Thumbnail::infoFromImage (const Glib::ustring& fname) cfs.isPixelShift = idata->getPixelShift (); cfs.frameCount = idata->getFrameCount (); cfs.sampleFormat = idata->getSampleFormat (); - cfs.year = 1900 + idata->getDateTime().tm_year; - cfs.month = idata->getDateTime().tm_mon + 1; - cfs.day = idata->getDateTime().tm_mday; - cfs.hour = idata->getDateTime().tm_hour; - cfs.min = idata->getDateTime().tm_min; - cfs.sec = idata->getDateTime().tm_sec; - cfs.timeValid = true; - cfs.exifValid = true; cfs.lens = idata->getLens(); cfs.camMake = idata->getMake(); cfs.camModel = idata->getModel(); cfs.rating = idata->getRating(); + cfs.exifValid = true; if (idata->getOrientation() == "Rotate 90 CW") { deg = 90; @@ -958,20 +974,6 @@ void Thumbnail::_loadThumbnail(bool firstTrial) } } -/* - * Read all thumbnail's data from the cache; build and save them if doesn't exist - MUTEX PROTECTED - * This includes: - * - image's bitmap (*.rtti) - * - auto exposure's histogram (full thumbnail only) - * - embedded profile (full thumbnail only) - * - LiveThumbData section of the data file - */ -void Thumbnail::loadThumbnail (bool firstTrial) -{ - MyMutex::MyLock lock(mutex); - _loadThumbnail(firstTrial); -} - /* * Save thumbnail's data to the cache - NON PROTECTED * This includes: @@ -1258,7 +1260,7 @@ void Thumbnail::applyAutoExp (rtengine::procparams::ProcParams& pparams) } } -const CacheImageData* Thumbnail::getCacheImageData() +const CacheImageData* Thumbnail::getCacheImageData() const { return &cfs; } diff --git a/rtgui/thumbnail.h b/rtgui/thumbnail.h index 85701142d..682cf1fc6 100644 --- a/rtgui/thumbnail.h +++ b/rtgui/thumbnail.h @@ -22,6 +22,7 @@ #include #include +#include #include "cacheimagedata.h" #include "threadutils.h" @@ -73,6 +74,7 @@ class Thumbnail // exif & date/time strings Glib::ustring exifString; Glib::ustring dateTimeString; + Glib::DateTime dateTime; bool initial_; @@ -83,7 +85,6 @@ class Thumbnail void _saveThumbnail (); void _generateThumbnailImage (); int infoFromImage (const Glib::ustring& fname); - void loadThumbnail (bool firstTrial = true); void generateExifDateTimeStrings (); Glib::ustring getCacheFileName (const Glib::ustring& subdir, const Glib::ustring& fext) const; @@ -123,25 +124,26 @@ public: rtengine::IImage8* upgradeThumbImage (const rtengine::procparams::ProcParams& pparams, int h, double& scale); void getThumbnailSize (int &w, int &h, const rtengine::procparams::ProcParams *pparams = nullptr); void getFinalSize (const rtengine::procparams::ProcParams& pparams, int& w, int& h); - void getOriginalSize (int& w, int& h); + void getOriginalSize (int& w, int& h) const; const Glib::ustring& getExifString () const; const Glib::ustring& getDateTimeString () const; + const Glib::DateTime& getDateTime () const; void getCamWB (double& temp, double& green) const; void getAutoWB (double& temp, double& green, double equal, double tempBias); void getSpotWB (int x, int y, int rect, double& temp, double& green); void applyAutoExp (rtengine::procparams::ProcParams& pparams); - ThFileType getType (); + ThFileType getType () const; Glib::ustring getFileName () const { return fname; } void setFileName (const Glib::ustring &fn); - bool isSupported (); + bool isSupported () const; - const CacheImageData* getCacheImageData(); + const CacheImageData* getCacheImageData() const; std::string getMD5 () const; int getRank () const; diff --git a/rtgui/tonecurve.cc b/rtgui/tonecurve.cc index 8a33575ca..6cbd70825 100644 --- a/rtgui/tonecurve.cc +++ b/rtgui/tonecurve.cc @@ -58,11 +58,11 @@ ToneCurve::ToneCurve() : FoldableToolPanel(this, "tonecurve", M("TP_EXPOSURE_LAB abox->set_spacing (4); autolevels = Gtk::manage(new Gtk::ToggleButton(M("TP_EXPOSURE_AUTOLEVELS"))); - autolevels->set_tooltip_markup(M("TP_EXPOSURE_AUTOLEVELS_TIP")); + autolevels->set_tooltip_markup(M("TP_EXPOSURE_AUTOLEVELS_TOOLTIP")); autoconn = autolevels->signal_toggled().connect(sigc::mem_fun(*this, &ToneCurve::autolevels_toggled)); lclip = Gtk::manage(new Gtk::Label(M("TP_EXPOSURE_CLIP"))); - lclip->set_tooltip_text(M("TP_EXPOSURE_CLIP_TIP")); + lclip->set_tooltip_text(M("TP_EXPOSURE_CLIP_TOOLTIP")); sclip = Gtk::manage(new MySpinButton()); sclip->set_range(0.0, 0.99); @@ -74,7 +74,7 @@ ToneCurve::ToneCurve() : FoldableToolPanel(this, "tonecurve", M("TP_EXPOSURE_LAB sclip->signal_value_changed().connect(sigc::mem_fun(*this, &ToneCurve::clip_changed)); neutral = Gtk::manage(new Gtk::Button(M("TP_NEUTRAL"))); - neutral->set_tooltip_text(M("TP_NEUTRAL_TIP")); + neutral->set_tooltip_text(M("TP_NEUTRAL_TOOLTIP")); neutralconn = neutral->signal_pressed().connect(sigc::mem_fun(*this, &ToneCurve::neutral_pressed)); neutral->show(); @@ -872,7 +872,7 @@ void ToneCurve::setBatchMode(bool batchMode) removeIfThere(abox, autolevels, false); autolevels = Gtk::manage(new Gtk::CheckButton(M("TP_EXPOSURE_AUTOLEVELS"))); - autolevels->set_tooltip_markup(M("TP_EXPOSURE_AUTOLEVELS_TIP")); + autolevels->set_tooltip_markup(M("TP_EXPOSURE_AUTOLEVELS_TOOLTIP")); autoconn = autolevels->signal_toggled().connect(sigc::mem_fun(*this, &ToneCurve::autolevels_toggled)); abox->pack_start(*autolevels); diff --git a/rtgui/toolpanel.h b/rtgui/toolpanel.h index f07f5f0a1..8fdb4540d 100644 --- a/rtgui/toolpanel.h +++ b/rtgui/toolpanel.h @@ -39,12 +39,21 @@ namespace procparams class ProcParams; } } +class EditDataProvider; class ToolPanelListener { public: virtual ~ToolPanelListener() = default; + + /// @brief Ask to refresh the preview not triggered by a parameter change (e.g. 'On Preview' editing). + virtual void refreshPreview(const rtengine::ProcEvent& event) = 0; + /// @brief Used to notify all listeners that a parameters has been effectively changed virtual void panelChanged(const rtengine::ProcEvent& event, const Glib::ustring& descr) = 0; + /// @brief Set the TweakOperator to the StagedImageProcessor, to let some tool enter into special modes + virtual void setTweakOperator (rtengine::TweakOperator *tOperator) = 0; + /// @brief Unset the TweakOperator to the StagedImageProcessor + virtual void unsetTweakOperator (rtengine::TweakOperator *tOperator) = 0; }; /// @brief This class control the space around the group of tools inside a tab, as well as the space separating each tool. */ diff --git a/rtgui/toolpanelcoord.cc b/rtgui/toolpanelcoord.cc index defe64065..7ba9c371d 100644 --- a/rtgui/toolpanelcoord.cc +++ b/rtgui/toolpanelcoord.cc @@ -49,6 +49,7 @@ ToolPanelCoordinator::ToolPanelCoordinator (bool batch) : ipc (nullptr), favorit shadowshighlights = Gtk::manage (new ShadowsHighlights ()); impulsedenoise = Gtk::manage (new ImpulseDenoise ()); defringe = Gtk::manage (new Defringe ()); + spot = Gtk::manage (new Spot ()); dirpyrdenoise = Gtk::manage (new DirPyrDenoise ()); epd = Gtk::manage (new EdgePreservingDecompositionUI ()); sharpening = Gtk::manage (new Sharpening ()); @@ -117,6 +118,7 @@ ToolPanelCoordinator::ToolPanelCoordinator (bool batch) : ipc (nullptr), favorit addfavoritePanel (colorPanel, chmixer); addfavoritePanel (colorPanel, blackwhite); addfavoritePanel (exposurePanel, shadowshighlights); + addfavoritePanel (detailsPanel, spot); addfavoritePanel (detailsPanel, sharpening); addfavoritePanel (detailsPanel, localContrast); addfavoritePanel (detailsPanel, sharpenEdge); @@ -341,12 +343,12 @@ ToolPanelCoordinator::~ToolPanelCoordinator () delete toolBar; } -void ToolPanelCoordinator::imageTypeChanged(bool isRaw, bool isBayer, bool isXtrans, bool isMono) +void ToolPanelCoordinator::imageTypeChanged(bool isRaw, bool isBayer, bool isXtrans, bool isMono, bool isGainMapSupported) { if (isRaw) { if (isBayer) { idle_register.add( - [this]() -> bool + [this, isGainMapSupported]() -> bool { rawPanelSW->set_sensitive(true); sensorxtrans->FoldableToolPanel::hide(); @@ -360,6 +362,7 @@ void ToolPanelCoordinator::imageTypeChanged(bool isRaw, bool isBayer, bool isXtr preprocessWB->FoldableToolPanel::show(); preprocess->FoldableToolPanel::show(); flatfield->FoldableToolPanel::show(); + flatfield->setGainMap(isGainMapSupported); pdSharpening->FoldableToolPanel::show(); retinex->FoldableToolPanel::setGrayedOut(false); return false; @@ -367,7 +370,7 @@ void ToolPanelCoordinator::imageTypeChanged(bool isRaw, bool isBayer, bool isXtr ); } else if (isXtrans) { idle_register.add( - [this]() -> bool + [this, isGainMapSupported]() -> bool { rawPanelSW->set_sensitive(true); sensorxtrans->FoldableToolPanel::show(); @@ -381,6 +384,7 @@ void ToolPanelCoordinator::imageTypeChanged(bool isRaw, bool isBayer, bool isXtr preprocessWB->FoldableToolPanel::show(); preprocess->FoldableToolPanel::show(); flatfield->FoldableToolPanel::show(); + flatfield->setGainMap(isGainMapSupported); pdSharpening->FoldableToolPanel::show(); retinex->FoldableToolPanel::setGrayedOut(false); return false; @@ -388,7 +392,7 @@ void ToolPanelCoordinator::imageTypeChanged(bool isRaw, bool isBayer, bool isXtr ); } else if (isMono) { idle_register.add( - [this]() -> bool + [this, isGainMapSupported]() -> bool { rawPanelSW->set_sensitive(true); sensorbayer->FoldableToolPanel::hide(); @@ -401,6 +405,7 @@ void ToolPanelCoordinator::imageTypeChanged(bool isRaw, bool isBayer, bool isXtr preprocessWB->FoldableToolPanel::hide(); preprocess->FoldableToolPanel::hide(); flatfield->FoldableToolPanel::show(); + flatfield->setGainMap(isGainMapSupported); pdSharpening->FoldableToolPanel::show(); retinex->FoldableToolPanel::setGrayedOut(false); return false; @@ -451,6 +456,33 @@ void ToolPanelCoordinator::imageTypeChanged(bool isRaw, bool isBayer, bool isXtr } +void ToolPanelCoordinator::setTweakOperator (rtengine::TweakOperator *tOperator) +{ + if (ipc && tOperator) { + ipc->setTweakOperator(tOperator); + } +} + +void ToolPanelCoordinator::unsetTweakOperator (rtengine::TweakOperator *tOperator) +{ + if (ipc && tOperator) { + ipc->unsetTweakOperator(tOperator); + } +} + +void ToolPanelCoordinator::refreshPreview (const rtengine::ProcEvent& event) +{ + if (!ipc) { + return; + } + + ProcParams* params = ipc->beginUpdateParams (); + for (auto toolPanel : toolPanels) { + toolPanel->write (params); + } + + ipc->endUpdateParams (event); // starts the IPC processing +} void ToolPanelCoordinator::panelChanged(const rtengine::ProcEvent& event, const Glib::ustring& descr) { @@ -526,12 +558,12 @@ void ToolPanelCoordinator::panelChanged(const rtengine::ProcEvent& event, const ipc->setLocallabMaskVisibility(maskStruc.previewDeltaE, maskStruc.colorMask, maskStruc.colorMaskinv, maskStruc.expMask, maskStruc.expMaskinv, maskStruc.SHMask, maskStruc.SHMaskinv, maskStruc.vibMask, maskStruc.softMask, maskStruc.blMask, maskStruc.tmMask, maskStruc.retiMask, maskStruc.sharMask, - maskStruc.lcMask, maskStruc.cbMask, maskStruc.logMask, maskStruc.maskMask); + maskStruc.lcMask, maskStruc.cbMask, maskStruc.logMask, maskStruc.maskMask, maskStruc.cieMask); } else if (event == rtengine::EvLocallabSpotCreated || event == rtengine::EvLocallabSpotSelectedWithMask || - event == rtengine::EvLocallabSpotDeleted || event == rtengine::Evlocallabshowreset || + event == rtengine::EvLocallabSpotDeleted /*|| event == rtengine::Evlocallabshowreset*/ || event == rtengine::EvlocallabToolRemovedWithRefresh) { locallab->resetMaskVisibility(); - ipc->setLocallabMaskVisibility(false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + ipc->setLocallabMaskVisibility(false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); } ipc->endUpdateParams(changeFlags); // starts the IPC processing @@ -641,7 +673,7 @@ void ToolPanelCoordinator::profileChange( // Reset Locallab mask visibility locallab->resetMaskVisibility(); - ipc->setLocallabMaskVisibility(false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + ipc->setLocallabMaskVisibility(false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); // start the IPC processing if (filterRawRefresh) { @@ -714,6 +746,7 @@ void ToolPanelCoordinator::initImage(rtengine::StagedImageProcessor* ipc_, bool ipc->setpdSharpenAutoRadiusListener (pdSharpening); ipc->setAutoWBListener(whitebalance); ipc->setAutoColorTonListener(colortoning); + ipc->setAutoprimListener(icm); ipc->setAutoChromaListener(dirpyrdenoise); ipc->setWaveletListener(wavelet); ipc->setRetinexListener(retinex); @@ -914,7 +947,7 @@ void ToolPanelCoordinator::autoCropRequested() crop->cropManipReady(); } -rtengine::RawImage* ToolPanelCoordinator::getDF() +const rtengine::RawImage* ToolPanelCoordinator::getDF() { if (!ipc) { return nullptr; @@ -929,7 +962,7 @@ rtengine::RawImage* ToolPanelCoordinator::getDF() std::string model(imd->getModel()); time_t timestamp = imd->getDateTimeAsTS(); - return rtengine::dfm.searchDarkFrame(maker, model, iso, shutter, timestamp); + return rtengine::DFManager::getInstance().searchDarkFrame(maker, model, iso, shutter, timestamp); } return nullptr; @@ -992,6 +1025,16 @@ void ToolPanelCoordinator::autoPerspRequested (bool corr_pitch, bool corr_yaw, d rtengine::procparams::ProcParams params; ipc->getParams(¶ms); + // If focal length or crop factor are undetermined, use the defaults. + if (params.perspective.camera_focal_length <= 0) { + params.perspective.camera_focal_length = + PerspectiveParams::DEFAULT_CAMERA_FOCAL_LENGTH; + } + if (params.perspective.camera_crop_factor <= 0) { + params.perspective.camera_crop_factor = + PerspectiveParams::DEFAULT_CAMERA_CROP_FACTOR; + } + auto res = rtengine::PerspectiveCorrection::autocompute(src, corr_pitch, corr_yaw, ¶ms, src->getMetaData(), lines); rot = res.angle; pitch = res.pitch; @@ -1007,16 +1050,6 @@ double ToolPanelCoordinator::autoDistorRequested() return rtengine::ImProcFunctions::getAutoDistor(ipc->getInitialImage()->getFileName(), 400); } -void ToolPanelCoordinator::updateTransformPreviewRequested(rtengine::ProcEvent event, bool render_perspective) -{ - if (!ipc) { - return; - } - - ipc->beginUpdateParams()->perspective.render = render_perspective; - ipc->endUpdateParams(event); -} - void ToolPanelCoordinator::spotWBRequested(int size) { diff --git a/rtgui/toolpanelcoord.h b/rtgui/toolpanelcoord.h index 4c46a39ec..2edb90376 100644 --- a/rtgui/toolpanelcoord.h +++ b/rtgui/toolpanelcoord.h @@ -76,6 +76,7 @@ #include "sharpening.h" #include "sharpenmicro.h" #include "softlight.h" +#include "spot.h" #include "tonecurve.h" #include "toolbar.h" #include "toolpanel.h" @@ -133,6 +134,7 @@ protected: ToneCurve* toneCurve; ShadowsHighlights* shadowshighlights; LocalContrast *localContrast; + Spot* spot; Defringe* defringe; ImpulseDenoise* impulsedenoise; DirPyrDenoise* dirpyrdenoise; @@ -252,9 +254,13 @@ public: } // toolpanellistener interface + void refreshPreview(const rtengine::ProcEvent& event) override; void panelChanged(const rtengine::ProcEvent& event, const Glib::ustring& descr) override; + void setTweakOperator (rtengine::TweakOperator *tOperator) override; + void unsetTweakOperator (rtengine::TweakOperator *tOperator) override; - void imageTypeChanged (bool isRaw, bool isBayer, bool isXtrans, bool isMono = false) override; + // FilmNegProvider interface + void imageTypeChanged (bool isRaw, bool isBayer, bool isXtrans, bool isMono = false, bool isGainMapSupported = false) override; // profilechangelistener interface void profileChange( @@ -301,7 +307,7 @@ public: } //DFProvider interface - rtengine::RawImage* getDF() override; + const rtengine::RawImage* getDF() override; //FFProvider interface rtengine::RawImage* getFF() override; @@ -315,7 +321,6 @@ public: void autoCropRequested () override; void autoPerspRequested (bool corr_pitch, bool corr_yaw, double& rot, double& pitch, double& yaw, const std::vector *lines = nullptr) override; double autoDistorRequested () override; - void updateTransformPreviewRequested (rtengine::ProcEvent event, bool render_perspective) override; // spotwblistener interface void spotWBRequested (int size) override; diff --git a/rtgui/wavelet.cc b/rtgui/wavelet.cc index 448141497..d9691bd55 100644 --- a/rtgui/wavelet.cc +++ b/rtgui/wavelet.cc @@ -64,7 +64,7 @@ std::vector makeWholeHueRange() Wavelet::Wavelet() : FoldableToolPanel(this, "wavelet", M("TP_WAVELET_LABEL"), true, true), curveEditorG(new CurveEditorGroup(options.lastWaveletCurvesDir, M("TP_WAVELET_CONTEDIT"))), - curveEditorC(new CurveEditorGroup(options.lastWaveletCurvesDir, M("TP_WAVELET_CONTRASTEDIT"))), + //curveEditorC(new CurveEditorGroup(options.lastWaveletCurvesDir, M("TP_WAVELET_CONTRASTEDIT"))), CCWcurveEditorG(new CurveEditorGroup(options.lastWaveletCurvesDir, M("TP_WAVELET_CCURVE"))), curveEditorbl(new CurveEditorGroup(options.lastWaveletCurvesDir, M("TP_WAVELET_BLCURVE"))), curveEditorRES(new CurveEditorGroup(options.lastWaveletCurvesDir)), @@ -178,7 +178,7 @@ Wavelet::Wavelet() : Dirmethod(Gtk::manage(new MyComboBoxText())), Medgreinf(Gtk::manage(new MyComboBoxText())), ushamethod(Gtk::manage(new MyComboBoxText())), - denmethod(Gtk::manage(new MyComboBoxText())), + //denmethod(Gtk::manage(new MyComboBoxText())), mixmethod(Gtk::manage(new MyComboBoxText())), quamethod(Gtk::manage(new MyComboBoxText())), slimethod(Gtk::manage(new MyComboBoxText())), @@ -214,7 +214,7 @@ Wavelet::Wavelet() : ctboxch(Gtk::manage(new Gtk::Box())), quaHBox(Gtk::manage(new Gtk::Box())), sliHBox(Gtk::manage(new Gtk::Box())), - denHBox(Gtk::manage(new Gtk::Box())), + //denHBox(Gtk::manage(new Gtk::Box())), mixHBox(Gtk::manage(new Gtk::Box())), ctboxBA(Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL))) @@ -237,7 +237,7 @@ Wavelet::Wavelet() : EvWavradius = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_WAVRADIUS"); EvWavsigma = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_WAVSIGMA"); EvWavenabl = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_WAVBL"); - EvWavchrwav = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_chrwav"); + EvWavchrwav = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_WAVCHR"); EvWavoldsh = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_WAVOLDSH"); EvWavoffset = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_WAVOFFSET"); EvWavlowthr = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_WAVLOWTHR"); @@ -253,11 +253,11 @@ Wavelet::Wavelet() : EvWavLabGridValue = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_WAVLABGRID_VALUE"); EvWavrangeab = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_RANGEAB"); EvWavprotab = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_PROTAB"); - EvWavlevelshc = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_LEVELSHC"); + //EvWavlevelshc = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_LEVELSHC"); EvWavcomplexmet = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_COMPLEX"); EvWavsigm = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_WAVSIGM"); EvWavdenoise = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_WAVDENOISE"); - EvWavdenmethod = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_WAVDENMET"); + //EvWavdenmethod = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_WAVDENMET"); EvWavmixmethod = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_WAVMIXMET"); EvWavquamethod = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_WAVQUAMET"); EvWavlevden = m->newEvent(DIRPYREQUALIZER, "HISTORY_MSG_WAVLEVDEN"); @@ -486,16 +486,16 @@ Wavelet::Wavelet() : const WaveletParams default_params; - curveEditorC->setCurveListener(this); - curveEditorC->set_tooltip_text(M("TP_WAVELET_FINCOAR_TOOLTIP")); + //curveEditorC->setCurveListener(this); + //curveEditorC->set_tooltip_text(M("TP_WAVELET_FINCOAR_TOOLTIP")); - opacityShapeSH = static_cast(curveEditorC->addCurve(CT_Flat, "", nullptr, false, false)); - opacityShapeSH->setIdentityValue(0.); - opacityShapeSH->setResetCurve(FlatCurveType(default_params.opacityCurveSH.at(0)), default_params.opacityCurveSH); + //opacityShapeSH = static_cast(curveEditorC->addCurve(CT_Flat, "", nullptr, false, false)); + //opacityShapeSH->setIdentityValue(0.); + //opacityShapeSH->setResetCurve(FlatCurveType(default_params.opacityCurveSH.at(0)), default_params.opacityCurveSH); - curveEditorC->curveListComplete(); - curveEditorC->show(); + //curveEditorC->curveListComplete(); + //curveEditorC->show(); contrastSHVBox->pack_start(*HSmethod); contrastSHVBox->pack_start(*hllev); @@ -684,17 +684,17 @@ Wavelet::Wavelet() : sliHBox->pack_start(*slimethod); - denmethod->append(M("TP_WAVELET_DENEQUAL")); - denmethod->append(M("TP_WAVELET_DEN14PLUS")); - denmethod->append(M("TP_WAVELET_DEN14LOW")); - denmethod->append(M("TP_WAVELET_DEN12PLUS")); - denmethod->append(M("TP_WAVELET_DEN12LOW")); - denmethodconn = denmethod->signal_changed().connect(sigc::mem_fun(*this, &Wavelet::denmethodChanged)); - denmethod->set_tooltip_text(M("TP_WAVELET_DENEQUAL_TOOLTIP")); + //denmethod->append(M("TP_WAVELET_DENEQUAL")); + //denmethod->append(M("TP_WAVELET_DEN14PLUS")); + //denmethod->append(M("TP_WAVELET_DEN14LOW")); + //denmethod->append(M("TP_WAVELET_DEN12PLUS")); + //denmethod->append(M("TP_WAVELET_DEN12LOW")); + //denmethodconn = denmethod->signal_changed().connect(sigc::mem_fun(*this, &Wavelet::denmethodChanged)); + //denmethod->set_tooltip_text(M("TP_WAVELET_DENEQUAL_TOOLTIP")); // Gtk::Box* const denHBox = Gtk::manage(new Gtk::Box()); - Gtk::Label* const denLabel = Gtk::manage(new Gtk::Label(M("TP_WAVELET_DENCONTRAST") + ":")); - denHBox->pack_start(*denLabel, Gtk::PACK_SHRINK, 4); - denHBox->pack_start(*denmethod); + //Gtk::Label* const denLabel = Gtk::manage(new Gtk::Label(M("TP_WAVELET_DENCONTRAST") + ":")); + //denHBox->pack_start(*denLabel, Gtk::PACK_SHRINK, 4); + //denHBox->pack_start(*denmethod); mixmethod->append(M("TP_WAVELET_MIXNOISE")); mixmethod->append(M("TP_WAVELET_MIXMIX")); @@ -757,7 +757,7 @@ Wavelet::Wavelet() : noiseBox->pack_start(*thrden); noiseBox->pack_start(*quaHBox); noiseBox->pack_start(*sliHBox); - noiseBox->pack_start(*denHBox); + //noiseBox->pack_start(*denHBox); noiseBox->pack_start(*mixHBox); noiseBox->pack_start(*levelsigm, Gtk::PACK_SHRINK, 0); noiseBox->pack_start(*limden); @@ -1168,7 +1168,7 @@ Wavelet::Wavelet() : //RTImage *resetImg = Gtk::manage (new RTImage ("undo-small.png", "redo-small.png")); //neutral->set_image(*resetImg); Gtk::Button* const neutral = Gtk::manage(new Gtk::Button(M("TP_COLORTONING_NEUTRAL"))); - neutral->set_tooltip_text(M("TP_COLORTONING_NEUTRAL_TIP")); + neutral->set_tooltip_text(M("TP_COLORTONING_NEUTRAL_TOOLTIP")); neutralconn = neutral->signal_pressed().connect(sigc::mem_fun(*this, &Wavelet::neutral_pressed)); neutral->show(); neutrHBox->pack_start(*neutral, Gtk::PACK_EXPAND_WIDGET); @@ -1332,7 +1332,7 @@ Wavelet::~Wavelet() idle_register.destroy(); delete opaCurveEditorG; - delete curveEditorC; + //delete curveEditorC; delete opacityCurveEditorG; delete CurveEditorwavnoise; delete CurveEditorwavnoiseh; @@ -1424,7 +1424,7 @@ void Wavelet::read(const ProcParams* pp, const ParamsEdited* pedited) Backmethodconn.block(true); Tilesmethodconn.block(true); complexmethodconn.block(true); - denmethodconn.block(true); + //denmethodconn.block(true); mixmethodconn.block(true); slimethodconn.block(true); quamethodconn.block(true); @@ -1555,17 +1555,17 @@ void Wavelet::read(const ProcParams* pp, const ParamsEdited* pedited) complexmethod->set_active(1); } - if (pp->wavelet.denmethod == "equ") { - denmethod->set_active(0); - } else if (pp->wavelet.denmethod == "high") { - denmethod->set_active(1); - } else if (pp->wavelet.denmethod == "low") { - denmethod->set_active(2); - } else if (pp->wavelet.denmethod == "12high") { - denmethod->set_active(3); - } else if (pp->wavelet.denmethod == "12low") { - denmethod->set_active(4); - } + //if (pp->wavelet.denmethod == "equ") { + // denmethod->set_active(0); + //} else if (pp->wavelet.denmethod == "high") { + // denmethod->set_active(1); + //} else if (pp->wavelet.denmethod == "low") { + // denmethod->set_active(2); + //} else if (pp->wavelet.denmethod == "12high") { + // denmethod->set_active(3); + //} else if (pp->wavelet.denmethod == "12low") { + // denmethod->set_active(4); + //} if (pp->wavelet.mixmethod == "nois") { mixmethod->set_active(0); @@ -1630,7 +1630,7 @@ void Wavelet::read(const ProcParams* pp, const ParamsEdited* pedited) opacityShapeRG->setCurve(pp->wavelet.opacityCurveRG); wavdenoise->setCurve(pp->wavelet.wavdenoise); wavdenoiseh->setCurve(pp->wavelet.wavdenoiseh); - opacityShapeSH->setCurve(pp->wavelet.opacityCurveSH); + //opacityShapeSH->setCurve(pp->wavelet.opacityCurveSH); opacityShapeBY->setCurve(pp->wavelet.opacityCurveBY); opacityShape->setCurve(pp->wavelet.opacityCurveW); opacityShapeWL->setCurve(pp->wavelet.opacityCurveWL); @@ -1749,7 +1749,7 @@ void Wavelet::read(const ProcParams* pp, const ParamsEdited* pedited) strend->setValue(pp->wavelet.strend); detend->setValue(pp->wavelet.detend); thrend->setValue(pp->wavelet.thrend); - labgrid->setParams(pp->wavelet.labgridALow / WaveletParams::LABGRID_CORR_MAX, pp->wavelet.labgridBLow / WaveletParams::LABGRID_CORR_MAX, pp->wavelet.labgridAHigh / WaveletParams::LABGRID_CORR_MAX, pp->wavelet.labgridBHigh / WaveletParams::LABGRID_CORR_MAX, false); + labgrid->setParams(pp->wavelet.labgridALow / WaveletParams::LABGRID_CORR_MAX, pp->wavelet.labgridBLow / WaveletParams::LABGRID_CORR_MAX, pp->wavelet.labgridAHigh / WaveletParams::LABGRID_CORR_MAX, pp->wavelet.labgridBHigh / WaveletParams::LABGRID_CORR_MAX, 0, 0, 0, 0, false); sigm->setValue(pp->wavelet.sigm); levden->setValue(pp->wavelet.levden); @@ -1806,9 +1806,9 @@ void Wavelet::read(const ProcParams* pp, const ParamsEdited* pedited) complexmethod->set_active_text(M("GENERAL_UNCHANGED")); } - if (!pedited->wavelet.denmethod) { - denmethod->set_active_text(M("GENERAL_UNCHANGED")); - } + //if (!pedited->wavelet.denmethod) { + // denmethod->set_active_text(M("GENERAL_UNCHANGED")); + //} if (!pedited->wavelet.mixmethod) { mixmethod->set_active_text(M("GENERAL_UNCHANGED")); @@ -1884,7 +1884,7 @@ void Wavelet::read(const ProcParams* pp, const ParamsEdited* pedited) exptoning->set_inconsistent(!pedited->wavelet.exptoning); expnoise->set_inconsistent(!pedited->wavelet.expnoise); opacityShapeRG->setCurve(pp->wavelet.opacityCurveRG); - opacityShapeSH->setCurve(pp->wavelet.opacityCurveSH); + //opacityShapeSH->setCurve(pp->wavelet.opacityCurveSH); opacityShapeBY->setCurve(pp->wavelet.opacityCurveBY); wavdenoise->setCurve(pp->wavelet.wavdenoise); wavdenoiseh->setCurve(pp->wavelet.wavdenoiseh); @@ -2073,7 +2073,7 @@ void Wavelet::read(const ProcParams* pp, const ParamsEdited* pedited) Backmethodconn.block(false); Tilesmethodconn.block(false); complexmethodconn.block(false); - denmethodconn.block(false); + //denmethodconn.block(false); mixmethodconn.block(false); slimethodconn.block(false); quamethodconn.block(false); @@ -2104,7 +2104,7 @@ void Wavelet::setEditProvider(EditDataProvider *provider) ccshape->setEditProvider(provider); blshape->setEditProvider(provider); opacityShapeRG->setEditProvider(provider); - opacityShapeSH->setEditProvider(provider); + //opacityShapeSH->setEditProvider(provider); opacityShapeBY->setEditProvider(provider); wavdenoise->setEditProvider(provider); wavdenoiseh->setEditProvider(provider); @@ -2188,7 +2188,7 @@ void Wavelet::write(ProcParams* pp, ParamsEdited* pedited) pp->wavelet.ccwcurve = ccshape->getCurve(); pp->wavelet.blcurve = blshape->getCurve(); pp->wavelet.opacityCurveRG = opacityShapeRG->getCurve(); - pp->wavelet.opacityCurveSH = opacityShapeSH->getCurve(); + //pp->wavelet.opacityCurveSH = opacityShapeSH->getCurve(); pp->wavelet.opacityCurveBY = opacityShapeBY->getCurve(); pp->wavelet.wavdenoise = wavdenoise->getCurve(); pp->wavelet.wavdenoiseh = wavdenoiseh->getCurve(); @@ -2210,7 +2210,9 @@ void Wavelet::write(ProcParams* pp, ParamsEdited* pedited) pp->wavelet.ballum = ballum->getValue(); pp->wavelet.chromfi = chromfi->getValue(); pp->wavelet.chromco = chromco->getValue(); - labgrid->getParams(pp->wavelet.labgridALow, pp->wavelet.labgridBLow, pp->wavelet.labgridAHigh, pp->wavelet.labgridBHigh); + double zerox = 0.; + double zeroy = 0.; + labgrid->getParams(pp->wavelet.labgridALow, pp->wavelet.labgridBLow, pp->wavelet.labgridAHigh, pp->wavelet.labgridBHigh, zerox, zeroy, zerox, zeroy); pp->wavelet.labgridALow *= WaveletParams::LABGRID_CORR_MAX; pp->wavelet.labgridAHigh *= WaveletParams::LABGRID_CORR_MAX; pp->wavelet.labgridBLow *= WaveletParams::LABGRID_CORR_MAX; @@ -2274,7 +2276,7 @@ void Wavelet::write(ProcParams* pp, ParamsEdited* pedited) pedited->wavelet.Backmethod = Backmethod->get_active_text() != M("GENERAL_UNCHANGED"); pedited->wavelet.Tilesmethod = Tilesmethod->get_active_text() != M("GENERAL_UNCHANGED"); pedited->wavelet.complexmethod = complexmethod->get_active_text() != M("GENERAL_UNCHANGED"); - pedited->wavelet.denmethod = denmethod->get_active_text() != M("GENERAL_UNCHANGED"); + //pedited->wavelet.denmethod = denmethod->get_active_text() != M("GENERAL_UNCHANGED"); pedited->wavelet.mixmethod = mixmethod->get_active_text() != M("GENERAL_UNCHANGED"); pedited->wavelet.slimethod = slimethod->get_active_text() != M("GENERAL_UNCHANGED"); pedited->wavelet.quamethod = quamethod->get_active_text() != M("GENERAL_UNCHANGED"); @@ -2335,7 +2337,7 @@ void Wavelet::write(ProcParams* pp, ParamsEdited* pedited) pedited->wavelet.leveldenoise = leveldenoise->getEditedState(); pedited->wavelet.levelsigm = levelsigm->getEditedState(); pedited->wavelet.opacityCurveRG = !opacityShapeRG->isUnChanged(); - pedited->wavelet.opacityCurveSH = !opacityShapeSH->isUnChanged(); + //pedited->wavelet.opacityCurveSH = !opacityShapeSH->isUnChanged(); pedited->wavelet.opacityCurveBY = !opacityShapeBY->isUnChanged(); pedited->wavelet.wavdenoise = !wavdenoise->isUnChanged(); pedited->wavelet.wavdenoiseh = !wavdenoiseh->isUnChanged(); @@ -2500,17 +2502,17 @@ void Wavelet::write(ProcParams* pp, ParamsEdited* pedited) pp->wavelet.complexmethod = "expert"; } - if (denmethod->get_active_row_number() == 0) { - pp->wavelet.denmethod = "equ"; - } else if (denmethod->get_active_row_number() == 1) { - pp->wavelet.denmethod = "high"; - } else if (denmethod->get_active_row_number() == 2) { - pp->wavelet.denmethod = "low"; - } else if (denmethod->get_active_row_number() == 3) { - pp->wavelet.denmethod = "12high"; - } else if (denmethod->get_active_row_number() == 4) { - pp->wavelet.denmethod = "12low"; - } + //if (denmethod->get_active_row_number() == 0) { + // pp->wavelet.denmethod = "equ"; + //} else if (denmethod->get_active_row_number() == 1) { + // pp->wavelet.denmethod = "high"; + //} else if (denmethod->get_active_row_number() == 2) { + // pp->wavelet.denmethod = "low"; + //} else if (denmethod->get_active_row_number() == 3) { + // pp->wavelet.denmethod = "12high"; + //} else if (denmethod->get_active_row_number() == 4) { + // pp->wavelet.denmethod = "12low"; + //} if (mixmethod->get_active_row_number() == 0) { pp->wavelet.mixmethod = "nois"; @@ -2569,8 +2571,8 @@ void Wavelet::curveChanged(CurveEditor* ce) listener->panelChanged(EvWavblshape, M("HISTORY_CUSTOMCURVE")); } else if (ce == opacityShapeRG) { listener->panelChanged(EvWavColor, M("HISTORY_CUSTOMCURVE")); - } else if (ce == opacityShapeSH) { - listener->panelChanged(EvWavlevelshc, M("HISTORY_CUSTOMCURVE")); + //} else if (ce == opacityShapeSH) { + // listener->panelChanged(EvWavlevelshc, M("HISTORY_CUSTOMCURVE")); } else if (ce == opacityShapeBY) { listener->panelChanged(EvWavOpac, M("HISTORY_CUSTOMCURVE")); } else if (ce == wavdenoise) { @@ -2670,7 +2672,7 @@ void Wavelet::setDefaults(const ProcParams* defParams, const ParamsEdited* pedit balchrom->setDefault(defParams->wavelet.balchrom); chromfi->setDefault(defParams->wavelet.chromfi); chromco->setDefault(defParams->wavelet.chromco); - labgrid->setDefault(defParams->wavelet.labgridALow / WaveletParams::LABGRID_CORR_MAX, defParams->wavelet.labgridBLow / WaveletParams::LABGRID_CORR_MAX, defParams->wavelet.labgridAHigh / WaveletParams::LABGRID_CORR_MAX, defParams->wavelet.labgridBHigh / WaveletParams::LABGRID_CORR_MAX); + labgrid->setDefault(defParams->wavelet.labgridALow / WaveletParams::LABGRID_CORR_MAX, defParams->wavelet.labgridBLow / WaveletParams::LABGRID_CORR_MAX, defParams->wavelet.labgridAHigh / WaveletParams::LABGRID_CORR_MAX, defParams->wavelet.labgridBHigh / WaveletParams::LABGRID_CORR_MAX, 0, 0, 0, 0); greenlow->setDefault(defParams->wavelet.greenlow); bluelow->setDefault(defParams->wavelet.bluelow); @@ -2913,13 +2915,13 @@ void Wavelet::HSmethodUpdateUI() bllev->hide(); threshold->hide(); threshold2->hide(); - curveEditorC->hide(); + //curveEditorC->hide(); } else { //with hllev->show(); bllev->show(); threshold->show(); threshold2->show(); - curveEditorC->show(); + //curveEditorC->show(); } } } @@ -3252,7 +3254,7 @@ void Wavelet::convertParamToNormal() //denoise chromfi->setValue(def_params.chromfi); chromco->setValue(def_params.chromco); - denmethod->set_active(4); + //denmethod->set_active(4); mixmethod->set_active(2); slimethod->set_active(0); levelsigm->setValue(def_params.levelsigm); @@ -3310,7 +3312,7 @@ void Wavelet::updateGUIToMode(int mode) blurFrame->hide(); cbenab->hide(); sigmafin->hide(); - denHBox->hide(); + //denHBox->hide(); mixHBox->hide(); sliHBox->hide(); sigm->hide(); @@ -3338,7 +3340,7 @@ void Wavelet::updateGUIToMode(int mode) blurFrame->show(); cbenab->show(); sigmafin->show(); - denHBox->hide(); + //denHBox->hide(); mixHBox->show(); sigm->hide(); levelsigm->show(); @@ -3357,7 +3359,7 @@ void Wavelet::updateGUIToMode(int mode) CurveEditorwavnoise->show(); } disableListener(); - denmethod->set_active(4); + //denmethod->set_active(4); enableListener(); } @@ -3380,13 +3382,13 @@ void Wavelet::complexmethodChanged() } } -void Wavelet::denmethodChanged() -{ - - if (listener && (multiImage || getEnabled())) { - listener->panelChanged(EvWavdenmethod, denmethod->get_active_text()); - } -} +//void Wavelet::denmethodChanged() +//{ +// +// if (listener && (multiImage || getEnabled())) { +// listener->panelChanged(EvWavdenmethod, denmethod->get_active_text()); +// } +//} void Wavelet::mixmethodChanged() { @@ -3511,7 +3513,7 @@ void Wavelet::setBatchMode(bool batchMode) Backmethod->append(M("GENERAL_UNCHANGED")); Tilesmethod->append(M("GENERAL_UNCHANGED")); complexmethod->append(M("GENERAL_UNCHANGED")); - denmethod->append(M("GENERAL_UNCHANGED")); + //denmethod->append(M("GENERAL_UNCHANGED")); mixmethod->append(M("GENERAL_UNCHANGED")); slimethod->append(M("GENERAL_UNCHANGED")); quamethod->append(M("GENERAL_UNCHANGED")); @@ -3528,7 +3530,7 @@ void Wavelet::setBatchMode(bool batchMode) Dirmethod->append(M("GENERAL_UNCHANGED")); CCWcurveEditorG->setBatchMode(batchMode); opaCurveEditorG->setBatchMode(batchMode); - curveEditorC->setBatchMode(batchMode); + //curveEditorC->setBatchMode(batchMode); opacityCurveEditorG->setBatchMode(batchMode); CurveEditorwavnoise->setBatchMode(batchMode); CurveEditorwavnoiseh->setBatchMode(batchMode); diff --git a/rtgui/wavelet.h b/rtgui/wavelet.h index bdbf7bbc3..0060520f6 100644 --- a/rtgui/wavelet.h +++ b/rtgui/wavelet.h @@ -139,7 +139,7 @@ private: void MedgreinfChanged(); void TMmethodChanged(); void complexmethodChanged(); - void denmethodChanged(); + //void denmethodChanged(); void mixmethodChanged(); void quamethodChanged(); void slimethodChanged(); @@ -190,8 +190,8 @@ private: void enableToggled(MyExpander* expander); CurveEditorGroup* const curveEditorG; - CurveEditorGroup* const curveEditorC; - FlatCurveEditor* opacityShapeSH; + //CurveEditorGroup* const curveEditorC; + //FlatCurveEditor* opacityShapeSH; CurveEditorGroup* const CCWcurveEditorG; CurveEditorGroup* const curveEditorbl; @@ -349,8 +349,8 @@ private: sigc::connection MedgreinfConn; MyComboBoxText* const ushamethod; sigc::connection ushamethodconn; - MyComboBoxText* const denmethod; - sigc::connection denmethodconn; + //MyComboBoxText* const denmethod; + //sigc::connection denmethodconn; MyComboBoxText* const mixmethod; sigc::connection mixmethodconn; MyComboBoxText* const quamethod; @@ -392,7 +392,7 @@ private: Gtk::Box* const ctboxch; Gtk::Box* const quaHBox; Gtk::Box* const sliHBox; - Gtk::Box* const denHBox; + //Gtk::Box* const denHBox; Gtk::Box* const mixHBox; Gtk::Box* const ctboxBA;// = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL)); diff --git a/rtgui/whitebalance.cc b/rtgui/whitebalance.cc index ba8ad6157..fbcf40faf 100644 --- a/rtgui/whitebalance.cc +++ b/rtgui/whitebalance.cc @@ -248,10 +248,17 @@ WhiteBalance::WhiteBalance () : FoldableToolPanel(this, "whitebalance", M("TP_WB std::vector cells = method->get_cells(); Gtk::CellRendererText* cellRenderer = dynamic_cast(cells.at(1)); cellRenderer->property_ellipsize() = Pango::ELLIPSIZE_MIDDLE; + + resetButton = Gtk::manage (new Gtk::Button()); // No label, keep it short + setExpandAlignProperties(resetButton, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); + resetButton->set_relief(Gtk::RELIEF_NONE); + resetButton->get_style_context()->add_class(GTK_STYLE_CLASS_FLAT); + resetButton->set_image (*Gtk::manage (new RTImage ("undo-small.png"))); method->set_active (0); // Camera methodgrid->attach (*lab, 0, 0, 1, 1); methodgrid->attach (*method, 1, 0, 1, 1); + methodgrid->attach (*resetButton, 2, 0, 1, 1); pack_start (*methodgrid, Gtk::PACK_SHRINK, 0 ); opt = 0; @@ -362,6 +369,7 @@ WhiteBalance::WhiteBalance () : FoldableToolPanel(this, "whitebalance", M("TP_WB spotbutton->signal_pressed().connect( sigc::mem_fun(*this, &WhiteBalance::spotPressed) ); methconn = method->signal_changed().connect( sigc::mem_fun(*this, &WhiteBalance::optChanged) ); + resetButton->signal_pressed().connect( sigc::mem_fun(*this, &WhiteBalance::resetWB) ); spotsize->signal_changed().connect( sigc::mem_fun(*this, &WhiteBalance::spotSizeChanged) ); } @@ -828,6 +836,11 @@ void WhiteBalance::setWB (int vtemp, double vgreen) } +void WhiteBalance::resetWB () +{ + setActiveMethod("Camera"); +} + void WhiteBalance::setAdjusterBehavior (bool tempadd, bool greenadd, bool equaladd, bool tempbiasadd) { @@ -936,7 +949,6 @@ void WhiteBalance::WBChanged(double temperature, double greenVal, float studgood [this, temperature, greenVal, studgood]() -> bool { disableListener(); - setEnabled(true); temp->setValue(temperature); green->setValue(greenVal); StudLabel->set_text( diff --git a/rtgui/whitebalance.h b/rtgui/whitebalance.h index 17e45e8bb..1ed99a2aa 100644 --- a/rtgui/whitebalance.h +++ b/rtgui/whitebalance.h @@ -65,6 +65,7 @@ protected: Glib::RefPtr refTreeModel; MethodColumns methodColumns; MyComboBox* method; + Gtk::Button* resetButton; MyComboBoxText* spotsize; Adjuster* temp; Adjuster* green; @@ -122,6 +123,7 @@ public: wblistener = l; } void setWB (int temp, double green); + void resetWB (); void WBChanged (double temp, double green, float studgood) override; void setAdjusterBehavior (bool tempadd, bool greenadd, bool equaladd, bool tempbiasadd); diff --git a/rtgui/xtransrawexposure.cc b/rtgui/xtransrawexposure.cc index 655a036c7..e1b56b9f0 100644 --- a/rtgui/xtransrawexposure.cc +++ b/rtgui/xtransrawexposure.cc @@ -22,7 +22,6 @@ #include "guiutils.h" #include "options.h" - #include "../rtengine/procparams.h" using namespace rtengine; diff --git a/tools/findorphans.py b/tools/findorphans.py new file mode 100755 index 000000000..4933f4b2e --- /dev/null +++ b/tools/findorphans.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 + +import clang.cindex +import subprocess +import sys + +index = clang.cindex.Index.create() +procevents = index.parse('rtengine/procevents.h',args=['-x', 'c++']) + +if(1): + for chld in procevents.cursor.get_children(): + if(chld.displayname == 'rtengine'): + for c in chld.get_children(): + if(c.displayname == 'ProcEventCode'): + for pec in c.get_children(): + #print(pec.kind, pec.displayname, pec.enum_value) + #print(pec.displayname, file=sys.stderr) + grp1 = subprocess.Popen(('grep', '-ro', '--exclude=procevents.h', '--exclude-dir=.git', pec.displayname), stdout=subprocess.PIPE) + wcr1 = subprocess.check_output(('wc', '-l'), stdin=grp1.stdout) + grp1.wait() + grp2 = subprocess.Popen(('grep', '-ro', '--exclude=procevents.h', '--exclude=refreshmap.cc', '--exclude-dir=.git', pec.displayname), stdout=subprocess.PIPE) + wcr2 = subprocess.check_output(('wc', '-l'), stdin=grp2.stdout) + grp2.wait() + print(pec.enum_value, pec.displayname,int(wcr1), int(wcr2)) + +with open('rtdata/languages/default', 'r') as deflang: + for line in deflang: + if(line[0] == '#'): + continue + if(line[0:2] == '//'): + continue + if(line[0:2] == '/*'): + #our language files support comment blocks????????????????????????????? + #or is this commented block bogus? + continue + if(line[0:2] == '*/'): + continue + else: + stringid = line.split(';')[0] + if(stringid.startswith('HISTORY_MSG')): + continue + #print(stringid, file=sys.stderr) + grp1 = subprocess.Popen(('grep', '-ro', '--exclude-dir=languages', '--exclude-dir=.git', stringid), stdout=subprocess.PIPE) + wcr1 = subprocess.check_output(('wc', '-l'), stdin=grp1.stdout) + grp1.wait() + print(stringid, int(wcr1)) diff --git a/tools/generatePngIcons b/tools/generatePngIcons index 70ee3ee1b..9fee79c52 100755 --- a/tools/generatePngIcons +++ b/tools/generatePngIcons @@ -1,6 +1,7 @@ #!/usr/bin/env bash # By Maciej Dworak -# Version 2018-07-21 +# Version 2021-06-04 +# Compatible with Inkscape 1.0 # This script generates PNG icons from SVG files using Inkscape. # If pngquant is installed, it will automatically use it to compress the PNGs. # @@ -96,17 +97,17 @@ printf '%s\n' "Output folder: ${outDir}" "" convertSvg() { if [[ ${OSTYPE^^} = "MSYS" ]]; then "/c/Program Files/Inkscape/inkscape.exe" \ - --without-gui \ --export-area-page \ --export-background-opacity="0" \ - --export-png="$1" \ + --export-type=png \ + --export-filename="$1" \ "$2" else inkscape \ - --without-gui \ --export-area-page \ --export-background-opacity="0" \ - --export-png="$1" \ + --export-type=png \ + --export-filename="$1" \ "$2" fi diff --git a/tools/generateUnusedKeys b/tools/generateUnusedKeys index 6d2b68390..7fceddf3d 100755 --- a/tools/generateUnusedKeys +++ b/tools/generateUnusedKeys @@ -69,6 +69,7 @@ dos2unix default 2>/dev/null # -Irl -m1 # Dynamically built keys like HISTORY_MSG_1 can't be grepped in the code, # so it renames KEY_1-KEY_9 to KEY_ so that they can be grepped and therefore ignored. +# See RAWParams::BayerSensor::getMethodStrings t1="$(date +%s)" printf '%s\n' 'Matching keys in "default" against .cc and .h files' 'Unmatched keys follow:' unset delLines @@ -84,11 +85,25 @@ done < <( \ -e "^(#|$)|TP_RAW_2PASS" \ -e "^(#|$)|TP_RAW_3PASSBEST" \ -e "^(#|$)|TP_RAW_4PASS" \ + -e "^(#|$)|TP_RAW_AMAZE" \ + -e "^(#|$)|TP_RAW_AMAZEBILINEAR" \ -e "^(#|$)|TP_RAW_AMAZEVNG4" \ - -e "^(#|$)|TP_RAW_DCBVNG4" \ - -e "^(#|$)|TP_RAW_MONO" \ - -e "^(#|$)|TP_RAW_NONE" \ + -e "^(#|$)|TP_RAW_RCD" \ + -e "^(#|$)|TP_RAW_RCDBILINEAR" \ -e "^(#|$)|TP_RAW_RCDVNG4" \ + -e "^(#|$)|TP_RAW_DCB" \ + -e "^(#|$)|TP_RAW_DCBBILINEAR" \ + -e "^(#|$)|TP_RAW_DCBVNG4" \ + -e "^(#|$)|TP_RAW_LMMSE" \ + -e "^(#|$)|TP_RAW_IGV" \ + -e "^(#|$)|TP_RAW_AHD" \ + -e "^(#|$)|TP_RAW_EAHD" \ + -e "^(#|$)|TP_RAW_HPHD" \ + -e "^(#|$)|TP_RAW_VNG4" \ + -e "^(#|$)|TP_RAW_FAST" \ + -e "^(#|$)|TP_RAW_MONO" \ + -e "^(#|$)|TP_RAW_PIXELSHIFT" \ + -e "^(#|$)|TP_RAW_NONE" \ "default" | \ sed -e "s/EXTPROGTARGET_[0-9]*/EXTPROGTARGET_/" \ -e "s/FILEBROWSER_POPUPCOLORLABEL[0-9]*/FILEBROWSER_POPUPCOLORLABEL/" \ diff --git a/tools/osx/INSTALL.readme.rtf b/tools/osx/INSTALL.readme.rtf new file mode 100644 index 000000000..6c8f2e334 --- /dev/null +++ b/tools/osx/INSTALL.readme.rtf @@ -0,0 +1,7 @@ +To use the RawTherapee Application: + You must drag the app from the .dmg into the /Applications folder. + +If you wish to use the Command-Line Interface: + An unsigned -cli is in the zip along with the .dmg. + You must install the app from the .dmg into /Applications and copy the -cli to your /usr/local/bin. + The -cli will load its libraries dynamically from the app in /Applications. diff --git a/tools/osx/Info.plist.in b/tools/osx/Info.plist.in index 6970ed4da..876d35e3a 100644 --- a/tools/osx/Info.plist.in +++ b/tools/osx/Info.plist.in @@ -3,16 +3,16 @@ LSEnvironment - XDG_DATA_DIRS + XDG_CONFIG_DIRS + /Applications/RawTherapee.app/Contents/Resources/share/gtk-3.0 + XDG_CONFIG_HOME /Applications/RawTherapee.app/Contents/Resources/share - DYLD_FALLBACK_LIBRARY_PATH - /Applications/RawTherapee.app/Contents/Frameworks + XDG_DATA_DIRS + /Applications/RawTherapee.app/Contents/Resources/share/gtk-3.0 GTK_PATH - /Applications/RawTherapee.app/Contents/Frameworks + /Applications/RawTherapee.app/Contents/Resources/share/gtk-3.0 GTK_IM_MODULE_FILE /Applications/RawTherapee.app/Contents/Resources/etc/gtk-3.0/gtk.immodules - GTK_MODULES - /Applications/RawTherapee.app/Contents/Frameworks/im-quartz.so XDG_DATA_HOME /Applications/RawTherapee.app/Contents/Resources/share GSETTINGS_SCHEMA_DIR @@ -21,8 +21,6 @@ /Applications/RawTherapee.app/Contents/Resources/etc/gtk-3.0/gdk-pixbuf.loaders GDK_PIXBUF_MODULEDIR /Applications/RawTherapee.app/Contents/Frameworks - FONTCONFIG_PATH - /Applications/RawTherapee.app/Contents/Resources/etc/fonts LIBDIR /Applications/RawTherapee.app/Contents/Frameworks DATADIR @@ -31,17 +29,18 @@ similar GTK_OVERLAY_SCROLLING 0 - GDK_NATIVE_WINDOWS - 1 - ATSApplicationFontsPath - etc/fonts LSMultipleInstancesProhibited - LSMinimumSystemVersion - @minimum_macos_version@ - CFBundleDevelopmentRegion - English + LSMinimumSystemVersionByArchitecture + + arm64 + @minimum_arm64_version@ + x86_64 + @minimum_x86_64_version@ + + CFBundleAllowMixedLocalizations + CFBundleDisplayName RawTherapee CFBundleDocumentTypes @@ -166,9 +165,10 @@ ???? CFBundleVersion @shortVersion@ - LSExecutableArchitectures + LSArchitecturePriority - @arch@ + arm64 + x86_64 NSHighResolutionCapable @@ -202,4 +202,4 @@ - \ No newline at end of file + diff --git a/tools/osx/info-plist.cmake b/tools/osx/info-plist.cmake new file mode 100644 index 000000000..9d64529f3 --- /dev/null +++ b/tools/osx/info-plist.cmake @@ -0,0 +1 @@ +configure_file(${PROJECT_SOURCE_DATA_DIR}/Info.plist.in ${CONTENTS}/Info.plist) diff --git a/tools/osx/macosx_bundle.sh b/tools/osx/macosx_bundle.sh index e3dc61857..d0cbf4d6b 100644 --- a/tools/osx/macosx_bundle.sh +++ b/tools/osx/macosx_bundle.sh @@ -24,7 +24,7 @@ function msgError { } function GetDependencies { - otool -L "$1" | awk 'NR >= 2 && $1 !~ /^(\/usr\/lib|\/System|@executable_path|@rpath)\// { print $1 }' + otool -L "$1" | awk 'NR >= 2 && $1 !~ /^(\/usr\/lib|\/System|@executable_path|@rpath)\// { print $1 }' 2>&1 } function CheckLink { @@ -40,11 +40,11 @@ function ModifyInstallNames { { # id if [[ ${x:(-6)} == ".dylib" ]] || [[ f${x:(-3)} == ".so" ]]; then - install_name_tool -id /Applications/"${LIB}"/$(basename ${x}) ${x} + install_name_tool -id /Applications/"${LIB}"/$(basename ${x}) ${x} 2>/dev/null fi GetDependencies "${x}" | while read -r y do - install_name_tool -change ${y} /Applications/"${LIB}"/$(basename ${y}) ${x} + install_name_tool -change ${y} /Applications/"${LIB}"/$(basename ${y}) ${x} 2>/dev/null done } | bash -v done @@ -86,12 +86,20 @@ if [[ -x $(which git) && -d $PROJECT_SOURCE_DIR/.git ]]; then PROJECT_VERSION="$gitVersionNumericBS" fi +#In: CMAKE_OSX_DEPLOYMENT_TARGET=11.3 +#Out: 11.3 +CMAKE_OSX_DEPLOYMENT_TARGET="$(cmake .. -L -N | grep CMAKE_OSX_DEPLOYMENT_TARGET)"; CMAKE_OSX_DEPLOYMENT_TARGET="${CMAKE_OSX_DEPLOYMENT_TARGET#*=}" + +#In: CMAKE_OSX_ARCHITECTURES=x86_64 +#Out: x86_64 +CMAKE_OSX_ARCHITECTURES="$(cmake .. -L -N | grep CMAKE_OSX_ARCHITECTURES)"; CMAKE_OSX_ARCHITECTURES="${CMAKE_OSX_ARCHITECTURES#*=}" + MINIMUM_SYSTEM_VERSION="$(otool -l "${CMAKE_BUILD_TYPE}"/MacOS/rawtherapee | grep -A2 'LC_VERSION_MIN_MACOSX' | awk '$1 ~ /version/ { printf $2 }')" if [[ -z $MINIMUM_SYSTEM_VERSION ]]; then - MINIMUM_SYSTEM_VERSION="$(sw_vers -productVersion | cut -d. -f-2)" + MINIMUM_SYSTEM_VERSION=${CMAKE_OSX_DEPLOYMENT_TARGET} fi -arch=x86_64 +arch=${CMAKE_OSX_ARCHITECTURES} cat <<__EOS__ PROJECT_NAME: ${PROJECT_NAME} @@ -112,6 +120,13 @@ minimum_macos_version=${MINIMUM_SYSTEM_VERSION} #Out: /opt LOCAL_PREFIX="$(cmake .. -L -N | grep LOCAL_PREFIX)"; LOCAL_PREFIX="${LOCAL_PREFIX#*=}" +#In: OSX_UNIVERSAL_URL=https:// etc. +#Out: https:// etc. +UNIVERSAL_URL="$(cmake .. -L -N | grep OSX_UNIVERSAL_URL)"; UNIVERSAL_URL="${UNIVERSAL_URL#*=}" +if [[ -n $UNIVERSAL_URL ]]; then + echo "Universal app is ON. The URL is ${UNIVERSAL_URL}" +fi + #In: pkgcfg_lib_EXPAT_expat:FILEPATH=/opt/local/lib/libexpat.dylib #Out: /opt/local/lib/libexpat.dylib EXPATLIB="$(cmake .. -LA -N | grep pkgcfg_lib_EXPAT_expat)"; pkgcfg_lib_EXPAT_expat="${pkgcfg_lib_EXPAT_expat#*=}" @@ -131,6 +146,13 @@ if [[ -n $FANCY_DMG ]]; then echo "Fancy .dmg build is ON." fi +# In: OSX_NIGHTLY:BOOL=ON +# Out: ON +OSX_NIGHTLY="$(cmake .. -L -N | grep OSX_NIGHTLY)"; NIGHTLY="${OSX_NIGHTLY#*=}" +if [[ -n $NIGHTLY ]]; then + echo "Nightly/generically-named zip is ON." +fi + APP="${PROJECT_NAME}.app" CONTENTS="${APP}/Contents" RESOURCES="${CONTENTS}/Resources" @@ -138,10 +160,10 @@ MACOS="${CONTENTS}/MacOS" LIB="${CONTENTS}/Frameworks" ETC="${RESOURCES}/etc" EXECUTABLE="${MACOS}/rawtherapee" -GDK_PREFIX="${LOCAL_PREFIX}/local/" +GDK_PREFIX="${LOCAL_PREFIX}/" msg "Removing old files:" -rm -rf "${APP}" *.dmg *.zip +rm -rf "${APP}" *.dmg *.zip *.app msg "Creating bundle container:" install -d "${RESOURCES}" @@ -153,7 +175,7 @@ msg "Copying binary executable files." ditto "${CMAKE_BUILD_TYPE}/MacOS" "${MACOS}" msg "Copying Resources directory." -cp AboutThisBuild.txt "${RESOURCES}" +#cp AboutThisBuild.txt "${RESOURCES}" ditto "${CMAKE_BUILD_TYPE}/Resources" "${RESOURCES}" echo "\n--------\n" >> "${RESOURCES}/AboutThisBuild.txt" @@ -165,144 +187,179 @@ echo "Bundle UUID: $(uuidgen|tr 'A-Z' 'a-z')" >> "${RESOURCES}/AboutThisBuild. # Copy the Lensfun database into the app bundle mkdir -p "${RESOURCES}/share/lensfun" -ditto ${LOCAL_PREFIX}/local/share/lensfun/version_2/* "${RESOURCES}/share/lensfun" +lensfunversion=$(pkg-config --modversion lensfun | cut -f3 -d'.') +if [ $lensfunversion = 95 ] +then + ditto ${LOCAL_PREFIX}/share/lensfun/version_2/* "${RESOURCES}/share/lensfun" +else + ditto ${LOCAL_PREFIX}/share/lensfun/version_1/* "${RESOURCES}/share/lensfun" +fi # Copy liblensfun to Frameworks -ditto ${LOCAL_PREFIX}/local/lib/liblensfun.2.dylib "${CONTENTS}/Frameworks/liblensfun.2.dylib" +ditto ${LOCAL_PREFIX}/lib/liblensfun.2.dylib "${CONTENTS}/Frameworks/liblensfun.2.dylib" # Copy libomp to Frameworks -ditto ${LOCAL_PREFIX}/local/lib/libomp.dylib "${CONTENTS}/Frameworks" +ditto ${LOCAL_PREFIX}/lib/libomp.dylib "${CONTENTS}/Frameworks" msg "Copying dependencies from ${GTK_PREFIX}." -CheckLink "${EXECUTABLE}" +CheckLink "${EXECUTABLE}" 2>&1 # dylib install names -ModifyInstallNames +ModifyInstallNames 2>&1 # Copy libjpeg-turbo ("62") into the app bundle -ditto ${LOCAL_PREFIX}/local/lib/libjpeg.62.dylib "${CONTENTS}/Frameworks/libjpeg.62.dylib" +ditto ${LOCAL_PREFIX}/lib/libjpeg.62.dylib "${CONTENTS}/Frameworks/libjpeg.62.dylib" # Copy libexpat into the app bundle (which is keg-only) if [[ -d /usr/local/Cellar/expat ]]; then ditto /usr/local/Cellar/expat/*/lib/libexpat.1.dylib "${CONTENTS}/Frameworks"; else ditto "${EXPATLIB}" "${CONTENTS}/Frameworks/libexpat.1.dylib"; fi # Copy libz into the app bundle -ditto ${LOCAL_PREFIX}/local/lib/libz.1.dylib "${CONTENTS}/Frameworks" +ditto ${LOCAL_PREFIX}/lib/libz.1.dylib "${CONTENTS}/Frameworks" -# Copy libpng16 to the app bundle -ditto ${LOCAL_PREFIX}/local/lib/libpng16.16.dylib "${CONTENTS}/Frameworks/libpng16.16.dylib" +# Copy libpng12 & 16 to the app bundle +ditto ${LOCAL_PREFIX}/lib/libpng16.16.dylib "${CONTENTS}/Frameworks/libpng16.16.dylib" +ditto ${LOCAL_PREFIX}/lib/libpng12.0.dylib "${CONTENTS}/Frameworks/libpng12.0.dylib" # Copy libtiff 5 into the app bundle -ditto ${LOCAL_PREFIX}/local/lib/libtiff.5.dylib "${CONTENTS}/Frameworks/libtiff.5.dylib" - -# Copy the Lensfun database into the app bundle -mkdir -p "${RESOURCES}/share/lensfun" -ditto ${LOCAL_PREFIX}/local/share/lensfun/version_2/* "${RESOURCES}/share/lensfun" - -# Copy liblensfun to Frameworks -ditto ${LOCAL_PREFIX}/local/lib/liblensfun.2.dylib "${CONTENTS}/Frameworks/liblensfun.2.dylib" +ditto ${LOCAL_PREFIX}/lib/libtiff.5.dylib "${CONTENTS}/Frameworks/libtiff.5.dylib" # Copy libomp to Frameworks -ditto ${LOCAL_PREFIX}/local/lib/libomp.dylib "${CONTENTS}/Frameworks" +ditto ${LOCAL_PREFIX}/lib/libomp.dylib "${CONTENTS}/Frameworks" # Prepare GTK+3 installation msg "Copying configuration files from ${GTK_PREFIX}:" -install -d "${ETC}/gtk-3.0" +cp -RL {"${GDK_PREFIX}/lib","${LIB}"}/gdk-pixbuf-2.0 msg "Copying library modules from ${GTK_PREFIX}:" -ditto --arch "${arch}" {"${GTK_PREFIX}/lib","${LIB}"}/gdk-pixbuf-2.0 +cp -RL {"${GDK_PREFIX}/lib","${LIB}"}/gdk-pixbuf-2.0 ditto --arch "${arch}" {"${GTK_PREFIX}/lib","${LIB}"}/gtk-3.0 msg "Removing static libraries and cache files:" find -E "${LIB}" -type f -regex '.*\.(a|la|cache)$' | while read -r; do rm "${REPLY}"; done # Make Frameworks folder flat msg "Flattening the Frameworks folder" -ditto "${LIB}"/gdk-pixbuf-2.0/2*/loaders/*.so "${LIB}" -ditto "${LIB}"/gtk-3.0/3*/immodules/*.{dylib,so} "${LIB}" +cp -RL "${LIB}"/gdk-pixbuf-2.0/2*/loaders/* "${LIB}" +cp "${LIB}"/gtk-3.0/3*/immodules/*.{dylib,so} "${LIB}" rm -r "${LIB}"/gtk-3.0 rm -r "${LIB}"/gdk-pixbuf-2.0 # GTK+3 themes msg "Copy GTK+3 theme and icon resources:" -ditto {"${LOCAL_PREFIX}/local","${RESOURCES}"}/share/themes/Mac/gtk-3.0/gtk-keys.css -ditto {"${LOCAL_PREFIX}/local","${RESOURCES}"}/share/themes/Default/gtk-3.0/gtk-keys.css +ditto {"${LOCAL_PREFIX}","${RESOURCES}"}/share/themes/Mac/gtk-3.0/gtk-keys.css +ditto {"${LOCAL_PREFIX}","${RESOURCES}"}/share/themes/Default/gtk-3.0/gtk-keys.css # Adwaita icons msg "Copy Adwaita icons" -iconfolders=("16x16/actions" "16x16/devices" "16x16/mimetypes" "16x16/places" "16x16/status" "48x48/devices") +iconfolders=("16x16/actions" "16x16/devices" "16x16/mimetypes" "16x16/places" "16x16/status" "16x16/ui" "48x48/devices") for f in "${iconfolders[@]}"; do mkdir -p ${RESOURCES}/share/icons/Adwaita/${f} - ditto ${LOCAL_PREFIX}/local/share/icons/Adwaita/${f}/* "${RESOURCES}"/share/icons/Adwaita/${f} + cp -RL ${LOCAL_PREFIX}/share/icons/Adwaita/${f}/* "${RESOURCES}"/share/icons/Adwaita/${f} done -ditto {"${LOCAL_PREFIX}/local","${RESOURCES}"}/share/icons/Adwaita/index.theme -"${LOCAL_PREFIX}/local/bin/gtk-update-icon-cache" "${RESOURCES}/share/icons/Adwaita" -ditto "${LOCAL_PREFIX}/local/share/icons/hicolor" "${RESOURCES}/share/icons/hicolor" +cp -RL {"${LOCAL_PREFIX}","${RESOURCES}"}/share/icons/Adwaita/index.theme +"${LOCAL_PREFIX}/bin/gtk-update-icon-cache" "${RESOURCES}/share/icons/Adwaita" || "${LOCAL_PREFIX}/bin/gtk-update-icon-cache-3.0" "${RESOURCES}/share/icons/Adwaita" +cp -RL "${LOCAL_PREFIX}/share/icons/hicolor" "${RESOURCES}/share/icons/hicolor" # fix libfreetype install name for lib in "${LIB}"/*; do - install_name_tool -change libfreetype.6.dylib "${LIB}"/libfreetype.6.dylib "${lib}" + install_name_tool -change libfreetype.6.dylib "${LIB}"/libfreetype.6.dylib "${lib}" 2>/dev/null done -# pixbuf loaders & immodules +# Build GTK3 pixbuf loaders & immodules database msg "Build GTK3 databases:" -"${LOCAL_PREFIX}"/local/bin/gdk-pixbuf-query-loaders "${LIB}"/libpix*.so > "${ETC}"/gtk-3.0/gdk-pixbuf.loaders -"${LOCAL_PREFIX}"/local/bin/gtk-query-immodules-3.0 "${LIB}"/im-* > "${ETC}"/gtk-3.0/gtk.immodules -sed -i "" -e "s|${PWD}/RawTherapee.app/Contents/|/Applications/RawTherapee.app/Contents/|" "${ETC}/gtk-3.0/gdk-pixbuf.loaders" "${ETC}/gtk-3.0/gtk.immodules" -sed -i "" -e "s|/opt/local/|/Applications/RawTherapee.app/Contents/Frameworks/|" "${ETC}/gtk-3.0/gtk.immodules" +mkdir -p "${RESOURCES}"/share/gtk-3.0 +mkdir -p "${ETC}"/gtk-3.0 +"${LOCAL_PREFIX}"/bin/gdk-pixbuf-query-loaders "${LIB}"/libpixbufloader-*.so > "${ETC}"/gtk-3.0/gdk-pixbuf.loaders +"${LOCAL_PREFIX}"/bin/gtk-query-immodules-3.0 "${LIB}"/im-* > "${ETC}"/gtk-3.0/gtk.immodules || "${LOCAL_PREFIX}"/bin/gtk-query-immodules "${LIB}"/im-* > "${ETC}"/gtk-3.0/gtk.immodules +sed -i.bak -e "s|${PWD}/RawTherapee.app/Contents/|/Applications/RawTherapee.app/Contents/|" "${ETC}"/gtk-3.0/gdk-pixbuf.loaders "${ETC}/gtk-3.0/gtk.immodules" +sed -i.bak -e "s|${LOCAL_PREFIX}/share/|/Applications/RawTherapee.app/Contents/Resources/share/|" "${ETC}"/gtk-3.0/gtk.immodules +sed -i.bak -e "s|${LOCAL_PREFIX}/|/Applications/RawTherapee.app/Contents/Frameworks/|" "${ETC}"/gtk-3.0/gtk.immodules +rm "${ETC}"/*/*.bak # Install names -ModifyInstallNames +ModifyInstallNames 2>/dev/null # Mime directory msg "Copying shared files from ${GTK_PREFIX}:" -ditto {"${LOCAL_PREFIX}/local","${RESOURCES}"}/share/mime +ditto {"${LOCAL_PREFIX}","${RESOURCES}"}/share/mime msg "Installing required application bundle files:" PROJECT_SOURCE_DATA_DIR="${PROJECT_SOURCE_DIR}/tools/osx" -ditto "${CMAKE_BUILD_TYPE}/Resources" "${RESOURCES}" ditto "${PROJECT_SOURCE_DIR}/rtdata/fonts" "${ETC}/fonts" # App bundle resources ditto "${PROJECT_SOURCE_DATA_DIR}/"{rawtherapee,profile}.icns "${RESOURCES}" -ditto "${PROJECT_SOURCE_DATA_DIR}/PkgInfo" "${CONTENTS}" -install -m 0644 "${PROJECT_SOURCE_DATA_DIR}/Info.plist.in" "${CONTENTS}/Info.plist" -install -m 0644 "${PROJECT_SOURCE_DATA_DIR}/cliInfo.plist.in" "${LIB}/Info.plist" -sed -i "" -e "s|@version@|${PROJECT_FULL_VERSION}| -s|@shortVersion@|${PROJECT_VERSION}| -s|@arch@|${arch}|" \ -"${CONTENTS}/Info.plist" +#ditto "${PROJECT_SOURCE_DATA_DIR}/PkgInfo" "${CONTENTS}" + update-mime-database -V "${RESOURCES}/share/mime" +cp -RL "${LOCAL_PREFIX}/share/locale" "${RESOURCES}/share/locale" msg "Build glib database:" mkdir -p ${RESOURCES}/share/glib-2.0 -ditto {"${LOCAL_PREFIX}/local","${RESOURCES}"}/share/glib-2.0/schemas -"${LOCAL_PREFIX}/local/bin/glib-compile-schemas" "${RESOURCES}/share/glib-2.0/schemas" +cp -LR {"${LOCAL_PREFIX}","${RESOURCES}"}/share/glib-2.0/schemas +"${LOCAL_PREFIX}/bin/glib-compile-schemas" "${RESOURCES}/share/glib-2.0/schemas" # Append an LC_RPATH msg "Registering @rpath into the main executable." -install_name_tool -add_rpath /Applications/"${LIB}" "${EXECUTABLE}" +install_name_tool -add_rpath /Applications/"${LIB}" "${EXECUTABLE}" 2>/dev/null -ModifyInstallNames +ModifyInstallNames 2>/dev/null # fix @rpath in Frameworks msg "Registering @rpath in Frameworks folder." for frameworklibs in "${LIB}"/*{dylib,so,cli}; do - install_name_tool -delete_rpath ${LOCAL_PREFIX}/local/lib "${frameworklibs}" - install_name_tool -add_rpath /Applications/"${LIB}" "${frameworklibs}" + install_name_tool -delete_rpath ${LOCAL_PREFIX}/lib "${frameworklibs}" 2>/dev/null + install_name_tool -add_rpath /Applications/"${LIB}" "${frameworklibs}" 2>/dev/null done -install_name_tool -delete_rpath RawTherapee.app/Contents/Frameworks "${EXECUTABLE}"-cli -install_name_tool -add_rpath /Applications/"${LIB}" "${EXECUTABLE}"-cli +install_name_tool -delete_rpath RawTherapee.app/Contents/Frameworks "${EXECUTABLE}"-cli 2>/dev/null +install_name_tool -add_rpath /Applications/"${LIB}" "${EXECUTABLE}"-cli 2>/dev/null ditto "${EXECUTABLE}"-cli "${APP}"/.. +# Merge the app with the other architecture to create the Universal app. +if [[ -n $UNIVERSAL_URL ]]; then + msg "Getting Universal countercomponent." + curl -L ${UNIVERSAL_URL} -o univ.zip + msg "Extracting app." + unzip univ.zip -d univapp + hdiutil attach -mountpoint ./RawTherapeeuniv univapp/*/*dmg + if [[ $arch = "arm64" ]]; then + cp -R RawTherapee.app RawTherapee-arm64.app + minimum_arm64_version=$(f=$(cat RawTherapee-arm64.app/Contents/Resources/AboutThisBuild.txt | grep mmacosx-version); echo "${f#*min=}" | cut -d ' ' -f1) + cp -R RawTherapeeuniv/RawTherapee.app RawTherapee-x86_64.app + minimum_x86_64_version=$(f=$(cat RawTherapee-x86_64.app/Contents/Resources/AboutThisBuild.txt | grep mmacosx-version); echo "${f#*min=}" | cut -d ' ' -f1) + echo "\n\n=====================================\n\n" >> RawTherapee.app/Contents/Resources/AboutThisBuild.txt + cat RawTherapee-x86_64.app/Contents/Resources/AboutThisBuild.txt >> RawTherapee.app/Contents/Resources/AboutThisBuild.txt + else + cp -R RawTherapee.app RawTherapee-x86_64.app + minimum_x86_64_version=$(f=$(cat RawTherapee-x86_64.app/Contents/Resources/AboutThisBuild.txt | grep mmacosx-version); echo "${f#*min=}" | cut -d ' ' -f1) + cp -R RawTherapeeuniv/RawTherapee.app RawTherapee-arm64.app + minimum_arm64_version=$(f=$(cat RawTherapee-arm64.app/Contents/Resources/AboutThisBuild.txt | grep mmacosx-version); echo "${f#*min=}" | cut -d ' ' -f1) + echo "\n\n=====================================\n\n" >> RawTherapee.app/Contents/Resources/AboutThisBuild.txt + cat RawTherapee-arm64.app/Contents/Resources/AboutThisBuild.txt >> RawTherapee.app/Contents/Resources/AboutThisBuild.txt + fi + cmake -DPROJECT_SOURCE_DATA_DIR=${PROJECT_SOURCE_DATA_DIR} -DCONTENTS=${CONTENTS} -Dversion=${PROJECT_FULL_VERSION} -DshortVersion=${PROJECT_VERSION} -Dminimum_arm64_version=${minimum_arm64_version} -Dminimum_x86_64_version=${minimum_x86_64_version} -Darch=${arch} -P ${PROJECT_SOURCE_DATA_DIR}/info-plist.cmake + hdiutil unmount ./RawTherapeeuniv + rm -r univapp + # Create the fat main RawTherapee binary and move it into the new bundle + lipo -create -output RawTherapee RawTherapee-arm64.app/Contents/MacOS/RawTherapee RawTherapee-x86_64.app/Contents/MacOS/RawTherapee + mv RawTherapee RawTherapee.app/Contents/MacOS + # Create all the fat dependencies and move them into the bundle + for lib in RawTherapee-arm64.app/Contents/Frameworks/* ; do + lipo -create -output $(basename $lib) RawTherapee-arm64.app/Contents/Frameworks/$(basename $lib) RawTherapee-x86_64.app/Contents/Frameworks/$(basename $lib) + done + sudo mv *cli *so *dylib RawTherapee.app/Contents/Frameworks + rm -r RawTherapee-arm64.app + rm -r RawTherapee-x86_64.app +else + minimum_arm64_version=$(f=$(cat RawTherapee.app/Contents/Resources/AboutThisBuild.txt | grep mmacosx-version); echo "${f#*min=}" | cut -d ' ' -f1) + minimum_x86_64_version=${minimum_arm64_version} + cmake -DPROJECT_SOURCE_DATA_DIR=${PROJECT_SOURCE_DATA_DIR} -DCONTENTS=${CONTENTS} -Dversion=${PROJECT_FULL_VERSION} -DshortVersion=${PROJECT_VERSION} -Dminimum_arm64_version=${minimum_arm64_version} -Dminimum_x86_64_version=${minimum_x86_64_version} -Darch=${arch} -P ${PROJECT_SOURCE_DATA_DIR}/info-plist.cmake +fi + # Codesign the app if [[ -n $CODESIGNID ]]; then msg "Codesigning Application." iconv -f UTF-8 -t ASCII "${PROJECT_SOURCE_DATA_DIR}"/rt.entitlements > "${CMAKE_BUILD_TYPE}"/rt.entitlements - iconv -f UTF-8 -t ASCII "${PROJECT_SOURCE_DATA_DIR}"/rt-cli.entitlements > "${CMAKE_BUILD_TYPE}"/rt-cli.entitlements mv "${EXECUTABLE}"-cli "${LIB}" - for frameworklibs in "${LIB}"/*{dylib,so}; do - codesign -v -s "${CODESIGNID}" -i com.rawtherapee.RawTherapee --force --verbose -o runtime --timestamp --entitlements "${CMAKE_BUILD_TYPE}"/rt.entitlements "${frameworklibs}" - done - codesign --force -v -s "${CODESIGNID}" -i com.rawtherapee.RawTherapee -o runtime --entitlements "${CMAKE_BUILD_TYPE}"/rt-cli.entitlements "${LIB}"/rawtherapee-cli - codesign --deep --timestamp --strict -v -s "${CODESIGNID}" -i com.rawtherapee.RawTherapee -o runtime --entitlements "${CMAKE_BUILD_TYPE}"/rt.entitlements "${APP}" + codesign --force --deep --timestamp --strict -v -s "${CODESIGNID}" -i com.rawtherapee.RawTherapee -o runtime --entitlements "${CMAKE_BUILD_TYPE}"/rt.entitlements "${APP}" spctl -a -vvvv "${APP}" fi @@ -310,6 +367,7 @@ fi if [[ -n $NOTARY ]]; then msg "Notarizing the application:" ditto -c -k --sequesterRsrc --keepParent "${APP}" "${APP}.zip" + echo "Uploading..." uuid=`xcrun altool --notarize-app --primary-bundle-id "com.rawtherapee.RawTherapee" ${NOTARY} --file "${APP}.zip" 2>&1 | grep 'RequestUUID' | awk '{ print $3 }'` echo "Result= $uuid" # Display identifier string sleep 15 @@ -334,11 +392,11 @@ if [[ -n $NOTARY ]]; then fi function CreateDmg { - local srcDir="$(mktemp -dt $$)" + local srcDir="$(mktemp -dt $$.XXXXXXXXXXXX)" msg "Preparing disk image sources at ${srcDir}:" cp -R "${APP}" "${srcDir}" - cp "${RESOURCES}"/share/LICENSE.txt "${srcDir}" + cp "${RESOURCES}"/LICENSE "${srcDir}" ln -s /Applications "${srcDir}" # Web bookmarks @@ -352,7 +410,10 @@ function CreateDmg { CreateWebloc 'Report Bug' 'https://github.com/Beep6581/RawTherapee/issues/new' # Disk image name - dmg_name="${PROJECT_NAME}_OSX_${MINIMUM_SYSTEM_VERSION}_${PROC_BIT_DEPTH}_${PROJECT_FULL_VERSION}" + if [[ -n $UNIVERSAL_URL ]]; then + arch="Universal" + fi + dmg_name="${PROJECT_NAME}_macOS_${MINIMUM_SYSTEM_VERSION}_${arch}_${PROJECT_FULL_VERSION}" lower_build_type="$(tr '[:upper:]' '[:lower:]' <<< "$CMAKE_BUILD_TYPE")" if [[ $lower_build_type != release ]]; then dmg_name="${dmg_name}_${lower_build_type}" @@ -367,6 +428,7 @@ function CreateDmg { SetFile -c incC "${srcDir}/.VolumeIcon.icns" create-dmg "${dmg_name}.dmg" "${srcDir}" \ --volname "${PROJECT_NAME}_${PROJECT_FULL_VERSION}" \ + --appname "${PROJECT_NAME}" \ --volicon "${srcDir}/.VolumeIcon.icns" \ --sandbox-safe \ --no-internet-enable \ @@ -379,6 +441,7 @@ function CreateDmg { # Sign disk image if [[ -n $CODESIGNID ]]; then + msg "Signing disk image" codesign --deep --force -v -s "${CODESIGNID}" --timestamp "${dmg_name}.dmg" fi @@ -386,8 +449,9 @@ function CreateDmg { if ! test -z "$NOTARY"; then msg "Notarizing the dmg:" zip "${dmg_name}.dmg.zip" "${dmg_name}.dmg" - uuid=`xcrun altool --notarize-app --primary-bundle-id "com.rawtherapee" ${NOTARY} --file "${dmg_name}.dmg.zip" 2>&1 | grep 'RequestUUID' | awk '{ print $3 }'` - echo "dmg Result= $uuid" # Display identifier string + echo "Uploading..." + uuid=$(xcrun altool --notarize-app --primary-bundle-id "com.rawtherapee" ${NOTARY} --file "${dmg_name}.dmg.zip" 2>&1 | grep 'RequestUUID' | awk '{ print $3 }') + echo "dmg Result= ${uuid}" # Display identifier string sleep 15 while : do @@ -412,15 +476,13 @@ function CreateDmg { # Zip disk image for redistribution msg "Zipping disk image for redistribution:" - mkdir "${PROJECT_NAME}_OSX_${MINIMUM_SYSTEM_VERSION}_${PROC_BIT_DEPTH}_${PROJECT_FULL_VERSION}_folder" - ditto {"${PROJECT_NAME}_OSX_${MINIMUM_SYSTEM_VERSION}_${PROC_BIT_DEPTH}_${PROJECT_FULL_VERSION}.dmg","rawtherapee-cli","${PROJECT_SOURCE_DATA_DIR}/INSTALL.readme.rtf"} "${PROJECT_NAME}_OSX_${MINIMUM_SYSTEM_VERSION}_${PROC_BIT_DEPTH}_${PROJECT_FULL_VERSION}_folder" - zip -r "${PROJECT_NAME}_OSX_${MINIMUM_SYSTEM_VERSION}_${PROC_BIT_DEPTH}_${PROJECT_FULL_VERSION}.zip" "${PROJECT_NAME}_OSX_${MINIMUM_SYSTEM_VERSION}_${PROC_BIT_DEPTH}_${PROJECT_FULL_VERSION}_folder/" - # rm "${dmg_name}.dmg" - # msg "Removing disk image caches:" - # rm -rf "${srcDir}" + mkdir "${PROJECT_NAME}_macOS_${MINIMUM_SYSTEM_VERSION}_${arch}_${PROJECT_FULL_VERSION}_folder" + ditto {"${PROJECT_NAME}_macOS_${MINIMUM_SYSTEM_VERSION}_${arch}_${PROJECT_FULL_VERSION}.dmg","rawtherapee-cli","${PROJECT_SOURCE_DATA_DIR}/INSTALL.txt"} "${PROJECT_NAME}_macOS_${MINIMUM_SYSTEM_VERSION}_${arch}_${PROJECT_FULL_VERSION}_folder" + zip -r "${PROJECT_NAME}_macOS_${MINIMUM_SYSTEM_VERSION}_${arch}_${PROJECT_FULL_VERSION}.zip" "${PROJECT_NAME}_macOS_${MINIMUM_SYSTEM_VERSION}_${arch}_${PROJECT_FULL_VERSION}_folder/" + if [[ -n $NIGHTLY ]]; then + cp "${PROJECT_NAME}_macOS_${MINIMUM_SYSTEM_VERSION}_${arch}_${PROJECT_FULL_VERSION}.zip" "${PROJECT_NAME}_macOS_${arch}_latest.zip" + fi } CreateDmg msg "Finishing build:" echo "Script complete." -# -# TODO filter out the benign errors diff --git a/tools/win/InnoSetup/WindowsInnoSetup.iss.in b/tools/win/InnoSetup/WindowsInnoSetup.iss.in index e4ae43536..954d39991 100644 --- a/tools/win/InnoSetup/WindowsInnoSetup.iss.in +++ b/tools/win/InnoSetup/WindowsInnoSetup.iss.in @@ -47,7 +47,7 @@ AppUpdatesURL={#MyAppURL} DefaultDirName={pf}\{#MyAppName}\{#MyAppVersion} DefaultGroupName={#MyAppName} AllowNoIcons=yes -LicenseFile={#MyBuildBasePath}\LICENSE.txt +LicenseFile={#MyBuildBasePath}\LICENSE OutputDir={#MyBuildBasePath}\..\ OutputBaseFilename={#MyAppName}_{#MyAppVersion}_{#MySystemName}_{#MyBitDepth} SetupIconFile={#MySourceBasePath}\rtdata\images\rawtherapee.ico @@ -61,7 +61,9 @@ PrivilegesRequired=none [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" +Name: "armenian"; MessagesFile: "compiler:Languages\Armenian.isl" Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl" +Name: "bulgarian"; MessagesFile: "compiler:Languages\Bulgarian.isl" Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl" Name: "corsican"; MessagesFile: "compiler:Languages\Corsican.isl" Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl" @@ -70,19 +72,18 @@ Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl" Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl" Name: "french"; MessagesFile: "compiler:Languages\French.isl" Name: "german"; MessagesFile: "compiler:Languages\German.isl" -Name: "greek"; MessagesFile: "compiler:Languages\Greek.isl" Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl" -Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl" +Name: "icelandic"; MessagesFile: "compiler:Languages\Icelandic.isl" Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl" Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl" Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl" Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl" Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl" Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" -Name: "serbiancyrillic"; MessagesFile: "compiler:Languages\SerbianCyrillic.isl" -Name: "serbianlatin"; MessagesFile: "compiler:Languages\SerbianLatin.isl" +Name: "slovak"; MessagesFile: "compiler:Languages\Slovak.isl" Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl" Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" +Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl" Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl" [Tasks] @@ -111,7 +112,7 @@ Source: "{#MyBuildBasePath}\sounds\*"; DestDir: "{app}\sounds\"; Flags: ignoreve Source: "{#MyBuildBasePath}\themes\*"; DestDir: "{app}\themes\"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "{#MyBuildBasePath}\AboutThisBuild.txt"; DestDir: "{app}"; Flags: ignoreversion Source: "{#MyBuildBasePath}\AUTHORS.txt"; DestDir: "{app}"; Flags: ignoreversion -Source: "{#MyBuildBasePath}\LICENSE.txt"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#MyBuildBasePath}\LICENSE"; DestDir: "{app}"; Flags: ignoreversion Source: "{#MyBuildBasePath}\RELEASE_NOTES.txt"; DestDir: "{app}"; Flags: ignoreversion Source: "{#MyBuildBasePath}\options"; DestDir: "{app}"; Flags: ignoreversion Source: "{#MyBuildBasePath}\*.dll"; DestDir: "{app}"; Flags: ignoreversion @@ -152,4 +153,4 @@ function IsElevatedUser(): Boolean; begin Result := IsAdminLoggedOn or IsPowerUserLoggedOn; end; - \ No newline at end of file +