protected void doSomethingWithDicomFileOnMedia(String mediaFileName) { // logLn("OurFirstPassMediaImporter.doSomethingWithDicomFile(): "+mediaFileName); try { DicomInputStream i = new DicomInputStream(new File(mediaFileName)); AttributeList list = new AttributeList(); list.read(i); i.close(); String sopInstanceUID = Attribute.getSingleStringValueOrEmptyString(list, TagFromName.SOPInstanceUID); if (sopInstanceUID.length() > 0) { String studyInstanceUID = Attribute.getSingleStringValueOrEmptyString(list, TagFromName.StudyInstanceUID); if (studyInstanceUID.length() > 0) { mapOfSOPInstanceUIDToStudyInstanceUID.put(sopInstanceUID, studyInstanceUID); } else { throw new DicomException("Missing StudyInstanceUID"); } { CompositeInstanceContext cic = new CompositeInstanceContext(list, false /*forSR*/); // remove all except patient context ... cic.removeStudy(); cic.removeSeries(); cic.removeEquipment(); cic.removeFrameOfReference(); cic.removeInstance(); cic.removeSRDocumentGeneral(); Group group = addToGroups(list); // System.err.println("group = "+group); mergePatientContext(group, cic); } } else { throw new DicomException("Missing SOPInstanceUID"); } } catch (Exception e) { logLn("Error: File " + mediaFileName + " exception " + e); } }