C-Find fails on unknown Specific Character Set 'ISO 2022 IR 6\ISO 2022 IR 100'

Hi,

We sometimes receive studies with the Specific Character Set ‘ISO 2022 IR 6\ISO 2022 IR 100’ in our dcm4chee pacs, which we query using Orthanc. Unfortunately, Orthanc does not recognize this specific character set and fails with the message ‘Unsupported value for the SpecificCharacterSet (0008,0005) tag: “ISO 2022 IR 6\ISO 2022 IR 100”’. As a result, the entire C-Find query fails.

My question is:

  1. Is this desired behaviour, because this specific character set is not standard DICOM?

Or:
2) Should Orthanc fall back to a known default encoding based on one of the two charcter sets in this combined character set? In another post, tcheever suggested such a fallback to default encoding.

Best,
Daan

Hi Daan,

I confirm that, right now, Orthanc does not always handle these files correctly. I already have a few items in my todo about this topic but, if you could share an anonymized file with this Character Set, that would be great.

Best regards,

Alain

Hi Alain,

Thanks for your swift reply. You can download one of our anonymized studies giving problems using this link: HiDrive

My main programming language is C++, so if I can contribute, please let me know.

Cheers,
Daan

Hi Daan,

I have just implemented a quick fix. I have tested it with dcm4Chee by performing a C-Find from Orthanc and this seems to work.

Best regards,

Alain.

1 Like

Hi Alain,

Thanks a lot for looking into it and for implementing the quick fix. Today, I found some time to build the latest Orthanc code including the fix. This all worked and I would love to try it out, but I could not find instructions on how to build the ‘OrthancInstaller-Win64-latest.exe’ (We use the native version of Orthanc). Do you know if I can create one myself, possibly using CPack/other, or is it wiser to wait for the next stable release?

Best regards,
Daan

Hi Daan,

The source for the Windows installer resides here:

CreateInstaller.py is the entry point, docker is needed for the build process.

Regards
Walco

1 Like

Hi Walco,

Thanks you for the pointing me to the Windows installer source. I’ve checked it out and spent some time reading the NOTES.txt, the ciBuildWindowsInstaller.sh script and several other files for clues. However, I am not entirely sure how to build the Win64 installer of the latest ‘unstable’ version containing the fix. I have tried using the following to build the of the latest commit: ‘docker build --progress=plain -t installer-builder-64 -f Dockerfile --build-arg VERSION=$version --build-arg PLATFORM=64 --build-arg VERSION=default …’ However, this fails. Could it be that there is something wrong with my use of the VERSION parameter? I have considered reverse-engineering the build scripts for an answer, but I figured it might be more productive to ask how it is intended to be used.

Best,
Daan

Hi Daan,

Actually all these build scripts are quite complex to use and they have not been adapted (yet) to produce a nightly installer build. Above all, they do not actually build Orthanc itself and they rely on our CI for that.

So, I would say that, right now, the easiest way is to replace your Orthanc executable manually by this one that was built last night.

HTH,

Alain.

2 Likes

Hi Alain,

Bingo! Installing the latest stable Orhanc and replacing the Orthanc executable did the trick.

Furthermore, I can confirm that your quick fix for the “ISO 2022 IR 6\ISO 2022 IR 100” specific character set not being recognized solved the issues we experienced. This will save us a lot of time processing one of our studies.

Again, thank you very much for your quick support and for helping us out.

Best regards,
Daan

1 Like