String nbImg = "[" + series.size(null) + "]"; //$NON-NLS-1$ //$NON-NLS-2$ int hbleft = y + height - 3; int w = g2d.getFontMetrics().stringWidth(nbImg);
MediaSeries<MediaElement> series = t.getSeries(); if (series != null && series.size(null) > 2) { GuiExecutor.instance().execute(t::reBuildThumbnail);
@Override public void actionPerformed(ActionEvent e) { EventManager eventManager = EventManager.getInstance(); MediaSeries<org.weasis.dicom.codec.DicomImageElement> s = eventManager.getSelectedSeries(); // Requires at least 5 images to build the MPR views if (s != null && s.size(null) >= 5) { DataExplorerModel model = (DataExplorerModel) s.getTagValue(TagW.ExplorerModel); if (model instanceof DicomModel) { ViewerPluginBuilder.openSequenceInPlugin(new MPRFactory(), s, model, false, false); } } } };
private void getThickness(final JSliderW sliderThickness) { StringBuilder buf = new StringBuilder(MipView.MIP_THICKNESS.getTitle()); buf.append(StringUtil.COLON_AND_SPACE); int val = sliderThickness.getValue(); buf.append(val); MediaSeries<DicomImageElement> series = view.getSeries(); if (series != null) { int slice = frameSlider.getValue() - 1; SeriesComparator sort = (SeriesComparator) view.getActionValue(ActionW.SORTSTACK.cmd()); Boolean reverse = (Boolean) view.getActionValue(ActionW.INVERSESTACK.cmd()); Comparator sortFilter = (reverse != null && reverse) ? sort.getReversOrderComparator() : sort; Filter filter = (Filter) view.getActionValue(ActionW.FILTERED_SERIES.cmd()); int min = Math.max(0, slice - val); int max = Math.min(series.size(filter) - 1, slice + val); DicomImageElement fimg = series.getMedia(min, filter, sortFilter); DicomImageElement limg = series.getMedia(max, filter, sortFilter); if (fimg != null && limg != null) { buf.append(" ("); //$NON-NLS-1$ buf.append(DecFormater.oneDecimal(SeriesBuilder.getThickness(fimg, limg))); buf.append(" "); //$NON-NLS-1$ buf.append(fimg.getPixelSpacingUnit().getAbbreviation()); buf.append(")"); //$NON-NLS-1$ } } updateSliderProoperties(sliderThickness, buf.toString()); }
public void addSelectionAndnotify() { openPlugin = true; final ArrayList<SeriesThumbnail> thumbs = new ArrayList<>(dicomObjectsToLoad.length); for (Attributes dicom : dicomObjectsToLoad) { if (isCancelled()) { return; } try { DicomMediaIO loader = new DicomMediaIO(dicom); if (loader.isReadableDicom()) { // Issue: must handle adding image to viewer and building thumbnail (middle image) SeriesThumbnail t = buildDicomStructure(loader); if (t != null) { thumbs.add(t); } } } catch (URISyntaxException e) { LOGGER.debug("", e); //$NON-NLS-1$ } } for (final SeriesThumbnail t : thumbs) { MediaSeries<MediaElement> series = t.getSeries(); // Avoid to rebuild most of CR series thumbnail if (series != null && series.size(null) > 2) { GuiExecutor.instance().execute(t::reBuildThumbnail); } } }
if (series != null && series.size(null) > 0) { ViewerPluginBuilder.openSequenceInDefaultPlugin(series, ViewerPluginBuilder.DefaultDataModel, true, false);
int offset = series.size(null) > 1 ? 2 : 1; final Object[] items = new Object[prList.size() + offset]; items[0] = ActionState.NoneLabel.NONE;
int limit = series.size((Filter<E>) selectedView.getActionValue(ActionW.FILTERED_SERIES.cmd())); for (int i = 0; i < view2ds.size(); i++) { ViewCanvas<E> v = view2ds.get(i);
+ StringUtil.COLON_AND_SPACE + (view2DPane.getFrameIndex() + 1) + " / " //$NON-NLS-1$ + view2DPane.getSeries() .size((Filter<ImageElement>) view2DPane.getActionValue(ActionW.FILTERED_SERIES.cmd())), border, drawY); drawY -= fontHeight;
buf.append(" / "); //$NON-NLS-1$ buf.append(view2DPane.getSeries() .size((Filter<DicomImageElement>) view2DPane.getActionValue(ActionW.FILTERED_SERIES.cmd()))); AbstractGraphicLabel.paintFontOutline(g2, buf.toString(), border, drawY); drawY -= fontHeight;
series.size((Filter<ImageElement>) view2d.getActionValue(ActionW.FILTERED_SERIES.cmd())), view2d.getFrameIndex() + 1, false)); final Integer speed = (Integer) series.getTagValue(TagW.get("CineRate")); //$NON-NLS-1$
if (wadoParams == null || !StringUtil.hasText(wadoParams.getBaseURL()) || !wadoParams.getBaseURL().equals(wadoParameters.getBaseURL())) { imgNotAdd += ((MediaSeries<?>) series).size(null); continue;
series.size((Filter<DicomImageElement>) view2d.getActionValue(ActionW.FILTERED_SERIES.cmd())), view2d.getFrameIndex() + 1, false)); Integer cineRate = TagD.getTagValue(series, Tag.CineRate, Integer.class);
int maxImg = fullSeries ? series.size(filter) - extend : curImg; if (fullSeries) { taskMonitor.setMaximum(maxImg - minImg);
private static void updateImage(ViewCanvas<DicomImageElement> view2D, Filter<DicomImageElement> sopInstanceUIDFilter, int newImageIndex) { int imgIndex = newImageIndex < 0 ? 0 : newImageIndex; if (view2D == view2D.getEventManager().getSelectedViewPane()) { /* * Update the sliceAction action according to nearest image when the filter hides the image of the previous * state. And update the action min and max. */ ActionState seqAction = view2D.getEventManager().getAction(ActionW.SCROLL_SERIES); if (seqAction instanceof SliderCineListener) { SliderChangeListener moveTroughSliceAction = (SliderChangeListener) seqAction; moveTroughSliceAction.setSliderMinMaxValue(1, view2D.getSeries().size(sopInstanceUIDFilter), imgIndex + 1); } } DicomImageElement newImage = null; if (view2D.getSeries() != null) { newImage = view2D.getSeries().getMedia(imgIndex, sopInstanceUIDFilter, view2D.getCurrentSortComparator()); } if (newImage != null && !newImage.isImageAvailable()) { newImage.getImage(); } ((View2d) view2D).setImage(newImage); } }
@Override public void actionPerformed(ActionEvent e) { EventManager eventManager = EventManager.getInstance(); ImageViewerPlugin<org.weasis.dicom.codec.DicomImageElement> container = eventManager.getSelectedView2dContainer(); if (container instanceof View2dContainer) { ViewCanvas<org.weasis.dicom.codec.DicomImageElement> selView = container.getSelectedImagePane(); if (selView != null) { MediaSeries<org.weasis.dicom.codec.DicomImageElement> s = selView.getSeries(); if (s != null && s.size(null) > 2) { container.setSelectedAndGetFocus(); MipView newView2d = new MipView(eventManager); newView2d.registerDefaultListeners(); newView2d.initMIPSeries(selView); container.replaceView(selView, newView2d); MipDialog dialog = MipPopup.buildDialog(newView2d); dialog.pack(); MipView.buildMip(dialog, newView2d, false); dialog.updateThickness(); JMVUtils.showCenterScreen(dialog, container); } } } } };
.size((Filter<DicomImageElement>) viewPane.getActionValue(ActionW.FILTERED_SERIES.cmd())) - panes.size(); cineAction.ifPresent(a -> a.setSliderMinMaxValue(1, maxShift < 1 ? 1 : maxShift,
final int size = series.size(filter); final JProgressBar[] bar = new JProgressBar[2]; GuiExecutor.instance().invokeAndWait(() -> {