Just a plain old flat pano, please?

  • Sorry to start a new thread, I've read a bunch of threads related to this topic but have not seen one consistent answer that appears to work for me.

    I just want my panos to display flat, with no projections (fisheye or rectilinear.) Sometimes I have gotten that with hfov=1 but sometimes that seems to give me no zooming.

    I think I would like something fairly similar to gigapan, thus the following behaviours:

    1. Flat pano -- we just zoom and pan around in it, we don't project or distort it.
    2. Flat 360 panos too -- I want to be able to move around in a circle with the ends joined if the pano is a 360. I know the fov of my panos, my script is extracting it from the .pano file of AutoPanoPro. I have some that are more than 360 degrees, probably want to join those in a bad join.
    3. Be able to zoom all the way out to see the whole pano (even 360 degree) with black bars top and bottom -- but no further. I think that's limitview="fullrange" but it doesn't seem to always do that.
    4. Be able to zoom in to pixels at 200%. I think that's maxpixelzoom=2.0 though for some reason it's not always working. Does the program not always re-read included xml files on every reload perhaps? Do they need to be included in specific places?
    5. For initial view, I want to choose between sometimes showing fully-zoomed out (a reasonable default) but sometimes I will want to set "zoom to fill by height" and some starting position (default middle but I may want to tune that.)

    Mostly these are cylinders but I have a few rare spheres. And a few rectilinears as well.

    There should be some combination of limitview, maxpixelzoom, hfov and other field of view parameters

    Now for some panos I will do the projected view, but since that's the default here that won't be hard. And I suspect I can also put in a menu item or button at some point to allow users to swtich to a projected view if that's what they want. I just find that since I have a widescreen, and so many people have widescreens and I encourage fullscreen, the projected view is not what I am looking for.


    I have some other things I want to set up -- cameracontrols with a fullscreen button, proper zoom range on cameracontrols, double-click to zoom and center and much more, but I will leave them to other threads.

    Added note: The hfov=1 panos are displaying and scrolling properly now. There does seem to be some sort of cache problem with included xml. However, my wider field of view panos, in particular the 360s, still seem to do a projected view, so when you pull back you have this tiny section in the middle that's right and two giant stretched wings, not very useful. Seek to just have unmodified 360 view users can move around in.

    Edited once, last by bradtem (October 5, 2010 at 2:33 AM).

  • You have some spherical panoramas you want users to be able to see all at once without any distortion? :S

    Please explain which of your problems apply to spheres and which apply to cylinders. There's a cylinder image type in krpano that should pretty much do what you asked!

    Also if possible include screenshots of the projection you're aiming for (from another viewer) *g*

  • Correct. I don't want them to be distorted by the plugin. They are narrow vertical field of view panos in most cases, where sphere and cylinder are not that different, and they have already been projected by the pano stitcher the way I want people to view them. I want them to be able to see the full 360 at once if they zoom out (as they do on my web site already, and on gigapan and other sites.) I want them to be able to zoom in, and pan around in a complete circle, and even if they have a widescreen window, I don't want the left and right sides massively stretched and distorted as they are by default in krpano when the window is wide.

    If you shoot a pano with a high vertical field, ie. a sphere (which is the most complete form of a spherically projected pano, but you can still have a spherically projected pano which is only 20 degrees high) then you need to do some projection in the viewer. Otherwise, I don't believe you want it. At least I don't want it.

    So far I have been playing around and don't see how to get the program to show my 360 degree (by 20 to 50 degrees in height) panos the way I am looking for. No projection, but able to zoom and pan around with the two ends joined so you can keep going in circles. And zooming out to see the full 360 degrees -- krpano seems to only show at most 180 degrees of the pano, and it either turns the sides into something uselessly stretched when it does this, or in fisheye mode looks better but still not good.

    I have been able to make it work with hfov=1 and a few other settings, but then the two ends don't join for circular panning. If you zoom in so that the pano fits the height of the screen, the distortions become tolerable and you can spin around, but why distort at all?

    For example if you look at the first pano on http://pic.templetons.com/brad/pano/alberta.html you see one of my sphericals. In the thumbnail it looks just fine and if you click on it you see the large jpg I am using until I make krpano live. This is a partial pano, spherical, but 195 degrees wide and 81 degrees high (40 up and 40 down.) It looks great in the form you see, but put it into krpano in spherical mode, and it looks like crap. This one is not a 360 but there is no reason it could not be. It's a spherical, but unlike a sphere, it's 81 degrees high, not 180.

  • Please make this clear to me, all this is your experience using the CYLINDER image type? It shouldn't be causing any distortion. If this is unclear to you, you should be using the CYLINDER image type even with your spheres in order to obtain the effect you desire...

    ...but from my limited experience, you may very well be screwed when it comes to being able to show everything (with black bars) AND still being able to spin around...

  • Try this:

    Code
    <view limitview="fullrange" />
    <preview type="CYLINDER" url="mypreview.jpg" />
    <image type="CYLINDER" hfov="1.00">
    	<cylinder url="mypano.jpg" />
    </image>

    And then play with the hfov.

  • Yes, 95% of my recent panos are built as cylinders, and I have been using the cylinder tag in KRPano. (I mostly build Cylinder projections in autopanopro, however I often built spherical in Panorama Factory though they were never full spheres.

    I have been using tags like that. If I set hfov=1 then it does not distort -- but neither does it understand that the pano is a 360 degree pano, and thus should be looped around and allow people to pan through it completely. This is not simply a UI issue. With the 360 cylinders, you need to join the two ends together for people to get a true look at the view in that direction, otherwise they can only go left till it stops and right till it stops and some items in the view are chopped in half.

    It is not a problem for panos that are sub-360, they should stop at the left and right sides (though on long panos like 270 degrees and above it's not a killer if they show a disjoin, it's mildly convenient for navigation.)

    You have suggested I should play with hfov. What values do you suggest? When I set it to 1, I get non-distorted, but no 360-circle. Anything else seem to produce the circle, actually, but distorted, same as the default (no hfov) and hfov=360

  • Still have not figured how to get an undistorted 360 degree wrap-around pano, but I thought I would play with adding a context menu option to let people switch from projected 360 pano to flat partial pano.

    I tried:

    Code
    <action name="partial">
    	set(image.hfov,"1");
    	set(view.limitview,"fullrange");
    	set(view.fisheye,"0");
    </action>

    And it does expand the zoom range so they can zoom out (I presume I can add some code to cause some level of zoom out to let them see this has taken place) but in spite of setting the hfov to 1, it does not seem to be turning off the projection. Is this a field that can only be changed after the fact, or what else might get me into flat mode, even if it does have to have stops at the left and right join edges?

  • I was not aware of updateobject (the docs of krpano are of course slow to catch up with new features) but it does not work. A search reveals a note from Klaus saying that it will work to redo the geometry in the next release.

    Of course, I am hoping if he answers that he can just tell me how to get the flat pano which wraps around horizontally -- I am surprised if that's not possible as it has been a feature in flash and plugin panorama viewers since the days of QTVR. Being able to have a button to convert the pano to flat (without wrap) is good, but not really a great solution. Users may not be aware of it, and of course once they do it they no longer have wrap.

    In my newest action I widen the view to 180 degrees (the max) and put us in fisheye mode and it is tolerable but not what I seek. The hfov=1 is a bit of a kludge of course. When I read the .pano file from APP I learn the real dimensions of the pano and they are useful but for now if it is not able to wrap I just set hfov=1 and throw away the other info. That makes it slightly harder to convert a flat partial to projected view if the user wants that, but then I don't know how to store my own global variables etc. Still learning.

  • Any more info on how to get a pano to spin 360 and wrap around without any projection/distortion, and how to convert the user to flat pano mode from projected 360 mode? Was hoping to hear from Klaus if there will be an answer if there isn't one that works right now.

    I guess I might be able to trigger a re-load of the whole web page that embeds the pano, and set different variables in the JS or use a different XML file, but that seems like overkill.

  • Hi,

    changing the "image.hfov" and "image.vfov" and calling the updateobject() action will be possible in the next release, but in the current version this is not possible yet,

    about the other request - a flat AND wrapping image - is not possible and will not be, the current internal 3d rendering model doesn't allow such (a wrapping/looping 3d geometric),

    best regards,
    Klaus

  • Hmm. That is disappointing. I mean, in a sense, the program sort of does it, in that if you have a long and narrow 360 pano as I have, such that the program decides the vertical fov is quite small, it then applies very little distortion on it and thus it looks a lot like you are able to pan around 360 in an undistorted pano. Might there be a way to trick your existing projection model into thinking that certain parameters are such that it should not distort the images?

    It does look like seeing more than 180 degrees of the pano is out in your current model, except in flat mode. So I will wait with anticipation for a way to swtich people between flat mode and projected because I do want them to be able to see more than 180 degrees.

    I have to admit some surprise, since displaying a 360 cylinder without projection and wrapping around is something that's been in pano viewers for a long time. Though in fact one of the reasons I have not used pano viewers for many years is I *like* showing users the whole view all at once. A zoom viewer simulates being there and turning your head around, but a full view shows a view they eye could never see, and adds a dimension to photos, when two things are there that can't normally be viewed at the same time.

    If you can figure a way to do this, even to kludge it, it would be good. If the new release is coming soon I will wait for it. Otherwise, I may hack some code to generate two XML files for each 360 pano -- one with projected wrapped mode and one with flat mode, and let the user switch by just loading the same pano with a different xml. Bit of a kludge but it should work.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!