public MeasurementsAdapter getMeasurementAdapter(Unit displayUnit, Point offset) { Unit unit = displayUnit; if (unit == null || pixelSpacingUnit == null || pixelSpacingUnit.equals(Unit.PIXEL)) { unit = Unit.PIXEL; } double unitRatio; if (unit.equals(Unit.PIXEL)) { unitRatio = 1.0; } else { unitRatio = getPixelSize() * unit.getConversionRatio(pixelSpacingUnit.getConvFactor()); } int offsetx = offset == null ? 0 : -offset.x; int offsety = offset == null ? 0 : -offset.y; return new MeasurementsAdapter(unitRatio, offsetx, offsety, false, 0, unit.getAbbreviation()); }
public static final List<String> getUnitsName() { ArrayList<String> list = new ArrayList<>(); for (Unit u : Unit.values()) { list.add(u.getFullName()); } return list; }
.oneDecimal(Unit.MILLIMETER.getConversionRatio(monitor.getRealScaleFactor()) * horizontalLength) + " " + Unit.MILLIMETER.getAbbreviation(); //$NON-NLS-1$ String vlength = DecFormater .oneDecimal(Unit.MILLIMETER.getConversionRatio(monitor.getRealScaleFactor()) * verticalLength) + " " //$NON-NLS-1$ + Unit.MILLIMETER.getAbbreviation(); g2d.drawString(hlength, x2 - 70, y2 + 15); g2d.drawString(vlength, xv1 + 10, yv2 - 5);
while ((down = down.getDownUnit()) != null) { double length = scaleLength * down.getConversionRatio(unit[0].getConvFactor()); if (length > 1) { ajustUnit = down; while ((up = up.getUpUnit()) != null) { double length = scaleLength * up.getConversionRatio(unit[0].getConvFactor()); if (length < 1) { break;
/** * Returns the abbreviation of the unit. * * @return the abbreviation of the unit */ @Override public String toString() { return unit.getAbbreviation(); }
if (chSensisvity == null) { this.baseline = 0.0; this.amplitudeUnit = new Unit(org.weasis.core.api.image.util.Unit.PIXEL.getFullName(), org.weasis.core.api.image.util.Unit.PIXEL.getAbbreviation(), 1.0); } else { this.baseline = DicomMediaUtils.getDoubleFromDicomElement(dcm, Tag.ChannelBaseline, 0.0); Attributes chs = Objects.requireNonNull(dcm.getNestedDataset(Tag.ChannelSensitivityUnitsSequence), "no ChannelSensitivityUnitsSequence found"); //$NON-NLS-1$ String unit = chs.getString(Tag.CodeValue, org.weasis.core.api.image.util.Unit.PIXEL.getAbbreviation()); String unitDesc = chs.getString(Tag.CodeMeaning, org.weasis.core.api.image.util.Unit.PIXEL.getFullName()); double factorUnit = "mV".equals(unit) ? 1000 : 1; //$NON-NLS-1$ this.amplitudeUnit = new Unit(unitDesc, unit, chSensisvity * sCorrectionFactor * factorUnit);
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);
@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; }
setAction( newDrawAction(MeasureToolBar.drawGraphicList.toArray(new Graphic[MeasureToolBar.drawGraphicList.size()]))); setAction(newSpatialUnit(Unit.values())); setAction(newPanAction()); setAction(new BasicActionState(ActionW.RESET));
int lineLength = cross.getHorizontalLength(); if (lineLength > 100) { monitor.setRealScaleFactor(unit.getConvFactor() * val / lineLength); monitor.setRealScaleFactor(unit.getConvFactor() * val / lineLength); double h = bound.getHeight() * bound.getHeight(); double realHeight = Math.sqrt(val * val * h / (w + h)); monitor.setRealScaleFactor(unit.getConvFactor() * realHeight / bound.getHeight());
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); } }
buf.append(" ("); //$NON-NLS-1$ buf.append( (int) Math.round(mb.width * Unit.MILLIMETER.getConversionRatio(monitor.getRealScaleFactor()))); buf.append("x"); //$NON-NLS-1$ buf.append( (int) Math.round(mb.height * Unit.MILLIMETER.getConversionRatio(monitor.getRealScaleFactor()))); buf.append(" "); //$NON-NLS-1$ buf.append(Unit.MILLIMETER.getAbbreviation()); buf.append(")"); //$NON-NLS-1$
public String getRealPositionText() { if (position == null || pixelSpacingUnit == null || pixelSize == null) { return getPixelPositionText(); } StringBuilder text = new StringBuilder("("); //$NON-NLS-1$ text.append(DecFormater.twoDecimal(pixelSize * position.x)); text.append(pixelSpacingUnit.getAbbreviation()); text.append(",");//$NON-NLS-1$ text.append(DecFormater.twoDecimal(pixelSize * position.y)); text.append(pixelSpacingUnit.getAbbreviation()); text.append(")");//$NON-NLS-1$ return text.toString(); } }
setAction( newDrawAction(MeasureToolBar.drawGraphicList.toArray(new Graphic[MeasureToolBar.drawGraphicList.size()]))); setAction(newSpatialUnit(Unit.values())); setAction(newPanAction()); setAction(newCrosshairAction());
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); } } } } } }
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()); }
adapter.getUnit())); String unit = Unit.PIXEL.getAbbreviation(); if (!unit.equals(adapter.getUnit())) { if (ANCHOR_POINT_X.getComputed()) {