@Override public DicomMediaIO getMediaReader() { return (DicomMediaIO) super.getMediaReader(); }
private static boolean writeInDicomDir(DicomDirWriter writer, MediaElement img, DefaultMutableTreeNode node, String iuid, File destinationFile) throws IOException { if (writer != null) { if (!(img.getMediaReader() instanceof DcmMediaReader) || ((DcmMediaReader) img.getMediaReader()).getDicomObject() == null) { LOGGER.error("Cannot export DICOM file: ", img.getFileCache().getOriginalFile().orElse(null)); //$NON-NLS-1$ return false; } return writeInDicomDir(writer, ((DcmMediaReader) img.getMediaReader()).getDicomObject(), node, iuid, destinationFile); } return false; }
public static void openSequenceInDefaultPlugin(MediaElement media, DataExplorerModel model, boolean compareEntryToBuildNewViewer, boolean bestDefaultLayout) { if (media != null) { openSequenceInDefaultPlugin(media.getMediaReader().getMediaSeries(), model, compareEntryToBuildNewViewer, bestDefaultLayout); } }
public static Attributes buildAndWritePR(MediaElement img, boolean keepNames, File destinationDir, DicomDirWriter writer, DefaultMutableTreeNode node, String seriesInstanceUID) { Attributes imgAttributes = img.getMediaReader() instanceof DcmMediaReader ? ((DcmMediaReader) img.getMediaReader()).getDicomObject() : null; if (imgAttributes != null) { GraphicModel grModel = (GraphicModel) img.getTagValue(TagW.PresentationModel); if (grModel != null && grModel.hasSerializableGraphics()) { String prUid = UIDUtils.createUID(); File outputFile = new File(destinationDir, keepNames ? prUid : makeFileIDs(prUid)); destinationDir.mkdirs(); Attributes prAttributes = DicomPrSerializer.writePresentation(grModel, imgAttributes, outputFile, seriesInstanceUID, prUid); if (prAttributes != null) { try { writeInDicomDir(writer, prAttributes, node, outputFile.getName(), outputFile); } catch (IOException e) { LOGGER.error("Writing DICOMDIR", e); //$NON-NLS-1$ } } } } return imgAttributes; }
MediaReader mreader = m.getMediaReader(); if (modeLayout) { MediaSeries<MediaElement> series = ViewerPluginBuilder
for (E mediaElement : selMedias) { MediaReader reader = mediaElement.getMediaReader();
public static Attributes createNewDicomKeyObject(MediaElement dicomMediaElement, Component parentComponent) { if (dicomMediaElement != null && dicomMediaElement.getMediaReader() instanceof DcmMediaReader) { Attributes dicomSourceAttribute = ((DcmMediaReader) dicomMediaElement.getMediaReader()).getDicomObject(); String message = Messages.getString("KOManager.ko_desc"); //$NON-NLS-1$ String defautDescription = Messages.getString("KOManager.ko_name"); //$NON-NLS-1$ String description = (String) JOptionPane.showInputDialog(parentComponent, message, Messages.getString("KOManager.ko_title"), //$NON-NLS-1$ JOptionPane.INFORMATION_MESSAGE, null, null, defautDescription); // description==null means the user canceled the input if (StringUtil.hasText(description)) { Attributes ko = DicomMediaUtils.createDicomKeyObject(dicomSourceAttribute, description, null); if (dicomMediaElement instanceof KOSpecialElement) { Collection<HierachicalSOPInstanceReference> referencedStudySequence = new KODocumentModule(dicomSourceAttribute).getCurrentRequestedProcedureEvidences(); new KODocumentModule(ko).setCurrentRequestedProcedureEvidences(referencedStudySequence); } return ko; } } return null; }
private void displayLimitedDicomInfo(MediaSeries<?> series, MediaElement media) { StyledDocument doc = jTextPaneLimited.getStyledDocument(); int oldCaretPosition = jTextPaneLimited.getCaretPosition(); try { // clear previous text doc.remove(0, doc.getLength()); } catch (BadLocationException e) { LOGGER.error("Clear document", e); //$NON-NLS-1$ } if (series != null && media != null) { Object tagValue = series.getTagValue(TagW.ExplorerModel); if (tagValue instanceof DicomModel) { DicomModel model = (DicomModel) tagValue; MediaReader loader = media.getMediaReader(); if (loader instanceof DcmMediaReader) { List<DicomData> list = DicomManager.getInstance().getLimitedDicomTags(); for (DicomData dicomData : list) { writeItems(dicomData, getGroup(model, series, dicomData), doc); } } } } oldCaretPosition = oldCaretPosition > doc.getLength() ? doc.getLength() : oldCaretPosition; jTextPaneLimited.setCaretPosition(oldCaretPosition); limitedPane.setViewportView(jTextPaneLimited); }
MediaReader loader = media.getMediaReader(); if (loader instanceof DicomMediaIO) { DicomMetaData metaData = null;
@Override public boolean applySplittingRules(Series original, MediaElement media) { if (media != null && media.getMediaReader() instanceof DicomMediaIO) { DicomMediaIO dicomReader = (DicomMediaIO) media.getMediaReader(); String seriesUID = TagD.getTagValue(original, Tag.SeriesInstanceUID, String.class); if (!seriesUID.equals(TagD.getTagValue(dicomReader, Tag.SeriesInstanceUID))) {
int frames = media.getMediaReader().getMediaElementNumber(); if (frames > 1 && media.getKey() instanceof Integer) { String seriesUID = TagD.getTagValue(media, Tag.SeriesInstanceUID, String.class);
Attributes dcmItems = ((DcmMediaReader) rtElement.getMediaReader()).getDicomObject(); if (dcmItems != null) {
private MediaSeries buildSeriesFromMediaElement(E mediaElement) { if (mediaElement != null) { MediaReader reader = mediaElement.getMediaReader(); TagW tname; String tvalue; Codec codec = reader.getCodec(); String sUID; String gUID; if (isDicomMedia(mediaElement) && codec != null && codec.isMimeTypeSupported("application/dicom")) { //$NON-NLS-1$ if (reader.getMediaElement() == null) { // DICOM is not readable return null; } sUID = (String) reader.getTagValue(TagW.get("SeriesInstanceUID")); //$NON-NLS-1$ gUID = (String) reader.getTagValue(TagW.get("PatientID")); //$NON-NLS-1$ tname = TagW.get("PatientName"); //$NON-NLS-1$ tvalue = (String) reader.getTagValue(tname); } else { sUID = mediaElement.getMediaURI().toString(); gUID = sUID; tname = TagW.FileName; tvalue = mediaElement.getName(); } return ViewerPluginBuilder.buildMediaSeriesWithDefaultModel(reader, gUID, tname, tvalue, sUID); } return null; }
private boolean findMatchingSeriesOrsplit(Series original, MediaElement media) { DicomMediaIO dicomReader = (DicomMediaIO) media.getMediaReader(); int frames = dicomReader.getMediaElementNumber(); if (frames < 1) {