Class SequenceSettings

java.lang.Object
org.micromanager.acquisition.SequenceSettings

public final class SequenceSettings extends Object
SequenceSettings objects contain the parameters describing how to run a single acquisition. Various methods of the AcquisitionManager will consume or generate SequenceSettings, and you can create your own to configure your custom acquisitions.

Maintainer note: This should be an interface, but kept as a class for backward compatibility.

  • Field Details

    • Version

      public static final double Version
      See Also:
    • numFrames

      @Deprecated public int numFrames
      Deprecated.
      use Builder and numFrames() instead
      Deprecated.
    • intervalMs

      @Deprecated public double intervalMs
      Deprecated.
      use Builder and intervalMs() instead
      Deprecated.
    • useCustomIntervals

      @Deprecated public boolean useCustomIntervals
      Deprecated.
      use Builder and useCustomIntervals() instead
      Whether or not to use custom time intervals. Do not set this to true if customIntervalsMs is null!
    • customIntervalsMs

      @Deprecated public ArrayList<Double> customIntervalsMs
      Deprecated.
      use Builder and customIntervalsMs() instead
      Sequence of custom intervals or null.
    • channels

      @Deprecated public ArrayList<ChannelSpec> channels
      Deprecated.
      use Builder and channels() instead
      An array of ChannelSpec settings (one for each channel). no member of the array should ever by null.
    • slices

      @Deprecated public ArrayList<Double> slices
      Deprecated.
      use Builder and slices() instead
      Slice Z coordinates.
    • relativeZSlice

      @Deprecated public boolean relativeZSlice
      Deprecated.
      use Builder and relativeZSlice() instead
      are Z coordinates relative or absolute.
    • slicesFirst

      @Deprecated public boolean slicesFirst
      Deprecated.
      use Builder and slicesFirst() instead
      slice coordinate changes first.
    • timeFirst

      @Deprecated public boolean timeFirst
      Deprecated.
      use Builder and timeFirst() instead
      frame coordinate changes first.
    • keepShutterOpenSlices

      @Deprecated public boolean keepShutterOpenSlices
      Deprecated.
      use Builder and keepShutterOpenSlices() instead
      do we keep shutter open during slice changes.
    • keepShutterOpenChannels

      @Deprecated public boolean keepShutterOpenChannels
      Deprecated.
      use Builder and keepShutterOpenChannels() instead
      do we keep shutter open channel changes.
    • useAutofocus

      @Deprecated public boolean useAutofocus
      Deprecated.
      use Builder and useAutofocus() instead
      are we going to run autofocus before acquiring each position/frame.
    • skipAutofocusCount

      @Deprecated public int skipAutofocusCount
      Deprecated.
      use Builder and skipAutofocusCount() instead
      how many autofocus opportunities to skip.
    • save

      @Deprecated public boolean save
      Deprecated.
      use Builder and save() instead
      Whether or not to save to disk.
    • root

      @Deprecated public String root
      Deprecated.
      use Builder and root() instead
      root directory name.
    • prefix

      @Deprecated public String prefix
      Deprecated.
      use Builder and prefix() instead
      acquisition name.
    • zReference

      @Deprecated public double zReference
      Deprecated.
      use Builder and zReference() instead
      referent z position for relative moves.
    • comment

      @Deprecated public String comment
      Deprecated.
      use Builder and comment() instead
      comment text.
    • channelGroup

      @Deprecated public String channelGroup
      Deprecated.
      use Builder and channelGroup() instead
      which configuration group is used to define channels.
    • usePositionList

      @Deprecated public boolean usePositionList
      Deprecated.
      use Builder and usePositionList() instead
      true if we want to have multiple positions.
    • cameraTimeout

      @Deprecated public int cameraTimeout
      Deprecated.
      use Builder and cameraTimeout() instead
      Minimum camera timeout, in ms, for sequence acquisitions. (actual timeout depends on exposure time and other factors)
    • shouldDisplayImages

      @Deprecated public boolean shouldDisplayImages
      Deprecated.
      use Builder and shouldDisplayImages() instead
      Whether or not to display images generated by the acquisition.
  • Method Details

    • copy

      Deprecated.
      When used correctly, SequenceSettings are immutable. If you really need a copy, use copyBuilder().build();
      Create a copy of this SequenceSettings. All parameters will be copied, with new objects being created as necessary (i.e. this is a deep copy).
      Returns:
      Copy of this SequenceSettings.
    • copyBuilder

      public SequenceSettings.Builder copyBuilder()
    • numFrames

      public int numFrames()
      Number of time points to be acquired. Defines a sequence of time points together with intervalMs(). Will be overriden when useCustomIntervals() and customIntervalsMs() are set.
    • intervalMs

      public double intervalMs()
      Desired interval between the start of two consecutive time points in milliseconds. Defines a sequence of time points together r with numFrames(). Will be overriden when useCustomIntervals() and customIntervalsMs() are set.
    • displayTimeUnit

      public int displayTimeUnit()
      Time unit, only used to store preferred way to display the time.
      Returns:
      0-milliseconds, 1-seconds, 2-minutes
    • useCustomIntervals

      public boolean useCustomIntervals()
      Whether to use custom time intervals defined customIntervalsMs().
      Returns:
      use custom time intervals when true
    • customIntervalsMs

      public ArrayList<Double> customIntervalsMs()
      Time intervals between the starts of time points in milliseconds.
    • channels

      public ArrayList<ChannelSpec> channels()
      List with channel definitions to be used in the acquisition.
      Returns:
      List with channel definitions to be used in the acquisition
    • slices

      public ArrayList<Double> slices()
      Z- drive positions to be used to acquire a z-stack.
      Returns:
      List of Z- drive positions to be used to acquire a z-stack
    • relativeZSlice

      public boolean relativeZSlice()
      Whether to base the z Top and Bottom for a z stack relative to a referent position or treat them as absolute values.
      Returns:
      true when values are relative
    • keepShutterOpenSlices

      public boolean keepShutterOpenSlices()
      Whether to keep shutter open during z-stack stage movements.
    • keepShutterOpenChannels

      public boolean keepShutterOpenChannels()
      Whether to keep shutter open during channel changes.
    • useAutofocus

      public boolean useAutofocus()
      Whether to use autofocus before each time point / position.
      Returns:
      Whether to use autofocus before each time point / position
    • skipAutofocusCount

      public int skipAutofocusCount()
      how many autofocus opportunities to skip.
    • save

      public boolean save()
      Whether the data acquisition should be stored on disk.
      Returns:
      save when true, otherwise to RAMM only
    • saveMode

      public Datastore.SaveMode saveMode()
      File format to be used to save this acquisition when save() is set. Formats are defined in Datastore.SaveMode. Currently: 0 - Datastore.SaveMode.SINGLEPLANE_TIFF_SERIES 1 - Datastore.SaveMode.MULTIPAGE_TIFF
      Returns:
      integer representing Datastore.SaveMode
    • root

      public String root()
      Directory where data will be saved.
      Returns:
      Directory where data will be saved
    • prefix

      public String prefix()
      Acquisition name. Will be used in storage and display.
      Returns:
      acquisition name
    • zReference

      public double zReference()
      referent z position for relative moves.
    • comment

      public String comment()
      Text comment to be attached to the acquired data.
      Returns:
      text comment
    • channelGroup

      public String channelGroup()
      Configuration group used to define channels used in the acquisition.
    • usePositionList

      public boolean usePositionList()
      Whether to acquire at multiple positions (defined in the positionList).
      Returns:
      True if positions in the list should all be visited, when false, only acquired at current position
    • cameraTimeout

      public int cameraTimeout()
      Minimum camera timeout, in ms, for sequence acquisitions (actual timeout depends on exposure time and other factors).
    • shouldDisplayImages

      public boolean shouldDisplayImages()
      Whether to display acquired data.
    • useSlices

      public boolean useSlices()
      Whether to acquire z stacks during the acquisition.
    • useFrames

      public boolean useFrames()
      Whether to acquire multiple time points during the acquisition.
    • useChannels

      public boolean useChannels()
      Whether to acquire multiple channels during the acquisition.
    • sliceZStepUm

      public double sliceZStepUm()
      Distance the z-drive should travel between steps when acquiring a z-stack.
    • sliceZBottomUm

      public double sliceZBottomUm()
      Start position of the z-stack in microns. Can be absolute or relative to current position.
    • sliceZTopUm

      public double sliceZTopUm()
      End position of the z-stack in microns. Can be absolute or relative to current position.
    • acqOrderMode

      public int acqOrderMode()
      Order of the various axes during acquisition as defined in AcqOrderMode. Currently available orders: 0 - AcqOrderMode.TIME_POS_SLICE_CHANNEL 1 - AcqOrderMode.TIME_POS_CHANNEL_SLICE 2 - AcqOrderMode.POS_TIME_SLICE_CHANNEL 3 - AcqOrderMode.POS_TIME_CHANNEL_SLICE
      Returns:
      integer representing enum AcqOrderMode
    • isTestAcquisition

      public boolean isTestAcquisition()
      Whether this is a test acquisition. Test acquisitions are not saved to disk and are used for testing purposes. They differ from normal acquisition that are not saved to disk by their intent, i.e. Test Acquisitions are quick throw away acquisition to ensure that all the settings are correct, whereas normal acquisition that are not saved to disk are useful acquisition that the user may alter want to save. TestAcquisition are especially convenient with modalities like Light Sheet and function as the equivalent of a Preview window but then for the complete Z-stack (with multiple channels if so desired).
      Returns:
      true if this is a test acquisition, false otherwise
    • getVersion

      public double getVersion()
    • toJSONStream

      public static String toJSONStream(SequenceSettings settings)
    • fromJSONStream

      public static SequenceSettings fromJSONStream(String stream)
    • toString

      public String toString()
      Overrides:
      toString in class Object