loci.formats
Interface MetadataStore

All Known Implementing Classes:
AggregateMetadataStore, DummyMetadata

public interface MetadataStore

A proxy whose responsibility it is to marshal biological image data into a particular storage medium. The MetadataStore interface encompasses the basic metadata that any specific storage medium (file, relational database, etc.) should be expected to store and be expected to return with relationships maintained.

Source code:
Trac, SVN

Author:
Chris Allan callan at blackcat.ca TODO: Further work needs to be done to ensure the validity of the arguments to these methods with not-null constraints and NullPointerException declarations (should be unchecked exceptions).

Method Summary
 void createRoot()
          Creates a new root object to be used by the metadata store and resets the internal state of the metadata store.
 Object getRoot()
          Retrieves the root object of the metadata store.
 void setArc(String type, Float power, Integer lightNdx, Integer arcNdx)
          Sets an arc for a particular instrument.
 void setChannelGlobalMinMax(int channel, Double globalMin, Double globalMax, Integer i)
          Sets a channel's global min and global max in the metadata store for a particular pixels set.
 void setDefaultDisplaySettings(Integer i)
          Instructs the metadata store to set the default display settings for a particular pixels set.
 void setDetector(String manufacturer, String model, String serialNumber, String type, Float gain, Float voltage, Float offset, Integer instrumentNdx, Integer detectorNdx)
          Sets a detector for a particular instrument.
 void setDichroic(String manufacturer, String model, String lotNumber, Integer dichroicNdx)
          Sets a dichroic for a particular instrument.
 void setDimensions(Float pixelSizeX, Float pixelSizeY, Float pixelSizeZ, Float pixelSizeC, Float pixelSizeT, Integer i)
          Creates a set of pixel dimensions in the metadata store with a particular index.
 void setDisplayChannel(Integer channelNumber, Double blackLevel, Double whiteLevel, Float gamma, Integer i)
          Sets information about the specified channel for a particular image.
 void setDisplayOptions(Float zoom, Boolean redChannelOn, Boolean greenChannelOn, Boolean blueChannelOn, Boolean displayRGB, String colorMap, Integer zstart, Integer zstop, Integer tstart, Integer tstop, Integer imageNdx, Integer pixelsNdx, Integer redChannel, Integer greenChannel, Integer blueChannel, Integer grayChannel)
          Sets various display options for a particular pixels set.
 void setDisplayROI(Integer x0, Integer y0, Integer z0, Integer x1, Integer y1, Integer z1, Integer t0, Integer t1, Object displayOptions, Integer i)
          Creates a 5D bounding box region of interest and a set of display options in the metadata store with a particular index.
 void setEmissionFilter(String manufacturer, String model, String lotNumber, String type, Integer filterNdx)
          Sets an emission filter for a particular instrument.
 void setExcitationFilter(String manufacturer, String model, String lotNumber, String type, Integer filterNdx)
          Sets an excitation filter for a particular instrument.
 void setExperimenter(String firstName, String lastName, String email, String institution, String dataDirectory, Object group, Integer i)
          Creates an experimenter in the metadata store with a particular index.
 void setFilament(String type, Float power, Integer lightNdx, Integer filamentNdx)
          Sets a filament for a particular instrument.
 void setFilterSet(String manufacturer, String model, String lotNumber, Integer filterSetNdx, Integer filterNdx)
          Sets a filter set for a particular instrument.
 void setGroup(String name, Object leader, Object contact, Integer i)
          Creates a group in the metadata store with a particular index.
 void setImage(String name, String creationDate, String description, Integer i)
          Creates an image in the metadata store with a particular index.
 void setImagingEnvironment(Float temperature, Float airPressure, Float humidity, Float co2Percent, Integer i)
          Sets the imaging environment for a particular image.
 void setInstrument(String manufacturer, String model, String serialNumber, String type, Integer i)
          Creates an instrument in the metadata store with a particular index.
 void setLaser(String type, String medium, Integer wavelength, Boolean frequencyDoubled, Boolean tunable, String pulse, Float power, Integer instrumentNdx, Integer lightNdx, Integer pumpNdx, Integer laserNdx)
          Sets a laser for a particular instrument.
 void setLightSource(String manufacturer, String model, String serialNumber, Integer instrumentIndex, Integer lightIndex)
          Sets a light source for a particular instrument.
 void setLogicalChannel(int channelIdx, String name, Integer samplesPerPixel, Integer filter, Integer lightSource, Float lightAttenuation, Integer lightWavelength, Integer otf, Integer detector, Float detectorOffset, Float detectorGain, String illuminationType, Integer pinholeSize, String photometricInterpretation, String mode, String contrastMethod, Integer auxLightSource, Float auxLightAttenuation, String auxTechnique, Integer auxLightWavelength, Integer emWave, Integer exWave, String fluor, Float ndFilter, Integer i)
          Creates a logical channel and physical channel in the metadata store for a particular pixels.
 void setObjective(String manufacturer, String model, String serialNumber, Float lensNA, Float magnification, Integer instrumentNdx, Integer objectiveNdx)
          Sets an objective for a particular instrument.
 void setOTF(Integer sizeX, Integer sizeY, String pixelType, String path, Boolean opticalAxisAverage, Integer instrumentNdx, Integer otfNdx, Integer filterNdx, Integer objectiveNdx)
          Sets an OTF for a particular instrument.
 void setPixels(Integer sizeX, Integer sizeY, Integer sizeZ, Integer sizeC, Integer sizeT, Integer pixelType, Boolean bigEndian, String dimensionOrder, Integer imageNo, Integer pixelsNo)
          Creates a pixels set in the metadata store with a particular image and pixels index.
 void setPlaneInfo(int theZ, int theC, int theT, Float timestamp, Float exposureTime, Integer i)
          Sets the plane information for a particular X-Y plane (section) within a particular pixels set.
 void setRoot(Object root)
          Sets the root object of the metadata store.
 void setStageLabel(String name, Float x, Float y, Float z, Integer i)
          Creates a stage label in the metadata store with a particular index.
 

Method Detail

createRoot

void createRoot()
Creates a new root object to be used by the metadata store and resets the internal state of the metadata store.


setRoot

void setRoot(Object root)
Sets the root object of the metadata store.

Parameters:
root - object that the store can use as its root.

getRoot

Object getRoot()
Retrieves the root object of the metadata store.

Returns:
object that the store is using as its root.

setImage

void setImage(String name,
              String creationDate,
              String description,
              Integer i)
Creates an image in the metadata store with a particular index.

Parameters:
name - the full name of the image.
creationDate - the creation date of the image.
description - the full description of the image.
i - the index to use in the store. If null the default index of 0 will be used.

setExperimenter

void setExperimenter(String firstName,
                     String lastName,
                     String email,
                     String institution,
                     String dataDirectory,
                     Object group,
                     Integer i)
Creates an experimenter in the metadata store with a particular index.

Parameters:
firstName - the first name of the experimenter
lastName - the last name of the experimenter
email - the e-mail address of the experimenter
institution - the institution for which the experimenter belongs
dataDirectory - the fully qualified path to the experimenter's data
group - the group to which the experimenter belongs
i - the index to use in the store. If null the default index of 0 will be used.

setGroup

void setGroup(String name,
              Object leader,
              Object contact,
              Integer i)
Creates a group in the metadata store with a particular index.

Parameters:
name - the name of the group.
leader - the leader of the group.
contact - the contact for the group.
i - the index to use in the store. If null the default index of 0 will be used.

setInstrument

void setInstrument(String manufacturer,
                   String model,
                   String serialNumber,
                   String type,
                   Integer i)
Creates an instrument in the metadata store with a particular index.

Parameters:
manufacturer - the name of the manufacturer.
model - the model number of the instrument.
serialNumber - the serial number of the instrument.
type - the type of the instrument.
i - the index to use in the store. If null the default index of 0 will be used.

setDimensions

void setDimensions(Float pixelSizeX,
                   Float pixelSizeY,
                   Float pixelSizeZ,
                   Float pixelSizeC,
                   Float pixelSizeT,
                   Integer i)
Creates a set of pixel dimensions in the metadata store with a particular index. Unless both values are non-null, the MetadataStore should assume pixelSizeX equals pixelSizeY (i.e., should populate the null field with the other field's value).

Parameters:
pixelSizeX - size of an individual pixel's X axis in microns.
pixelSizeY - size of an individual pixel's Y axis in microns.
pixelSizeZ - size of an individual pixel's Z axis in microns.
pixelSizeC - FIXME: Unknown
pixelSizeT - FIXME: Unknown
i - the index to use in the store. If null the default index of 0 will be used.

setDisplayROI

void setDisplayROI(Integer x0,
                   Integer y0,
                   Integer z0,
                   Integer x1,
                   Integer y1,
                   Integer z1,
                   Integer t0,
                   Integer t1,
                   Object displayOptions,
                   Integer i)
Creates a 5D bounding box region of interest and a set of display options in the metadata store with a particular index.

Parameters:
x0 - the starting X coordinate.
y0 - the starting Y coordinate.
z0 - the starting Z coordinate.
x1 - the ending X coordinate.
y1 - the ending Y coordinate.
z1 - the ending Z coordinate.
t0 - the starting timepoint.
t1 - the ending timepoint.
displayOptions - the display options to attach to this region of interest.
i - the index to use in the store. If null the default index of 0 will be used.

setPixels

void setPixels(Integer sizeX,
               Integer sizeY,
               Integer sizeZ,
               Integer sizeC,
               Integer sizeT,
               Integer pixelType,
               Boolean bigEndian,
               String dimensionOrder,
               Integer imageNo,
               Integer pixelsNo)
Creates a pixels set in the metadata store with a particular image and pixels index.

Parameters:
sizeX - size of an individual plane or section's X axis (width)
sizeY - size of an individual plane of section's Y axis (height)
sizeZ - number of optical sections per channel, per timepoint (per stack)
sizeC - number of channels per timepoint.
sizeT - number of timepoints.
pixelType - the pixel type. One of the enumerated static values present in FormatReader.
bigEndian - if the pixels set is big endian or not.
dimensionOrder - the dimension order of the pixels set.
imageNo - the image index to use in the store. If null the default index of 0 will be used.
pixelsNo - the pixels index to use in the store. If null the default index of 0 will be used.

setStageLabel

void setStageLabel(String name,
                   Float x,
                   Float y,
                   Float z,
                   Integer i)
Creates a stage label in the metadata store with a particular index.

Parameters:
name - a name for the stage label.
x - coordinate of the stage.
y - coordinate of the stage.
z - coordinate of the stage.
i - the index to use in the store. If null the default index of 0 will be used.

setLogicalChannel

void setLogicalChannel(int channelIdx,
                       String name,
                       Integer samplesPerPixel,
                       Integer filter,
                       Integer lightSource,
                       Float lightAttenuation,
                       Integer lightWavelength,
                       Integer otf,
                       Integer detector,
                       Float detectorOffset,
                       Float detectorGain,
                       String illuminationType,
                       Integer pinholeSize,
                       String photometricInterpretation,
                       String mode,
                       String contrastMethod,
                       Integer auxLightSource,
                       Float auxLightAttenuation,
                       String auxTechnique,
                       Integer auxLightWavelength,
                       Integer emWave,
                       Integer exWave,
                       String fluor,
                       Float ndFilter,
                       Integer i)
Creates a logical channel and physical channel in the metadata store for a particular pixels.

Parameters:
channelIdx - the index of the channel within the pixels set.
name - the logical channel's name.
samplesPerPixel -
filter - index of the filter associated with this channel.
lightSource - index of the primary light source.
lightAttenuation - the primary light source attenuation.
lightWavelength - the primary light source wavelength.
otf - the index of the OTF associated with this channel.
detector - the index of the detector associated with this channel.
detectorOffset - the detector offset.
detectorGain - the detector gain.
illuminationType - the illumination type.
pinholeSize - the size of the pinhole.
photometricInterpretation - the photometric interpretation type.
mode - the acquisition mode.
contrastMethod - the constrast method name.
auxLightSource - index of the auxiliary light source.
auxLightAttenuation - the auxiliary light source attenuation.
auxTechnique - the auxiliary technique type.
auxLightWavelength - the auxiliary light source wavelength.
emWave - the emission wavelength.
exWave - the excitation wavelength.
fluor - the fluorescence type.
ndFilter - the neutral-density filter value.
i - the index of the pixels set within the metadata store.

setChannelGlobalMinMax

void setChannelGlobalMinMax(int channel,
                            Double globalMin,
                            Double globalMax,
                            Integer i)
Sets a channel's global min and global max in the metadata store for a particular pixels set. NOTE: The implementation of this method is optional and can be purely a no-op. It is here to ensure compatability with certain stores which require this data to be specified explicitly.

Parameters:
channel - the index of the channel within the pixels set.
globalMin - the global minimum pixel value for the channel.
globalMax - the global maximum pixel value for the channel.
i - the index of the pixels set within the metadata store.

setPlaneInfo

void setPlaneInfo(int theZ,
                  int theC,
                  int theT,
                  Float timestamp,
                  Float exposureTime,
                  Integer i)
Sets the plane information for a particular X-Y plane (section) within a particular pixels set. NOTE: The implementation of this method is optional as this is a transitional type. More information about the PlaneInfo type can be found here.

Parameters:
theZ - the optical section index.
theC - the channel index.
theT - the timepoint.
timestamp - the time of acquisition in seconds of the plane (section) with zero being the start of acquistion.
exposureTime - exposure time in seconds.
i - the index of the pixels set within the metadata store.

setDefaultDisplaySettings

void setDefaultDisplaySettings(Integer i)
Instructs the metadata store to set the default display settings for a particular pixels set.

Parameters:
i - the index of the pixels set within the metadata store.

setImagingEnvironment

void setImagingEnvironment(Float temperature,
                           Float airPressure,
                           Float humidity,
                           Float co2Percent,
                           Integer i)
Sets the imaging environment for a particular image.


setDisplayChannel

void setDisplayChannel(Integer channelNumber,
                       Double blackLevel,
                       Double whiteLevel,
                       Float gamma,
                       Integer i)
Sets information about the specified channel for a particular image.


setDisplayOptions

void setDisplayOptions(Float zoom,
                       Boolean redChannelOn,
                       Boolean greenChannelOn,
                       Boolean blueChannelOn,
                       Boolean displayRGB,
                       String colorMap,
                       Integer zstart,
                       Integer zstop,
                       Integer tstart,
                       Integer tstop,
                       Integer imageNdx,
                       Integer pixelsNdx,
                       Integer redChannel,
                       Integer greenChannel,
                       Integer blueChannel,
                       Integer grayChannel)
Sets various display options for a particular pixels set.


setLightSource

void setLightSource(String manufacturer,
                    String model,
                    String serialNumber,
                    Integer instrumentIndex,
                    Integer lightIndex)
Sets a light source for a particular instrument.


setLaser

void setLaser(String type,
              String medium,
              Integer wavelength,
              Boolean frequencyDoubled,
              Boolean tunable,
              String pulse,
              Float power,
              Integer instrumentNdx,
              Integer lightNdx,
              Integer pumpNdx,
              Integer laserNdx)
Sets a laser for a particular instrument.


setFilament

void setFilament(String type,
                 Float power,
                 Integer lightNdx,
                 Integer filamentNdx)
Sets a filament for a particular instrument.


setArc

void setArc(String type,
            Float power,
            Integer lightNdx,
            Integer arcNdx)
Sets an arc for a particular instrument.


setDetector

void setDetector(String manufacturer,
                 String model,
                 String serialNumber,
                 String type,
                 Float gain,
                 Float voltage,
                 Float offset,
                 Integer instrumentNdx,
                 Integer detectorNdx)
Sets a detector for a particular instrument.


setObjective

void setObjective(String manufacturer,
                  String model,
                  String serialNumber,
                  Float lensNA,
                  Float magnification,
                  Integer instrumentNdx,
                  Integer objectiveNdx)
Sets an objective for a particular instrument.


setExcitationFilter

void setExcitationFilter(String manufacturer,
                         String model,
                         String lotNumber,
                         String type,
                         Integer filterNdx)
Sets an excitation filter for a particular instrument.


setDichroic

void setDichroic(String manufacturer,
                 String model,
                 String lotNumber,
                 Integer dichroicNdx)
Sets a dichroic for a particular instrument.


setEmissionFilter

void setEmissionFilter(String manufacturer,
                       String model,
                       String lotNumber,
                       String type,
                       Integer filterNdx)
Sets an emission filter for a particular instrument.


setFilterSet

void setFilterSet(String manufacturer,
                  String model,
                  String lotNumber,
                  Integer filterSetNdx,
                  Integer filterNdx)
Sets a filter set for a particular instrument.


setOTF

void setOTF(Integer sizeX,
            Integer sizeY,
            String pixelType,
            String path,
            Boolean opticalAxisAverage,
            Integer instrumentNdx,
            Integer otfNdx,
            Integer filterNdx,
            Integer objectiveNdx)
Sets an OTF for a particular instrument.