Class MxOpticalCameraZoomPositioner

All Implemented Interfaces:
Device, Configurable, Findable, Camera, ImageScaleProvider, gda.observable.IObservable, org.springframework.beans.factory.InitializingBean

@ServiceInterface(Camera.class) public final class MxOpticalCameraZoomPositioner extends MxOpticalCameraBase implements org.springframework.beans.factory.InitializingBean
  • Constructor Details

    • MxOpticalCameraZoomPositioner

      public MxOpticalCameraZoomPositioner()
  • Method Details

    • afterPropertiesSet

      public void afterPropertiesSet() throws Exception
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      Throws:
      Exception
    • getZoomLevels

      public double[] getZoomLevels()
      Specified by:
      getZoomLevels in interface Camera
      Returns:
      double[] - the possible zoom levels
    • configure

      public void configure()
      Description copied from class: ConfigurableBase
      Default implementation for classes that do not have to do any specific configuration.
      Classes that do their own configuration should *not* call this superclass function, as it may cause the object to appear configured before it really is.
      Specified by:
      configure in interface Configurable
      Overrides:
      configure in class ConfigurableBase
    • reconfigure

      public void reconfigure()
      To enable re-reading of the zoom levels file. Re-initialisation of values and states.

      Moved from Reconfigurable which has been deleted

      Specified by:
      reconfigure in interface Configurable
      Overrides:
      reconfigure in class ConfigurableBase
      See Also:
    • getZoom

      public double getZoom() throws DeviceException
      Specified by:
      getZoom in interface Camera
      Returns:
      double - current zoom level
      Throws:
      DeviceException
    • selectZoomAt

      public void selectZoomAt(int index) throws DeviceException
      Description copied from interface: Camera
      Sets the zoom level via an index, based on array values (see Camera.getZoomLevels()):
      Specified by:
      selectZoomAt in interface Camera
      Overrides:
      selectZoomAt in class CameraBase
      Parameters:
      index - array index of new zoom level, ignored if out of range
      Throws:
      DeviceException
    • setZoomLevelsFileName

      public void setZoomLevelsFileName(String zoomLevelsFileName)
      The zoom levels file supplies the microns per pixel at different zoom levels
    • getCamZoomLevelPositioner

      public EnumPositionerBase getCamZoomLevelPositioner()
    • setCamZoomLevelPositioner

      public void setCamZoomLevelPositioner(EnumPositionerBase camZoomLevelPositioner)
    • updateCameraToIndexedSettings

      protected void updateCameraToIndexedSettings(int verifiedIndex) throws DeviceException
      Description copied from class: CameraBase
      Invoked (indirectly) by CameraBase.setZoom(double) for indexed zoom levels,
      Specified by:
      updateCameraToIndexedSettings in class CameraBase
      Parameters:
      verifiedIndex - settings index; already verified to lie within range
      Throws:
      DeviceException