Difference between revisions of "Toolchain Pipeline"

From RawPedia
Jump to: navigation, search
 
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
This page details the order in which RawTherapee processes images. Users can learn how to better use the tools, knowing what happens when in the pipeline, and programmers can use this reference to quickly find the right place in the code to insert new tools and to find which files a given tool resides in.
+
Everything that happens to an image, from the moment you open the file to the moment it is displayed on screen or saved, takes place in a fixed order. The data flows from one module to another - this is the toolchain pipeline. RawTherapee contains four pipelines (one for the main preview, one for the saved image, one for the thumbnail, and one other that currently escaped me). The following list shows a simplified order of operations:
  
https://code.google.com/p/rawtherapee/issues/detail?id=2233
+
# Preprocess
 +
## Dark frame
 +
## Flat field
 +
## Bad pixels
 +
## Hot pixels
 +
## Scale colors (internal, no tool in UI)
 +
## Raw black point
 +
## Lens distortion correction
 +
## Green equilibration
 +
## Line noise filter
 +
## Chromatic aberration Correction
 +
## Raw white point
 +
## Raw histogram
 +
## Prepare Auto Exposure
 +
# Demosaic
 +
# Retinex
 +
# Highlight recovery
 +
# White balance
 +
# Crop
 +
# Convert colorspace
 +
# Noise reduction
 +
# Dehaze
 +
# Dynamic range compression
 +
# Auto-match tone curve
 +
# Tone response curve
 +
# Process RGB
 +
## Channel mixer
 +
## Tone curve
 +
## Highlights
 +
## Shadows
 +
## RGB curves
 +
## HSV curves
 +
## Color toning
 +
## Film simulation
 +
## Black-and-white
 +
## L*a*b* color correction grid (Lab)
 +
## Shadows/Highlight (Lab)
 +
## Local contrast (Lab)
 +
# Process Lab
 +
## (locallab branch) blur and noise, denoise, vibrance, cbdl, soflight, local contrast, sharp, retinex, exposure, color and light, avoid color shift
 +
## Lab adjustements
 +
## Vibrance
 +
## L*a*b* color correction grid (Lab)
 +
## Vignette filter
 +
## Graduated filter
 +
## Tone mapping
 +
## Impulse noise reduction
 +
## Defringe
 +
## Edges
 +
## Microcontrast
 +
## Sharpening
 +
## Contrast by Detail Levels
 +
## Wavelets
 +
## Soft light
 +
## CIECAM02
 +
## Resize
 +
## Post-resize sharpening
 +
# Final Lab -> RGB conversion
  
List of all tools in RawTherapee:
 
<pre>
 
Generic/Main preview
 
  Input profile
 
  Monitor Color Profile
 
  Working profile
 
  Output profile
 
  Clipping indication
 
  Red/Green/Blue/Luminosity/Focus mask previews
 
  Colorimetric intent
 
---
 
Exposure
 
  Highlight Reconstruction
 
Shadows/Highlights
 
Tone Mapping
 
Vignette Filter
 
Graduated Filter
 
Lab Adjustments
 
  L, a, b
 
  LH, CH, HH, CC, LC, CL
 
CIECAM02
 
---
 
Sharpening
 
Edges
 
Microcontrast
 
Impulse Noise Reduction
 
Noise Reduction
 
Defringe
 
Contrast by Detail Levels
 
---
 
White Balance
 
Vibrance
 
Channel Mixer
 
Black-and-White
 
HSV Equalizer
 
Film Simulation
 
RGB Curves
 
Color Toning
 
Color Management
 
---
 
Crop
 
Resize
 
Lens/Geometry
 
  Rotate
 
  Perspective
 
  Lens Correction Profile
 
  Distortion Correction
 
  Chromatic Aberration Correction
 
  Vignette Correction
 
---
 
Sensor with Bayer matrix
 
  Demosaicing
 
  Raw Black Points
 
  Preprocessing
 
  Chromatic Aberration
 
Sensor with X-Trans matrix
 
  Demosaicing
 
  Raw Black Points
 
Raw White Points
 
Preprocessing
 
Dark Frame
 
Flat-Field
 
</pre>
 
  
----
 
  
Order of tools
+
List of all tools in RawTherapee:
 
+
* Generic/Main preview
 
+
** Input profile
Dark Frame Subtraction
+
** Monitor Color Profile
 
+
** Working profile
Flat Field Correction [http://code.google.com/p/rawtherapee/source/browse/rtengine/rawimagesource.cc#1270 RawImageSource::processFlatField]
+
** Output profile
 
+
** Clipping indication
Read Bad Pixels from .badpixel file (bp1)
+
** Red/Green/Blue/Luminosity/Focus mask previews
 
+
** Colorimetric intent
Get Hot Pixels from Darkframe (bp2)
+
* Exposure Tab
 
+
** Exposure
Scale Colors (internal, no tool)
+
** Shadows/Highlights
 
+
** Tone Mapping
Vignetting correction from lcp (only if Flat Field correction is disabled)
+
** Dynamic Range Compression
 
+
** Vignette Filter
Raw Hot/Dead Pixel Detection (bp3)
+
** Graduated Filter
 
+
** Lab Adjustments
Interpolation of all Hot/Dead Pixels collected in bp1, bp2 and bp3
+
* Detail Tab
 
+
** Sharpening
Green equilibration
+
** Local Contrast
 
+
** Edges
Line Noise Filter [http://code.google.com/p/rawtherapee/source/browse/rtengine/cfa_linedn_RT.cc#42 RawImageSource::CLASS cfa_linedn]
+
** Microcontrast
 
+
** Impulse Noise Reduction
Raw CA correction [http://code.google.com/p/rawtherapee/source/browse/rtengine/CA_correct_RT.cc#105 RawImageSource::CA_correct_RT]
+
** Noise Reduction
 
+
** Defringe
 
+
** Contrast by Detail Levels
 
+
** Haze Removal
----
+
* Color Tab
 
+
** White Balance
For now, this is a stub to test GraphViz and LaTeX/MathML.
+
** Vibrance
 
+
** Channel Mixer
GraphViz test diagram 1:
+
** Black-and-White
<graphviz border='frame' format='png' caption='Graph for example no. 1'>
+
** HSV Equalizer
digraph example1 {Hello->World}
+
** Film Simulation
</graphviz>
+
** Soft Light
 
+
** RGB Curves
GraphViz test diagram 2:
+
** Color Toning
<graphviz renderer='neato' caption='Graph for example no. 2'>
+
** Color Management
graph example2 {
+
* Advanced Tab
  run -- intr;
+
** Retinex
  intr -- runbl;
+
** CIE Color Appearance Model 2002
  runbl -- run;
+
** Wavelet Levels
  run -- kernel;
+
* Transform Tab
  kernel -- zombie;
+
** Crop
  kernel -- sleep;
+
** Resize
  kernel -- runmem;
+
** Lens/Geometry
  sleep -- swap;
+
*** Rotate
  swap -- runswap;
+
*** Perspective
  runswap -- new;
+
*** Profiled Lens Correction
  runswap -- runmem;
+
*** Distortion Correction
  new -- runmem;
+
*** Chromatic Aberration Correction
  sleep -- runmem;
+
*** Vignetting Correction
}
+
* Raw Tab
</graphviz>
+
** Sensor with Bayer matrix
 
+
*** Demosaicing
LaTeX math test:
+
*** Raw Black Points
<math> f(x) = x^2\,</math>
+
*** Preprocessing
 +
*** Chromatic Aberration Correction
 +
** Sensor with X-Trans matrix
 +
*** Demosaicing
 +
*** Raw Black Points
 +
** Raw White Points
 +
** Preprocessing
 +
** Dark Frame
 +
** Flat-Field
 +
** Film Negative
 +
** Capture Sharpening

Latest revision as of 23:24, 11 October 2019

Everything that happens to an image, from the moment you open the file to the moment it is displayed on screen or saved, takes place in a fixed order. The data flows from one module to another - this is the toolchain pipeline. RawTherapee contains four pipelines (one for the main preview, one for the saved image, one for the thumbnail, and one other that currently escaped me). The following list shows a simplified order of operations:

  1. Preprocess
    1. Dark frame
    2. Flat field
    3. Bad pixels
    4. Hot pixels
    5. Scale colors (internal, no tool in UI)
    6. Raw black point
    7. Lens distortion correction
    8. Green equilibration
    9. Line noise filter
    10. Chromatic aberration Correction
    11. Raw white point
    12. Raw histogram
    13. Prepare Auto Exposure
  2. Demosaic
  3. Retinex
  4. Highlight recovery
  5. White balance
  6. Crop
  7. Convert colorspace
  8. Noise reduction
  9. Dehaze
  10. Dynamic range compression
  11. Auto-match tone curve
  12. Tone response curve
  13. Process RGB
    1. Channel mixer
    2. Tone curve
    3. Highlights
    4. Shadows
    5. RGB curves
    6. HSV curves
    7. Color toning
    8. Film simulation
    9. Black-and-white
    10. L*a*b* color correction grid (Lab)
    11. Shadows/Highlight (Lab)
    12. Local contrast (Lab)
  14. Process Lab
    1. (locallab branch) blur and noise, denoise, vibrance, cbdl, soflight, local contrast, sharp, retinex, exposure, color and light, avoid color shift
    2. Lab adjustements
    3. Vibrance
    4. L*a*b* color correction grid (Lab)
    5. Vignette filter
    6. Graduated filter
    7. Tone mapping
    8. Impulse noise reduction
    9. Defringe
    10. Edges
    11. Microcontrast
    12. Sharpening
    13. Contrast by Detail Levels
    14. Wavelets
    15. Soft light
    16. CIECAM02
    17. Resize
    18. Post-resize sharpening
  15. Final Lab -> RGB conversion


List of all tools in RawTherapee:

  • Generic/Main preview
    • Input profile
    • Monitor Color Profile
    • Working profile
    • Output profile
    • Clipping indication
    • Red/Green/Blue/Luminosity/Focus mask previews
    • Colorimetric intent
  • Exposure Tab
    • Exposure
    • Shadows/Highlights
    • Tone Mapping
    • Dynamic Range Compression
    • Vignette Filter
    • Graduated Filter
    • Lab Adjustments
  • Detail Tab
    • Sharpening
    • Local Contrast
    • Edges
    • Microcontrast
    • Impulse Noise Reduction
    • Noise Reduction
    • Defringe
    • Contrast by Detail Levels
    • Haze Removal
  • Color Tab
    • White Balance
    • Vibrance
    • Channel Mixer
    • Black-and-White
    • HSV Equalizer
    • Film Simulation
    • Soft Light
    • RGB Curves
    • Color Toning
    • Color Management
  • Advanced Tab
    • Retinex
    • CIE Color Appearance Model 2002
    • Wavelet Levels
  • Transform Tab
    • Crop
    • Resize
    • Lens/Geometry
      • Rotate
      • Perspective
      • Profiled Lens Correction
      • Distortion Correction
      • Chromatic Aberration Correction
      • Vignetting Correction
  • Raw Tab
    • Sensor with Bayer matrix
      • Demosaicing
      • Raw Black Points
      • Preprocessing
      • Chromatic Aberration Correction
    • Sensor with X-Trans matrix
      • Demosaicing
      • Raw Black Points
    • Raw White Points
    • Preprocessing
    • Dark Frame
    • Flat-Field
    • Film Negative
    • Capture Sharpening