/******************************************************************************* * Copyright (c) 2016 Weasis Team and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * ${user} - initial API and implementation *******************************************************************************/ package org.weasis.core.api.image.measure; public class MeasurementsAdapter { private final double calibRatio; private final boolean upYAxis; private final int offsetX; private final int offsetY; private final int imageHeight; private final String unit; public MeasurementsAdapter(double calibRatio, int offsetX, int offsetY, boolean upYAxis, int imageHeight, String unit) { this.offsetY = offsetY; this.offsetX = offsetX; this.upYAxis = upYAxis; this.calibRatio = calibRatio; this.imageHeight = imageHeight - 1; this.unit = unit; } public double getCalibRatio() { return calibRatio; } public int getOffsetX() { return offsetX; } public int getOffsetY() { return offsetY; } public boolean isUpYAxis() { return upYAxis; } public String getUnit() { return unit; } public double getXUncalibratedValue(double xVal) { return xVal + offsetX; } public double getYUncalibratedValue(double yVal) { return (upYAxis ? imageHeight - yVal: yVal) + offsetY; } public double getXCalibratedValue(double xVal) { return calibRatio * (xVal + offsetX); } public double getYCalibratedValue(double yVal) { return calibRatio * ((upYAxis ? imageHeight - yVal: yVal) + offsetY); } }