[BUG] Panorama images are rendered as photospheres #1165

Closed
opened 2026-02-05 00:42:21 +03:00 by OVERLORD · 15 comments
Owner

Originally created by @AndreAle94 on GitHub (Jul 29, 2023).

The bug

The panorama feature introduced in the latest release is loading all images with ProjectionType=equirectangular EXIF tag as photospheres (360 images). This is working fine for photospheres but not for standard panoramas.

See the example below (taken with GCam):

  • Original image:
    PXL_20220830_122740379 PANO

  • How it's rendered:
    immagine

Not sure the library used is compatible with non-360 images, but maybe it's better to avoid rendering this type of images in 360 mode. In my opinion, a possible approach could be checking if <XMP-GPano:IsPhotosphere>True</XMP-GPano:IsPhotosphere> tag is present in metadata.

The OS that Immich Server is running on

Debian

Version of Immich Server

v1.71.0

Version of Immich Mobile App

v1.71.0

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

not relevant to the issue

Your .env content

not relevant to the issue

Reproduction steps

1.take a simple panorama image with Google Camera and upload it via web
2.open the image in the web application, it will be loaded as a 360 image

Additional information

No response

Originally created by @AndreAle94 on GitHub (Jul 29, 2023). ### The bug The panorama feature introduced in the latest release is loading all images with `ProjectionType=equirectangular` EXIF tag as photospheres (360 images). This is working fine for photospheres but not for standard panoramas. See the example below (taken with GCam): - Original image: ![PXL_20220830_122740379 PANO](https://github.com/immich-app/immich/assets/15969021/ee8cb50a-36aa-40da-b968-20d34335cae7) - How it's rendered: ![immagine](https://github.com/immich-app/immich/assets/15969021/c2d7c611-7862-4c88-be54-0817589558ab) Not sure the library used is compatible with non-360 images, but maybe it's better to avoid rendering this type of images in 360 mode. In my opinion, a possible approach could be checking if `<XMP-GPano:IsPhotosphere>True</XMP-GPano:IsPhotosphere>` tag is present in metadata. ### The OS that Immich Server is running on Debian ### Version of Immich Server v1.71.0 ### Version of Immich Mobile App v1.71.0 ### Platform with the issue - [X] Server - [X] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML not relevant to the issue ``` ### Your .env content ```Shell not relevant to the issue ``` ### Reproduction steps ```bash 1.take a simple panorama image with Google Camera and upload it via web 2.open the image in the web application, it will be loaded as a 360 image ``` ### Additional information _No response_
Author
Owner

@alextran1502 commented on GitHub (Jul 29, 2023):

@dmitry-brazhenko Can you help take a look at this issue? Thank you

@alextran1502 commented on GitHub (Jul 29, 2023): @dmitry-brazhenko Can you help take a look at this issue? Thank you
Author
Owner

@dmitry-brazhenko commented on GitHub (Jul 29, 2023):

I will have a look

@dmitry-brazhenko commented on GitHub (Jul 29, 2023): I will have a look
Author
Owner

@dmitry-brazhenko commented on GitHub (Jul 29, 2023):

Well I understood the problem. Looks like that the viewer that I used is not the best one :(

Thank you so much for reporting @AndreAle94

I will explore other panorama viewers and will update it

@dmitry-brazhenko commented on GitHub (Jul 29, 2023): Well I understood the problem. Looks like that the viewer that I used is not the best one :( Thank you so much for reporting @AndreAle94 I will explore other panorama viewers and will update it
Author
Owner

@dmitry-brazhenko commented on GitHub (Jul 29, 2023):

We can assign this bug to me - I will do my best to fix it

@dmitry-brazhenko commented on GitHub (Jul 29, 2023): We can assign this bug to me - I will do my best to fix it
Author
Owner

@dominikheinz commented on GitHub (Jan 23, 2024):

@dmitry-brazhenko Hey, I was wondering if you had this time to look into this issue yet?
What photosphere library is currently being used? This one seems pretty promising: https://photo-sphere-viewer.js.org/

(Although, I am not sure if it will also work with partial photospheres/panormas that are not fully enclosed, as shown in the linked issue above).

@dominikheinz commented on GitHub (Jan 23, 2024): @dmitry-brazhenko Hey, I was wondering if you had this time to look into this issue yet? What photosphere library is currently being used? This one seems pretty promising: https://photo-sphere-viewer.js.org/ (Although, I am not sure if it will also work with partial photospheres/panormas that are not fully enclosed, as shown in the linked issue above).
Author
Owner

@alex-007 commented on GitHub (Feb 1, 2024):

@dmitry-brazhenko Hey, I was wondering if you had this time to look into this issue yet? What photosphere library is currently being used? This one seems pretty promising: https://photo-sphere-viewer.js.org/

(Although, I am not sure if it will also work with partial photospheres/panormas that are not fully enclosed, as shown in the linked issue above).

Actually it works with partial panoramas. Here is the demo https://photo-sphere-viewer.js.org/demos/basic/cropped-panorama.html

@alex-007 commented on GitHub (Feb 1, 2024): > @dmitry-brazhenko Hey, I was wondering if you had this time to look into this issue yet? What photosphere library is currently being used? This one seems pretty promising: https://photo-sphere-viewer.js.org/ > > (Although, I am not sure if it will also work with partial photospheres/panormas that are not fully enclosed, as shown in the linked issue above). Actually it works with partial panoramas. Here is the demo https://photo-sphere-viewer.js.org/demos/basic/cropped-panorama.html
Author
Owner

@dmitry-brazhenko commented on GitHub (Feb 1, 2024):

Hi!

Thanks for sharing.
As far as I see, Photo-Sphere-Viewer is not compatbile with svelte. I am not very good in frontend technologies. Is it possible to integrate it if there is no svelte package?

I will check it myself, but advice is appreciated

@dmitry-brazhenko commented on GitHub (Feb 1, 2024): Hi! Thanks for sharing. As far as I see, Photo-Sphere-Viewer is not compatbile with svelte. I am not very good in frontend technologies. Is it possible to integrate it if there is no svelte package? I will check it myself, but advice is appreciated
Author
Owner

@alex-007 commented on GitHub (Feb 2, 2024):

@dmitry-brazhenko I know nothing about svelte. But I googled and see an example how to use photo sphere viewer and sveltekit here. May be this would be helpful

@alex-007 commented on GitHub (Feb 2, 2024): @dmitry-brazhenko I know nothing about svelte. But I googled and see an example how to use photo sphere viewer and sveltekit [here](https://www.sanity.io/templates/sanity-template-sveltekit-photo-sphere-viewer). May be [this](https://github.com/sachinsancheti1/sanity-template-sveltekit-photo-sphere-viewer/blob/main/app/src/lib/Virtual.svelte) would be helpful
Author
Owner

@lynrayy commented on GitHub (Feb 9, 2024):

And some photospheres rendered wrong because they are not fully 360 captured and algorithm stitches existing parts together over black uncaptured areas

@lynrayy commented on GitHub (Feb 9, 2024): + And some photospheres rendered wrong because they are not fully 360 captured and algorithm stitches existing parts together over black uncaptured areas
Author
Owner

@dmitry-brazhenko commented on GitHub (Feb 9, 2024):

Seems I understood how to fix this. I am looking into it

@dmitry-brazhenko commented on GitHub (Feb 9, 2024): Seems I understood how to fix this. I am looking into it
Author
Owner

@dmitry-brazhenko commented on GitHub (Feb 9, 2024):

2024-02-09_12-10-28

@dmitry-brazhenko commented on GitHub (Feb 9, 2024): ![2024-02-09_12-10-28](https://github.com/immich-app/immich/assets/61410067/fbe4317e-7cd0-486e-86c8-ee164f56959b)
Author
Owner

@dmitry-brazhenko commented on GitHub (Feb 9, 2024):

Here is PR with a fix: https://github.com/immich-app/immich/pull/6992

I was able to utilize Photo-Sphere-Viewer and it is more flexbile viewer

@dmitry-brazhenko commented on GitHub (Feb 9, 2024): Here is PR with a fix: https://github.com/immich-app/immich/pull/6992 I was able to utilize Photo-Sphere-Viewer and it is more flexbile viewer
Author
Owner

@nicoKoehler commented on GitHub (Feb 11, 2024):

@dmitry-brazhenko hey has this been rolled into the docker image yet? Last update there is from 11 days ago. Facing the same issue right now in Immich, so I am wondering when this would be available.

@nicoKoehler commented on GitHub (Feb 11, 2024): @dmitry-brazhenko hey has this been rolled into the docker image yet? Last update there is from 11 days ago. Facing the same issue right now in Immich, so I am wondering when this would be available.
Author
Owner

@dmitry-brazhenko commented on GitHub (Feb 11, 2024):

Hello @nicoKoehler!

I am just contributor to immich, not maintainer. Usually they release every 1-2 weeks, but I just merged the changed 2 days ago.
Here is a release history: https://github.com/immich-app/immich/releases

@dmitry-brazhenko commented on GitHub (Feb 11, 2024): Hello @nicoKoehler! I am just contributor to immich, not maintainer. Usually they release every 1-2 weeks, but I just merged the changed 2 days ago. Here is a release history: https://github.com/immich-app/immich/releases
Author
Owner

@nicoKoehler commented on GitHub (Feb 11, 2024):

@dmitry-brazhenko thank you for the answer. I saw your merge but did not know what the release schedule was. I will keep an eye out for the new version then.

@nicoKoehler commented on GitHub (Feb 11, 2024): @dmitry-brazhenko thank you for the answer. I saw your merge but did not know what the release schedule was. I will keep an eye out for the new version then.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#1165