findscu - E: Bad override key/path, or Data dictionary missing?

All other questions regarding DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
elijahrockers
Posts: 4
Joined: Mon, 2021-07-26, 08:57

findscu - E: Bad override key/path, or Data dictionary missing?

#1 Post by elijahrockers »

I downloaded and installed dcmtk (x86_64 static, on CentOS 7) and am also using a test PACS system provided by my institution. Trying to get a query working with findscu, and got this query from someone else at my institution:

findscu -v -S -aet $MY_AE -aec $PACS_AE $PACS_IP $PACS_PORT -k 0010,0020=$MRN -k StudyInstanceUID -k QueryRetrieveLevel=STUDY -k 0008,0060="$MODALITY" -k 0008,0020=$DATE -k 0020,0062 -k 0010,0010 -k 0008,0030 > DATAINFO.txt

But it gives me a Bad override key/path error on "StudyInstanceUID". I tried a simpler query with just modality:

findscu -v -S -aet $MY_AE -aec $PACS_AE $PACS_IP $PACS_PORT -k 0008,0060="$MODALITY" > DATAINFO.txt

And got a "Data dictionary missing" error.

Any clues as to how I might be able to get this working?

Michael Onken
DCMTK Developer
Posts: 2048
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

Re: findscu - E: Bad override key/path, or Data dictionary missing?

#2 Post by Michael Onken »

Hi,

What happens if you remove -k StudyInstanceUID?

If the next -k option with QueryRetieveLevel triggers the same error, maybe the dictionary is not loaded? Try using the tag numbers instead of tag names and see whether the problem goes away.

If its the dictionary issue, set DCMDICTPATH environment variable to file path of file dicom.dic that ships with DCMTK. Or recompile DCMTK with builtin dictionary.

Best regards,
Michael

elijahrockers
Posts: 4
Joined: Mon, 2021-07-26, 08:57

Re: findscu - E: Bad override key/path, or Data dictionary missing?

#3 Post by elijahrockers »

Thanks very much. Including the dicom dictionary fixed the issue. But now I have a question about movescu, for example

movescu -od $DATAFOLDER -v --call $AEC --study --aetitle $AET --move $AET --port $PORT -k 0008,0052=STUDY -k 0020,000D=$hostuid $IP $PORT

I would like to use --output-directory and copy the images specified by $hostuid directly to my file system. The PACS has "AET_A" whitelisted, and this machine already has a separate application using that AE Title. I tried using the same AE Title (so I don't have to go through the whitelist process again), but the images were sent to that other application instead of the output directory I specified.

What's the proper way to get the images sent to the --output-directory using movescu?

Michael Onken
DCMTK Developer
Posts: 2048
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

Re: findscu - E: Bad override key/path, or Data dictionary missing?

#4 Post by Michael Onken »

Hi,

not sure if I understand the question correctly, but you cannot re-use the same AE Title for another tool on the same system, or on any system.

The PACS has a lookup table for destination AE Titles, so if you tell the PACS to send to AE title "AE_A" (for example), it looks into the lookup table, finds the IP address and port and connects there. The PACS does not care that you call yourself "AE_A" when you connect to the PACS for retrieving the images. It just looks at the destination AE title and its (usually manually configured) lookup table.

So every potential destination AE Title must be configured with IP and port on the PACS.

Best,
Michael

elijahrockers
Posts: 4
Joined: Mon, 2021-07-26, 08:57

Re: findscu - E: Bad override key/path, or Data dictionary missing?

#5 Post by elijahrockers »

Yeah, I know it's a bit of a hack attempt, but I am using the same machine for both dcmtk and the other application. So I have the same IP, and with movescu I can specify my AE and port. So presumably, if nothing else, I could shut down my other application and then be able to use movescu with the same attributes. Does that sound right?

Just to followup, I did shut down the other receiver and tried this. But I got this error:
movescu: dl-call-libc-early-init.c:37: _dl_call_libc_early_init: Assertion `sym != NULL' failed.
Aborted (core dumped)

I suspect this is because I am using the static binaries and may need to compile the source code myself, as I didn't see any binaries for CentOS 7

Michael Onken
DCMTK Developer
Posts: 2048
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

Re: findscu - E: Bad override key/path, or Data dictionary missing?

#6 Post by Michael Onken »

elijahrockers wrote: Tue, 2021-08-24, 21:26 Yeah, I know it's a bit of a hack attempt, but I am using the same machine for both dcmtk and the other application. So I have the same IP, and with movescu I can specify my AE and port. So presumably, if nothing else, I could shut down my other application and then be able to use movescu with the same attributes. Does that sound right?
Yes!
elijahrockers wrote: Tue, 2021-08-24, 21:26 Just to followup, I did shut down the other receiver and tried this. But I got this error:
movescu: dl-call-libc-early-init.c:37: _dl_call_libc_early_init: Assertion `sym != NULL' failed.
Aborted (core dumped)

I suspect this is because I am using the static binaries and may need to compile the source code myself, as I didn't see any binaries for CentOS 7
Maybe you can try the dynamic library binaries that we provide on dcmtk.org? Otherwise right, you would have to compile yourself (which is usually also quickly done).

Best regards,
Michael

elijahrockers
Posts: 4
Joined: Mon, 2021-07-26, 08:57

Re: findscu - E: Bad override key/path, or Data dictionary missing?

#7 Post by elijahrockers »

Michael,

Thanks for your help. Compiled the dcmtk source code (surprisingly painless once I realized I had to yum install cmake3 instead of cmake) and everything worked according to expectations when I shut down the other application.

Cheers!

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], Bing [Bot] and 1 guest