Save following in a m file called stereographic.m:

function zeta=-sin(isTForm.tdata.warp)*1+cos(isTForm.tdata.warp);

r = sqrt((imPtsIn(:,2)-isTForm.tdata.vSizeOut(2)/2).^2+(imPtsIn(:,1)-isTForm.tdata.vSizeOut(1)/2).^2);

a = atan2((imPtsIn(:,1)-isTForm.tdata.vSizeOut(1)/2),(imPtsIn(:,2)-isTForm.tdata.vSizeOut(2)/2));

rho=isTForm.tdata.sc*r;

radius=isTForm.tdata.vSizeOut(2)/2*isTForm.tdata.zoom;

maxpi=2*atan(isTForm.tdata.sc);

colat=2.*atan2(rho,radius); %colat=2.*atan(rho./radius); long=mod(a+2*pi*isTForm.tdata.turn,2*pi);

imPtsOut(:,2)=((isTForm.tdata.vSizeIn(2)/2)*(colat/maxpi)-(isTForm.tdata.vSizeIn(2)/2))*zeta;

imPtsOut(:,1)=isTForm.tdata.offset+(isTForm.tdata.vSizeIn(1)-1)*long/pi;imPtsOut = stereographic(imPtsIn, isTForm)

And then write following in the console:

I = imread('IMAGENAME OF EPIRECTANGULARIMAGE');

tdata.turn = 0;

tdata.zoom = 1;

tdata.sc = 1;

tdata.warp = pi;

tdata.vSizeIn = size(I);

tdata.vSizeOut = [2*size(I,1), 2*size(I,1)]';

tdata.offset = 4;

A=zeros(size(I,1), size(I,2)+8,3,class(I));

A(:,1:4,:) = I(:,end-3:end,:);

A(:,5:end-4,:) = I;

A(:,end-3:end,:) = I(:,1:4,:);

TFORM = maketform(

O = imtransform(A, TFORM, 'custom', 2, 2,[],@stereographic, tdata);'cubic', 'XData', [1 tdata.vSizeOut(1)], 'YData', [1 tdata.vSizeOut(2)]);

If anyone sees an error please post it. If I will have a real stereographic projection solved I will post it on mathworks but I dont want to upload things which does not work (and polartransformations are already on mathworks).

best regards,

----- Forwarded Message ----

From: pedro_silva58 <pedro_silva58@...>

To: PanoToolsNG@yahoogroups.com

Sent: Wednesday, April 29, 2009 10:29:25 AM

Subject: Re: Fw: [PanoToolsNG] stereographic projection in MatLab

gerald,

now that it works, thanx to seb's assistance, are you willing to share the matlab code back into the community? might make it easier for somebody else to change the formulas for other transformations. ..

cheers,

pedro

--- In PanoToolsNG@ yahoogroups. com, Gerald Lodron <gerald.lodron@ ...> wrote:

>

> Now it works but the formular is only a polar coordinate transform and NOT a stereographic projection, lol

>

>

>

> ----- Forwarded Message ----

> From: Seb Perez-D <sbprzd@...>

> To: gerald.lodron@ ...

> Sent: Tuesday, April 28, 2009 9:07:01 AM

> Subject: Re: [PanoToolsNG] stereographic projection in MatLab

>

> On Tue, Apr 28, 2009 at 09:00, Gerald Lodron <gerald.lodron@ ...> wrote:

> >

> >

> > Ok, I will try it but there are a few parameters missing:

> > long=(a+2*pi* turn)

> > What is the parameter a and what is the symbol % stand for?

> > in(xy:[nx,ny* zeta])

> >

> > I think in is the in is the input image but i do not understand the whole

> > line with the : and the [] oberator!

>

> a is the angle (theta) = atan2(y,x)

>

> in is the source image, in(xy:[u,v]) takes the pixel with coordinates (u,v)

>

> % is the modulus operator

>

>

>

>

>

> [Non-text portions of this message have been removed]

>

[Non-text portions of this message have been removed]