public PresentationStateReader(PRSpecialElement dicom) { Objects.requireNonNull(dicom, "Dicom parameter cannot be null"); //$NON-NLS-1$ this.prSpecialElement = dicom; DicomMediaIO dicomImageLoader = dicom.getMediaReader(); this.dcmobj = dicomImageLoader.getDicomObject(); }
public SRReader(Series series, DicomSpecialElement dicomSR) { if (dicomSR == null) { throw new IllegalArgumentException("Dicom parameter cannot be null"); //$NON-NLS-1$ } this.dicomSR = dicomSR; this.dcmItems = dicomSR.getMediaReader().getDicomObject(); }
private ColorModel createColorModel(int bits, int dataType) { return pmi.createColorModel(bits, dataType, getDicomObject()); }
public static boolean isRejectionKOS(DicomMediaIO mediaIO) { if (mediaIO != null) { Attributes dcmItems = mediaIO.getDicomObject(); if (dcmItems != null) { Attributes item = dcmItems.getNestedDataset(Tag.ConceptNameCodeSequence); if (item != null) { String cm = item.getString(Tag.CodeMeaning, null); if (cm != null) { return "Rejected for Quality Reasons".equalsIgnoreCase(cm) //$NON-NLS-1$ || "Rejected for Patient Safety Reasons".equalsIgnoreCase(cm) //$NON-NLS-1$ || "Incorrect Modality Worklist Entry".equalsIgnoreCase(cm) //$NON-NLS-1$ || "Data Retention Policy Expired".equalsIgnoreCase(cm); //$NON-NLS-1$ } } } } return false; } }
protected String getLabelWithoutPrefix() { Attributes dicom = ((DicomMediaIO) mediaIO).getDicomObject(); Attributes item = dicom.getNestedDataset(Tag.ContentSequence); if (item != null) { return item.getString(Tag.TextValue); } return null; }
@Override public Map<TagW, Object> getMediaFragmentTags(Object key) { if (key instanceof Integer) { if ((Integer) key > 0) { // Clone the shared tag Map<TagW, Object> tagList = new HashMap<>(tags); SimpleTagable tagable = new SimpleTagable(tagList); if (DicomMediaUtils.writePerFrameFunctionalGroupsSequence(tagable, getDicomObject(), (Integer) key)) { DicomMediaUtils.computeSlicePositionVector(tagable); } return tagList; } } return tags; }
@Override protected void initLabel() { /* * DICOM PS 3.3 - 2011 - C.17.3 SR Document Content Module * * Concept Name Code Sequence: mandatory when type is CONTAINER or the root content item. */ StringBuilder buf = new StringBuilder(getLabelPrefix()); Attributes dicom = ((DicomMediaIO) mediaIO).getDicomObject(); Attributes item = dicom.getNestedDataset(Tag.ConceptNameCodeSequence); if (item != null) { Code code = new Code(item); buf.append(code.getCodeMeaning()); } label = buf.toString(); } }
public String getDocumentTitle() { Attributes dcmItems = getMediaReader().getDicomObject(); if (dcmItems != null) { Attributes item = dcmItems.getNestedDataset(Tag.ConceptNameCodeSequence); if (item != null) { return item.getString(Tag.CodeMeaning, null); } } return null; }
public void setSeries(Series<?> series) { if (series != null) { // Should have only one object by series (if more, they are split in several sub-series in dicomModel) DicomSpecialElement s = DicomModel.getFirstSpecialElement(series, DicomSpecialElement.class); if (s != null) { readAnnotations(s.getMediaReader().getDicomObject()); } } }
@Override protected void initLabel() { Attributes dicom = ((DicomMediaIO) mediaIO).getDicomObject(); String modality = dicom.getString(Tag.Modality); String rtLabel = null; if ("RTSTRUCT".equals(modality)) { rtLabel = dicom.getString(Tag.StructureSetLabel); } else if ("RTPLAN".equals(modality)) { rtLabel = dicom.getString(Tag.RTPlanLabel); } if (rtLabel == null) { super.initLabel(); } else { this.label = rtLabel; } } }
@Override protected void initLabel() { Attributes dicom = ((DicomMediaIO) mediaIO).getDicomObject(); /* * DICOM PS 3.3 - 2011 - CONTENT IDENTIFICATION MACRO. Used in Presentation State Identification C.11.10 * * ContentLabel (mandatory): a label that is used to identify this SOP Instance. * * ContentDescription: a description of the content of the SOP Instance. */ String clabel = dicom.getString(Tag.ContentLabel); if (clabel == null) { clabel = dicom.getString(Tag.ContentDescription); } if (clabel == null) { super.initLabel(); } else { StringBuilder buf = new StringBuilder(getLabelPrefix()); buf.append(clabel); label = buf.toString(); } } }
@Override public boolean buildFile(File output) { // When object is in memory, write it if (isEditableDicom()) { Attributes dcm = getDicomObject(); if (dcm != null) { try (DicomOutputStream out = new DicomOutputStream(output)) { out.writeDataset(dcm.createFileMetaInformation(UID.ImplicitVRLittleEndian), dcm); return true; } catch (IOException e) { LOGGER.error("Cannot write dicom file", e); //$NON-NLS-1$ } } } return false; }
DicomMediaIO dicomImageLoader = (DicomMediaIO) media.getMediaReader(); String extension = ".tmp"; //$NON-NLS-1$ Attributes ds = dicomImageLoader.getDicomObject(); String mime = ds.getString(Tag.MIMETypeOfEncapsulatedDocument); List<String> extensions = MimeInspector.getExtensions(mime); Object data = dicomImageLoader.getDicomObject().getValue(Tag.EncapsulatedDocument); if (data instanceof BulkData) { BulkData bulkData = (BulkData) data;
public static KOSpecialElement loadDicomKeyObject(MediaSeries<DicomImageElement> dicomSeries, Attributes newDicomKO) { DicomModel dicomModel = (DicomModel) dicomSeries.getTagValue(TagW.ExplorerModel); new LoadDicomObjects(dicomModel, newDicomKO).addSelectionAndnotify(); // must be executed in the EDT for (KOSpecialElement koElement : DicomModel.getKoSpecialElements(dicomSeries)) { if (koElement.getMediaReader().getDicomObject().equals(newDicomKO)) { return koElement; } } return null; }
Integer width = TagD.getTagValue(image, Tag.Columns, Integer.class); if (height != null && width != null) { imgOverlay = OverlayUtils.getBinaryOverlays(image, reader.getDicomObject(), frame, width, height, params);
@Override public boolean saveToFile(File output) { // When object is in memory, write it if (getMediaReader().isEditableDicom()) { Attributes dcm = getMediaReader().getDicomObject(); if (dcm != null) { try (DicomOutputStream out = new DicomOutputStream(output)) { out.writeDataset(dcm.createFileMetaInformation(UID.ImplicitVRLittleEndian), dcm); return true; } catch (IOException e) { LOGGER.error("Cannot write dicom ({}): {}", getLabel(), e); //$NON-NLS-1$ } } } return super.saveToFile(output); }
Integer width = TagD.getTagValue(image, Tag.Columns, Integer.class); if (height != null && width != null) { Attributes attributes = ((PRSpecialElement) pr).getMediaReader().getDicomObject(); Integer shuttOverlayGroup = DicomMediaUtils.getIntegerFromDicomElement(attributes, Tag.ShutterOverlayGroup, null);
height = TagD.getTagValue(dicomImageLoader, Tag.Rows, Integer.class); VR.Holder holder = new VR.Holder(); Object pixdata = dicomImageLoader.getDicomObject().getValue(Tag.PixelData, holder); if (pixdata instanceof Fragments) { Fragments fragments = (Fragments) pixdata;
@Override public void writeMetaData(MediaSeriesGroup group) { if (group == null) { return; } // Get the dicom header Attributes header = getDicomObject(); DicomMediaUtils.writeMetaData(group, header); // Series Group if (TagW.SubseriesInstanceUID.equals(group.getTagID())) { // Information for series ToolTips group.setTagNoNull(TagD.get(Tag.PatientName), getTagValue(TagD.get(Tag.PatientName))); group.setTagNoNull(TagD.get(Tag.StudyDescription), header.getString(Tag.StudyDescription)); } }
private KOSpecialElement buildKO(DicomModel model, DicomSeries s) { DicomSpecialElement dcmElement = DicomModel.getFirstSpecialElement(series, DicomSpecialElement.class); if (dcmElement != null) { DicomImageElement dcm = s.getMedia(MediaSeries.MEDIA_POSITION.FIRST, null, null); if (dcm != null && dcm.getMediaReader() instanceof DcmMediaReader) { Attributes dicomSourceAttribute = ((DcmMediaReader) dcm.getMediaReader()).getDicomObject(); Attributes attributes = DicomMediaUtils.createDicomKeyObject(dicomSourceAttribute, dcmElement.getShortLabel(), null); new LoadDicomObjects(model, attributes).addSelectionAndnotify(); // must be executed in the EDT for (KOSpecialElement koElement : DicomModel.getKoSpecialElements(s)) { if (koElement.getMediaReader().getDicomObject().equals(attributes)) { return koElement; } } } } return null; }