@Override public double getDefaultLevel(boolean pixelPadding) { PresetWindowLevel defaultPreset = getDefaultPreset(pixelPadding); return (defaultPreset != null) ? defaultPreset.getLevel() : super.getDefaultLevel(pixelPadding); }
public static PlanarImage getDefaultRenderedImage(ImageElement image, PlanarImage source, boolean pixelPadding) { return getDefaultRenderedImage(image, source, image.getDefaultWindow(pixelPadding), image.getDefaultLevel(pixelPadding), true); }
/** * @param imageSource * is the RenderedImage upon which transformation is done * @param window * is width from low to high input values around level. If null, getDefaultWindow() value is used * @param level * is center of window values. If null, getDefaultLevel() value is used * @param pixelPadding * indicates if some padding values defined in ImageElement should be applied or not. If null, TRUE is * considered * @return */ public PlanarImage getRenderedImage(final PlanarImage imageSource, Map<String, Object> params) { if (imageSource == null) { return null; } Double window = (params == null) ? null : (Double) params.get(ActionW.WINDOW.cmd()); Double level = (params == null) ? null : (Double) params.get(ActionW.LEVEL.cmd()); Boolean pixelPadding = (params == null) ? null : (Boolean) params.get(ActionW.IMAGE_PIX_PADDING.cmd()); pixelPadding = (pixelPadding == null) ? Boolean.TRUE : pixelPadding; window = (window == null) ? getDefaultWindow(pixelPadding) : window; level = (level == null) ? getDefaultLevel(pixelPadding) : level; return getDefaultRenderedImage(this, imageSource, window, level, pixelPadding); }
.ifPresent(a -> a.setRealValue(img.getDefaultWindow(pixelPadding))); getAction(ActionW.LEVEL, SliderChangeListener.class) .ifPresent(a -> a.setRealValue(img.getDefaultLevel(pixelPadding)));
private void setPreset(PresetWindowLevel preset, ImageElement img, boolean pixelPadding) { boolean p = preset != null; PRSpecialElement pr = (PRSpecialElement) getParam(P_PR_ELEMENT); setParam(ActionW.PRESET.cmd(), preset); setParam(ActionW.DEFAULT_PRESET.cmd(), true); setParam(ActionW.WINDOW.cmd(), p ? preset.getWindow() : img.getDefaultWindow(pixelPadding)); setParam(ActionW.LEVEL.cmd(), p ? preset.getLevel() : img.getDefaultLevel(pixelPadding)); setParam(ActionW.LEVEL_MIN.cmd(), img.getMinValue(pr, pixelPadding)); setParam(ActionW.LEVEL_MAX.cmd(), img.getMaxValue(pr, pixelPadding)); setParam(ActionW.LUT_SHAPE.cmd(), p ? preset.getLutShape() : img.getDefaultShape(pixelPadding)); }
@Override public void handleImageOpEvent(ImageOpEvent event) { OpEvent type = event.getEventType(); if (OpEvent.ImageChange.equals(type)) { setParam(P_IMAGE_ELEMENT, event.getImage()); } else if (OpEvent.ResetDisplay.equals(type) || OpEvent.SeriesChange.equals(type)) { ImageElement img = event.getImage(); setParam(P_IMAGE_ELEMENT, img); if (img != null) { if (!img.isImageAvailable()) { // Ensure to load image before calling the default preset that requires pixel min and max img.getImage(); } boolean pixelPadding = LangUtil.getNULLtoTrue((Boolean) getParam(ActionW.IMAGE_PIX_PADDING.cmd())); setParam(ActionW.WINDOW.cmd(), img.getDefaultWindow(pixelPadding)); setParam(ActionW.LEVEL.cmd(), img.getDefaultLevel(pixelPadding)); setParam(ActionW.LEVEL_MIN.cmd(), img.getMinValue(null, pixelPadding)); setParam(ActionW.LEVEL_MAX.cmd(), img.getMaxValue(null, pixelPadding)); } } }