Hi,

I was exploring Jan's evalgalre tool, and found out that size of each pixel

is represented in calculations as its solid angle 'omega'.

I understand the concept of that, but couldn't find exact equations for

transformation from pixel x,y coordinates into omega.

I searched evalglare code, found appropriate functions, but it is not easy

to extract exact formulas from them. As I understand transformations used

are part of code Radiance code too.

My search on Internet was also futile (maybe wrong search keywords

Can someone please point me to some site with such transformations or give

some equations here?

Thanks in advance,

Marija

Hi,

I think Marja wanted to know the math behind, not the tools available to query a pixel's solid angle. Unfortunately, the calculation depends on the projection, and there are several projections included in Radiance now. One simplification may be to reproject anything to e.g. an equisolid fisheye, where the solid angles of all pixels should be equal and could be calculated as the solid angle of the image divided by the amount of pixels.

Cheers, Lars.

Hi Lars,

You are right the math behind is what interests me.

I know that it depends on projection. For the moment I'm interested in

angular fisheye view used for evalglare input images. I thought that is

gives equal solid angle for every pixel, but it seems that angles vary

slightly (increasing towards image corners), and that's what is puzzling me.

Marija

## ···

On Thursday, February 14, 2013, Lars O. Grobe wrote:

Hi,

I think Marja wanted to know the math behind, not the tools available to

query a pixel's solid angle. Unfortunately, the calculation depends on the

projection, and there are several projections included in Radiance now. One

simplification may be to reproject anything to e.g. an equisolid fisheye,

where the solid angles of all pixels should be equal and could be

calculated as the solid angle of the image divided by the amount of pixels.

Cheers, Lars.

_______________________________________________

Radiance-general mailing list

[email protected] <javascript:;>

http://www.radiance-online.org/mailman/listinfo/radiance-general

Yes, although an equisolid-angle fisheye has been requested by users, since it matches commonly found lenses, it is pretty low on my priority list. All of the existing view types in Radiance vary solid angle somewhat with image position. The means used to calculate solid angle in pcomb involves taking the area contained by each pixel as its rays are projected onto a unit sphere, thus leveraging the existing image-position-to-ray calculations already present in the code. These latter routines are rather difficult to get right, which is why adding new view types is a bit painful. (It took over a year before all the bugs were worked out in the latest -vts addition.)

Best,

-Greg

## ···

From: Marija Velickovic <[email protected]>

Date: February 15, 2013 2:15:37 AM PST

Hi Lars,

You are right the math behind is what interests me.

I know that it depends on projection. For the moment I'm interested in angular fisheye view used for evalglare input images. I thought that is gives equal solid angle for every pixel, but it seems that angles vary slightly (increasing towards image corners), and that's what is puzzling me.

Marija

On Thursday, February 14, 2013, Lars O. Grobe wrote:

Hi,

I think Marja wanted to know the math behind, not the tools available to query a pixel's solid angle. Unfortunately, the calculation depends on the projection, and there are several projections included in Radiance now. One simplification may be to reproject anything to e.g. an equisolid fisheye, where the solid angles of all pixels should be equal and could be calculated as the solid angle of the image divided by the amount of pixels.

Cheers, Lars.

Just to round this out.

Me: For a hemispherical fish-eye view the total should of course be 2pi. Now I expected a little shortfall as things get 'wonky' towards the horizon, but not quite as big as this -

pcomb -e 'lo=S(1)' del.hdr | pvalue -H -h -o -b -d | total

on various size images gives:

256 sq 5.73709888

512 sq 5.90116727

1024 sq 6.01635629

4096 sq 6.14755086

Greg: The solid angle calculation in pcomb relies on being able to compute the neighboring pixel ray directions. For one side of the hemispherical view, these pixels fall off the image and so the returned solid angle is zero when it should not be. On the other side of the view, the solid angle is non-zero but still underestimated as the area isn't taken around the pixel center as it should be.

For normal views, this isn't a big deal, but since so much solid angle is packed into the rim of a hemispherical fisheye, the errors really add up! The accuracy anywhere away from the rim is probably fine.

## ···

----

Marija, I was mindful of your comment "to see how calculation is exactly done". As Greg indicates, solid angle in these instances is really, really hard to get right. Expect similar errors with hemispherical images depending on the image size.

Cheers

John

John Mardaljevic PhD FSLL

Professor of Building Daylight Modelling

School of Civil & Building Engineering

Loughborough University

Loughborough

Leicestershire

LE11 3TU, UK

Tel: +44 1509 222630 (Direct)

Tel: +44 1509 228529 (Pam Allen, secretary)

[email protected]

http://www.lboro.ac.uk/departments/cv/staff/profile/367.html

Personal daylighting website:

http://climate-based-daylighting.com