Plug-in for matrixes and manual-heads?  

Got some great idea or a feature request? Post it here and discuss it. The most requested concepts are usually implemented, as Autopano Pro / Giga is very community driven.
no avatar
Ryan0751
Member
 
Posts: 27
Joined: Wed Jun 12, 2013 5:55 pm

Plug-in for matrixes and manual-heads?

by Ryan0751 » Tue Jul 08, 2014 1:37 pm

I use a Nodal Ninja Ultimate M2 manual panoramic head, and also use AutoPano Giga.

When I shoot my Pano's, I often use just a simple matrix, left to right, top row to bottom row.

When importing into AutoPano Giga, I often just wind up using the GigaPan plug-in, because it allows me to simply specify the number of rows and columns I used, and that's that.

Unfortunately, it doesn't always work, and recently I had a problem with one of my Pano's where I had to first use the Papywizrd program to specify the matrix and focal length, then import using that.

Could we get something for a plug-in which just allows the user to specify the settings they used on their manual head (or otherwise), and then AutoPano will take those settings into effect?

no avatar
mattspace
New member
 
Posts: 4
Joined: Wed Nov 12, 2014 3:27 am

Re: Plug-in for matrixes and manual-heads?

by mattspace » Wed Nov 12, 2014 6:09 am

This is something I've been trying to figure out as well - I'm evaluating APG and shoot with an old manual head.

My shoots are always 7 rows, 20 columns plus zenith and nadir.

Every shoot is (starting at zero on the panohead's yaw): zenith, 3 rows, horizon row, 3 rows, nadir. It would be good to be able to define the project as such before the matching & stitching is done so that for areas of sky where the software can't detect control points etc, it can have the preconfigured pitch and yaw angles already filled in, rather than having to go through entering the pitch and yaw for every unmatched image manually.

This sort of gridded interface already exists for object VR type work, it seems odd that noone is using it for multirow panoramics.

no avatar
mediavets
Moderator
 
Posts: 14163
Joined: Wed Nov 14, 2007 2:12 pm
Location: Isleham, Cambridgeshire, UK.

Re: Plug-in for matrixes and manual-heads?

by mediavets » Wed Nov 12, 2014 10:20 am

mattspace wrote:This is something I've been trying to figure out as well - I'm evaluating APG and shoot with an old manual head.

My shoots are always 7 rows, 20 columns plus zenith and nadir.

Every shoot is (starting at zero on the panohead's yaw): zenith, 3 rows, horizon row, 3 rows, nadir. It would be good to be able to define the project as such before the matching & stitching is done so that for areas of sky where the software can't detect control points etc, it can have the preconfigured pitch and yaw angles already filled in, rather than having to go through entering the pitch and yaw for every unmatched image manually.

This sort of gridded interface already exists for object VR type work, it seems odd that noone is using it for multirow panoramics.


Welcome to the forum....

If your shooting pattern is always the same then you could create a Papywizard-compatible custom XML data file which records the shooting coordinates and use that with the Papywizard Import wizard.

You could create it by editing the example below using any text editor. You need to save it using UTF-8 encoding which can be done with Windows Notepad:

Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<papywizard version="c">
    <header>
        <general>
            <title>
                Here goes the title
            </title>
            <gps>
                Here goes the location
            </gps>
            <comment>
                Generated by Papywizard 2.1.21
            </comment>
        </general>
        <shooting mode="preset">
            <headOrientation>
                up
            </headOrientation>
            <cameraOrientation>
                portrait
            </cameraOrientation>
            <stabilizationDelay>
                0.5
            </stabilizationDelay>
            <counter>
                009
            </counter>
            <startTime>
                2014-11-12_09h14m07s
            </startTime>
            <endTime>
                2014-11-12_09h15m36s
            </endTime>
        </shooting>
        <camera>
            <timeValue>
                0.5
            </timeValue>
            <bracketing nbPicts="1"/>
            <sensor coef="1.6" ratio="3:2"/>
        </camera>
        <lens type="rectilinear">
            <focal>
                28.0
            </focal>
        </lens>
        <preset name="3 + 6 + 12 + 6 + 3 (28mm)"/>
    </header>
    <shoot>
        <pict bracket="1" id="1">
            <time>
                2014-11-12_09h14m11s
            </time>
            <position pitch="70.0" roll="90.0" yaw="60.0"/>
        </pict>
        <pict bracket="1" id="2">
            <time>
                2014-11-12_09h14m16s
            </time>
            <position pitch="70.0" roll="90.0" yaw="180.0"/>
        </pict>
        <pict bracket="1" id="3">
            <time>
                2014-11-12_09h14m21s
            </time>
            <position pitch="70.0" roll="90.0" yaw="300.0"/>
        </pict>
        <pict bracket="1" id="4">
            <time>
                2014-11-12_09h14m23s
            </time>
            <position pitch="40.0" roll="90.0" yaw="330.0"/>
        </pict>
        <pict bracket="1" id="5">
            <time>
                2014-11-12_09h14m26s
            </time>
            <position pitch="40.0" roll="90.0" yaw="270.0"/>
        </pict>
        <pict bracket="1" id="6">
            <time>
                2014-11-12_09h14m30s
            </time>
            <position pitch="40.0" roll="90.0" yaw="210.0"/>
        </pict>
        <pict bracket="1" id="7">
            <time>
                2014-11-12_09h14m33s
            </time>
            <position pitch="40.0" roll="90.0" yaw="150.0"/>
        </pict>
        <pict bracket="1" id="8">
            <time>
                2014-11-12_09h14m36s
            </time>
            <position pitch="40.0" roll="90.0" yaw="90.0"/>
        </pict>
        <pict bracket="1" id="9">
            <time>
                2014-11-12_09h14m39s
            </time>
            <position pitch="40.0" roll="90.0" yaw="30.0"/>
        </pict>
        <pict bracket="1" id="10">
            <time>
                2014-11-12_09h14m41s
            </time>
            <position pitch="10.0" roll="90.0" yaw="0.0"/>
        </pict>
        <pict bracket="1" id="11">
            <time>
                2014-11-12_09h14m44s
            </time>
            <position pitch="-10.0" roll="90.0" yaw="30.0"/>
        </pict>
        <pict bracket="1" id="12">
            <time>
                2014-11-12_09h14m46s
            </time>
            <position pitch="10.0" roll="90.0" yaw="60.0"/>
        </pict>
        <pict bracket="1" id="13">
            <time>
                2014-11-12_09h14m48s
            </time>
            <position pitch="-10.0" roll="90.0" yaw="90.0"/>
        </pict>
        <pict bracket="1" id="14">
            <time>
                2014-11-12_09h14m50s
            </time>
            <position pitch="10.0" roll="90.0" yaw="120.0"/>
        </pict>
        <pict bracket="1" id="15">
            <time>
                2014-11-12_09h14m52s
            </time>
            <position pitch="-10.0" roll="90.0" yaw="150.0"/>
        </pict>
        <pict bracket="1" id="16">
            <time>
                2014-11-12_09h14m55s
            </time>
            <position pitch="10.0" roll="90.0" yaw="180.0"/>
        </pict>
        <pict bracket="1" id="17">
            <time>
                2014-11-12_09h14m57s
            </time>
            <position pitch="-10.0" roll="90.0" yaw="210.0"/>
        </pict>
        <pict bracket="1" id="18">
            <time>
                2014-11-12_09h14m59s
            </time>
            <position pitch="10.0" roll="90.0" yaw="240.0"/>
        </pict>
        <pict bracket="1" id="19">
            <time>
                2014-11-12_09h15m01s
            </time>
            <position pitch="-10.0" roll="90.0" yaw="270.0"/>
        </pict>
        <pict bracket="1" id="20">
            <time>
                2014-11-12_09h15m03s
            </time>
            <position pitch="10.0" roll="90.0" yaw="300.0"/>
        </pict>
        <pict bracket="1" id="21">
            <time>
                2014-11-12_09h15m06s
            </time>
            <position pitch="-10.0" roll="90.0" yaw="330.0"/>
        </pict>
        <pict bracket="1" id="22">
            <time>
                2014-11-12_09h15m08s
            </time>
            <position pitch="-40.0" roll="90.0" yaw="300.0"/>
        </pict>
        <pict bracket="1" id="23">
            <time>
                2014-11-12_09h15m11s
            </time>
            <position pitch="-40.0" roll="90.0" yaw="240.0"/>
        </pict>
        <pict bracket="1" id="24">
            <time>
                2014-11-12_09h15m14s
            </time>
            <position pitch="-40.0" roll="90.0" yaw="180.0"/>
        </pict>
        <pict bracket="1" id="25">
            <time>
                2014-11-12_09h15m17s
            </time>
            <position pitch="-40.0" roll="90.0" yaw="120.0"/>
        </pict>
        <pict bracket="1" id="26">
            <time>
                2014-11-12_09h15m21s
            </time>
            <position pitch="-40.0" roll="90.0" yaw="60.0"/>
        </pict>
        <pict bracket="1" id="27">
            <time>
                2014-11-12_09h15m24s
            </time>
            <position pitch="-40.0" roll="90.0" yaw="0.0"/>
        </pict>
        <pict bracket="1" id="28">
            <time>
                2014-11-12_09h15m26s
            </time>
            <position pitch="-70.0" roll="90.0" yaw="30.0"/>
        </pict>
        <pict bracket="1" id="29">
            <time>
                2014-11-12_09h15m31s
            </time>
            <position pitch="-70.0" roll="90.0" yaw="150.0"/>
        </pict>
        <pict bracket="1" id="30">
            <time>
                2014-11-12_09h15m36s
            </time>
            <position pitch="-70.0" roll="90.0" yaw="270.0"/>
        </pict>
    </shoot>
</papywizard>

no avatar
mattspace
New member
 
Posts: 4
Joined: Wed Nov 12, 2014 3:27 am

Re: Plug-in for matrixes and manual-heads?

by mattspace » Wed Nov 12, 2014 12:21 pm

Much appreciated :)

Is there documentation for where to get the information for things like the sensor coef value etc?

Will APG still do all its detecting and stitching when I use this to input the images, or does this override stuff like EXIF in the files etc?

Thanks.

no avatar
mediavets
Moderator
 
Posts: 14163
Joined: Wed Nov 14, 2007 2:12 pm
Location: Isleham, Cambridgeshire, UK.

Re: Plug-in for matrixes and manual-heads?

by mediavets » Wed Nov 12, 2014 1:08 pm

mattspace wrote:Much appreciated :)

Is there documentation for where to get the information for things like the sensor coef value etc?


You can find more info on papywizard-compatible data file format here:

http://www.autopano.net/wiki-en/action/ ... _data_file

Sensor coefficient value is what is sometimes called the crop factor of the sensor - for Nikon DX that's 1.5, for Canon cropped sensor that's 1.6, for 4/3rd sensor that's 2, and so on.

Will APG still do all its detecting and stitching when I use this to input the images, or does this override stuff like EXIF in the files etc?

Thanks.

I've forgotten (that is if Kolor has ever explained it) what data the Import wizard reads from the data file and what from the EXIF - but in the case of focal length if the values differ you are offered the option as to which value you wish to use.

I don't think the data and time each image is recorded/shot is used.

Anyway, try it and see if it improves your stitching and if it doesn't then don't use it with that image set.
..................

Another approach is to get a good stitch with one of your image sets and then Export to Papywizard... from APG and then use the XML file that creates with the Papywizard Import wizard with other image sets shot using the same pattern. You can of course also edit that file to refine the shooting co-ordinate values if you wish.
Attachments
1-apg-export-pw.jpg

no avatar
mattspace
New member
 
Posts: 4
Joined: Wed Nov 12, 2014 3:27 am

Re: Plug-in for matrixes and manual-heads?

by mattspace » Thu Nov 13, 2014 12:48 am

Ahh cool, thanks for the tips, I'll give it a go. :)

Would you mind clarifying for me if you're aware of how these templates interact with the actual matching and stitching process? For example I aim to have my pano head at 67.5 degrees, which is what I'd put in the xml file, but APG detects & lists the angle as varying between 66-68. Does the XML file or saved template produce an absolute result which will be applied to the next set of images, or is it a guideline that auto detection improves upon, and uses as a fallback when control points can't be identified?

Gotta admit it's exciting to be getting back into panoramics - I started with QTVRAS 14 years ago and a Coolpix 990/995, and then progressed to Realviz Stitcher, before dropping it for a number of years. Did my first test with a Nikon d800 and 60mm Micro a couple of days ago, and first try got the most perfect stitch I've ever had.

cheers.

no avatar
mediavets
Moderator
 
Posts: 14163
Joined: Wed Nov 14, 2007 2:12 pm
Location: Isleham, Cambridgeshire, UK.

Re: Plug-in for matrixes and manual-heads?

by mediavets » Thu Nov 13, 2014 9:28 am

mattspace wrote:Ahh cool, thanks for the tips, I'll give it a go. :)

Would you mind clarifying for me if you're aware of how these templates interact with the actual matching and stitching process? For example I aim to have my pano head at 67.5 degrees, which is what I'd put in the xml file, but APG detects & lists the angle as varying between 66-68. Does the XML file or saved template produce an absolute result which will be applied to the next set of images, or is it a guideline that auto detection improves upon, and uses as a fallback when control points can't be identified?

cheers.


I don't know the detail - I don't think Kolor has ever explained how the Import wizard works at that level.

But I think the Papywizard Import wizard works more as a 'guideline' to assist placement of images in the manner you described. It certainly allows the optimiser to move images away from the co-ordinates defined in the XML file - sometimes more that I feel it should. Sometimes I've found I get a better result without the wizard than when using it.

No manual head, and few if any robotic pano heads, is sufficiently precise to simply apply absolute co-ordinate values and achieve a perfect stitch (although one manual pano head manufacturer has on occasion claimed otherwise).

no avatar
mediavets
Moderator
 
Posts: 14163
Joined: Wed Nov 14, 2007 2:12 pm
Location: Isleham, Cambridgeshire, UK.

Re: Plug-in for matrixes and manual-heads?

by mediavets » Thu Nov 13, 2014 9:30 am

mattspace wrote:Gotta admit it's exciting to be getting back into panoramics - I started with QTVRAS 14 years ago and a Coolpix 990/995, and then progressed to Realviz Stitcher, before dropping it for a number of years. Did my first test with a Nikon d800 and 60mm Micro a couple of days ago, and first try got the most perfect stitch I've ever had.

cheers.


If you'd like to revisit your earlier pano photography days I could sell you a Nikon 995, an FC-E8 fisheye add-on lens and a matching pano head. :)

no avatar
mattspace
New member
 
Posts: 4
Joined: Wed Nov 12, 2014 3:27 am

Re: Plug-in for matrixes and manual-heads?

by mattspace » Fri Nov 14, 2014 4:04 am

Thanks for the tips :)

mediavets wrote:
If you'd like to revisit your earlier pano photography days I could sell you a Nikon 995, an FC-E8 fisheye add-on lens and a matching pano head. :)


haha, I've still got my 995, and the wc-24 adapter. In fact, I'm shooting on my old Kaidan spherical head from that era as well :)

Cheers,


Return to Autopano future

Who is online

Users browsing this forum: No registered users and 1 guest