* External Email - Caution * |
The materials in this message are private and may contain Protected Healthcare Information or other information of a sensitive nature. If you are not the intended recipient, be advised that any unauthorized use, disclosure, copying or the taking of any action in reliance on the contents of this information is strictly prohibited. If you have received this email in error, please immediately notify the sender via telephone or return mail.
Here’s something you can try. I’ve attached a really simple Groovy script to this post. You’ll need to install Groovy to run it, but that should be all you need (you can find instructions for installing Groovy here; I use SDKMAN myself, fwiw). Once you have Groovy installed, you can run this script like so:
groovy ValidateDicom.groovy /path/to/your/DICOM/data
The script will go to the folder you provide and walk the directory tree. Any files with the dcm extension that it finds it tries to open and read. That’s all it does, which should be sufficient because your stacktrace indicates that the operation is failing just on the call to DicomInputStream.readDicomObject().
This will write out results to a file name <folder>-validation.log. Files with read errors will look something like this:
ERROR IN /path/to/your/DICOM/data/1/1.dcm: java.lang.NegativeArraySizeException "null"
This won’t tell you what is wrong with those files, but will at least help you identify which ones are causing trouble.
--
Rick Herrick
XNAT Architect/Developer
Computational Imaging Laboratory
Washington University School of Medicine
To view this discussion on the web visit https://groups.google.com/d/msgid/xnat_discussion/CH2PR02MB67104A97924B38D2EFF250F9FE759%40CH2PR02MB6710.namprd02.prod.outlook.com.