Higher-order functions
These operations are useful to perform an operation that is not explicitly defined in Augmentor.
using Augmentor
using Random
using Statistics: mean
Random.seed!(1337)
DecreaseContrast = MapFun(pixel -> pixel / 2)
IncreaseBrightness = AggregateThenMapFun(img -> mean(img),
(pixel, M) -> pixel + M / 5)
img_in = testpattern(RGB, ratio=0.5)
img_out = augment(img_in, DecreaseContrast |> IncreaseBrightness)References
Augmentor.MapFun โ TypeMapFun <: Augmentor.OperationDescription
Maps the given function over all individual array elements.
This means that the given function is called with an individual elements and is expected to return a transformed element that should take the original's place. This further implies that the function is expected to be unary. It is encouraged that the function should be consistent with its return type and type-stable.
Usage
MapFun(fun)Arguments
fun: The unary function that should be mapped over all individual array elements.
See also
AggregateThenMapFun, ConvertEltype, augment
Examples
using Augmentor, ColorTypes
img = testpattern()
# subtract the constant RGBA value from each pixel
augment(img, MapFun(px -> px - RGBA(0.5, 0.3, 0.7, 0.0)))
# separate channels to scale each numeric element by a constant value
pl = SplitChannels() |> MapFun(el -> el * 0.5) |> CombineChannels(RGBA)
augment(img, pl)Augmentor.AggregateThenMapFun โ TypeAggregateThenMapFun <: Augmentor.OperationDescription
Compute some aggregated value of the current image using the given function aggfun, and map that value over the current image using the given function mapfun.
This is particularly useful for achieving effects such as per-image normalization.
Usage
AggregateThenMapFun(aggfun, mapfun)Arguments
aggfun: A function that takes the whole current image as input and which result will also be passed tomapfun. It should have a signature ofimg -> agg, whereimgwill the the current image. What type and valueaggshould be is up to the user.mapfun: The binary function that should be mapped over all individual array elements. It should have a signature of(px, agg) -> new_pxwherepxis a single element of the current image, andaggis the output ofaggfun.
See also
MapFun, ConvertEltype, augment
Examples
using Augmentor
img = testpattern()
# subtract the average RGB value of the current image
augment(img, AggregateThenMapFun(img -> mean(img), (px, agg) -> px - agg))This page was generated using DemoCards.jl and Literate.jl.