Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unexpected behavior with ICE settings not set but images successfully accessed #47

Open
Rdornier opened this issue Sep 20, 2024 · 0 comments

Comments

@Rdornier
Copy link

I was testing the migration of qpproject from our extension to this extension, which can be done very easily by the way, and I experienced a weird behavior : even if no settings were set for the ICE API an even if the args argument of the serverbuilder in the .qpproj file was empty, images could eventually be read, with ICE api !

I found this very weird and I investigate a bit to understand the behavior of the ICE connection and settings.

On one hand

  • I used a fresh computer, which didn't have this extension installed yet.
  • I installed this extension in QuPath
  • A new fresh server was created to connect to OMERO. No images were imported nor opened with that server before.

On the other hand

  • I updated a QuPath project, with images imported from OMERO using our OMERO-BIOP extension, in order to be readable with this extension.

This

        "builderType": "uri",
        "providerClassName": "qupath.ext.biop.servers.omero.raw.OmeroRawImageServerBuilder",
        "uri": "https://omero-server.epfl.ch/webclient/?show%3Dimage-47703",
        "args": [],

becomes this

        "builderType": "uri",
        "providerClassName": "qupath.ext.omero.core.imageserver.OmeroImageServerBuilder",
        "uri": "https://omero.epfl.ch/webclient/?show\u003dimage-47703",
        "args": [],

I don't add any parameters in the "args" for the moment.

  • This updated project was open in QuPath.
  • If I double-click on one image, I get an error message saying that QuPath cannot load this image, which is correct because nothing were set to connect to the server using ICE.

Attempt 1 : set ICE connection settings from the browser, without having args set

  • Now, I open the OMERO browser, set the right server and port for ICE connection and save them.
  • The args in the .qpproj file is empty.

qpomero-server-settings_set

  • I tried to open the same image again and it works. This is again the behavior I expected.

Attempt 2 : ICE connection settings reset to default and set args with connection parameters.

  • I first reset the ICE connection settings to defaule (i.e. Server address : "", Server Port : 0)
  • Connection settings are set in the .qpproj file
        "builderType": "uri",
        "providerClassName": "qupath.ext.omero.core.imageserver.OmeroImageServerBuilder",
        "uri": "https://omero.epfl.ch/webclient/?show\u003dimage-47703",
        "args": [ 
           "--pixelAPI",
           "Ice",
           "--serverAddress",
           "https://omero-server.epfl.ch",
           "--serverPort",
           "4064"
        ],
  • Opening the same image again works, and the ICE connection settings are updated according to the args values. This is again the behavior I expected.

Attempt 3 : Reset all connections settings and try to open again

  • By removing any connection settings from the args and from the browser GUI, the image cannot be open anymore, which was expected.

Attempts 4 : Importing an image from the OMERO browser

  • ICE Connection settings were set again from the browser GUI
  • A new image is imported in the QuPath project
  • Successfull import and server connection ; again expected.

Attempts 5 : Reset all connections settings and try to open again

  • All ICE connection settings were reset (args and browser GUI)
  • QuPath has been restarted and the project re-loaded
  • I try to open the first image... and it works, with the ICE api ! Which is something I don't understand because no ICE connection settings were set, neither in the args, neither in the browser GUI

qpomero-server-settings

        "builderType": "uri",
        "providerClassName": "qupath.ext.omero.core.imageserver.OmeroImageServerBuilder",
        "uri": "https://omero.epfl.ch/webclient/?show\u003dimage-47703",
        "args": [],

Discussion

From what I have tested, it seems that importing an image from the browser sets, somewhere and somehow, the server address for the ICE connection, which by-passes any other connection settings that are provided from args and from the browser GUI.
And this is true even if QuPath is restarted and even if a new project is loaded.

I wasn't expected such behavior ; for me, it should always grab the connection settings from either args in the .qpproj file or from the browser GUI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant