Positioning via xml file doesn't work

53 views
Skip to first unread message

mic...@aichberger.de

unread,
Dec 6, 2025, 9:22:55 AM (6 days ago) Dec 6
to PTGui Support
Sorry, I just realized that I should have posted in English, here is my request in english:

Hello everyone,

I photographed several rooms (museum) with the following equipment: Canon R5 with RF 1.4 35 mm, 2 x Zenit (for safety), and then:

+60° 6 images
+30° 12 images
0° 12 images
-30° 12 images
-60° 6 images
Nadir

In rooms with enough detail, the stitching worked perfectly. However, in rooms with little detail (empty walls), it did not. Therefore, I created an XML file with the corresponding angles and imported it via Import -> Papywizard.

(Leaving out the Zenit and Nadir for now, we are talking about 48 images.)

This mostly worked well. However, I now have a room with even less detail than the others, and the images of this panorama are displayed completely scrambled in the Panorama Editor, DESPITE the XML file.

I have tried everything possible, even on multiple computers, but PTGui just won’t adhere to the specified grid.

Does anyone have an idea how I could solve this problem? Thank you very much in advance! Here is the content of my xml-file

<papywizard version="c">
<header>
<general>
<title>CanonR5_35mm_Pano</title>
<comment>Generated panorama shooting XML</comment>
</general>
<shooting mode="preset">
<cameraOrientation>portrait</cameraOrientation>
</shooting>
<camera>
<bracketing nbPicts="1"/>
<sensor coef="1.0" ratio="3:2"/>
</camera>
<lens type="rectilinear">
<focal>35.000</focal>
</lens>
</header>
<shoot>
<!-- +60° row: 6 shots -->
<pict id="1" bracket="1">
<position yaw="0" pitch="60"/>
</pict>
<pict id="2" bracket="1">
<position yaw="60" pitch="60"/>
</pict>
<pict id="3" bracket="1">
<position yaw="120" pitch="60"/>
</pict>
<pict id="4" bracket="1">
<position yaw="180" pitch="60"/>
</pict>
<pict id="5" bracket="1">
<position yaw="240" pitch="60"/>
</pict>
<pict id="6" bracket="1">
<position yaw="300" pitch="60"/>
</pict>
<!-- +30° row: 12 shots -->
<pict id="7" bracket="1">
<position yaw="0" pitch="30"/>
</pict>
<pict id="8" bracket="1">
<position yaw="30" pitch="30"/>
</pict>
<pict id="9" bracket="1">
<position yaw="60" pitch="30"/>
</pict>
<pict id="10" bracket="1">
<position yaw="90" pitch="30"/>
</pict>
<pict id="11" bracket="1">
<position yaw="120" pitch="30"/>
</pict>
<pict id="12" bracket="1">
<position yaw="150" pitch="30"/>
</pict>
<pict id="13" bracket="1">
<position yaw="180" pitch="30"/>
</pict>
<pict id="14" bracket="1">
<position yaw="210" pitch="30"/>
</pict>
<pict id="15" bracket="1">
<position yaw="240" pitch="30"/>
</pict>
<pict id="16" bracket="1">
<position yaw="270" pitch="30"/>
</pict>
<pict id="17" bracket="1">
<position yaw="300" pitch="30"/>
</pict>
<pict id="18" bracket="1">
<position yaw="330" pitch="30"/>
</pict>
<!-- 0° row: 12 shots -->
<pict id="19" bracket="1">
<position yaw="0" pitch="0"/>
</pict>
<pict id="20" bracket="1">
<position yaw="30" pitch="0"/>
</pict>
<pict id="21" bracket="1">
<position yaw="60" pitch="0"/>
</pict>
<pict id="22" bracket="1">
<position yaw="90" pitch="0"/>
</pict>
<pict id="23" bracket="1">
<position yaw="120" pitch="0"/>
</pict>
<pict id="24" bracket="1">
<position yaw="150" pitch="0"/>
</pict>
<pict id="25" bracket="1">
<position yaw="180" pitch="0"/>
</pict>
<pict id="26" bracket="1">
<position yaw="210" pitch="0"/>
</pict>
<pict id="27" bracket="1">
<position yaw="240" pitch="0"/>
</pict>
<pict id="28" bracket="1">
<position yaw="270" pitch="0"/>
</pict>
<pict id="29" bracket="1">
<position yaw="300" pitch="0"/>
</pict>
<pict id="30" bracket="1">
<position yaw="330" pitch="0"/>
</pict>
<!-- -30° row: 12 shots -->
<pict id="31" bracket="1">
<position yaw="0" pitch="-30"/>
</pict>
<pict id="32" bracket="1">
<position yaw="30" pitch="-30"/>
</pict>
<pict id="33" bracket="1">
<position yaw="60" pitch="-30"/>
</pict>
<pict id="34" bracket="1">
<position yaw="90" pitch="-30"/>
</pict>
<pict id="35" bracket="1">
<position yaw="120" pitch="-30"/>
</pict>
<pict id="36" bracket="1">
<position yaw="150" pitch="-30"/>
</pict>
<pict id="37" bracket="1">
<position yaw="180" pitch="-30"/>
</pict>
<pict id="38" bracket="1">
<position yaw="210" pitch="-30"/>
</pict>
<pict id="39" bracket="1">
<position yaw="240" pitch="-30"/>
</pict>
<pict id="40" bracket="1">
<position yaw="270" pitch="-30"/>
</pict>
<pict id="41" bracket="1">
<position yaw="300" pitch="-30"/>
</pict>
<pict id="42" bracket="1">
<position yaw="330" pitch="-30"/>
</pict>
<!-- -60° row: 6 shots -->
<pict id="43" bracket="1">
<position yaw="0" pitch="-60"/>
</pict>
<pict id="44" bracket="1">
<position yaw="60" pitch="-60"/>
</pict>
<pict id="45" bracket="1">
<position yaw="120" pitch="-60"/>
</pict>
<pict id="46" bracket="1">
<position yaw="180" pitch="-60"/>
</pict>
<pict id="47" bracket="1">
<position yaw="240" pitch="-60"/>
</pict>
<pict id="48" bracket="1">
<position yaw="300" pitch="-60"/>
</pict>
</shoot>
</papywizard>

Hello everyone,

I photographed several rooms (museum) with the following equipment: Canon R5 with RF 1.4 35 mm, 2 x Zenit (for safety), and then:

+60° 6 images
+30° 12 images
0° 12 images
-30° 12 images
-60° 6 images
Nadir

In rooms with enough detail, the stitching worked perfectly. However, in rooms with little detail (empty walls), it did not. Therefore, I created an XML file with the corresponding angles and imported it via Import -> Papywizard.

(Leaving out the Zenit and Nadir for now, we are talking about 48 images.)

This mostly worked well. However, I now have a room with even less detail than the others, and the images of this panorama are displayed completely scrambled in the Panorama Editor, DESPITE the XML file.

I have tried everything possible, even on multiple computers, but PTGui just won’t adhere to the specified grid.

Does anyone have an idea how I could solve this problem? Thank you very much in advance!

PS: Here is the XML file:

xml
Copy
<papywizard version="c"> <header> <general> <title>CanonR5_35mm_Pano</title> <comment>Generated panorama shooting XML</comment> </general> <shooting mode="preset"> <cameraOrientation>portrait</cameraOrientation> </shooting> <camera> <bracketing nbPicts="1"/> <sensor coef="1.0" ratio="3:2"/> </camera> <lens type="rectilinear"> <focal>35.000</focal> </lens> </header> <shoot> <!-- +60° row: 6 shots --> <pict id="1" bracket="1"> <position yaw="0" pitch="60"/> </pict> <pict id="2" bracket="1"> <position yaw="60" pitch="60"/> </pict> <pict id="3" bracket="1"> <position yaw="120" pitch="60"/> </pict> <pict id="4" bracket="1"> <position yaw="180" pitch="60"/> </pict> <pict id="5" bracket="1"> <position yaw="240" pitch="60"/> </pict> <pict id="6" bracket="1"> <position yaw="300" pitch="60"/> </pict> <!-- +30° row: 12 shots --> <pict id="7" bracket="1"> <position yaw="0" pitch="30"/> </pict> <pict id="8" bracket="1"> <position yaw="30" pitch="30"/> </pict> <pict id="9" bracket="1"> <position yaw="60" pitch="30"/> </pict> <pict id="10" bracket="1"> <position yaw="90" pitch="30"/> </pict> <pict id="11" bracket="1"> <position yaw="120" pitch="30"/> </pict> <pict id="12" bracket="1"> <position yaw="150" pitch="30"/> </pict> <pict id="13" bracket="1"> <position yaw="180" pitch="30"/> </pict> <pict id="14" bracket="1"> <position yaw="210" pitch="30"/> </pict> <pict id="15" bracket="1"> <position yaw="240" pitch="30"/> </pict> <pict id="16" bracket="1"> <position yaw="270" pitch="30"/> </pict> <pict id="17" bracket="1"> <position yaw="300" pitch="30"/> </pict> <pict id="18" bracket="1"> <position yaw="330" pitch="30"/> </pict> <!-- 0° row: 12 shots --> <pict id="19" bracket="1"> <position yaw="0" pitch="0"/> </pict> <pict id="20" bracket="1"> <position yaw="30" pitch="0"/> </pict> <pict id="21" bracket="1"> <position yaw="60" pitch="0"/> </pict> <pict id="22" bracket="1"> <position yaw="90" pitch="0"/> </pict> <pict id="23" bracket="1"> <position yaw="120" pitch="0"/> </pict> <pict id="24" bracket="1"> <position yaw="150" pitch="0"/> </pict> <pict id="25" bracket="1"> <position yaw="180" pitch="0"/> </pict> <pict id="26" bracket="1"> <position yaw="210" pitch="0"/> </pict>
Regenerieren
Kopieren
Gute Antwort
Schlechte Antwort

Hello everyone,

I photographed several rooms (museum) with the following equipment: Canon R5 with RF 1.4 35 mm, 2 x Zenit (for safety), and then:

+60° 6 images
+30° 12 images
0° 12 images
-30° 12 images
-60° 6 images
Nadir

In rooms with enough detail, the stitching worked perfectly. However, in rooms with little detail (empty walls), it did not. Therefore, I created an XML file with the corresponding angles and imported it via Import -> Papywizard.

(Leaving out the Zenit and Nadir for now, we are talking about 48 images.)

This mostly worked well. However, I now have a room with even less detail than the others, and the images of this panorama are displayed completely scrambled in the Panorama Editor, DESPITE the XML file.

I have tried everything possible, even on multiple computers, but PTGui just won’t adhere to the specified grid.

Does anyone have an idea how I could solve this problem? Thank you very much in advance!

PS: Here is the XML file:

xml
Copy
<papywizard version="c"> <header> <general> <title>CanonR5_35mm_Pano</title> <comment>Generated panorama shooting XML</comment> </general> <shooting mode="preset"> <cameraOrientation>portrait</cameraOrientation> </shooting> <camera> <bracketing nbPicts="1"/> <sensor coef="1.0" ratio="3:2"/> </camera> <lens type="rectilinear"> <focal>35.000</focal> </lens> </header> <shoot> <!-- +60° row: 6 shots --> <pict id="1" bracket="1"> <position yaw="0" pitch="60"/> </pict> <pict id="2" bracket="1"> <position yaw="60" pitch="60"/> </pict> <pict id="3" bracket="1"> <position yaw="120" pitch="60"/> </pict> <pict id="4" bracket="1"> <position yaw="180" pitch="60"/> </pict> <pict id="5" bracket="1"> <position yaw="240" pitch="60"/> </pict> <pict id="6" bracket="1"> <position yaw="300" pitch="60"/> </pict> <!-- +30° row: 12 shots --> <pict id="7" bracket="1"> <position yaw="0" pitch="30"/> </pict> <pict id="8" bracket="1"> <position yaw="30" pitch="30"/> </pict> <pict id="9" bracket="1"> <position yaw="60" pitch="30"/> </pict> <pict id="10" bracket="1"> <position yaw="90" pitch="30"/> </pict> <pict id="11" bracket="1"> <position yaw="120" pitch="30"/> </pict> <pict id="12" bracket="1"> <position yaw="150" pitch="30"/> </pict> <pict id="13" bracket="1"> <position yaw="180" pitch="30"/> </pict> <pict id="14" bracket="1"> <position yaw="210" pitch="30"/> </pict> <pict id="15" bracket="1"> <position yaw="240" pitch="30"/> </pict> <pict id="16" bracket="1"> <position yaw="270" pitch="30"/> </pict> <pict id="17" bracket="1"> <position yaw="300" pitch="30"/> </pict> <pict id="18" bracket="1"> <position yaw="330" pitch="30"/> </pict> <!-- 0° row: 12 shots --> <pict id="19" bracket="1"> <position yaw="0" pitch="0"/> </pict> <pict id="20" bracket="1"> <position yaw="30" pitch="0"/> </pict> <pict id="21" bracket="1"> <position yaw="60" pitch="0"/> </pict> <pict id="22" bracket="1"> <position yaw="90" pitch="0"/> </pict> <pict id="23" bracket="1"> <position yaw="120" pitch="0"/> </pict> <pict id="24" bracket="1"> <position yaw="150" pitch="0"/> </pict> <pict id="25" bracket="1"> <position yaw="180" pitch="0"/> </pict> <pict id="26" bracket="1"> <position yaw="210" pitch="0"/> </pict>
Regenerieren
Kopieren
Gute Antwort
Schlechte Antwort

mic...@aichberger.de

unread,
Dec 6, 2025, 9:41:50 AM (6 days ago) Dec 6
to PTGui Support
In case someone wants to try it, here are the 48 source images and the xml file:

http://www.aichberger.de/_download/39_JPEG.zip

Thanks

John Houghton

unread,
Dec 6, 2025, 10:18:06 AM (6 days ago) Dec 6
to PTGui Support
I loaded the images into PTGui and then ran File->Import->Papywizard and it positioned all of the images correctly.  Many images are devoid of aiutable features for control points.  I applied masks to the bottom row to hide the tripod head.  Then generated control points "for all overlapping images" and ran the optimizer, which produced:

pan.jpg

There are some discontinuities which need to be dealt with, but there is nothing major wrong.  Perhaps you didn't mask the tripod head to avoid points there?

John

Michael von Aichberger | Fotografie

unread,
Dec 6, 2025, 6:15:04 PM (6 days ago) Dec 6
to pt...@googlegroups.com

Hi John,

 

thanks a lot, I indeed didn’t mask the tripod head as „normally“ I found this not to be necessary, but in this case it made a difference.

 

Thanks for pointing that out and thanks for the help!

 

Best regards,
Michael

 

Von: pt...@googlegroups.com <pt...@googlegroups.com> Im Auftrag von John Houghton
Gesendet: Samstag, 6. Dezember 2025 16:18
An: PTGui Support <pt...@googlegroups.com>
Betreff: [PTGui] Re: Positioning via xml file doesn't work

 

I loaded the images into PTGui and then ran File->Import->Papywizard and it positioned all of the images correctly.  Many images are devoid of aiutable features for control points.  I applied masks to the bottom row to hide the tripod head.  Then generated control points "for all overlapping images" and ran the optimizer, which produced:

 

--
You received this message because you are subscribed to a topic in the Google Groups "PTGui Support" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ptgui/YJlcO4s2TsI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ptgui+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ptgui/342ca8b9-f114-4439-991a-936a4a06cb76n%40googlegroups.com.

image001.jpg

John Houghton

unread,
Dec 7, 2025, 3:59:46 AM (5 days ago) Dec 7
to PTGui Support
Michael,  I should have mentioned the reason for masking the tripod, which is to prevent the generation irregular control points there.

John

Michael von Aichberger | Fotografie

unread,
Dec 7, 2025, 7:14:28 AM (5 days ago) Dec 7
to pt...@googlegroups.com

Thanks, John. With your help (and some retouching), I achieved quite a good result:

https://www.supergigapixel.com/360/mvaP25111739/

Thanks again!

Reply all
Reply to author
Forward
0 new messages