i believe notepad ++ has similar option but i don't feel to read the guide it is so bulky
---------------------------------------------
i tried another combination ...Absolute Tweaker
maybe bit hard to control, not sure if may be of some use anyway
here it is
stretched
filter bilin_int (stretched image in,
float a0: -1-1 (0), float a1: -1-1 (0), float a2: -1-1 (1), float a3: -1-1 (0),
float b0: -1-1 (0), float b1: -1-1 (1), float b2: -1-1 (0), float b3: -1-1 (0))
u=x*y*a3+x*a2+y*a1+a0;
v=x*y*b3+x*b2+y*b1+b0;
in(xy:[u,v])
end
filter eqr_pan_ts (
image in,
float FoV: 15-320 (150),
float eye: 0-1.5 (1),
float pan: -180-180 (0),
float vsh: -1-1 (0))
#
# equirectangular to panini per Tom Sharpless's interpretation
# of the projection implemented in his OpenGL program "Panini",
# namely a rectilinear projection of a 3D cylindrical image.
# Gives images identical to Panini version 0.7, except without
# the black holes at zenith & nadir, smaller range of eye point
# positions, and slightly different limit on fov vs. eye pos.
#
# angular scale factors
Sppr = W / (2*pi); # source pixels/radian
d = eye + 1;
wfov = pi * min( FoV, 160 * d ) / 180; # radians
Drpp = 2*d*tan(wfov/(2*d)) / W;
# destination coordinates in radians
xr = x * Drpp; yr = (y - Y * vsh) * Drpp;
# project from dest to source
azi = d * atan( xr, d);
alt = atan( yr * (eye + cos(azi)), d );
# source coordinates in pixels
sx = Sppr*azi; sy = Sppr*alt;
# pan & interpolate
sx = sx + W*pan/360;
if sx > X then sx = sx - W end;
if sx < -X then sx = sx + W end;
in(xy:[sx, sy])
end
filter __composer_filter__ (float eqr_pan_ts_FoV : 15.000000 - 320.000000 (150.000000), float eqr_pan_ts_eye : 0.000000 - 1.500000 (1.000000), float eqr_pan_ts_pan : -180.000000 - 180.000000 (0.000000), float eqr_pan_ts_vsh : -1.000000 - 1.000000 (0.000000), image bilin_int_in, float bilin_int_a0 : -1.000000 - 1.000000 (0.000000), float bilin_int_a1 : -1.000000 - 1.000000 (0.000000), float bilin_int_a2 : -1.000000 - 1.000000 (1.000000), float bilin_int_a3 : -1.000000 - 1.000000 (0.000000), float bilin_int_b0 : -1.000000 - 1.000000 (0.000000), float bilin_int_b1 : -1.000000 - 1.000000 (1.000000), float bilin_int_b2 : -1.000000 - 1.000000 (0.000000), float bilin_int_b3 : -1.000000 - 1.000000 (0.000000))
bilin_int_out = bilin_int(bilin_int_in, bilin_int_a0, bilin_int_a1, bilin_int_a2, bilin_int_a3, bilin_int_b0, bilin_int_b1, bilin_int_b2, bilin_int_b3);
eqr_pan_ts_out = eqr_pan_ts(bilin_int_out, eqr_pan_ts_FoV, eqr_pan_ts_eye, eqr_pan_ts_pan, eqr_pan_ts_vsh);
eqr_pan_ts_out(xy)
end
well i did another a animated filter that i found more fun ,( posting now a short animation test) but i had problem to save the code, i must try again