public static final List<PRSpecialElement> getPRSpecialElements(Collection<DicomSpecialElement> specialElements, String seriesUID, String sopUID, Integer dicomFrameNumber) { if (specialElements == null) { return Collections.emptyList(); } List<PRSpecialElement> prList = null; for (DicomSpecialElement element : specialElements) { if (element instanceof PRSpecialElement) { PRSpecialElement prElement = (PRSpecialElement) element; Attributes[] seq = TagD.getTagValue(prElement, Tag.ReferencedSeriesSequence, Attributes[].class); if (isSopuidInReferencedSeriesSequence(seq, seriesUID, sopUID, dicomFrameNumber)) { if (prList == null) { prList = new ArrayList<>(); } prList.add(prElement); } } } if (prList != null) { Collections.sort(prList, ORDER_BY_DATE); } return prList == null ? Collections.emptyList() : prList; } }
public static final List<DicomSpecialElement> getPRfromSopUID(String seriesUID, String sopUID, Integer frameNumber, List<DicomSpecialElement> studyElements) { List<DicomSpecialElement> filteredList = new ArrayList<>(); if (studyElements != null && seriesUID != null && sopUID != null) { for (DicomSpecialElement dicom : studyElements) { if (dicom != null && "PR".equals(TagD.getTagValue(dicom, Tag.Modality))) { //$NON-NLS-1$ Attributes[] seq = TagD.getTagValue(dicom, Tag.ReferencedSeriesSequence, Attributes[].class); if (isSopuidInReferencedSeriesSequence(seq, seriesUID, sopUID, frameNumber)) { filteredList.add(dicom); } } } } return filteredList; }
public static final RejectedKOSpecialElement getRejectionKoSpecialElement( Collection<DicomSpecialElement> specialElements, String seriesUID, String sopUID, Integer dicomFrameNumber) { if (specialElements == null) { return null; } List<RejectedKOSpecialElement> koList = null; for (DicomSpecialElement element : specialElements) { if (element instanceof RejectedKOSpecialElement) { RejectedKOSpecialElement koElement = (RejectedKOSpecialElement) element; if (isSopuidInReferencedSeriesSequence(koElement.getReferencedSOPInstanceUIDObject(seriesUID), sopUID, dicomFrameNumber)) { if (koList == null) { koList = new ArrayList<>(); } koList.add(koElement); } } } if (koList != null) { // return the most recent Rejection Object Collections.sort(koList, ORDER_BY_DATE); return koList.get(0); } return null; }
@Override public boolean passes(DicomImageElement dicom) { String seriesInstanceUID = TagD.getTagValue(dicom, Tag.SeriesInstanceUID, String.class); if (dicom == null || seriesInstanceUID == null) { return false; } String sopInstanceUID = TagD.getTagValue(dicom, Tag.SOPInstanceUID, String.class); Integer frame = TagD.getTagValue(dicom, Tag.InstanceNumber, Integer.class); return isSopuidInReferencedSeriesSequence(getReferencedSOPInstanceUIDObject(seriesInstanceUID), sopInstanceUID, frame); } };