private void initialize() { ImageElement image = view2d.getImage(); if (image != null) { Unit unit = image.getPixelSpacingUnit(); if (!Unit.PIXEL.equals(unit)) { Point2D ptA = line.getStartPoint(); Point2D ptB = line.getEndPoint(); if (Objects.nonNull(ptA) && Objects.nonNull(ptB)) { jTextFieldLineWidth.setValue(ptA.distance(ptB) * image.getPixelSize()); } } else { GridBagConstraints gbcTextPane = new GridBagConstraints(); gbcTextPane.gridwidth = 4; gbcTextPane.insets = new Insets(0, 0, 5, 5); gbcTextPane.fill = GridBagConstraints.HORIZONTAL; gbcTextPane.gridx = 0; gbcTextPane.gridy = 0; gbcTextPane.weightx = 1.0; gbcTextPane.weighty = 1.0; JScrollPane scroll = new JScrollPane(createArea(Messages.getString("CalibrationView.warn"), //$NON-NLS-1$ true, 0)); scroll.setPreferredSize(new Dimension(300, 75)); jPanelMode.add(scroll, gbcTextPane); unit = Unit.MILLIMETER; } jComboBoxUnit.setSelectedItem(unit); } }
public void applyNewCalibration() { ImageElement image = view2d.getImage(); if (image != null) { Number inputCalibVal = JMVUtils.getFormattedValue(jTextFieldLineWidth); if (inputCalibVal != null) { double imgRatio = image.getPixelSize(); Unit unit = (Unit) jComboBoxUnit.getSelectedItem(); Unit imgUnit = image.getPixelSpacingUnit(); if (!Unit.PIXEL.equals(unit)) { image.setPixelSpacingUnit(unit); Double lineLength = null; Point2D ptA = line.getStartPoint(); Point2D ptB = line.getEndPoint(); if (Objects.nonNull(ptA) && Objects.nonNull(ptB)) { lineLength = ptA.distance(ptB); } if (Objects.isNull(lineLength) || lineLength < 1d) { lineLength = 1.0; } double newRatio = inputCalibVal.doubleValue() / lineLength; if ((Objects.nonNull(imgRatio) && MathUtil.isDifferent(newRatio, imgRatio)) || !Objects.equals(unit, imgUnit)) { applyCalibration(newRatio, unit); } } } } } }
protected void initActionWState() { E img = getImage(); actionsInView.put(ActionW.SPATIAL_UNIT.cmd(), img == null ? Unit.PIXEL : img.getPixelSpacingUnit()); actionsInView.put(ZOOM_TYPE_CMD, ZoomType.BEST_FIT); actionsInView.put(ActionW.ZOOM.cmd(), 0.0); actionsInView.put(ActionW.DRAWINGS.cmd(), true); actionsInView.put(LayerType.CROSSLINES.name(), true); actionsInView.put(ActionW.INVERSESTACK.cmd(), false); actionsInView.put(ActionW.FILTERED_SERIES.cmd(), null); actionsInView.put(ActionW.FLIP.cmd(), false); actionsInView.put(ActionW.ROTATION.cmd(), 0); OpManager disOp = getDisplayOpManager(); disOp.setParamValue(WindowOp.OP_NAME, WindowOp.P_APPLY_WL_COLOR, eventManager.getOptions().getBooleanProperty(WindowOp.P_APPLY_WL_COLOR, true)); disOp.setParamValue(AffineTransformOp.OP_NAME, AffineTransformOp.P_INTERPOLATION, eventManager.getZoomSetting().getInterpolation()); disOp.setParamValue(AffineTransformOp.OP_NAME, AffineTransformOp.P_AFFINE_MATRIX, null); disOp.setParamValue(FilterOp.OP_NAME, FilterOp.P_KERNEL_DATA, KernelData.NONE); disOp.setParamValue(PseudoColorOp.OP_NAME, PseudoColorOp.P_LUT, ByteLut.defaultLUT); disOp.setParamValue(PseudoColorOp.OP_NAME, PseudoColorOp.P_LUT_INVERSE, false); }
pixelInfo.setPixelSpacingUnit(imageElement.getPixelSpacingUnit()); pixelInfo.setPixelSize(imageElement.getPixelSize()); double[] c = image.get(p.y, p.x);
Unit[] unit = { image.getPixelSpacingUnit() }; String str = ajustLengthDisplay(scaleSizex * scale, unit); g2d.setStroke(new BasicStroke(1.0F)); Unit[] unit = { image.getPixelSpacingUnit() }; String str = ajustLengthDisplay(scaleSizeY * scale, unit);
@Override public double getRealWorldViewScale() { double viewScale = 0.0; E img = getImage(); if (img != null) { Window win = SwingUtilities.getWindowAncestor(this); if (win != null) { GraphicsConfiguration config = win.getGraphicsConfiguration(); Monitor monitor = MeasureTool.viewSetting.getMonitor(config.getDevice()); if (monitor != null) { double realFactor = monitor.getRealScaleFactor(); if (realFactor > 0.0) { Unit imgUnit = img.getPixelSpacingUnit(); if (!Unit.PIXEL.equals(imgUnit)) { viewScale = imgUnit.getConvFactor() * img.getPixelSize() / realFactor; viewScale = -adjustViewScale(viewScale); } } } } } return viewScale; }
DicomMediaUtils.fillAttributes(imageElement.getTagEntrySetIterator(), attrs); if (Unit.PIXEL != imageElement.getPixelSpacingUnit()) { attrs.setString(Tag.PixelSpacingCalibrationDescription, VR.LO, "Used fiducial"); //$NON-NLS-1$ double unitRatio = imageElement.getPixelSize() * Unit.MILLIMETER.getConversionRatio(imageElement.getPixelSpacingUnit().getConvFactor()); attrs.setDouble(Tag.PixelSpacing, VR.DS, unitRatio, unitRatio);
if (!img.equals(oldImage)) { updateGraphics = true; actionsInView.put(ActionW.SPATIAL_UNIT.cmd(), img.getPixelSpacingUnit()); if (eventManager.getSelectedViewPane() == this) { ActionState spUnitAction = eventManager.getAction(ActionW.SPATIAL_UNIT);
ImageElement img = acquireImageInfo.getImage(); if (img != image) { img.setPixelSpacingUnit(image.getPixelSpacingUnit()); img.setPixelSize(image.getPixelSize());