@Override public void setSelected(boolean selected, E selectedImage) { if (this.isSelected() != selected) { setTag(TagW.SeriesSelected, selected); Thumbnail thumb = (Thumbnail) getTagValue(TagW.Thumbnail); if (thumb != null) { thumb.repaint(); } } }
dicomSeries.setTag(seriesTag, seriesUID); dicomSeries.setTag(TagW.ExplorerModel, model); dicomSeries.setTag(TagW.WadoParameters, wadoParameters); if (wado == null) { dicomSeries.setTag(TagW.WadoParameters, wadoParameters); } else if (!wado.getBaseURL().equals(wadoParameters.getBaseURL())) { LOGGER.error("Wado parameters must be unique within a DICOM Series: {}", dicomSeries); //$NON-NLS-1$ dicomSeries.setTag(TagW.WadoInstanceReferenceList, seriesInstanceList);
@Override public void setFocused(boolean focused) { if (this.isFocused() != focused) { setTag(TagW.SeriesFocused, focused); Thumbnail thumb = (Thumbnail) getTagValue(TagW.Thumbnail); if (thumb != null) { thumb.repaint(); } } }
private Series splitSeries(DicomMediaIO dicomReader, Series original) { MediaSeriesGroup st = getParent(original, DicomModel.study); String seriesUID = TagD.getTagValue(original, Tag.SeriesInstanceUID, String.class); int k = 1; while (true) { String uid = "#" + k + "." + seriesUID; //$NON-NLS-1$ //$NON-NLS-2$ MediaSeriesGroup group = getHierarchyNode(st, uid); if (group == null) { break; } k++; } String uid = "#" + k + "." + seriesUID; //$NON-NLS-1$ //$NON-NLS-2$ Series s = dicomReader.buildSeries(uid); dicomReader.writeMetaData(s); Object val = original.getTagValue(TagW.SplitSeriesNumber); if (val == null) { original.setTag(TagW.SplitSeriesNumber, 1); } s.setTag(TagW.SplitSeriesNumber, k + 1); s.setTag(TagW.ExplorerModel, this); s.setTag(TagW.WadoParameters, original.getTagValue(TagW.WadoParameters)); addHierarchyNode(st, s); LOGGER.info("Series splitting: {}", s); //$NON-NLS-1$ return s; }
private void replaceSeries(DicomMediaIO dicomReader, Series original, MediaElement media) { MediaSeriesGroup st = getParent(original, DicomModel.study); String seriesUID = TagD.getTagValue(original, Tag.SeriesInstanceUID, String.class); int k = 1; while (true) { String uid = "#" + k + "." + seriesUID; //$NON-NLS-1$ //$NON-NLS-2$ MediaSeriesGroup group = getHierarchyNode(st, uid); if (group == null) { break; } k++; } String uid = "#" + k + "." + seriesUID; //$NON-NLS-1$ //$NON-NLS-2$ Series s = dicomReader.buildSeries(uid); dicomReader.writeMetaData(s); Object val = original.getTagValue(TagW.SplitSeriesNumber); if (val == null) { // -1 convention to exclude this Series original.setTag(TagW.SplitSeriesNumber, -1); } s.setTag(TagW.SplitSeriesNumber, k); s.setTag(TagW.ExplorerModel, this); s.setTag(TagW.WadoParameters, original.getTagValue(TagW.WadoParameters)); addHierarchyNode(st, s); s.addMedia(media); LOGGER.info("Replace Series: {}", s); //$NON-NLS-1$ }
@Override public void setOpen(boolean open) { if (this.isOpen() != open) { setTag(TagW.SeriesOpen, open); Thumbnail thumb = (Thumbnail) getTagValue(TagW.Thumbnail); if (thumb != null) { thumb.repaint(); } if (!open) { resetSortedMediasMap(); } } }
String seriesInstanceUID = UIDUtils.createUID(); Series<?> prSeries = new DicomSeries(seriesInstanceUID); prSeries.setTag(TagD.get(Tag.SeriesNumber), TagD.getTagValue(series, Tag.SeriesNumber, Integer.class)); prSeries.setTag(TagD.get(Tag.Modality), "PR"); //$NON-NLS-1$ prSeries.setTag(TagD.get(Tag.SeriesInstanceUID), seriesInstanceUID); prSeries.setTag(TagW.ObjectToSave, Boolean.TRUE); prSeries.setTag(SourceSeriesForPR, series); prSeries.setTag(TagD.get(Tag.SeriesDescription), Optional.ofNullable(TagD.getTagValue(series, Tag.SeriesDescription, String.class)).orElse("") //$NON-NLS-1$ + " [GRAPHICS]"); //$NON-NLS-1$
public SeriesPane(MediaSeriesGroup sequence) { this.sequence = Objects.requireNonNull(sequence); // To handle selection color with all L&Fs this.setUI(new javax.swing.plaf.PanelUI() { }); this.setOpaque(true); this.setBackground(JMVUtils.TREE_BACKROUND); this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); int thumbnailSize = slider.getValue(); if (sequence instanceof Series) { Series series = (Series) sequence; Thumbnail thumb = (Thumbnail) series.getTagValue(TagW.Thumbnail); if (thumb == null) { thumb = createThumbnail(series, model, thumbnailSize); series.setTag(TagW.Thumbnail, thumb); } Optional.ofNullable(thumb).ifPresent(this::add); } this.setAlignmentX(LEFT_ALIGNMENT); this.setAlignmentY(TOP_ALIGNMENT); String desc = TagD.getTagValue(sequence, Tag.SeriesDescription, String.class); label = new JLabel(desc == null ? "" : desc, SwingConstants.CENTER); //$NON-NLS-1$ label.setFont(FontTools.getFont10()); label.setFocusable(false); this.setFocusable(false); updateSize(thumbnailSize); this.add(label); }
TransferSyntax transcoding = DicomManager.getInstance().getWadoTSUID(); if (transcoding.getTransferSyntaxUID() != null) { dicomSeries.setTag(TagW.WadoTransferSyntaxUID, transcoding.getTransferSyntaxUID()); request.append(wadoTsuid); if (transcoding.getTransferSyntaxUID() != null) { dicomSeries.setTag(TagW.WadoCompressionRate, transcoding.getCompression()); dicomSeries.setTag(DOWNLOAD_START_TIME, System.currentTimeMillis()); imageDownloader.invokeAll(tasks); } catch (InterruptedException e) {
if (dicomSeries == null) { dicomSeries = new DicomSeries(seriesUID); dicomSeries.setTag(TagW.ExplorerModel, dicomModel); dicomSeries.setTag(TagW.WadoParameters, wadoParameters); DicomMediaUtils.writeMetaData(dicomSeries, series); dicomModel.addHierarchyNode(study, dicomSeries); if (wado == null) { dicomSeries.setTag(TagW.WadoParameters, wadoParameters); Optional.ofNullable((SeriesInstanceList) dicomSeries.getTagValue(TagW.WadoInstanceReferenceList)) .orElseGet(SeriesInstanceList::new); dicomSeries.setTag(TagW.WadoInstanceReferenceList, seriesInstanceList); dicomSeries.setTag(TagW.DirectDownloadThumbnail, readDicomDirIcon(iconInstance)); dicomSeries.setTag(TagW.ReadFromDicomdir, true); final LoadSeries loadSeries = new LoadSeries(dicomSeries, dicomModel, 1, writeInCache); loadSeries.setPriority(new DownloadPriority(patient, study, dicomSeries, false));
public void startDownloadImageReference(final WadoParameters wadoParameters) { if (!seriesInstanceList.isEmpty()) { // Sort the UIDs for building the thumbnail that is in the middle of the Series List<SopInstance> sopList = seriesInstanceList.getSortedList(); final SopInstance instance = sopList.get(sopList.size() / 2); GuiExecutor.instance().execute(() -> { SeriesThumbnail thumbnail = (SeriesThumbnail) dicomSeries.getTagValue(TagW.Thumbnail); if (thumbnail == null) { thumbnail = new SeriesThumbnail(dicomSeries, Thumbnail.DEFAULT_SIZE); } // In case series is downloaded or canceled thumbnail.setProgressBar(LoadSeries.this.isDone() ? null : progressBar); thumbnail.registerListeners(); addListenerToThumbnail(thumbnail, LoadSeries.this, dicomModel); dicomSeries.setTag(TagW.Thumbnail, thumbnail); dicomModel.firePropertyChange( new ObservableEvent(ObservableEvent.BasicAction.ADD, dicomModel, null, dicomSeries)); }); loadThumbnail(instance, wadoParameters); } }
dicomSeries = dicomReader.buildSeries(seriesUID); dicomReader.writeMetaData(dicomSeries); dicomSeries.setTag(TagW.ExplorerModel, this); addHierarchyNode(st, dicomSeries); LOGGER.info("Series rebuilding: {}", dicomSeries); //$NON-NLS-1$ if (t == null) { t = DicomExplorer.createThumbnail(dicomSeries, this, Thumbnail.DEFAULT_SIZE); dicomSeries.setTag(TagW.Thumbnail, t); Optional.ofNullable(t).ifPresent(v -> v.repaint());
dicomSeries.setTag(TagW.ExplorerModel, dicomModel); dicomSeries.setTag(TagD.get(Tag.SeriesInstanceUID), seriesUID); final WadoParameters wadoParameters = new WadoParameters("", false); //$NON-NLS-1$ dicomSeries.setTag(TagW.WadoParameters, wadoParameters); SeriesInstanceList seriesInstanceList = new SeriesInstanceList(); dicomSeries.setTag(TagW.WadoInstanceReferenceList, seriesInstanceList); dicomModel.addHierarchyNode(study, dicomSeries); for (int i = 0; i < urls.length; i++) {
MediaSeriesGroup study = dicomModel.getParent(ser, DicomModel.study); if (study != null) { s.setTag(TagW.ExplorerModel, dicomModel); dicomModel.addHierarchyNode(study, s); dicomModel.firePropertyChange(
specialElementList = new CopyOnWriteArrayList<>(); specialElementList.add((DicomSpecialElement) media); s.setTag(TagW.DicomSpecialElementList, specialElementList); return false;
if (dicomSeries == null) { dicomSeries = dicomReader.buildSeries(seriesUID); dicomSeries.setTag(TagW.ExplorerModel, dicomModel); dicomSeries.setTag(TagW.ObjectToSave, Boolean.TRUE); dicomReader.writeMetaData(dicomSeries); dicomModel.addHierarchyNode(study, dicomSeries); if (t == null) { t = DicomExplorer.createThumbnail(dicomSeries, dicomModel, Thumbnail.DEFAULT_SIZE); dicomSeries.setTag(TagW.Thumbnail, t); Optional.ofNullable(t).ifPresent(v -> v.repaint());
if (dicomSeries == null) { dicomSeries = dicomReader.buildSeries(seriesUID); dicomSeries.setTag(TagW.ExplorerModel, dicomModel); dicomReader.writeMetaData(dicomSeries); dicomModel.addHierarchyNode(study, dicomSeries); if (t == null) { t = DicomExplorer.createThumbnail(dicomSeries, dicomModel, Thumbnail.DEFAULT_SIZE); dicomSeries.setTag(TagW.Thumbnail, t); Optional.ofNullable(t).ifPresent(v -> v.repaint());