With Optorsion you can create optical distortion including chromatic aberration.
Both, pillow and barrel distortion are possible.
The chromatic aberration will be calculated by using different wavelength and not RGB values.
The original RGB values will be converted into a discrete spretrum.
The effect of chromatic abberation can be created without actual distortion, too.
Optorsion is actually some kind of low quality effect that simulates bad optics.
Graphical User Interface
This plugin simulates optical distorsion reaching from barrel to pillow distorsion. It can be adjusted independently for
both directions (upper right) including chromatic abberation which can also adjusted individually for both directions.
The color effect of chromatic abberation can be archived without any actual optical distorsion, too. At first as a linear shift
and secondly radial from the optical center.
The whole image can be scaled in size independently in horizontal and vertical direction because the
optical distortion changes the size of the image. (lower right)
Radial wavelength dependend shift and all optical distortions have a optical center. This is marked with rosslines.
It can be set with mouse click or by adjusting the sliders. The center can also lie outside the image.
In the left lower corner the spectral resolution for preview and actual image processing can be choosen.
The higher the value the more time the calculation will need. For preview a value of 7 to 10 is a useful compromise
between time and preview quality. For actual prossing a higher value is needed to prevent artefacts. As a rule
you should use as many discrete spectral wavelength as there is maximal distortion in pixels.
The calculation of preview is to slow to make it in real time. So it is be done after 2s of user inactivity.
As an additial feature you can limit the spectrum on the upper or lower side. This is useful to create color effects
(e.g. underwater by removing the red) or to gain processing speed since the extrem violett or extrem reds are not
very importent for the image because they are to low.
Optorsion does not use RGB value for it calculation. Instead from each RGB value a spectrum will be reconstructed.
This spectrum is actually not really continuous but discrete. The number of these discrete wavelength can be choosen by the user.
Every partial image of one wavelength are distorted individually. All partial images are added together after converting
them back into RGB. That's why it takes so long. It does not process 3 color channels but up to 200!
The internal resolution is completely 16bit (for RGB values) and 32bit for the entire processing. 8 bit wouldn't be enough for the small
values of partial images of each wavelength.