Assistance with Automatically Leveling 360° Images Using Metadata (Pitch, Yaw, and Roll)

96 views
Skip to first unread message

Bence Bánkúty

unread,
Sep 13, 2024, 5:08:06 AM9/13/24
to PTGui Support

Hi everyone,

I’m currently working with PTGui to process a large number of 360° images, and I'm trying to automate the leveling process based on embedded pitch, yaw, and roll values (gyro data). The goal is to avoid manually adjusting each image, as I need to level thousands of images efficiently.

Here's the issue:

I've been using ExifTool to inject the following fields into the metadata of my 360° images:

  • GimbalRollDegree
  • GimbalYawDegree
  • GimbalPitchDegree
  • PoseHeadingDegrees
  • PoseRollDegrees
  • PosePitchDegrees
  • InitialViewHeadingDegrees
  • InitialViewPitchDegrees
  • InitialViewRollDegrees
  • FlightRollDegree
  • FlightYawDegree
  • FlightPitchDegree
  • Roll
  • RollAngle
  • PitchAngle
  • YawAngle
  • CameraYaw
  • CameraPitch
  • PoseRotationX
  • PoseRotationY
  • PoseRotationZ
  • AngleInfoRoll
  • AngleInfoYaw

Despite successfully injecting these fields, none of them show up under the Image Parameters (Yaw, Pitch, Roll) in PTGui. However, if I manually enter the pitch, yaw, and roll values one by one in PTGui, the images are leveled correctly.

What I've tried:
  • I’ve successfully leveled a few drone images in PTGui, where the same values were automatically recognized from the metadata without any issues.
  • I’ve also tried embedding multiple variations of the metadata fields but none seem to affect the Image Parameters automatically for my 360° images.
My question:

Is there a specific metadata structure or set of tags that PTGui expects for 360° images to automatically recognize the pitch, yaw, and roll values for leveling? Any advice or insight on how to streamline this process would be greatly appreciated, as I need to automate the leveling for thousands of images.

Thanks in advance!

Bence

PTGui Support

unread,
Sep 13, 2024, 5:19:40 AM9/13/24
to pt...@googlegroups.com
Hi Bence,

If you embed an XMP section with this namespace:
http://www.dji.com/drone-dji/1.0/

and make sure it contains these 6 fields:

GimbalRollDegree
GimbalYawDegree
GimbalPitchDegree
FlightRollDegree
FlightYawDegree
FlightPitchDegree

then it should work. The Flight* fields should be present, but PTGui
ignores the values.

Instead of injecting metadata, you might also consider supplying a
Papywizard file (File - Import - Papywizard). Or you can use a template
with a predefined image arrangement and use the Batch Builder.

Kind regards,

Joost Nieuwenhuijse
www.ptgui.com

On 13-09-2024 11:04, Bence Bánkúty wrote:
> Hi everyone,
>
> I’m currently working with PTGui to process a large number of 360°
> images, and I'm trying to automate the leveling process based on
> embedded pitch, yaw, and roll values (gyro data). The goal is to avoid
> manually adjusting each image, as I need to level thousands of images
> efficiently.
>
> Here's the issue:
>
> I've been using ExifTool to inject the following fields into the
> metadata of my 360° images:
>
> * GimbalRollDegree
> * GimbalYawDegree
> * GimbalPitchDegree
> * PoseHeadingDegrees
> * PoseRollDegrees
> * PosePitchDegrees
> * InitialViewHeadingDegrees
> * InitialViewPitchDegrees
> * InitialViewRollDegrees
> * FlightRollDegree
> * FlightYawDegree
> * FlightPitchDegree
> * Roll
> * RollAngle
> * PitchAngle
> * YawAngle
> * CameraYaw
> * CameraPitch
> * PoseRotationX
> * PoseRotationY
> * PoseRotationZ
> * AngleInfoRoll
> * AngleInfoYaw
>
> Despite successfully injecting these fields, none of them show up under
> the *Image Parameters* (Yaw, Pitch, Roll) in PTGui. However, if I
> manually enter the pitch, yaw, and roll values one by one in PTGui, the
> images are leveled correctly.
>
> What I've tried:
>
> * I’ve successfully leveled a few *drone images* in PTGui, where the
> same values were automatically recognized from the metadata without
> any issues.
> * I’ve also tried embedding multiple variations of the metadata fields
> but none seem to affect the Image Parameters automatically for my
> 360° images.
>
> My question:
>
> Is there a specific metadata structure or set of tags that PTGui expects
> for 360° images to automatically recognize the pitch, yaw, and roll
> values for leveling? Any advice or insight on how to streamline this
> process would be greatly appreciated, as I need to automate the leveling
> for thousands of images.
>
> Thanks in advance!
>
> Bence
>
> --
> You received this message because you are subscribed to the Google
> Groups "PTGui Support" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to ptgui+un...@googlegroups.com
> <mailto:ptgui+un...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ptgui/062f833c-d3c9-4298-b437-b82aeaf1fc8dn%40googlegroups.com <https://groups.google.com/d/msgid/ptgui/062f833c-d3c9-4298-b437-b82aeaf1fc8dn%40googlegroups.com?utm_medium=email&utm_source=footer>.

Bence Bánkúty

unread,
Sep 13, 2024, 5:46:11 AM9/13/24
to PTGui Support

Hi Joost,

Thanks again for your help earlier. I’ve successfully injected the relevant metadata fields into my 360° images, but PTGui still isn’t recognizing the pitch, yaw, and roll values automatically.

The values show up in ExifTool, and I’ve attached a screenshot to demonstrate, but they don’t seem to appear in PTGui’s Image Parameters. Manually inputting the values works perfectly, but given the volume of images I’m working with, I’m hoping to automate the process.

Could you provide further guidance on making PTGui recognize these values automatically? Also, I couldn’t access the http://www.dji.com/drone-dji/1.0/ namespace link you provided.

Képernyőkép 2024-09-13 114238.jpg

Thanks again for your help!Képernyőkép 2024-09-13 1145111.jpg

Best regards,
Bence

PTGui Support

unread,
Sep 13, 2024, 5:47:56 AM9/13/24
to pt...@googlegroups.com
Could you make an image available for download?

Kind regards,

Joost Nieuwenhuijse
www.ptgui.com

On 13-09-2024 11:46, Bence Bánkúty wrote:
> Hi Joost,
>
> Thanks again for your help earlier. I’ve successfully injected the
> relevant metadata fields into my 360° images, but PTGui still isn’t
> recognizing the pitch, yaw, and roll values automatically.
>
> The values show up in ExifTool, and I’ve attached a screenshot to
> demonstrate, but they don’t seem to appear in PTGui’s Image Parameters.
> Manually inputting the values works perfectly, but given the volume of
> images I’m working with, I’m hoping to automate the process.
>
> Could you provide further guidance on making PTGui recognize these
> values automatically? Also, I couldn’t access the
> http://www.dji.com/drone-dji/1.0/ namespace link you provided.
>
> Képernyőkép 2024-09-13 114238.jpg
>
> Thanks again for your help!Képernyőkép 2024-09-13 1145111.jpg
>
> Best regards,
> Bence
>
>
> On Friday 13 September 2024 at 11:19:40 UTC+2 PTGui Support wrote:
>
> Hi Bence,
>
> If you embed an XMP section with this namespace:
> http://www.dji.com/drone-dji/1.0/ <http://www.dji.com/drone-dji/1.0/>
>
> and make sure it contains these 6 fields:
>
> GimbalRollDegree
> GimbalYawDegree
> GimbalPitchDegree
> FlightRollDegree
> FlightYawDegree
> FlightPitchDegree
>
> then it should work. The Flight* fields should be present, but PTGui
> ignores the values.
>
> Instead of injecting metadata, you might also consider supplying a
> Papywizard file (File - Import - Papywizard). Or you can use a template
> with a predefined image arrangement and use the Batch Builder.
>
> Kind regards,
>
> Joost Nieuwenhuijse
> www.ptgui.com <http://www.ptgui.com>
> https://groups.google.com/d/msgid/ptgui/062f833c-d3c9-4298-b437-b82aeaf1fc8dn%40googlegroups.com <https://groups.google.com/d/msgid/ptgui/062f833c-d3c9-4298-b437-b82aeaf1fc8dn%40googlegroups.com> <https://groups.google.com/d/msgid/ptgui/062f833c-d3c9-4298-b437-b82aeaf1fc8dn%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/ptgui/062f833c-d3c9-4298-b437-b82aeaf1fc8dn%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "PTGui Support" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to ptgui+un...@googlegroups.com
> <mailto:ptgui+un...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ptgui/4a456955-9a62-4dcb-8d91-6a920f5fd003n%40googlegroups.com <https://groups.google.com/d/msgid/ptgui/4a456955-9a62-4dcb-8d91-6a920f5fd003n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Bence Bánkúty

unread,
Sep 13, 2024, 5:52:04 AM9/13/24
to PTGui Support

PTGui Support

unread,
Sep 13, 2024, 7:03:43 AM9/13/24
to pt...@googlegroups.com
Hi Bence,

This turns out to be a bug in PTGui.

Your image has XMP metadata, but no EXIF metadata. This is valid but it
is not common, and it turns out that PTGui ignores the XMP metadata if
there is no EXIF metadata.

The issue will be fixed in the next updates of PTGui 12 and 13.

As a workaround, add any EXIF tag to your image, for example EXIF:Software:

exiftool -EXIF:Software="xxx" 20240901_133803_Image_000000.jpg

Then it works.

Kind regards,

Joost Nieuwenhuijse
www.ptgui.com

On 13-09-2024 11:52, Bence Bánkúty wrote:
> sure, here it
> is:  https://drive.google.com/file/d/1cjS-NHmNHOMlMciB9CN8VTMxzp7zv-AB/view?usp=drive_link
>
> --
> You received this message because you are subscribed to the Google
> Groups "PTGui Support" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to ptgui+un...@googlegroups.com
> <mailto:ptgui+un...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ptgui/2fde5cf2-29a5-4b58-89cd-b28579e4b9f8n%40googlegroups.com <https://groups.google.com/d/msgid/ptgui/2fde5cf2-29a5-4b58-89cd-b28579e4b9f8n%40googlegroups.com?utm_medium=email&utm_source=footer>.

PTGui Support

unread,
Sep 13, 2024, 7:06:32 AM9/13/24
to pt...@googlegroups.com
By the way, http://www.dji.com/drone-dji/1.0/ is a 'namespace' in XMP.
It doesn't refer to an actual existing web page. It's correctly embedded
in your sample image.

Kind regards,

Joost Nieuwenhuijse
www.ptgui.com

On 13-09-2024 11:46, Bence Bánkúty wrote:
> Hi Joost,
>
> Thanks again for your help earlier. I’ve successfully injected the
> relevant metadata fields into my 360° images, but PTGui still isn’t
> recognizing the pitch, yaw, and roll values automatically.
>
> The values show up in ExifTool, and I’ve attached a screenshot to
> demonstrate, but they don’t seem to appear in PTGui’s Image Parameters.
> Manually inputting the values works perfectly, but given the volume of
> images I’m working with, I’m hoping to automate the process.
>
> Could you provide further guidance on making PTGui recognize these
> values automatically? Also, I couldn’t access the
> http://www.dji.com/drone-dji/1.0/ namespace link you provided.
>
> Képernyőkép 2024-09-13 114238.jpg
>
> Thanks again for your help!Képernyőkép 2024-09-13 1145111.jpg
>
> Best regards,
> Bence
>
>
> On Friday 13 September 2024 at 11:19:40 UTC+2 PTGui Support wrote:
>
> Hi Bence,
>
> If you embed an XMP section with this namespace:
> http://www.dji.com/drone-dji/1.0/ <http://www.dji.com/drone-dji/1.0/>
>
> and make sure it contains these 6 fields:
>
> GimbalRollDegree
> GimbalYawDegree
> GimbalPitchDegree
> FlightRollDegree
> FlightYawDegree
> FlightPitchDegree
>
> then it should work. The Flight* fields should be present, but PTGui
> ignores the values.
>
> Instead of injecting metadata, you might also consider supplying a
> Papywizard file (File - Import - Papywizard). Or you can use a template
> with a predefined image arrangement and use the Batch Builder.
>
> Kind regards,
>
> Joost Nieuwenhuijse
> www.ptgui.com <http://www.ptgui.com>
> --
> You received this message because you are subscribed to the Google
> Groups "PTGui Support" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to ptgui+un...@googlegroups.com
> <mailto:ptgui+un...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ptgui/4a456955-9a62-4dcb-8d91-6a920f5fd003n%40googlegroups.com <https://groups.google.com/d/msgid/ptgui/4a456955-9a62-4dcb-8d91-6a920f5fd003n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Bence Bánkúty

unread,
Sep 13, 2024, 7:07:44 AM9/13/24
to PTGui Support
it works with the workaround!! thank you so much!!

Bence Bánkúty

unread,
Sep 13, 2024, 7:53:26 AM9/13/24
to PTGui Support

Hi Joost,

Thanks again for your help earlier. I’ve successfully managed to import the images, and the pitch, yaw, and roll values from the XMP metadata are now visible in the Image Parameters section. However, I’ve run into a new issue: while the values are displayed correctly, PTGui seems to treat them as default values from the metadata, and they aren’t applied as corrections. The software won’t apply the orientation adjustments automatically.

Could you advise on how I can import the images in a way that PTGui applies the orientation corrections based on the metadata it detects, instead of treating them as defaults?

I appreciate your continued support!

Best regards,
Bence

PTGui Support

unread,
Sep 13, 2024, 7:56:45 AM9/13/24
to pt...@googlegroups.com
It works fine here.

Try starting a new project, load your image. Go to the Image Parameters
tab and verify that the angle are correct.

Now open the panorama editor.

Go back to Image Parameters, and change the yaw/pitch/roll to zero. You
should see the panorama editor change. This indicates the the
corrections were applied.

Kind regards,

Joost Nieuwenhuijse
www.ptgui.com

> www.ptgui.com <http://www.ptgui.com>
>
> On 13-09-2024 11:52, Bence Bánkúty wrote:
> > sure, here it
> > is:
> https://drive.google.com/file/d/1cjS-NHmNHOMlMciB9CN8VTMxzp7zv-AB/view?usp=drive_link <https://drive.google.com/file/d/1cjS-NHmNHOMlMciB9CN8VTMxzp7zv-AB/view?usp=drive_link>
> >
> > --
> > You received this message because you are subscribed to the
> Google
> > Groups "PTGui Support" group.
> > To unsubscribe from this group and stop receiving emails from
> it, send
> > an email to ptgui+un...@googlegroups.com
> > <mailto:ptgui+un...@googlegroups.com>.
> > To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/ptgui/2fde5cf2-29a5-4b58-89cd-b28579e4b9f8n%40googlegroups.com <https://groups.google.com/d/msgid/ptgui/2fde5cf2-29a5-4b58-89cd-b28579e4b9f8n%40googlegroups.com> <https://groups.google.com/d/msgid/ptgui/2fde5cf2-29a5-4b58-89cd-b28579e4b9f8n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/ptgui/2fde5cf2-29a5-4b58-89cd-b28579e4b9f8n%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "PTGui Support" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to ptgui+un...@googlegroups.com
> <mailto:ptgui+un...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ptgui/2bb49578-466f-43f8-925a-28a1f46f9b3dn%40googlegroups.com <https://groups.google.com/d/msgid/ptgui/2bb49578-466f-43f8-925a-28a1f46f9b3dn%40googlegroups.com?utm_medium=email&utm_source=footer>.

Bence Bánkúty

unread,
Sep 13, 2024, 8:32:59 AM9/13/24
to PTGui Support
After loading it into a new project it started working for me too.. thank you so much!!
Reply all
Reply to author
Forward
0 new messages