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
MarsBdvSources. |
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, setParentdumpJSON, fromJSON, getJsonGenerator, getJsonParser, setJsonField, setShowWarnings, toJSONclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddNote, 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, setParentdumpJSON, fromJSON, getJsonGenerator, getJsonParser, setJsonField, setShowWarnings, toJSONprotected 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 MarsMetadataprotected void createIOMaps()
AbstractJsonConvertibleRecordcreateIOMaps in class AbstractMarsRecordpublic void merge(MarsMetadata metadata)
merge in interface MarsMetadatametadata - 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 MarsMetadatasource - Mars BigDataViewer Source to add to the MarsImageMetadata
record.public MarsBdvSource getBdvSource(java.lang.String name)
MarsBdvSource with the name provided.getBdvSource in interface MarsMetadataname - Name of the MarsBdvSource to retrieve.public void removeBdvSource(java.lang.String name)
MarsBdvSource with the name provided.removeBdvSource in interface MarsMetadataname - Name of the MarsBdvSource to remove.public void removeAllBdvSources()
MarsBdvSources.removeAllBdvSources in interface MarsMetadatapublic java.util.Collection<MarsBdvSource> getBdvSources()
MarsBdvSource format.getBdvSources in interface MarsMetadatapublic java.util.Set<java.lang.String> getBdvSourceNames()
getBdvSourceNames in interface MarsMetadatapublic boolean hasBdvSource(java.lang.String name)
hasBdvSource in interface MarsMetadataname - Name of the MarsBdvSource to check for.public void setMicroscopeName(java.lang.String microscope)
setMicroscopeName in interface MarsMetadatamicroscope - Name of the microscope used for collection.public java.lang.String getMicroscopeName()
getMicroscopeName in interface MarsMetadatapublic void setImage(MarsOMEImage image, int imageIndex)
setImage in interface MarsMetadatapublic MarsOMEImage getImage(int imageIndex)
getImage in interface MarsMetadatapublic int getImageCount()
getImageCount in interface MarsMetadatapublic java.util.stream.Stream<MarsOMEImage> images()
images in interface MarsMetadatapublic java.lang.String getSourceDirectory()
getSourceDirectory in interface MarsMetadatapublic void setSourceDirectory(java.lang.String path)
setSourceDirectory in interface MarsMetadatapath - The string file path.public void logln(java.lang.String str)
MoleculeArchive. Start a new line after adding the message.logln in interface MarsMetadatastr - 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 MarsMetadatastr - Message to add to the log.public java.lang.String getLog()
MoleculeArchive.getLog in interface MarsMetadatapublic MarsOMEPlane getPlane(int imageIndex, int z, int c, int t)
getPlane in interface MarsMetadataimageIndex - Index of the image.z - Z (slice).c - Channel.t - Time point.public boolean hasPlane(int imageIndex,
int planeIndex)
hasPlane in interface MarsMetadatapublic MarsOMEPlane getPlane(int imageIndex, int planeIndex)
getPlane in interface MarsMetadatapublic java.lang.String getCollectionDate()
MarsMetadatagetCollectionDate in interface MarsMetadata