Orthanc Explorer 2 speed

Hi,

Congratulations on the initial release of OE2! I find the speed to be slow enough that it seems to the user that it’s broken. Either the UI probably needs some indication that “something is happening”, or the speed issue needs to be resolved; what is it doing differently than the original UI?

We have ~60k studies in our Orthanc (I’m honestly not sure if that makes us a small site or a big one?), and if I type something into Patient name, it takes 20-30 seconds before anything shows up. By contrast, if I type the same thing into Patient Name in the original UI and hit Do Lookup, I get the expected results in under a second.

Daniel Drucker

Hi Daniel,

Currently (v 0.2.2), OE2 searches the DB as you type while the original UI searches the DB only once when you hit “Do Lookup”. So far, I’ve been testing only with small DBs (less than 5000K studies) and it was pretty reactive. However, I was expecting it to become less reactive with larger DBs so I’m planning to implement mitigations for that (like different modes to trigger the search).
The find query is also a bit slower on OE2 because we display the #series and “ModalitiesInSeries” directly on the study list which needs a bit more processing. I can certainly delay the display of these columns.

I’m building a large test DB on my dev machine in order to test it in more real-life conditions.

BTW what DB are you using ?

If it’s fine for you, I might ask you to test some improvements on your setup too …

Best regards,

Alain.

That makes sense.
I am using the Docker version of orthanc (osimis/orthanc:22.5.2), using docker-compose with postgres:13.1. The db runs on the same server and is SSD-backed.

I would be happy to do UI testing!

Hi Daniel,

I have just released v0.3.2 (release notes) of OE2 that includes 2 configurations for “large DBs”:

// Default settings are ok for “small” Orthanc Databases. For large databases, it is recommended to use these settings:
// “StudyListSearchMode”: “search-button”
// “StudyListEmptyIfNoSearch”: true

It is available in Docker images osimis/orthanc:master-unstable. If you are using env var for configuration, here there are ready to copy:

ORTHANC__ORTHANC_EXPLORER_2__UI_OPTIONS__STUDY_LIST_SEARCH_MODE: “search-button”
ORTHANC__ORTHANC_EXPLORER_2__UI_OPTIONS__STUDY_LIST_EMPTY_IF_NO_SEARCH: “true”

I have tested it on an Orthanc with 250K studies:
It takes around 1-3s to display the list of studies.

Please tell me how it behaves on your end…

Alain.

And I have just triggered the 22.6.0 build including this version. Note that it can take up to an hour or two to build and run the tests…

Here’s one bug: If you hit the x-in-a-circle, that immediately freezes the entire Orthanc instance, apparently because that triggers a SELECT of everything in the entire database!?

Hi Daniel,

That’s the purpose of the StudyListEmptyIfNoSearch: “true” configuration: it should avoid empty searches on large DBs.

With this config, when I click on the x, no queries are sent to Orthanc. You can check the real configuration received by the front-end in the ‘configuration’ request:
image.png

HTH

Alain.

Oops - I had StudyListEmptyIfNoSearch as a top-level config item, rather than nested under OrthancExplorer2/UiOptions.

This is working nicely now. It’s obviously still rough around the edges UI wise and doesn’t do as much as the main UI (e.g., no actions like dicom send), but it’s definitely nice for exploring!

Something I’d love to see - once you add actions - which the main UI doesn’t do is the ability to multiple-select series and send those series to a dicom destination. That’s one thing my users do a lot and always have to resort to retrieving to Osirix and then sending from there.

Daniel

Multiple selection is in the roadmap (Aug - Sept ?).

Dicom Send should be there already, provided that the /modalities/ route returns a list of modalities:
image.png

Hmm. I do not see that.
oe2.jpg

oops. Fixed. Thanks for beta testing :wink:

oe2.jpg