Bepaal hoe onbewerkte bestanden worden gedemosaïekt.

Bayer filters

The sensor cells of a digital camera are not color-sensitive – they are only able to record different levels of lightness. In order to obtain a color image, each cell is covered by a color filter (red, green or blue) that primarily passes light of that color. This means that each pixel of the raw image only contains information about a single color channel.

Kleurfilters zijn gewoonlijk gerangschikt in een mozaïekpatroon dat bekend staat als een Bayer-filterreeks. Een demosaïek algoritme reconstrueert de ontbrekende kleurkanalen door interpolatie met gegevens van de naburige pixels. Zie voor meer informatie de Wikipedia-artikelen over demosaëk  en het Bayer-filter .

Ansel biedt verschillende demozaïekalgoritmen, elk met zijn eigen kenmerken. De verschillen tussen hen zijn vaak heel subtiel en zijn mogelijk alleen zichtbaar tijdens het pixel-observeren. Aangezien het programma echter pixel voor pixel werkt en demosaïek de basisgegevens voor de andere modules genereert, kan de keuze van het algoritme een visueel significant effect hebben op de kwaliteit van zeer fijne details in de afbeelding. Dit kan het verschijnen van valse doolhofpatronen omvatten, evenals de weergavekwaliteit van gekleurde randen.

Demozaïekinterpolatie-algoritmen zijn vaak geneigd om artefacten te produceren, die meestal zichtbaar zijn als Moiré-patronen  bij het inzoomen op de afbeelding. Het gekozen algoritme kan op een betere of slechtere manier omgaan met reeds bestaande Moiré- of Maze-achtige patronen in de onbewerkte gegevens. In deze omstandigheden zijn VNG4 en LMMSE vaak stabieler.

De volgende demozaïekalgoritmen zijn beschikbaar voor sensoren met Bayer-filters:

  • PPG used to be Ansel’s default demosaic algorithm. It is fast, but other algorithms generally yield better results.

  • AMaZE and RCD offer better reconstruction of high-frequency content (finer details, edges, stars) but might struggle with color reconstruction overshoots or added noise in areas of low contrast. While AMaZE often retains more high-frequency details it is also more prone to color overshoots than RCD. Since RCD now offers similar performance to PPG, but with better results, it is now the default algorithm.

  • LMMSE is better suited for use on high ISO and noisy images than AMaZE or RCD, both of which tend to generate overshooting artefacts when applied to such images. It can also be useful to manage images that exhibit Moiré patterns with other algorithms.

  • VNG4 is better suited for use on images with low-frequency content (e.g. low contrast regions such as sky) but, compared to AMaZE and RCD, it often causes loss of some high-frequency details and can sometimes add local color shifts. VNG is no longer really recommended – for most images, other available algorithms usually provide better results.

  • downscale is a last-resort alternative that will actually not demosaic, but interpolate by nearest-neighbour and reduce the resolution by 4 (2 on each side). The rationale behind is that many sensors now have 36, 45, 52… Mpx while we still consume images mostly in Full HD (1920×1080 px = 2 Mpx).1 For very noisy pictures, the demosaicing step will actually worsen the noise, by creating patterns, blotches and shifting colors toward green or magenta. Downscaling those very-high-resolution images, when noisy, prevents aggravating the problem and also makes denoising less computationally-intensive, while still producing at least 9 usable Mpx at the end. The downscale option has an iterative color filtering step that uses the guided Laplacian (same as highlights reconstruction) to limit moiré, fringes and noise altogether in a multi-scale setup. As a side effect, downscaling without post-filtering is the only method that fully preserves the sensor noise statistics, which is useful when using noise profiles.


Opmerking: De prestaties van de demozaïekalgoritmen verschillen aanzienlijk, waarbij AMaZE verreweg de langzaamste is.


Sensors without bayer filters

Er zijn een paar camera’s waarvan de sensoren geen Bayer-filter gebruiken. Camera’s met een “X-Trans”-sensor hebben hun eigen set demozaïekalgoritmen. Het standaardalgoritme voor X-Trans-sensoren is Markesteijn 1-pass, wat redelijk goede resultaten oplevert. Voor iets betere kwaliteit (ten koste van een veel tragere verwerking), kies Markesteijn 3-pass. Hoewel VNG op sommige computers sneller is dan Markesteijn 1-pass, is het gevoeliger voor artefacten.

Special algorithms

passeren (monochroom) is alleen nuttig voor camera’s waarvan de kleurenfilterarray fysiek van de sensor is verwijderd (bijv. eraf gekrast). Demozaïekalgoritmen reconstrueren meestal ontbrekende kleurkanalen door interpolatie met gegevens van de naburige pixels. Als de kleurfilterreeks echter niet aanwezig is, valt er niets te interpoleren, dus stelt dit algoritme eenvoudig alle kleurkanalen in op dezelfde waarde, wat resulteert in een monochroom beeld. Deze methode vermijdt de interpolatie-artefacten die de standaard demosaïsche algoritmen zouden kunnen introduceren.

photosite_color is niet bedoeld om te worden gebruikt voor beeldverwerking. Het neemt de onbewerkte fotositegegevens en presenteert deze als rode, blauwe of groene pixels. Dit is ontworpen voor foutopsporingsdoeleinden om de onbewerkte gegevens te zien en kan helpen bij de analyse van fouten die worden geproduceerd door de andere demozaïekalgoritmen.

Dual demosaic algorithms

Sommige afbeeldingen hebben gebieden die het best kunnen worden gedemozaïekt met behulp van een algoritme dat hoogfrequente informatie bewaart (zoals AMaZE of RCD) en andere gebieden die kunnen profiteren van een algoritme dat meer geschikt is voor laagfrequente inhoud (zoals VNG4).

Bij dubbele demozaïekalgoritmen (bijv. RCD + VNG4) worden de sensorgegevens tweemaal gedemozaïekt, eerst door RCD, AMaZE of Markesteijn 3-pass en vervolgens door VNG4. Beide sets gedemozaïekt gegevens worden bewaard voor latere verwerking.

The data from the high frequency algorithm is then analysed for local data change and, using a threshold (there is a bit more of maths involved here), the output image is written pixel-by-pixel for each color channel using data from each demosaic algorithm weighed by the local data change.

In general, areas with greater detail are demosaiced by the algorithm best suited to that purpose (RCD, AMaZe, Markesteijn 3-pass) and any flat areas (like blue sky) are demosaiced using the second algorithm (VNG4).

De ’locale data wijziging’ is technisch geïmplementeerd als een Gaussiaans-wazig enkelkanaals selectiemasker berekend op basis van een combinatie van de drempelwaarde en de luminantie van de pixels.

Selecting the threshold

Een automatisch berekende drempel is moeilijk te implementeren. In plaats daarvan kan de knop “weergave overvloeimasker” worden gebruikt om het selectiemasker weer te geven, zodat je de selectie van het algoritme handmatig kunt regelen. Hoe helderder de pixel in het weergegeven masker, hoe meer de output van het hoogfrequente algoritme wordt genomen.

Module controls

methode
Het te gebruiken demozaïekalgoritme (zie hierboven).
randdrempel (alleen PPG)
De drempel voor een extra mediaanpas. Standaard ingesteld op “0”, wat mediaanfiltering uitschakelt.
lmmse verfijn (alleen LMMSE)
Verfijningsstappen voor gebruik met het LMMSE demozaïekalgoritme. Mediaan stappen gemiddelde van de output. Verfijningsstappen voegen enige herberekening van rode en blauwe kanalen toe. Hoewel de verfijningsopties goed werken voor lumaruis, kunnen ze de kwaliteit verminderen van afbeeldingen met zware chromaruis.
kleuren afvlakken
Activeer een aantal extra kleurvereffeningslagen. Staat standaard op “uit”.
groen matchen
Bij sommige camera’s hebben de groene filters enigszins wisselende eigenschappen. Deze parameter voegt een extra egalisatiestap toe om artefacten te onderdrukken. Beschikbare opties zijn “uitgeschakeld”, “lokaal gemiddelde”, “volledig gemiddelde” en “volledig en lokaal gemiddelde”. Deze optie wordt niet getoond voor X-Trans sensoren.
schakel dubbele drempel (alleen dubbele demozaïekmodi)
stel de contrastdrempel in voor dubbele demozaïekmodi. Lagere waarden geven de voorkeur aan het hoge frequentie demozaïekalgoritme en hogere waarden geven de voorkeur aan het lage frequentie algoritme.
overvloeimasker weergeven (alleen dubbele demozaïekmodi)
het overvloeimasker weergeven dat wordt gebruikt om onderscheid te maken tussen gebieden met hoge en lage frequenties (aangepast door de parameter “dubbele drempel schakelen”). Voor elke pixel geldt: hoe helderder het masker, hoe meer de output van de module wordt gehaald uit het hoogfrequente demozaëkalgoritme.

  1. Even a 8.5×11 inch print at 300 DPI is still only 8.7 Mpx… ↩︎