## Re: [PanoToolsNG] Re: Some more tests on Optimal Cubefaces.

Expand Messages
• ... Ah, ok. So in the example given above one would take the 1000 x 500 equirectangular and convert it directly to cube faces with 222 x 222... ... I m always
Message 1 of 24 , Nov 1, 2008
Hans Nyberg schrieb:
> --- In PanoToolsNG@yahoogroups.com, "philipp_koch_als_name_gibts_oft" <pk@...>
> wrote:
>
>> (...)
>>
>> To make it simple: Say, there is an equirectangular image with 1000 x
>> 500 px.
>>
>> 1000 x 0.7 = 700
>> 700 / pi = 222.8169203
>>
>> So, one could shrink the equirectangular image to 700 x 350 px in
>> Photoshop and convert this image to six 222 x 222 px cube faces?
>>
>> (...)
>>

>> Yes and No. You may also do that
>> But If you read my page again you will see that I use the full resolution equirectangular as
>> the source image to convert directly to the cubefaces. Just ignore any default cubefaces by
>> the converter.
>> In that way you are using all your information for the conversion so that you get full
>> quality in all areas of the cubeface.
>>
Ah, ok. So in the example given above one would take the 1000 x 500
equirectangular and convert it directly to cube faces with 222 x 222...

>> Of course the 70% rule is only applicable if you are using the max resolution from your
>> camera as it is the interpolation in the camera which gives you a false resolution.
>>
>> In reality you could probably also already in the Raw converter downsize the original
>> images without loosing any details.
>>
>> (...)
I'm always shooting at best resolution (7.4 MP in my case, with Olympus
E-330 and Olympus fisheye). I'll have to investigate this with my
personal setup.

So, again, thanks for letting me know :-)
• ... CubicConverter uses Bicubic which seems to be called Cubic in wiki. Why not use the Bicubic definition if it is the same. I never heard anyone call it just
Message 2 of 24 , Nov 1, 2008
--- In PanoToolsNG@yahoogroups.com, "Erik Krause" <erik.krause@...> wrote:
>
> Am Friday, October 31, 2008 um 23:36 schrieb Hans Nyberg:
>
> > I have discovered that Pano2VR seems to have problems with downsizing.
> > The 1904 is softer than the CubicConverter version.
>
> This may be due to the fact that Pano2VR uses a non-sharpening anti-
> aliasing interpolator. On
> http://wiki.panotools.org/Anti-aliasing_interpolators the Filters
> with ID 18 and higher are sharpening ones (the deeper the
> "depression" on both sides of the peak the more).
>
> I don't know what kind of interpolator CubicConverter uses, but the
> result of a not anti-aliased downsize always gives a sharper
> impression because pixel "jaggies" subjectively look sharper (but
> increase shimmering in the resulting pano - if the viewer doesn't
> anti-alias itself).

CubicConverter uses Bicubic which seems to be called Cubic in wiki.
Why not use the Bicubic definition if it is the same. I never heard anyone call it just cubic.
Photoshop today has 3 Bicubic versions.

From what I understand Pano2VR uses Mitchell as default but Mitchell softens the
cubefaces slightly compared to CubiConverter. They need 0,4 100% unsharp mask to get
back to the same quality if you do an conversion with editing cubefaces and convert back
to equirectangular. This does not make sense after reading your comment as Mitchell
should have the same effect as Cubic.

Lazcos 3 gives normally same quality as CubicConverter but I found that I had to get up
to Blackman/sinc Filter to get the same when doing downsizing.

Hans
• Am Saturday, November 01, 2008 um 11:33 schrieb ... No. To simplify the calculation you can simply divide by 4.5 (app. pi/0.7) In any case: It might be best to
Message 3 of 24 , Nov 1, 2008
Am Saturday, November 01, 2008 um 11:33 schrieb
philipp_koch_als_name_gibts_oft:

> Sorry, maybe this is a dumb question, but I
> simply could not get the same values when looking at the example on
>
> To make it simple: Say, there is an equirectangular image with 1000 x
> 500 px.
>
> 1000 x 0.7 = 700
> 700 / pi = 222.8169203
>
> So, one could shrink the equirectangular image to 700 x 350 px in
> Photoshop and convert this image to six 222 x 222 px cube faces?
>
> Or am I getting something totally wrong here?

No. To simplify the calculation you can simply divide by 4.5 (app.
pi/0.7)

In any case: It might be best to not first reduce the equirect and
then create cubefaces but use a good anti-aliasing interpolator and
create the smaller cubefaces directly from the larger equirect. This
saves one interpolation step.

BTW.: While photoshop creats nice small JPEGs at good quality it
might be no good idea to use it for cubefaces stripes. In any stripe
there are at least two joints where the single cubefaces don't fit.
At these joints the jpeg compression creates artifacts that are later
visible in the resulting panorama. See
http://www.photopla.net/wwp0703/stripes.php for details.

If I remember correctly Pano2VR and Pano2QTVR create stripes using a
different compression scheme near the edges, which avoids these
artifacts.

best regards
--
Erik Krause
Offenburger Str. 33
79108 Freiburg
• ... An image says more than..... Here is a screenshot with movies made from the 8600x4300 test image. Resized to 1904 cubefaces directly. From left Pano2VR
Message 4 of 24 , Nov 1, 2008
--- In PanoToolsNG@yahoogroups.com, "Hans Nyberg" <hans@...> wrote:
>
> --- In PanoToolsNG@yahoogroups.com, "Erik Krause" <erik.krause@> wrote:
> >
> > Am Friday, October 31, 2008 um 23:36 schrieb Hans Nyberg:
> >
> > > I have discovered that Pano2VR seems to have problems with downsizing.
> > > The 1904 is softer than the CubicConverter version.
> >
> > This may be due to the fact that Pano2VR uses a non-sharpening anti-
> > aliasing interpolator. On
> > http://wiki.panotools.org/Anti-aliasing_interpolators the Filters
> > with ID 18 and higher are sharpening ones (the deeper the
> > "depression" on both sides of the peak the more).
> >
> > I don't know what kind of interpolator CubicConverter uses, but the
> > result of a not anti-aliased downsize always gives a sharper
> > impression because pixel "jaggies" subjectively look sharper (but
> > increase shimmering in the resulting pano - if the viewer doesn't
> > anti-alias itself).
>
> CubicConverter uses Bicubic which seems to be called Cubic in wiki.

An image says more than.....

Here is a screenshot with movies made from the 8600x4300 test image.
Resized to 1904 cubefaces directly.
From left Pano2VR with different interpolators. Then CubicConverter 1904 and also 1
default 2736. Plus the original image in Photoshop at 100%.
http://www.panoramas.dk/cubefaces/cubefaces-interpolation.jpg

Hans
• ... Thanks a lot, that really simple :-) ... I m using Eric Gerds DOSUP (Pano2Faces.bat) for conversion. As far as I know it s using spline64 as interpolator.
Message 5 of 24 , Nov 1, 2008
Erik Krause schrieb:
> To simplify the calculation you can simply divide by 4.5 (app.
> pi/0.7)
>
> In any case: It might be best to not first reduce the equirect and
> then create cubefaces but use a good anti-aliasing interpolator and
> create the smaller cubefaces directly from the larger equirect. This
> saves one interpolation step.
>
Thanks a lot, that really simple :-)

> BTW.: While photoshop creats nice small JPEGs at good quality it
> might be no good idea to use it for cubefaces stripes. In any stripe
> there are at least two joints where the single cubefaces don't fit.
> At these joints the jpeg compression creates artifacts that are later
> visible in the resulting panorama. See
> http://www.photopla.net/wwp0703/stripes.php for details.
>
> If I remember correctly Pano2VR and Pano2QTVR create stripes using a
> different compression scheme near the edges, which avoids these
> artifacts.
>
I'm using Eric Gerds' DOSUP (Pano2Faces.bat) for conversion. As far as I
know it's using spline64 as interpolator. So do you think I could expect
good results when applying the "simplified rule of 70" (e.g. divide
equirectangular image width by 4.5) here? (Good enough to use it as
standard workflow)?

Best regards,
Philipp Koch
• ... I don t know whether it is really the same. However, apparently the algorithm was called cubic in the originating paper:
Message 6 of 24 , Nov 1, 2008
Am Saturday, November 01, 2008 um 13:17 schrieb Hans Nyberg:

> CubicConverter uses Bicubic which seems to be called Cubic in wiki.
> Why not use the Bicubic definition if it is the same. I never heard
> anyone call it just cubic. Photoshop today has 3 Bicubic versions.

I don't know whether it is really the same. However, apparently the
algorithm was called cubic in the originating paper:
http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=1163711

> From what I understand Pano2VR uses Mitchell as default but Mitchell softens the
> cubefaces slightly compared to CubiConverter. They need 0,4 100% unsharp mask to get
> back to the same quality if you do an conversion with editing cubefaces and convert back
> to equirectangular. This does not make sense after reading your comment as Mitchell
> should have the same effect as Cubic.
>
> Lazcos 3 gives normally same quality as CubicConverter but I found that I had to get up
> to Blackman/sinc Filter to get the same when doing downsizing.

Interesting. I think Thomas should clarify...

best regards
--
Erik Krause
Offenburger Str. 33
79108 Freiburg
• I think this proves an important point. You can t simply throw away pixels hoping they are bayer artifacts. The top left is so terrible compared to the others.
Message 7 of 24 , Nov 1, 2008
I think this proves an important point. You can't simply throw away pixels
hoping they are bayer artifacts.

The top left is so terrible compared to the others. So using a high quality
interpolator is clear. As well as deciding on the final resolution

At least to my eyes there clearly a loss of resolution/clarity at 1904 from
2736.

I think also a contributing factor here, is jpeg compression. At 1904
compression artifacts are obscuring destroying details, and at full
resolution they are less noticeable.

Sacha Griffin

Southern Digital Solutions LLC

http://www.southern-digital.com

http://www.seeit360.net

404-551-4275

An image says more than.....

Here is a screenshot with movies made from the 8600x4300 test image.
Resized to 1904 cubefaces directly.
From left Pano2VR with different interpolators. Then CubicConverter 1904 and
also 1
default 2736. Plus the original image in Photoshop at 100%.
http://www.panoramas.dk/cubefaces/cubefaces-interpolation.jpg

Hans

.

<http://geo.yahoo.com/serv?s=97359714/grpId=18227848/grpspId=1705006496/msgI
d=24218/stime=1225548125/nc1=3848642/nc2=4763759/nc3=5349282>

[Non-text portions of this message have been removed]
• ... Exactly, and well pointed out! This is an interesting trade-off that s worth remembering. With very high resolution images, JPEG damage isn t as noticable
Message 8 of 24 , Nov 1, 2008
Sometime around 1/11/08 (at 10:59 -0400) Sacha Griffin said:

>I think also a contributing factor here, is jpeg compression. At 1904
>compression artifacts are obscuring destroying details, and at full
>resolution they are less noticeable.

Exactly, and well pointed out!

This is an interesting trade-off that's worth remembering. With very
high resolution images, JPEG damage isn't as noticable simply because
the pixel-level alterations are relatively smaller than with
lower-res images. This is definitely the case in print work, where
high-res can mean *very* high. But it has some bearing on what we do
for panoramas too; in my experience you can frequently use a somewhat
higher compression setting for a higher-res cubeface than for a
lower-res cubeface without ending up with obvious compression damage.

(I don't mean you can make a higher-res cubeface *smaller*, but you
can often get noticably better quality output without dramatically
larger file sizes.)

I think the key phrase here is "your mileage may vary", but I am
reading all posts with great interest in the hope of gleaning further
understanding in this area.

I've also set Pano2VR's default interpolation filder from my previous
choice of Lanczos3 to Blackman/sinc and will run some tests when I
have time.

k
• ... spline64 isn t an anti-aliasing interpolator hence it s not optimal for downsizing. You can specify different interpolators on the DOSUP command line, but
Message 9 of 24 , Nov 1, 2008
Am Saturday, November 01, 2008 um 15:03 schrieb Philipp B. Koch:

> I'm using Eric Gerds' DOSUP (Pano2Faces.bat) for conversion. As far as I
> know it's using spline64 as interpolator. So do you think I could expect
> good results when applying the "simplified rule of 70" (e.g. divide
> equirectangular image width by 4.5) here? (Good enough to use it as
> standard workflow)?

spline64 isn't an anti-aliasing interpolator hence it's not optimal
for downsizing. You can specify different interpolators on the DOSUP
command line, but it seems to be limited to the "old" panotools
interpolators.

If you have a more recent panotools version (pano12 version 2.7.10 or
newer) you can use the anti-alaising interpolators: open
pano2faces.bat in notepad (or similar text editor) and locate the
lines (numbers 369 and 370 in the current version)

SET interpolate=i4
SET interp=spline64

Change them to

SET interpolate=i19
SET interp=Mitchell

for a neutral or

SET interpolate=i21
SET interp=Lanczos3

for a sharpening anti-aliasing interpolator. The i-numbers correspond
to the ID in http://wiki.panotools.org/Anti-aliasing_interpolators

best regards

--
Erik Krause
Offenburger Str. 33
79108 Freiburg
• Thanks a lot, Erik! I ve tried both Lanczos3 and Mitchell with DOSUP like you proposed. The visual difference is surely worth the (much) longer processing time
Message 10 of 24 , Nov 1, 2008
Thanks a lot, Erik! I've tried both Lanczos3 and Mitchell with DOSUP
like you proposed. The visual difference is surely worth the (much)
longer processing time it takes compared to spline64...

Best regards,
Philipp Koch

Erik Krause schrieb:
> Am Saturday, November 01, 2008 um 15:03 schrieb Philipp B. Koch:
>
>
>> I'm using Eric Gerds' DOSUP (Pano2Faces.bat) for conversion. As far as I
>> know it's using spline64 as interpolator. So do you think I could expect
>> good results when applying the "simplified rule of 70" (e.g. divide
>> equirectangular image width by 4.5) here? (Good enough to use it as
>> standard workflow)?
>>
>
> spline64 isn't an anti-aliasing interpolator hence it's not optimal
> for downsizing. You can specify different interpolators on the DOSUP
> command line, but it seems to be limited to the "old" panotools
> interpolators.
>
> If you have a more recent panotools version (pano12 version 2.7.10 or
> newer) you can use the anti-alaising interpolators: open
> pano2faces.bat in notepad (or similar text editor) and locate the
> lines (numbers 369 and 370 in the current version)
>
> SET interpolate=i4
> SET interp=spline64
>
> Change them to
>
> SET interpolate=i19
> SET interp=Mitchell
>
> for a neutral or
>
> SET interpolate=i21
> SET interp=Lanczos3
>
> for a sharpening anti-aliasing interpolator. The i-numbers correspond
> to the ID in http://wiki.panotools.org/Anti-aliasing_interpolators
>
> best regards
>
> --
> Erik Krause
> Offenburger Str. 33
> 79108 Freiburg
>
>
> ------------------------------------
>
>
• ... The bi in bicubic comes from the fact that the filter is used 2 times, one time in X and one time in Y direction. If you use such a filter on a CT scan
Message 11 of 24 , Nov 1, 2008
Erik Krause wrote, On 01.11.2008 15:20:
> Am Saturday, November 01, 2008 um 13:17 schrieb Hans Nyberg:
>
>> CubicConverter uses Bicubic which seems to be called Cubic in wiki.
>> Why not use the Bicubic definition if it is the same. I never heard
>> anyone call it just cubic. Photoshop today has 3 Bicubic versions.
>
> I don't know whether it is really the same. However, apparently the
> algorithm was called cubic in the originating paper:
> http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=1163711

The "bi" in bicubic comes from the fact that the filter is used 2 times,
one time in X and one time in Y direction. If you use such a filter on a
CT scan they are often called "Tricubic". As Panotools and Pano2VR
provide more then one filter the "bi" is kind of redundant as it should
be clear that they are used in both directions. Otherwise the filters
should have been called "Bigaussian", "Bilanczos", "Bimitchell"...

>> From what I understand Pano2VR uses Mitchell as default but Mitchell softens the
>> cubefaces slightly compared to CubiConverter. They need 0,4 100% unsharp mask to get
>> back to the same quality if you do an conversion with editing cubefaces and convert back
>> to equirectangular. This does not make sense after reading your comment as Mitchell
>> should have the same effect as Cubic.
>>
>> Lazcos 3 gives normally same quality as CubicConverter but I found that I had to get up
>> to Blackman/sinc Filter to get the same when doing downsizing.
>
> Interesting. I think Thomas should clarify...

I also use a kernel size of width/4 for the conversion. This is between
the two extremes of width/Pi and width/(Pi*sqtr(2)) (see my previous
post about the cube face sizes) and is a compromise between "too soft"
and aliasing. If you don't mind aliasing you can turn of the "dynamic
kernel" in the preferences and you should get a sharper image.

--
MfG,
Thomas
• ... The reason for these artifacts is chroma subsampling http://en.wikipedia.org/wiki/Chroma_subsampling . In Pano2VR and Pano2QTVR the subsampling is turned
Message 12 of 24 , Nov 1, 2008
Erik Krause wrote, On 01.11.2008 14:52 Uhr:

> BTW.: While photoshop creats nice small JPEGs at good quality it
> might be no good idea to use it for cubefaces stripes. In any stripe
> there are at least two joints where the single cubefaces don't fit.
> At these joints the jpeg compression creates artifacts that are later
> visible in the resulting panorama. See
> http://www.photopla.net/wwp0703/stripes.php for details.
>
> If I remember correctly Pano2VR and Pano2QTVR create stripes using a
> different compression scheme near the edges, which avoids these
> artifacts.

The reason for these artifacts is chroma subsampling
http://en.wikipedia.org/wiki/Chroma_subsampling .
In Pano2VR and Pano2QTVR the subsampling is turned off for stripes.
Please note that the tile size must be a multiple of 16 to make this work.

In Photoshop different levels of subsampling are used depending of the
quality setting. To be on the safe side with CS2 you need to use at
least Quality 7 in "Save as..." and Quality 51 in "Save for Web". For

--
MfG,
Thomas
• ... How much do you downsample? I did some tests some time ago and found no big difference for a 4000x2000 to cubefaces 1200 remapping tasks. -
Message 13 of 24 , Nov 1, 2008
Am Saturday, November 01, 2008 um 17:55 schrieb Philipp B. Koch:

> Thanks a lot, Erik! I've tried both Lanczos3 and Mitchell with DOSUP
> like you proposed. The visual difference is surely worth the (much)
> longer processing time it takes compared to spline64...

How much do you downsample? I did some tests some time ago and found
no big difference for a 4000x2000 to cubefaces 1200 remapping tasks.
-> http://www.panotools.org/mailarchive/msg/41713#msg41713
I stopped testing, since the old fixed kernel size interpolators and
the anti-alaising ones are not comparable. The kernel size (and hence
the execution time) highly depends on whether downsampling or
upsampling, and they increase for downsampling:
http://www.panotools.org/mailarchive/msg/41703#msg41703

best regards
--
Erik Krause
Offenburger Str. 33
79108 Freiburg
• ... I ve made some tests with an equirectangular 4742 x 2371, downsampling it to 1052 cubes (=~ / 4.5) with spline64, Mitchell and Lanczos3. I did not count
Message 14 of 24 , Nov 2, 2008
Erik Krause schrieb:
> Am Saturday, November 01, 2008 um 17:55 schrieb Philipp B. Koch:
>
>> Thanks a lot, Erik! I've tried both Lanczos3 and Mitchell with DOSUP
>> like you proposed. The visual difference is surely worth the (much)
>> longer processing time it takes compared to spline64...
>>
> How much do you downsample? I did some tests some time ago and found
> no big difference for a 4000x2000 to cubefaces 1200 remapping tasks.
> -> http://www.panotools.org/mailarchive/msg/41713#msg41713
> I stopped testing, since the old fixed kernel size interpolators and
> the anti-alaising ones are not comparable. The kernel size (and hence
> the execution time) highly depends on whether downsampling or
> upsampling, and they increase for downsampling:
> http://www.panotools.org/mailarchive/msg/41703#msg41703
I've made some tests with an equirectangular 4742 x 2371, downsampling
it to 1052 cubes (=~ / 4.5) with spline64, Mitchell and Lanczos3.
I did not count the time for each task, but both Mitchell and Lanczos3
took well three times as long as spline64, I'd estimate.

Regards, Philipp
Your message has been successfully submitted and would be delivered to recipients shortly.