001/*-
002 *******************************************************************************
003 * Copyright (c) 2011, 2016 Diamond Light Source Ltd.
004 * All rights reserved. This program and the accompanying materials
005 * are made available under the terms of the Eclipse Public License v1.0
006 * which accompanies this distribution, and is available at
007 * http://www.eclipse.org/legal/epl-v10.html
008 *
009 * Contributors:
010 *    Peter Chang - initial API and implementation and/or initial documentation
011 *******************************************************************************/
012
013package org.eclipse.january.metadata;
014
015import org.eclipse.january.metadata.MetadataType;
016
017/**
018 * This metadata describes Peem-related information
019 */
020public interface PeemMetadata extends MetadataType {
021
022        /**
023         * Initialize PEEM metadata
024         * @param xyPosition
025         * @param scaling
026         * @param fieldOfView
027         */
028        public void initialize(double[] xyPosition, double scaling, double fieldOfView);
029
030        /**
031         * 
032         * @return X/y motor position in microns
033         */
034        public double[] getXYMotorPosition();
035
036        /**
037         * 
038         * @return scaling value micron/pixel
039         */
040        public double getScaling();
041
042        /**
043         * 
044         * @return field of view value in microns
045         */
046        public double getFieldOfView();
047//
048//      /**
049//       * Image rotation (motor x-axis angle with respect to camera x-axis)
050//       * @return angular rotation in degrees 
051//       */
052//      public double getRotation();
053
054        /**
055         * Sets X/y motor position in microns
056         * @param xyMotorPosition
057         */
058        void setXYMotorPosition(double[] xyMotorPosition);
059
060        /**
061         * Sets scaling micron/pixel
062         * @param scaling
063         */
064        void setScaling(double scaling);
065
066        /**
067         * Sets fieldOfView value in microns
068         * @param fieldOfView
069         */
070        void setFieldOfView(double fieldOfView);
071
072//      /**
073//       * Sets rotation angular value in degree
074//       * Image rotation (motor x-axis angle with respect to camera x-axis)
075//       * @param rotation
076//       */
077//      void setRotation(double rotation);
078}