Hi,
is there a way to add/delete/modify instance metatags in LUA functions before rerouting to another orthanc sever ?
Also, I can’t find a list and description of possible metatags, except in the lua examples.
Thanks
Marc
Hi,
is there a way to add/delete/modify instance metatags in LUA functions before rerouting to another orthanc sever ?
Also, I can’t find a list and description of possible metatags, except in the lua examples.
Thanks
Marc
Hello,
The metadata can be accessed from Lua with the following functions:
The metadata internal to Orthanc are listed at the following location:
https://bitbucket.org/sjodogne/orthanc/src/Orthanc-0.9.1/OrthancServer/ServerEnumerations.h#ServerEnumerations.h-116
You can define custom metadata in the configuration file (section “UserMetadata”).
HTH,
Sébastien-
Thanks !
When instance is rerouted between two orthanc servers, are metatags sent with dicom data, or is each server maintaining its own local metatags ?
Marc
No, metadata are not propagated between Orthanc servers, they are indeed local to each instance of Orthanc.
Ok, thanks.
So I will use DICOM private tags to exchange datas between servers.
As we talk about it : private tags in DICOM must be declared with a Private Creator ID (PCID), to help find the tag used.
The tag can change from one file to another, because of already used tags by other manufacturers, so you can’t just assign content to a private tag the way you do in the different LUA examples.
I think it would be a good thing to update the examples with realistic use cases
By the way, it could be usefull to have functions to insert or find private tags by PCID, with automatic management of tag location.
For example :
addPrivateTags(block, pcid, tags)
could search the first free group in the passed block (or the first group with the passed PCID if it exists), set the PCID for the group, and insert tags - as a table of key/value pairs - in the elements of this group.
getPrivateTags(block, pcid)
could return a table ok key/value pairs of all the private tags in the passed block for the passed PCID.
getPrivateTags(block, pcid)
could return a table ok key/value pairs of all the private tags in the passed block and the group of the passed PCID.
removePrivateTags(block, pcid)
could remove all the private tags from the passed block in the group with passed PCID
This way, you could edit private tags in DICOM without even knowing which groups or elements are free or used by others.