public abstract class AbstractMarsMetadata extends AbstractMarsRecord implements MarsMetadata
These records may also contain BigDataViewer registration coordinates, video
locations, and channel names. The log contained in these records will contain
a history of commands run on this dataset and the molecule records associated
with it that are stored in the same MoleculeArchive
. The
MarsTable
inherited from AbstractMarsRecord
will contain
metadata for each frame in individual rows in order of collection.
This record format is designed for use with single-molecule time-series data
collected on TIRF microscopes or bead tracking microscopes. Therefore, these
data are assumed to be 2D only. If individual colors are recorded in separate
frames their information should be merged into a single row contained in the
MarsTable
.
Modifier and Type | Field and Description |
---|---|
protected java.util.LinkedHashMap<java.lang.String,MarsBdvSource> |
bdvSources |
protected java.util.Map<java.lang.Integer,MarsOMEImage> |
images |
protected java.lang.String |
log |
protected java.lang.String |
microscope |
protected java.lang.String |
sourceDirectory |
parent
Constructor and Description |
---|
AbstractMarsMetadata()
Constructor for creating an empty MarsMetadata record.
|
AbstractMarsMetadata(com.fasterxml.jackson.core.JsonParser jParser)
Constructor for loading a MarsMetadata record from a file.
|
AbstractMarsMetadata(java.lang.String UID)
Constructor for creating an empty MarsMetadata record with the specified
UID.
|
AbstractMarsMetadata(java.lang.String UID,
ome.xml.meta.OMEXMLMetadata omeXmlMetadata)
Constructor for creating a MarsMetadata record using OMEXMLMetadata.
|
Modifier and Type | Method and Description |
---|---|
protected void |
createIOMaps()
Must be implemented in subclasses to define how fields, objects, arrays
should be saved based on the Jackson streaming API.
|
MarsBdvSource |
getBdvSource(java.lang.String name)
Get the
MarsBdvSource with the name provided. |
java.util.Set<java.lang.String> |
getBdvSourceNames()
Get the set of BigDataViewer source names.
|
java.util.Collection<MarsBdvSource> |
getBdvSources()
Get the Collection of BigDataViewer sources with each in
MarsBdvSource format. |
java.lang.String |
getCollectionDate()
Get the Date when these data were collected.
|
MarsOMEImage |
getImage(int imageIndex) |
int |
getImageCount() |
java.lang.String |
getLog()
Get the log that contains the history of processing steps conducted on this
dataset and the associated molecule records contained in the same
MoleculeArchive . |
java.lang.String |
getMicroscopeName()
Get the name of the microscope used for data collection.
|
MarsOMEPlane |
getPlane(int imageIndex,
int planeIndex) |
MarsOMEPlane |
getPlane(int imageIndex,
int z,
int c,
int t)
Get the MarsOMEPlane for a given image and ZCT position.
|
java.lang.String |
getSourceDirectory()
Get the Source Directory where the images are stored.
|
boolean |
hasBdvSource(java.lang.String name)
Check if this record contains the BigDataViewer with the name provided.
|
boolean |
hasPlane(int imageIndex,
int planeIndex) |
java.util.stream.Stream<MarsOMEImage> |
images() |
void |
log(java.lang.String str)
Add to the log that contains the history of processing steps conducted on
this dataset and the associated molecule records contained in the same
MoleculeArchive . |
void |
logln(java.lang.String str)
Add to the log that contains the history of processing steps conducted on
this dataset and the associated molecule records contained in the same
MoleculeArchive . |
void |
merge(MarsMetadata metadata)
Used to merge another MarsMetadata record into this one.
|
void |
populateMetadata(ome.xml.meta.OMEXMLMetadata md) |
void |
putBdvSource(MarsBdvSource source)
Add or update the
MarsBdvSource with the name provided. |
void |
removeAllBdvSources()
Remove all
MarsBdvSource s. |
void |
removeBdvSource(java.lang.String name)
Remove the
MarsBdvSource with the name provided. |
void |
setImage(MarsOMEImage image,
int imageIndex) |
void |
setMicroscopeName(java.lang.String microscope)
Set the name of the microscope used for data collection.
|
void |
setSourceDirectory(java.lang.String path)
Set the Source Directory where the images are stored.
|
addNote, addTag, getBooleanParameter, getNotes, getParameter, getParameters, getPosition, getPositionNames, getPositions, getRegion, getRegionNames, getRegions, getStringParameter, getTags, getTagsArray, getUID, hasBooleanParameter, hasDoubleParameter, hasNoTags, hasParameter, hasPosition, hasRegion, hasStringParameter, hasTag, merge, putPosition, putRegion, removeAllParameters, removeAllPositions, removeAllRegions, removeAllTags, removeParameter, removePosition, removeRegion, removeTag, setNotes, setParameter, setParameter, setParameter, setParent
dumpJSON, fromJSON, getJsonGenerator, getJsonParser, setJsonField, setShowWarnings, toJSON
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addNote, addTag, getBooleanParameter, getNotes, getParameter, getParameters, getPosition, getPositionNames, getPositions, getRegion, getRegionNames, getRegions, getStringParameter, getTags, getTagsArray, getUID, hasBooleanParameter, hasDoubleParameter, hasNoTags, hasParameter, hasPosition, hasRegion, hasStringParameter, hasTag, merge, putPosition, putRegion, removeAllParameters, removeAllPositions, removeAllRegions, removeAllTags, removeParameter, removePosition, removeRegion, removeTag, setNotes, setParameter, setParameter, setParameter, setParent
dumpJSON, fromJSON, getJsonGenerator, getJsonParser, setJsonField, setShowWarnings, toJSON
protected java.lang.String log
protected java.lang.String microscope
protected java.lang.String sourceDirectory
protected final java.util.Map<java.lang.Integer,MarsOMEImage> images
protected final java.util.LinkedHashMap<java.lang.String,MarsBdvSource> bdvSources
public AbstractMarsMetadata()
public AbstractMarsMetadata(java.lang.String UID)
UID
- The unique identifier for this record.public AbstractMarsMetadata(java.lang.String UID, ome.xml.meta.OMEXMLMetadata omeXmlMetadata)
UID
- The UID of the MarsMetadata record being created.omeXmlMetadata
- The OMEXMLMetadata to use.public AbstractMarsMetadata(com.fasterxml.jackson.core.JsonParser jParser) throws java.io.IOException
MoleculeArchive
or when a record is retrieved from the virtual store.jParser
- A JsonParser at the start of the record.java.io.IOException
- Thrown if unable to parse Json from JsonParser stream.public void populateMetadata(ome.xml.meta.OMEXMLMetadata md)
populateMetadata
in interface MarsMetadata
protected void createIOMaps()
AbstractJsonConvertibleRecord
createIOMaps
in class AbstractMarsRecord
public void merge(MarsMetadata metadata)
merge
in interface MarsMetadata
metadata
- MarsMetadata to merge into this one.public void putBdvSource(MarsBdvSource source)
MarsBdvSource
with the name provided. All
MarsBdvSource
are unique so record will be overwritten if they have
the same name.putBdvSource
in interface MarsMetadata
source
- Mars BigDataViewer Source to add to the MarsImageMetadata
record.public MarsBdvSource getBdvSource(java.lang.String name)
MarsBdvSource
with the name provided.getBdvSource
in interface MarsMetadata
name
- Name of the MarsBdvSource to retrieve.public void removeBdvSource(java.lang.String name)
MarsBdvSource
with the name provided.removeBdvSource
in interface MarsMetadata
name
- Name of the MarsBdvSource to remove.public void removeAllBdvSources()
MarsBdvSource
s.removeAllBdvSources
in interface MarsMetadata
public java.util.Collection<MarsBdvSource> getBdvSources()
MarsBdvSource
format.getBdvSources
in interface MarsMetadata
public java.util.Set<java.lang.String> getBdvSourceNames()
getBdvSourceNames
in interface MarsMetadata
public boolean hasBdvSource(java.lang.String name)
hasBdvSource
in interface MarsMetadata
name
- Name of the MarsBdvSource to check for.public void setMicroscopeName(java.lang.String microscope)
setMicroscopeName
in interface MarsMetadata
microscope
- Name of the microscope used for collection.public java.lang.String getMicroscopeName()
getMicroscopeName
in interface MarsMetadata
public void setImage(MarsOMEImage image, int imageIndex)
setImage
in interface MarsMetadata
public MarsOMEImage getImage(int imageIndex)
getImage
in interface MarsMetadata
public int getImageCount()
getImageCount
in interface MarsMetadata
public java.util.stream.Stream<MarsOMEImage> images()
images
in interface MarsMetadata
public java.lang.String getSourceDirectory()
getSourceDirectory
in interface MarsMetadata
public void setSourceDirectory(java.lang.String path)
setSourceDirectory
in interface MarsMetadata
path
- The string file path.public void logln(java.lang.String str)
MoleculeArchive
. Start a new line after adding the message.logln
in interface MarsMetadata
str
- Message to add to the log.public void log(java.lang.String str)
MoleculeArchive
. Do not start a new line after adding the message.log
in interface MarsMetadata
str
- Message to add to the log.public java.lang.String getLog()
MoleculeArchive
.getLog
in interface MarsMetadata
public MarsOMEPlane getPlane(int imageIndex, int z, int c, int t)
getPlane
in interface MarsMetadata
imageIndex
- Index of the image.z
- Z (slice).c
- Channel.t
- Time point.public boolean hasPlane(int imageIndex, int planeIndex)
hasPlane
in interface MarsMetadata
public MarsOMEPlane getPlane(int imageIndex, int planeIndex)
getPlane
in interface MarsMetadata
public java.lang.String getCollectionDate()
MarsMetadata
getCollectionDate
in interface MarsMetadata