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
015/**
016 * This metadata describes Peem-related information
017 */
018public interface PeemMetadata extends MetadataType {
019
020        /**
021         * Initialize PEEM metadata
022         * @param xyPosition values of motor
023         * @param scaling image resolution
024         * @param fieldOfView size of image
025         */
026        public void initialize(double[] xyPosition, double scaling, double fieldOfView);
027
028        /**
029         * 
030         * @return X/y motor position in microns
031         */
032        public double[] getXYMotorPosition();
033
034        /**
035         * 
036         * @return scaling value micron/pixel
037         */
038        public double getScaling();
039
040        /**
041         * 
042         * @return field of view value in microns
043         */
044        public double getFieldOfView();
045//
046//      /**
047//       * Image rotation (motor x-axis angle with respect to camera x-axis)
048//       * @return angular rotation in degrees 
049//       */
050//      public double getRotation();
051
052        /**
053         * Sets X/y motor position in microns
054         * @param xyMotorPosition values of motor
055         */
056        void setXYMotorPosition(double[] xyMotorPosition);
057
058        /**
059         * Sets scaling micron/pixel
060         * @param scaling image resolution
061         */
062        void setScaling(double scaling);
063
064        /**
065         * Sets fieldOfView value in microns
066         * @param fieldOfView size of image
067         */
068        void setFieldOfView(double fieldOfView);
069
070//      /**
071//       * Sets rotation angular value in degree
072//       * Image rotation (motor x-axis angle with respect to camera x-axis)
073//       * @param rotation
074//       */
075//      void setRotation(double rotation);
076}