public abstract class AbstractEdgeAnalyzer extends Object implements EdgeAnalyzer
Constructor and Description |
---|
AbstractEdgeAnalyzer(String key,
String name,
List<String> features,
Map<String,String> featureNames,
Map<String,String> featureShortNames,
Map<String,Dimension> featureDimensions,
Map<String,Boolean> isInts) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
analyze(org.jgrapht.graph.DefaultWeightedEdge edge,
Model model) |
Map<String,Dimension> |
getFeatureDimensions()
Returns the map of feature dimension this analyzer can compute.
|
Map<String,String> |
getFeatureNames()
Returns the map of names for any feature this analyzer can compute.
|
List<String> |
getFeatures()
Returns the list of features this analyzer can compute.
|
Map<String,String> |
getFeatureShortNames()
Returns the map of short names for any feature the analyzer
can compute.
|
ImageIcon |
getIcon()
Returns the icon for this action.
|
String |
getInfoText()
Returns a html string containing a descriptive information about this
module.
|
Map<String,Boolean> |
getIsIntFeature()
Returns the map that states whether the key feature is a feature that
returns integers.
|
String |
getKey()
Returns a unique identifier of this module.
|
String |
getName()
Returns the human-compliant name of this module.
|
int |
getNumThreads() |
long |
getProcessingTime() |
boolean |
isLocal()
Returns
true if this analyzer is a local analyzer. |
boolean |
isManualFeature()
Returns whether all the features declared in this
FeatureAnalyzer are manual features. |
void |
process(Collection<org.jgrapht.graph.DefaultWeightedEdge> edges,
Model model)
Scores a collection of link between two spots.
|
void |
setNumThreads() |
void |
setNumThreads(int numThreads) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forbidMultithreading
public long getProcessingTime()
getProcessingTime
in interface Benchmark
public final boolean isManualFeature()
FeatureAnalyzer
FeatureAnalyzer
are manual features.
Manual features are not calculated normally using an analyzer, nor
cleared at each recalculation. Another classes are responsible to set
their value. The concrete FeatureAnalyzer
calculation method is
not called by TrackMate when a change happens to the model.
Therefore the calculation routine of the FeatureAnalyzer
can be
used to discard the manually stored value of these features.
isManualFeature
in interface FeatureAnalyzer
true
if the features declared in this analyzer are
manual feature.public ImageIcon getIcon()
TrackMateModule
null
.getIcon
in interface TrackMateModule
null
to be safely ignored.public String getInfoText()
TrackMateModule
getInfoText
in interface TrackMateModule
public int getNumThreads()
getNumThreads
in interface MultiThreaded
public void setNumThreads()
setNumThreads
in interface MultiThreaded
public void setNumThreads(int numThreads)
setNumThreads
in interface MultiThreaded
public final boolean isLocal()
EdgeAnalyzer
true
if this analyzer is a local analyzer. That is:
a modification that affects only one edge requires the edge features to
be re-calculated only for this edge. If false
, any model
modification involving an edge will trigger a recalculation over the
whole track this edge belong to.
Example of local edge feature: the edge length (distance between the two spots). This one does not depend on other edge values.
Example of non-local edge feature: the local curvature of the trajectory, which depends on the neighbor edges.
isLocal
in interface EdgeAnalyzer
public String getKey()
TrackMateModule
getKey
in interface TrackMateModule
public String getName()
TrackMateModule
getName
in interface TrackMateModule
public Map<String,Dimension> getFeatureDimensions()
FeatureAnalyzer
getFeatureDimensions
in interface FeatureAnalyzer
public Map<String,String> getFeatureNames()
FeatureAnalyzer
getFeatureNames
in interface FeatureAnalyzer
public List<String> getFeatures()
FeatureAnalyzer
getFeatures
in interface FeatureAnalyzer
public Map<String,String> getFeatureShortNames()
FeatureAnalyzer
getFeatureShortNames
in interface FeatureAnalyzer
public Map<String,Boolean> getIsIntFeature()
FeatureAnalyzer
true
, then special treatment is applied
when saving/loading, etc. for clarity and precision.getIsIntFeature
in interface FeatureAnalyzer
public void process(Collection<org.jgrapht.graph.DefaultWeightedEdge> edges, Model model)
EdgeAnalyzer
FeatureModel
.
Note: ideally concrete implementation should work in a multi-threaded fashion for performance reason, when possible.
process
in interface EdgeAnalyzer
edges
- the collection of edges whose features are to be calculated.model
- the Model
they belong to.protected abstract void analyze(org.jgrapht.graph.DefaultWeightedEdge edge, Model model)
Copyright © 2015–2021 Fiji. All rights reserved.