Extend Modalities List in Orthanc Query/Retrieve Panel

Orthanc Explorer / Query/Retrieve Page 1, list of modalities displays only some. Can this list be configured - we are missing ‘XC’ for external Camera.
Running orthanc 1.10 on ubuntu 22.04 without docker.
TIA

It seems that the list cannot be configured “on the fly”, and the only way to extend that list is to recompile from changed sources. In OrthancExplorer/explorer.html, there is this part:

    <div data-role="fieldcontain" id="qr-modalities">
      <div data-role="fieldcontain">
        <fieldset data-role="controlgroup" data-type="horizontal">
          <legend>Modalities:</legend>
          <input type="checkbox" name="CR" id="qr-cr" class="custom" /> <label for="qr-cr">CR</label>
          <input type="checkbox" name="CT" id="qr-ct" class="custom" /> <label for="qr-ct">CT</label>
          <input type="checkbox" name="MR" id="qr-mr" class="custom" /> <label for="qr-mr">MR</label>
          <input type="checkbox" name="NM" id="qr-nm" class="custom" /> <label for="qr-nm">NM</label>
          <input type="checkbox" name="PT" id="qr-pt" class="custom" /> <label for="qr-pt">PT</label>
          <input type="checkbox" name="US" id="qr-us" class="custom" /> <label for="qr-us">US</label>
          <input type="checkbox" name="XA" id="qr-xa" class="custom" /> <label for="qr-xa">XA</label>
          <input type="checkbox" name="DR" id="qr-dr" class="custom" /> <label for="qr-dr">DR</label>
          <input type="checkbox" name="DX" id="qr-dx" class="custom" /> <label for="qr-dx">DX</label>
          <input type="checkbox" name="MG" id="qr-mg" class="custom" /> <label for="qr-mg">MG</label>
        </fieldset>
      </div>
    </div>

Hi,

I’ve just added it . That will be part of the next release.

BR,

Alain

Alain, do you have any plans (although I will understand perfectly well if those do not fit your “philosophy” of Orthanc development) to move these things into some config file, like JSON etc.? (By the way, I would probably consider the same approach with regard to the list of modalities that can be selected in the “Modalities in Study” column.)

Hello,

No, this is not plan of our development, as the Orthanc Explorer is foremost targeted at developers and core administrators. The list of core configuration options of Orthanc is already becoming very long, we don’t want to make it too complex. Consider using Orthanc Explorer 2 in the place.

Regards,
Sébastien-

Thank you for your reply, Sébastien. I understand your targeting etc. That said, the last part of my previous message, i.e. about modalities that can be selected in the “Modalities in Study” column, was precisely about Orthanc Explorer 2.
I would dare say that it is not so much about user-friendliness but about some general logic of the UI. In “Modalities in Study”, there are these options: “all”, “None” (by the way, I would probably either capitalize or not capitalize both), and 14 specific modality types. Suppose the topic starter connects an XC modality, which sends studies to Orthanc in full compliance with DICOM protocol. Please correct me if I am wrong, but I believe Orthanc will accept those studies and include them in the database. In that case, if a user uses Orthanc Explorer 2 and selects “all” for “Modalities in Study”, that user will see all studies, including XC, right? If the user unchecks all those 14 checkboxes, then “None” is checked automatically. Does it mean that such user will see no studies at all, or will he or she still see XC studies and other studies (if there are any) that do not belong to any of those 14 specific modality types (like, say, IO or RF)?

I let @alainmazy answer, as he’s the guy behind Orthanc Explorer 2.

The commit Alain submitted yesterday is only related to Orthanc Explorer, and Orthanc Explorer was the topic of my previous answer.

1 Like

This a not directly related, but have you ever thought of doing localizations for ELVISH (Quenya). That is actually is a language. I once held a delusion that I was a Blue Wizard. There is a photo that sort of suggests that. i.e. I thought I was a Blue Wizard and I must have been delusional at the time, because I am pretty I’m not, but it would be nice be one.

WTF ??? Can we focus on Orthanc on this discussion group ? There are people here spending their time to read and answer questions so please, respect their time.

I forgot to mention that this configuration already exists in Orthanc Explorer 2:

        // The modalities to display in the Modalities filter dropdown in the Study List
        "ModalitiesFilter": [
            "CR", "CT", "DR", "DX", "MG", "MR", "NM", "OT", "PT", "PX", "SEG", "SR", "US", "XA"
        ],
1 Like

OK, sorry. I’ll go look at other forums for awhile.

Thank you so much, Alain. Still, would you agree that the logic of “all”/“None” (checked automatically) alongside the list of specific categories is a bit problematic? (I described a model situation in my previous post.)

Actually, when you select “All”, there are no filtering at all performed on the modality which means that you really get them all including the ones from modalities that are not listed.

With “None”, you won’t get any results since we filter on the “NONE” modality that does not exist.

HTH,

Alain

Thank you again, Alain. In this case, wouldn’t it make sense to consider one change? Namely, when a user unchecks all those listed modalities, would it be possible not to have “None” checked automatically? I mean, suppose there are many “mass-scale” studies like MR etc., and a small number of studies from modalities of more special types, not listed within those 14 (like XC or IO). In this situation, maybe it would not make sense to change the configuration under “ModalitiesFilter” by adding all those other types to the list. However, it would be good if users would still be able to select those studies of unlisted types, as a single set (a relatively small one), by simply unchecking the 14 checkboxes without having “None” checked automatically (and, accordingly, without filtering studies by the non-existent “NONE” modality)?
Sorry if it sounds like a stupid idea.

Hi Maksym,

I understand your point but this is actually not possible to implement it without a major rewrite of the “find” functionality in Orthanc. In the current Orthanc API (or in DICOM C-Find) there’s no such thing of "WHERE Modality NOT IN ("MR", "CT", ...)"

So, right now, the only solution for the user is to list as many modalities as possible in the ModalitiesFilter configuration. Note that I have recently extended this list to "CR", "CT", "DR", "DX", "KO", "MG", "MR", "NM", "OT", "PR", "PT", "PX", "RTDOSE", "RTSTRUCT", "RTPLAN", "SEG", "SR", "US", "XA", "XC".

Best regards,

Alain

1 Like