You can achieve the desired transformation with the ImageForwardTransformation
function.
The transformation effect is easily visible on a grid image:
grid = Rasterize[
Graphics[Rectangle[],
GridLines -> {Range[.05, .95, .05], Range[.05, .95, .05]},
GridLinesStyle -> Directive[{White, Thick}],
Method -> {"GridLinesInFront" -> True}, PlotRangePadding -> 0,
ImageSize -> 300]]
You can do the transformation on both dimensions
ImageResize[
ImageForwardTransformation[grid, Log[# + 0.1] &, PlotRange -> All],
ImageDimensions[grid]]
or just on one (x in this example):
ImageResize[
ImageForwardTransformation[grid, {Log[#[[1]] + 0.1], #[[2]]} &,
PlotRange -> All], ImageDimensions[grid]]
Unfortunately, you can't explicitly set the Method
used in the interpolation of the transformed image by choosing an option from the Resampling
documentation. You can only switch between the Automatic
method or None
.
ListLogLogPlot called with 0 arguments; 1 argument is expected.
$\endgroup$ImageTransformation
andImageForwardTransformation
are probably what you're looking for. $\endgroup$