loci.plugins.macro

## Class LociFunctions

- java.lang.Object
- - loci.plugins.macro.MacroFunctions
  - - loci.plugins.macro.LociFunctions

- All Implemented Interfaces:
    ij.macro.MacroExtension, ij.plugin.PlugIn

      public class LociFunctions
      extends MacroFunctions

  This class provides macro extensions in ImageJ for Bio-Formats. Currently, it is a fairly tight mirror to the `IFormatReader` interface, with some additional functions to control the type of format reader used. Note that public methods in this class can only accept parameters of String, Double, String[], Double[], and Object[] types. Anything else will prevent the method from being usable within a macro.
  Author:
    Curtis Rueden ctrueden at wisc.edu

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private ImageProcessorReader` | `r`
    `private int` | `series`
    `static java.lang.String` | `URL_JAVADOCS` URL for Javadocs.

    - ### Fields inherited from class loci.plugins.macro.MacroFunctions

      `extensions`

    - ### Fields inherited from interface ij.macro.MacroExtension

      `ARG_ARRAY, ARG_NUMBER, ARG_OPTIONAL, ARG_OUTPUT, ARG_STRING`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LociFunctions()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()`
    `void` | `closeFileOnly()`
    `void` | `fileGroupOption(java.lang.String id, java.lang.String[] fileGroupOption)`
    `void` | `getBuildDate(java.lang.String[] date)`
    `void` | `getChannelDimCount(java.lang.Double[] channelDimCount)`
    `void` | `getChannelDimLength(java.lang.Double i, java.lang.Double[] channelDimLength)`
    `void` | `getChannelDimType(java.lang.Double i, java.lang.String[] channelDimType)`
    `void` | `getCurrentFile(java.lang.String[] file)`
    `void` | `getDimensionOrder(java.lang.String[] dimOrder)`
    `void` | `getEffectiveSizeC(java.lang.Double[] effectiveSizeC)`
    `void` | `getFormat(java.lang.String id, java.lang.String[] format)`
    `void` | `getImageCount(java.lang.Double[] imageCount)`
    `void` | `getImageCreationDate(java.lang.String[] creationDate)`
    `void` | `getIndex(java.lang.Double z, java.lang.Double c, java.lang.Double t, java.lang.Double[] index)`
    `void` | `getMetadataValue(java.lang.String field, java.lang.String[] value)`
    `void` | `getPixelsPhysicalSizeX(java.lang.Double[] sizeX)`
    `void` | `getPixelsPhysicalSizeY(java.lang.Double[] sizeY)`
    `void` | `getPixelsPhysicalSizeZ(java.lang.Double[] sizeZ)`
    `void` | `getPixelsTimeIncrement(java.lang.Double[] sizeT)`
    `void` | `getPixelType(java.lang.String[] pixelType)`
    `private static int` | `getPlaneIndex(IFormatReader r, int no)` Finds the Plane index corresponding to the given image plane number.
    `void` | `getPlanePositionX(java.lang.Double[] positionX, java.lang.Double no)`
    `void` | `getPlanePositionY(java.lang.Double[] positionY, java.lang.Double no)`
    `void` | `getPlanePositionZ(java.lang.Double[] positionZ, java.lang.Double no)`
    `void` | `getPlaneTimingDeltaT(java.lang.Double[] deltaT, java.lang.Double no)`
    `void` | `getPlaneTimingExposureTime(java.lang.Double[] exposureTime, java.lang.Double no)`
    `void` | `getRevision(java.lang.String[] revision)`
    `void` | `getRGBChannelCount(java.lang.Double[] rgbChannelCount)`
    `void` | `getSeries(java.lang.Double[] seriesNum)`
    `void` | `getSeriesCount(java.lang.Double[] seriesCount)`
    `void` | `getSeriesMetadataValue(java.lang.String field, java.lang.String[] value)`
    `void` | `getSeriesName(java.lang.String[] seriesName)`
    `void` | `getSizeC(java.lang.Double[] sizeC)`
    `void` | `getSizeT(java.lang.Double[] sizeT)`
    `void` | `getSizeX(java.lang.Double[] sizeX)`
    `void` | `getSizeY(java.lang.Double[] sizeY)`
    `void` | `getSizeZ(java.lang.Double[] sizeZ)`
    `void` | `getUsedFile(java.lang.Double i, java.lang.String[] used)`
    `void` | `getUsedFileCount(java.lang.Double[] count)`
    `void` | `getVersionNumber(java.lang.String[] version)`
    `void` | `getZCTCoords(java.lang.Double index, java.lang.Double[] z, java.lang.Double[] c, java.lang.Double[] t)`
    `void` | `isGroupFiles(java.lang.String[] groupFiles)`
    `void` | `isIndexed(java.lang.String[] indexed)`
    `void` | `isInterleaved(java.lang.String[] interleaved)`
    `void` | `isInterleavedSubC(java.lang.Double subC, java.lang.String[] interleaved)`
    `void` | `isLittleEndian(java.lang.String[] littleEndian)`
    `void` | `isMetadataComplete(java.lang.String[] complete)`
    `void` | `isMetadataFiltered(java.lang.String[] metadataFiltered)`
    `void` | `isNormalized(java.lang.Boolean[] normalize)`
    `void` | `isOrderCertain(java.lang.String[] orderCertain)`
    `void` | `isOriginalMetadataPopulated(java.lang.Boolean[] populate)`
    `void` | `isThisType(java.lang.String name, java.lang.String[] thisType)`
    `void` | `isThisTypeFast(java.lang.String name, java.lang.String[] thisType)`
    `void` | `openImage(java.lang.String title, java.lang.Double no)`
    `void` | `openImagePlus(java.lang.String path)`
    `void` | `openSubImage(java.lang.String title, java.lang.Double no, java.lang.Double x, java.lang.Double y, java.lang.Double w, java.lang.Double h)`
    `void` | `openThumbImage(java.lang.String title, java.lang.Double no)`
    `void` | `openThumbImagePlus(java.lang.String path)`
    `void` | `run(java.lang.String arg)`
    `void` | `setGroupFiles(java.lang.String groupFiles)`
    `void` | `setId(java.lang.String id)`
    `void` | `setMetadataFiltered(java.lang.String metadataFiltered)`
    `void` | `setNormalized(java.lang.Boolean normalize)`
    `void` | `setOriginalMetadataPopulated(java.lang.Boolean populate)`
    `void` | `setSeries(java.lang.Double seriesNum)`

    - ### Methods inherited from class loci.plugins.macro.MacroFunctions

      `buildExtensions, getExtensionFunctions, handleExtension`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### URL_JAVADOCS

          public static final java.lang.String URL_JAVADOCS

      URL for Javadocs.

    - #### r

          private ImageProcessorReader r

    - #### series

          private int series

  - ### Constructor Detail

    - #### LociFunctions

          public LociFunctions()

  - ### Method Detail

    - #### getRevision

          public void getRevision(java.lang.String[] revision)

    - #### getBuildDate

          public void getBuildDate(java.lang.String[] date)

    - #### getVersionNumber

          public void getVersionNumber(java.lang.String[] version)

    - #### getImageCount

          public void getImageCount(java.lang.Double[] imageCount)

    - #### getSizeX

          public void getSizeX(java.lang.Double[] sizeX)

    - #### getSizeY

          public void getSizeY(java.lang.Double[] sizeY)

    - #### getSizeZ

          public void getSizeZ(java.lang.Double[] sizeZ)

    - #### getSizeC

          public void getSizeC(java.lang.Double[] sizeC)

    - #### getSizeT

          public void getSizeT(java.lang.Double[] sizeT)

    - #### getPixelType

          public void getPixelType(java.lang.String[] pixelType)

    - #### getEffectiveSizeC

          public void getEffectiveSizeC(java.lang.Double[] effectiveSizeC)

    - #### getRGBChannelCount

          public void getRGBChannelCount(java.lang.Double[] rgbChannelCount)

    - #### isIndexed

          public void isIndexed(java.lang.String[] indexed)

    - #### getChannelDimCount

          public void getChannelDimCount(java.lang.Double[] channelDimCount)

    - #### getChannelDimLength

          public void getChannelDimLength(java.lang.Double i,
                                          java.lang.Double[] channelDimLength)

    - #### getChannelDimType

          public void getChannelDimType(java.lang.Double i,
                                        java.lang.String[] channelDimType)

    - #### isLittleEndian

          public void isLittleEndian(java.lang.String[] littleEndian)

    - #### getDimensionOrder

          public void getDimensionOrder(java.lang.String[] dimOrder)

    - #### isOrderCertain

          public void isOrderCertain(java.lang.String[] orderCertain)

    - #### isInterleaved

          public void isInterleaved(java.lang.String[] interleaved)

    - #### isInterleavedSubC

          public void isInterleavedSubC(java.lang.Double subC,
                                        java.lang.String[] interleaved)

    - #### openImagePlus

          public void openImagePlus(java.lang.String path)

    - #### openThumbImagePlus

          public void openThumbImagePlus(java.lang.String path)

    - #### openThumbImage

          public void openThumbImage(java.lang.String title,
                                     java.lang.Double no)
                              throws FormatException,
                                     java.io.IOException

      Throws:
        `FormatException`
        `java.io.IOException`

    - #### openImage

          public void openImage(java.lang.String title,
                                java.lang.Double no)
                         throws FormatException,
                                java.io.IOException

      Throws:
        `FormatException`
        `java.io.IOException`

    - #### openSubImage

          public void openSubImage(java.lang.String title,
                                   java.lang.Double no,
                                   java.lang.Double x,
                                   java.lang.Double y,
                                   java.lang.Double w,
                                   java.lang.Double h)
                            throws FormatException,
                                   java.io.IOException

      Throws:
        `FormatException`
        `java.io.IOException`

    - #### close

          public void close()
                     throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### closeFileOnly

          public void closeFileOnly()
                             throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getSeriesCount

          public void getSeriesCount(java.lang.Double[] seriesCount)

    - #### setSeries

          public void setSeries(java.lang.Double seriesNum)

    - #### getSeries

          public void getSeries(java.lang.Double[] seriesNum)

    - #### setNormalized

          public void setNormalized(java.lang.Boolean normalize)

    - #### isNormalized

          public void isNormalized(java.lang.Boolean[] normalize)

    - #### setOriginalMetadataPopulated

          public void setOriginalMetadataPopulated(java.lang.Boolean populate)

    - #### isOriginalMetadataPopulated

          public void isOriginalMetadataPopulated(java.lang.Boolean[] populate)

    - #### setGroupFiles

          public void setGroupFiles(java.lang.String groupFiles)

    - #### isGroupFiles

          public void isGroupFiles(java.lang.String[] groupFiles)

    - #### isMetadataComplete

          public void isMetadataComplete(java.lang.String[] complete)

    - #### fileGroupOption

          public void fileGroupOption(java.lang.String id,
                                      java.lang.String[] fileGroupOption)
                               throws FormatException,
                                      java.io.IOException

      Throws:
        `FormatException`
        `java.io.IOException`

    - #### getUsedFileCount

          public void getUsedFileCount(java.lang.Double[] count)

    - #### getUsedFile

          public void getUsedFile(java.lang.Double i,
                                  java.lang.String[] used)

    - #### getCurrentFile

          public void getCurrentFile(java.lang.String[] file)

    - #### getIndex

          public void getIndex(java.lang.Double z,
                               java.lang.Double c,
                               java.lang.Double t,
                               java.lang.Double[] index)

    - #### getZCTCoords

          public void getZCTCoords(java.lang.Double index,
                                   java.lang.Double[] z,
                                   java.lang.Double[] c,
                                   java.lang.Double[] t)

    - #### getMetadataValue

          public void getMetadataValue(java.lang.String field,
                                       java.lang.String[] value)

    - #### getSeriesMetadataValue

          public void getSeriesMetadataValue(java.lang.String field,
                                             java.lang.String[] value)

    - #### setMetadataFiltered

          public void setMetadataFiltered(java.lang.String metadataFiltered)

    - #### isMetadataFiltered

          public void isMetadataFiltered(java.lang.String[] metadataFiltered)

    - #### getFormat

          public void getFormat(java.lang.String id,
                                java.lang.String[] format)
                         throws FormatException,
                                java.io.IOException

      Throws:
        `FormatException`
        `java.io.IOException`

    - #### setId

          public void setId(java.lang.String id)
                     throws FormatException,
                            java.io.IOException

      Throws:
        `FormatException`
        `java.io.IOException`

    - #### isThisType

          public void isThisType(java.lang.String name,
                                 java.lang.String[] thisType)

    - #### isThisTypeFast

          public void isThisTypeFast(java.lang.String name,
                                     java.lang.String[] thisType)

    - #### getSeriesName

          public void getSeriesName(java.lang.String[] seriesName)

    - #### getImageCreationDate

          public void getImageCreationDate(java.lang.String[] creationDate)

    - #### getPlaneTimingDeltaT

          public void getPlaneTimingDeltaT(java.lang.Double[] deltaT,
                                           java.lang.Double no)

    - #### getPlaneTimingExposureTime

          public void getPlaneTimingExposureTime(java.lang.Double[] exposureTime,
                                                 java.lang.Double no)

    - #### getPlanePositionX

          public void getPlanePositionX(java.lang.Double[] positionX,
                                        java.lang.Double no)

    - #### getPlanePositionY

          public void getPlanePositionY(java.lang.Double[] positionY,
                                        java.lang.Double no)

    - #### getPlanePositionZ

          public void getPlanePositionZ(java.lang.Double[] positionZ,
                                        java.lang.Double no)

    - #### getPixelsPhysicalSizeX

          public void getPixelsPhysicalSizeX(java.lang.Double[] sizeX)

    - #### getPixelsPhysicalSizeY

          public void getPixelsPhysicalSizeY(java.lang.Double[] sizeY)

    - #### getPixelsPhysicalSizeZ

          public void getPixelsPhysicalSizeZ(java.lang.Double[] sizeZ)

    - #### getPixelsTimeIncrement

          public void getPixelsTimeIncrement(java.lang.Double[] sizeT)

    - #### run

          public void run(java.lang.String arg)

      Specified by:
        `run` in interface `ij.plugin.PlugIn`
      Overrides:
        `run` in class `MacroFunctions`

    - #### getPlaneIndex

          private static int getPlaneIndex(IFormatReader r,
                                           int no)

      Finds the Plane index corresponding to the given image plane number.

Copyright © 2026 Open Microscopy Environment