private MediaSeriesGroup parsePatient(Attributes dcmPatient, DicomDirReader reader) { MediaSeriesGroup patient = null; try { PatientComparator patientComparator = new PatientComparator(dcmPatient); String patientPseudoUID = patientComparator.buildPatientPseudoUID(); patient = dicomModel.getHierarchyNode(MediaSeriesGroupNode.rootNode, patientPseudoUID); if (patient == null) { patient = new MediaSeriesGroupNode(TagD.getUID(Level.PATIENT), patientPseudoUID, DicomModel.patient.getTagView()); DicomMediaUtils.writeMetaData(patient, dcmPatient); dicomModel.addHierarchyNode(MediaSeriesGroupNode.rootNode, patient); } parseStudy(patient, dcmPatient, reader); } catch (Exception e) { LOGGER.error("Cannot read DICOMDIR !", e); //$NON-NLS-1$ } return patient; }
@Override public MediaSeriesGroup getParent(MediaSeriesGroup node, TreeModelNode modelNode) { if (null != node && modelNode != null) { if (node.getTagID().equals(modelNode.getTagElement())) { return node; } synchronized (model) { Tree<MediaSeriesGroup> tree = model.getTree(node); if (tree != null) { Tree<MediaSeriesGroup> parent; while ((parent = tree.getParent()) != null) { if (parent.getHead().getTagID().equals(modelNode.getTagElement())) { return parent.getHead(); } tree = parent; } } } } return null; }
if (patient == null) { patient = new MediaSeriesGroupNode(TagW.PatientPseudoUID, patientPseudoUID, DicomModel.patient.getTagView()) { @Override public String toString() { if (study == null) { study = new MediaSeriesGroupNode(TagD.getUID(Level.STUDY), studyUID, DicomModel.study.getTagView()) { @Override public String toString() {
@Override public MediaSeriesGroup getParent(MediaSeriesGroup node, TreeModelNode modelNode) { if (node != null && modelNode != null) { TagW matchTagID = modelNode.getTagElement(); if (node.getTagID().equals(matchTagID)) { return node; } synchronized (model) { Tree<MediaSeriesGroup> tree = model.getTree(node); if (tree != null) { Tree<MediaSeriesGroup> parent; while ((parent = tree.getParent()) != null) { if (parent.getHead().getTagID().equals(matchTagID)) { return parent.getHead(); } tree = parent; } } } } return null; }
MediaSeriesGroup group1 = DefaultDataModel.getHierarchyNode(MediaSeriesGroupNode.rootNode, gUID); if (group1 == null) { group1 = new MediaSeriesGroupNode(TagW.Group, gUID, AbstractFileModel.group.getTagView()); group1.setTagNoNull(groupName, groupValue); DefaultDataModel.addHierarchyNode(MediaSeriesGroupNode.rootNode, group1);
new Series<MediaElement>(TagW.SubseriesInstanceUID, sUID, AbstractFileModel.series.getTagView()) { // $NON-NLS-1$
private void parseStudy(MediaSeriesGroup patient, Attributes dcmPatient, DicomDirReader reader) { Attributes dcmStudy = findFirstChildRecord(dcmPatient, reader); while (dcmStudy != null) { if (RecordType.STUDY.name().equals(dcmStudy.getString(Tag.DirectoryRecordType))) { String studyUID = (String) TagD.getUID(Level.STUDY).getValue(dcmStudy); MediaSeriesGroup study = dicomModel.getHierarchyNode(patient, studyUID); if (study == null) { study = new MediaSeriesGroupNode(TagD.getUID(Level.STUDY), studyUID, DicomModel.study.getTagView()); DicomMediaUtils.writeMetaData(study, dcmStudy); dicomModel.addHierarchyNode(patient, study); } parseSeries(patient, study, dcmStudy, reader); } dcmStudy = findNextSiblingRecord(dcmStudy, reader); } }
MediaSeriesGroup st = getStudyNode(studyUID); if (st == null) { pt = new MediaSeriesGroupNode(TagW.PatientPseudoUID, patientPseudoUID, DicomModel.patient.getTagView()); dicomReader.writeMetaData(pt); addHierarchyNode(MediaSeriesGroupNode.rootNode, pt); st = new MediaSeriesGroupNode(TagD.get(Tag.StudyInstanceUID), studyUID, DicomModel.study.getTagView()); dicomReader.writeMetaData(st); addHierarchyNode(pt, st);
if (study == null) { patient = new MediaSeriesGroupNode(TagW.PatientPseudoUID, patientPseudoUID, DicomModel.patient.getTagView()); dicomReader.writeMetaData(patient); dicomModel.addHierarchyNode(MediaSeriesGroupNode.rootNode, patient); study = new MediaSeriesGroupNode(TagD.getUID(Level.STUDY), studyUID, DicomModel.study.getTagView()); dicomReader.writeMetaData(study); dicomModel.addHierarchyNode(patient, study);
String unknown = TagW.NO_VALUE; MediaSeriesGroup patient = new MediaSeriesGroupNode(TagD.getUID(Level.PATIENT), UIDUtils.createUID(), DicomModel.patient.getTagView()); patient.setTag(TagD.get(Tag.PatientID), unknown); patient.setTag(TagD.get(Tag.PatientName), unknown); new MediaSeriesGroupNode(TagD.getUID(Level.STUDY), UIDUtils.createUID(), DicomModel.study.getTagView()); dicomModel.addHierarchyNode(patient, study);
if (patient == null) { patient = new MediaSeriesGroupNode(TagW.PatientPseudoUID, patientPseudoUID, DicomModel.patient.getTagView()); dicomReader.writeMetaData(patient); dicomModel.addHierarchyNode(MediaSeriesGroupNode.rootNode, patient); MediaSeriesGroup study = dicomModel.getHierarchyNode(patient, studyUID); if (study == null) { study = new MediaSeriesGroupNode(TagD.getUID(Level.STUDY), studyUID, DicomModel.study.getTagView()); dicomReader.writeMetaData(study); dicomModel.addHierarchyNode(patient, study);
private static MediaSeriesGroup readStudy(XMLStreamReader xmler, ReaderParams params, MediaSeriesGroup patient, WadoParameters wadoParameters) throws XMLStreamException { DicomModel model = params.getModel(); String studyUID = (String) TagD.getUID(Level.STUDY).getValue(xmler); MediaSeriesGroup study = model.getHierarchyNode(patient, studyUID); if (study == null) { study = new MediaSeriesGroupNode(TagD.getUID(Level.STUDY), studyUID, DicomModel.study.getTagView()); TagW[] tags = TagD.getTagFromIDs(Tag.StudyDate, Tag.StudyTime, Tag.StudyDescription, Tag.AccessionNumber, Tag.StudyID); for (TagW tag : tags) { tag.readValue(xmler, study); } model.addHierarchyNode(patient, study); } final MediaSeriesGroup study2 = study; BiConsumerWithException<XMLStreamReader, ReaderParams, XMLStreamException> method = (x, r) -> readSeries(x, r, patient, study2, wadoParameters); readElement(xmler, TagD.Level.SERIES.getTagName(), TagD.Level.STUDY.getTagName(), method, params); return study; }
if (patient == null) { patient = new MediaSeriesGroupNode(TagD.getUID(Level.PATIENT), patientPseudoUID, DicomModel.patient.getTagView()); patient.setTag(idTag, TagUtil.getTagAttribute(xmler, idTag.getKeyword(), TagW.NO_VALUE)); patient.setTag(nameTag, TagUtil.getTagAttribute(xmler, nameTag.getKeyword(), TagW.NO_VALUE));
dcms.add(dcm); return new DicomSeries(params.seriesUID, dcms, DicomModel.series.getTagView());